From c1c9764296e57fc8f264f26d2445b7578ec2e67f Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Fri, 19 Aug 2016 21:14:27 +0000 Subject: [PATCH] Remove the si(4) driver and sicontrol(8) for Specialix serial cards. The si(4) driver supported multiport serial adapters for ISA, EISA, and PCI buses. This driver does not use bus_space, instead it depends on direct use of the pointer returned by rman_get_virtual(). It is also still locked by Giant and calls for patch testing to convert it to use bus_space were unanswered. Relnotes: yes --- ObsoleteFiles.inc | 4 + share/man/man4/Makefile | 1 - share/man/man4/si.4 | 181 -- sys/amd64/conf/NOTES | 1 - sys/conf/files | 6 - sys/dev/si/si.c | 1649 -------------- sys/dev/si/si.h | 395 ---- sys/dev/si/si2_z280.c | 1103 ---------- sys/dev/si/si3_t225.c | 2664 ----------------------- sys/dev/si/si_eisa.c | 153 -- sys/dev/si/si_isa.c | 338 --- sys/dev/si/si_pci.c | 168 -- sys/dev/si/sireg.h | 98 - sys/dev/si/sivar.h | 113 - sys/i386/conf/NOTES | 1 - sys/modules/Makefile | 2 - sys/modules/si/Makefile | 11 - targets/pseudo/userland/Makefile.depend | 2 - tools/kerneldoc/subsys/Doxyfile-dev_si | 21 - usr.sbin/Makefile.amd64 | 1 - usr.sbin/Makefile.i386 | 1 - usr.sbin/sicontrol/Makefile | 9 - usr.sbin/sicontrol/Makefile.depend | 18 - usr.sbin/sicontrol/sicontrol.8 | 109 - usr.sbin/sicontrol/sicontrol.c | 726 ------ 25 files changed, 4 insertions(+), 7771 deletions(-) delete mode 100644 share/man/man4/si.4 delete mode 100644 sys/dev/si/si.c delete mode 100644 sys/dev/si/si.h delete mode 100644 sys/dev/si/si2_z280.c delete mode 100644 sys/dev/si/si3_t225.c delete mode 100644 sys/dev/si/si_eisa.c delete mode 100644 sys/dev/si/si_isa.c delete mode 100644 sys/dev/si/si_pci.c delete mode 100644 sys/dev/si/sireg.h delete mode 100644 sys/dev/si/sivar.h delete mode 100644 sys/modules/si/Makefile delete mode 100644 tools/kerneldoc/subsys/Doxyfile-dev_si delete mode 100644 usr.sbin/sicontrol/Makefile delete mode 100644 usr.sbin/sicontrol/Makefile.depend delete mode 100644 usr.sbin/sicontrol/sicontrol.8 delete mode 100644 usr.sbin/sicontrol/sicontrol.c diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index bcf435e1d272..1b0710ac5203 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -38,6 +38,10 @@ # xargs -n1 | sort | uniq -d; # done +# 20160819: Remove si(4) and sicontrol(8) +OLD_FILES+=usr/share/man/man4/si.4.gz +OLD_FILES+=usr/sbin/sicontrol +OLD_FILES+=usr/share/man/man8/sicontrol.8.gz # 20160819: Remove scd(4) OLD_FILES+=usr/share/man/man4/scd.4.gz # 20160815: Remove mcd(4) diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 87ce694b5b12..e63f79500ecd 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -453,7 +453,6 @@ MAN= aac.4 \ sf.4 \ ${_sfxge.4} \ sge.4 \ - si.4 \ siba.4 \ siftr.4 \ siis.4 \ diff --git a/share/man/man4/si.4 b/share/man/man4/si.4 deleted file mode 100644 index 1f008859702c..000000000000 --- a/share/man/man4/si.4 +++ /dev/null @@ -1,181 +0,0 @@ -.\" $FreeBSD$ -.Dd September 16, 1995 -.Dt SI 4 -.Os -.Sh NAME -.Nm si -.Nd "driver for Specialix International SI/XIO or SX intelligent serial card" -.Sh SYNOPSIS -.Cd "device si" -.Pp -For ISA host cards put the following lines in -.Pa /boot/device.hints : -.Cd hint.si.0.at="isa" -.Cd hint.si.0.maddr="0xd0000" -.Cd hint.si.0.irq="12" -.Sh DESCRIPTION -The Specialix SI/XIO and SX hardware makes up an 8 to 32 port RS-232 serial -multiplexor. -.Pp -The system uses two components: a "Host adapter", which is plugged into -an ISA, EISA or PCI slot and provides intelligence and buffering/processing -capabilities, as well as an external bus in the form of a 37 pin cable. -.Pp -On this cable, "modules" are connected. -The "SI" module comes in a 4 and 8 port version. -The "XIO" and "SX" modules come only in -8 port versions. -.Pp -The host adapter polls and transfers data between the modules and the rest -of the machine. -The Host adapter provides a 256 byte transmit and 256 byte -receive FIFO for each of the 32 ports that it can maintain. -.Pp -The XIO modules can operate each of their 8 ports at 115,200 baud. -The SI version can run at 57,600 baud. -The SX modules can operate each of their -8 ports at up to 921,600 baud. -.Pp -SX modules are only supported when connected to an SX host card. -SI or -XIO modules are supported on any host card. -.Pp -The host adapter uses a shared memory block in the traditional ISA bus -"hole" between 0xA0000 and 0xEFFFF. -The adapter can be configured outside -range, but requires the memory range to be explicitly non-cached. -The driver does not yet support this mode of operation. -.Pp -SX ISA Host cards have an 8/16 bit mode switch or jumper on them. -This switch -or jumper MUST be set for 8 bit mode. -.Pp -The ISA adapters can use Irq's 11, 12 or 15 (and 9 and 10 in the case of -SX host cards). -.Pp -The si device driver may have some of its configuration settings changed -at run-time with the -.Xr sicontrol 8 -utility. -.Pp -The si device driver also responds to the -.Xr comcontrol 8 -utility for configuring drain-on-close timeouts. -.Pp -The driver also defines 3 sysctl variables that can be manipulated: -machdep.si_debug sets the debug level for the whole driver. -It depends -on the driver being compiled with SI_DEBUG. -machdep.si_pollrate -sets how often per second the driver polls for lost interrupts. -machdep.si_realpoll sets whether or not the card will treat the -poll intervals as if they were interrupts. -.Pp -An open on a /dev device node controlled by the si driver obeys the same -semantics as the -.Xr sio 4 -driver. -It fully supports the usual semantics of the cua ports, and the -"initial termios" and "locked termios" settings. -In summary, an open on a -tty port will block until DCD is raised, unless O_NONBLOCK is specified. -CLOCAL is honored. -An open on a cua port will always succeed, but DCD -transitions will be honored after DCD rises for the first time. -.Pp -Up to four SI/XIO host cards may be controlled by the si driver. -Due to the lack of available interrupts, only 3 ISA SI/XIO host cards can be -used at once. -.Pp -The lowest 5 bits of the minor device number are used to select the port -number on the module cluster. -The next 2 bits select which of 4 host adapter -cards. -This allows a maximum of 128 ports on this driver. -.Pp -Bit 7 is used to differentiate a tty/dialin port (bit 7=0) and a -cua/callout port (bit 7=1). -.Pp -Bit 8 through 15 (on -.Fx ) -are unavailable as they are a shadow of the -major device number. -.Pp -If bit 16 is a 1, the device node is referring to the "initial state" device. -This "initial state" is used to prime the -.Xr termios 4 -settings of the device when it is initially opened. -If bit 17 is a 1, the device node is referring to the "locked state" device. -The "locked state" is used to prevent the -.Xr termios 4 -settings from being changed. -.Pp -To manipulate the initial/locked settings, the -.Xr stty 1 -command is useful. -When setting the "locked" variables, enabling the mode -on the lock device will lock the termios mode, while disabling the mode will -unlock it. -.Sh FILES -.Bl -tag -width /dev/si_control -compact -.It Pa /dev/si_control -global driver control file for -.Xr sicontrol 8 -.It Pa /dev/ttyA* -terminal/dialin ports -.It Pa /dev/cuaA* -dialout ports -.It Pa /dev/ttyiA* -initial termios state devices -.It Pa /dev/ttylA* -locked termios state devices -.It Pa /dev/cuaiA* -initial termios state devices for dialout ports -.It Pa /dev/cualA* -locked termios state devices for dialout ports -.El -.Sh SEE ALSO -.Xr stty 1 , -.Xr sio 4 , -.Xr termios 4 , -.Xr tty 4 , -.Xr comcontrol 8 , -.Xr sicontrol 8 -.Sh HISTORY -This driver is loosely based on driver code originating at Specialix, which -was ported to run on BSDI by -.An Andy Rutter Aq Mt andy@specialix.co.uk . -The System V driver source is/was available by ftp from -.Sy ftp.specialix.co.uk . -.Pp -This driver is not supported by Specialix International. -.Sh AUTHORS -.An -nosplit -.An Peter Wemm Aq Mt peter@netplex.com.au -obtained the code from -.An Andy Rutter -and ported it to -.Fx -and threw the man page together. -.An Bruce Evans Aq Mt bde@zeta.org.au -provided a large amount of assistance during porting. -.An Nick Sayer Aq Mt nick@specialix.com -wrote the EISA, PCI and SX portions. -.Sh BUGS -The interrupt tuning rate is not believed to be optimal at this time for -maximum efficiency. -.Pp -Polled mode (a feature of standard Specialix drivers) is not implemented, -but it can be approximated by turning on machdep.si_realpoll. -The poll -frequency is set by machdep.si_pollrate (in units of 1/100th of a second). -.Pp -The driver does not yet support baud rates higher than 115,200 on SX -modules. -.Pp -Operation outside the traditional ISA "hole" is not yet supported, although it -should work if the test is removed from the probe routine. -.Pp -Multiple host cards are supported although combinations of hosts on -different bus types have not been tested - device numbering is known to -be a problem and may lead to unexpected results. diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index 4107ca6d6238..387d6da1245a 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -542,7 +542,6 @@ hint.pbio.0.port="0x360" device smbios device vpd device asmc -device si device tpm device padlock_rng # VIA Padlock RNG device rdrand_rng # Intel Bull Mountain RNG diff --git a/sys/conf/files b/sys/conf/files index 3390bc4e834c..784e0923c35d 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -2511,12 +2511,6 @@ dev/sdhci/sdhci_if.m optional sdhci dev/sdhci/sdhci_pci.c optional sdhci pci dev/sf/if_sf.c optional sf pci dev/sge/if_sge.c optional sge pci -dev/si/si.c optional si -dev/si/si2_z280.c optional si -dev/si/si3_t225.c optional si -dev/si/si_eisa.c optional si eisa -dev/si/si_isa.c optional si isa -dev/si/si_pci.c optional si pci dev/siba/siba_bwn.c optional siba_bwn pci dev/siba/siba_core.c optional siba_bwn pci dev/siis/siis.c optional siis pci diff --git a/sys/dev/si/si.c b/sys/dev/si/si.c deleted file mode 100644 index 5c2ccbb49190..000000000000 --- a/sys/dev/si/si.c +++ /dev/null @@ -1,1649 +0,0 @@ -/*- - * Device driver for Specialix range (SI/XIO) of serial line multiplexors. - * - * Copyright (C) 1990, 1992, 1998 Specialix International, - * Copyright (C) 1993, Andy Rutter - * Copyright (C) 2000, Peter Wemm - * - * Originally derived from: SunOS 4.x version - * Ported from BSDI version to FreeBSD by Peter Wemm. - * - * 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 - * notices, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notices, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Andy Rutter of - * Advanced Methods and Tools Ltd. based on original information - * from Specialix International. - * 4. Neither the name of Advanced Methods and Tools, nor Specialix - * International may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY ``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 AUTHORS BE LIABLE. - * - */ - -#include -__FBSDID("$FreeBSD$"); - -#ifndef lint -__IDSTRING(si_copyright1, "@(#) Copyright (C) Specialix International, 1990,1992,1998"); -__IDSTRING(si_copyright2, "@(#) Copyright (C) Andy Rutter 1993"); -__IDSTRING(si_copyright3, "@(#) Copyright (C) Peter Wemm 2000"); -#endif /* not lint */ - -#include "opt_compat.h" -#include "opt_debug_si.h" -#include "opt_eisa.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include -#include - -#include - -#include -#include -#include - -/* - * This device driver is designed to interface the Specialix International - * SI, XIO and SX range of serial multiplexor cards to FreeBSD on an ISA, - * EISA or PCI bus machine. - * - * The controller is interfaced to the host via dual port RAM - * and an interrupt. - * - * The code for the Host 1 (very old ISA cards) has not been tested. - */ - -#undef POLL /* turn on poller to scan for lost interrupts */ -#if 0 -#define REALPOLL /* on each poll, scan for work regardless */ -#endif -#define POLLHZ (hz/10) /* 10 times per second */ -#define SI_I_HIGH_WATER (TTYHOG - 2 * SI_BUFFERSIZE) -#define INT_COUNT 25000 /* max of 125 ints per second */ -#define JET_INT_COUNT 100 /* max of 100 ints per second */ -#define RXINT_COUNT 1 /* one rxint per 10 milliseconds */ - -static void si_command(struct si_port *, int, int); -static int si_Sioctl(struct cdev *, u_long, caddr_t, int, struct thread *); -/* static void si_stop(struct tty *, int); */ -#if 0 -static timeout_t si_lstart; -#endif - -static tsw_outwakeup_t si_start; -static tsw_ioctl_t siioctl; -static tsw_close_t siclose; -static tsw_modem_t simodem; -static tsw_open_t siopen; -static tsw_param_t siparam; - -static void si_modem_state(struct si_port *pp, struct tty *tp, int hi_ip); -static char * si_modulename(int host_type, int uart_type); - -static struct cdevsw si_Scdevsw = { - .d_version = D_VERSION, - .d_ioctl = si_Sioctl, - .d_name = "si", - .d_flags = D_TTY | D_NEEDGIANT, -}; - -static int si_Nports; -static int si_Nmodules; -static int si_debug; - -SYSCTL_INT(_machdep, OID_AUTO, si_debug, CTLFLAG_RWTUN, &si_debug, 0, ""); - -static int si_numunits; - -devclass_t si_devclass; - -struct si_speedtab { - int sp_speed; /* Speed. */ - int sp_code; /* Code. */ -}; - -#ifndef B2000 /* not standard, but the hardware knows it. */ -# define B2000 2000 -#endif -static struct si_speedtab bdrates[] = { - { B75, CLK75, }, /* 0x0 */ - { B110, CLK110, }, /* 0x1 */ - { B150, CLK150, }, /* 0x3 */ - { B300, CLK300, }, /* 0x4 */ - { B600, CLK600, }, /* 0x5 */ - { B1200, CLK1200, }, /* 0x6 */ - { B2000, CLK2000, }, /* 0x7 */ - { B2400, CLK2400, }, /* 0x8 */ - { B4800, CLK4800, }, /* 0x9 */ - { B9600, CLK9600, }, /* 0xb */ - { B19200, CLK19200, }, /* 0xc */ - { B38400, CLK38400, }, /* 0x2 (out of order!) */ - { B57600, CLK57600, }, /* 0xd */ - { B115200, CLK110, }, /* 0x1 (dupe!, 110 baud on "si") */ - { -1, -1 }, -}; - - -#ifdef POLL -static int si_pollrate; /* in addition to irq */ -static int si_realpoll = 0; /* poll HW on timer */ - -SYSCTL_INT(_machdep, OID_AUTO, si_pollrate, CTLFLAG_RW, &si_pollrate, 0, ""); -SYSCTL_INT(_machdep, OID_AUTO, si_realpoll, CTLFLAG_RW, &si_realpoll, 0, ""); - -static int init_finished = 0; -static void si_poll(void *); -#endif - -/* - * Array of adapter types and the corresponding RAM size. The order of - * entries here MUST match the ordinal of the adapter type. - */ -static const char *si_type[] = { - "EMPTY", - "SIHOST", - "SIMCA", /* FreeBSD does not support Microchannel */ - "SIHOST2", - "SIEISA", - "SIPCI", - "SXPCI", - "SXISA", -}; - -#ifdef SI_DEBUG -static char * -si_cmdname(int cmd) -{ - static char buf[32]; - - switch (cmd) { - case IDLE_OPEN: return("IDLE_OPEN"); - case LOPEN: return("LOPEN"); - case MOPEN: return("MOPEN"); - case MPEND: return("MPEND"); - case CONFIG: return("CONFIG"); - case CLOSE: return("CLOSE"); - case SBREAK: return("SBREAK"); - case EBREAK: return("EBREAK"); - case IDLE_CLOSE: return("IDLE_CLOSE"); - case IDLE_BREAK: return("IDLE_BREAK"); - case FCLOSE: return("FCLOSE"); - case RESUME: return("RESUME"); - case WFLUSH: return("WFLUSH"); - case RFLUSH: return("RFLUSH"); - default: - sprintf(buf, "?cmd:0x%x?", cmd); - return (buf); - } -} -#endif - -/* - * We have to make an 8 bit version of bcopy, since some cards can't - * deal with 32 bit I/O - */ -static void __inline -si_bcopy(const void *src, void *dst, size_t len) -{ - u_char *d; - const u_char *s; - - d = dst; - s = src; - while (len--) - *d++ = *s++; -} -static void __inline -si_vbcopy(const volatile void *src, void *dst, size_t len) -{ - u_char *d; - const volatile u_char *s; - - d = dst; - s = src; - while (len--) - *d++ = *s++; -} -static void __inline -si_bcopyv(const void *src, volatile void *dst, size_t len) -{ - volatile u_char *d; - const u_char *s; - - d = dst; - s = src; - while (len--) - *d++ = *s++; -} - -static int -si_speedtab(int speed, struct si_speedtab *table) -{ - for ( ; table->sp_speed != -1; table++) - if (table->sp_speed == speed) - return (table->sp_code); - return (-1); -} - - -static struct ttydevsw si_tty_class = { - .tsw_flags = TF_INITLOCK|TF_CALLOUT, - .tsw_open = siopen, - .tsw_close = siclose, - .tsw_outwakeup = si_start, - /* .tsw_stop = si_stop */ - .tsw_ioctl = siioctl, - .tsw_param = siparam, - .tsw_modem = simodem, -}; - - -/* - * Attach the device. Initialize the card. - */ -int -siattach(device_t dev) -{ - int unit; - struct si_softc *sc; - struct si_port *pp; - struct tty *tp; - volatile struct si_channel *ccbp; - volatile struct si_reg *regp; - volatile caddr_t maddr; - struct si_module *modp; - int nmodule, nport, x, y; - int uart_type; - - sc = device_get_softc(dev); - unit = device_get_unit(dev); - - sc->sc_typename = si_type[sc->sc_type]; - if (si_numunits < unit + 1) - si_numunits = unit + 1; - - DPRINT((0, DBG_AUTOBOOT, "si%d: siattach\n", unit)); - -#ifdef POLL - if (si_pollrate == 0) { - si_pollrate = POLLHZ; /* in addition to irq */ -#ifdef REALPOLL - si_realpoll = 1; /* scan always */ -#endif - } -#endif - - DPRINT((0, DBG_AUTOBOOT, "si%d: type: %s paddr: %x maddr: %x\n", unit, - sc->sc_typename, sc->sc_paddr, sc->sc_maddr)); - - sc->sc_ports = NULL; /* mark as uninitialised */ - - maddr = sc->sc_maddr; - - /* Stop the CPU first so it won't stomp around while we load */ - - switch (sc->sc_type) { -#ifdef DEV_EISA - case SIEISA: - outb(sc->sc_iobase + 2, sc->sc_irq << 4); -#endif - break; - case SIPCI: - *(maddr+SIPCIRESET) = 0; - break; - case SIJETPCI: /* fall through to JET ISA */ - case SIJETISA: - *(maddr+SIJETCONFIG) = 0; - break; - case SIHOST2: - *(maddr+SIPLRESET) = 0; - break; - case SIHOST: - *(maddr+SIRESET) = 0; - break; - default: /* this should never happen */ - printf("si%d: unsupported configuration\n", unit); - return EINVAL; - break; - } - - /* OK, now lets download the download code */ - - if (SI_ISJET(sc->sc_type)) { - DPRINT((0, DBG_DOWNLOAD, "si%d: jet_download: nbytes %d\n", - unit, si3_t225_dsize)); - si_bcopy(si3_t225_download, maddr + si3_t225_downloadaddr, - si3_t225_dsize); - DPRINT((0, DBG_DOWNLOAD, - "si%d: jet_bootstrap: nbytes %d -> %x\n", - unit, si3_t225_bsize, si3_t225_bootloadaddr)); - si_bcopy(si3_t225_bootstrap, maddr + si3_t225_bootloadaddr, - si3_t225_bsize); - } else { - DPRINT((0, DBG_DOWNLOAD, "si%d: si_download: nbytes %d\n", - unit, si2_z280_dsize)); - si_bcopy(si2_z280_download, maddr + si2_z280_downloadaddr, - si2_z280_dsize); - } - - /* Now start the CPU */ - - switch (sc->sc_type) { -#ifdef DEV_EISA - case SIEISA: - /* modify the download code to tell it that it's on an EISA */ - *(maddr + 0x42) = 1; - outb(sc->sc_iobase + 2, (sc->sc_irq << 4) | 4); - (void)inb(sc->sc_iobase + 3); /* reset interrupt */ - break; -#endif - case SIPCI: - /* modify the download code to tell it that it's on a PCI */ - *(maddr+0x42) = 1; - *(maddr+SIPCIRESET) = 1; - *(maddr+SIPCIINTCL) = 0; - break; - case SIJETPCI: - *(maddr+SIJETRESET) = 0; - *(maddr+SIJETCONFIG) = SIJETBUSEN|SIJETIRQEN; - break; - case SIJETISA: - *(maddr+SIJETRESET) = 0; - switch (sc->sc_irq) { - case 9: - *(maddr+SIJETCONFIG) = SIJETBUSEN|SIJETIRQEN|0x90; - break; - case 10: - *(maddr+SIJETCONFIG) = SIJETBUSEN|SIJETIRQEN|0xa0; - break; - case 11: - *(maddr+SIJETCONFIG) = SIJETBUSEN|SIJETIRQEN|0xb0; - break; - case 12: - *(maddr+SIJETCONFIG) = SIJETBUSEN|SIJETIRQEN|0xc0; - break; - case 15: - *(maddr+SIJETCONFIG) = SIJETBUSEN|SIJETIRQEN|0xf0; - break; - } - break; - case SIHOST: - *(maddr+SIRESET_CL) = 0; - *(maddr+SIINTCL_CL) = 0; - break; - case SIHOST2: - *(maddr+SIPLRESET) = 0x10; - switch (sc->sc_irq) { - case 11: - *(maddr+SIPLIRQ11) = 0x10; - break; - case 12: - *(maddr+SIPLIRQ12) = 0x10; - break; - case 15: - *(maddr+SIPLIRQ15) = 0x10; - break; - } - *(maddr+SIPLIRQCLR) = 0x10; - break; - default: /* this should _REALLY_ never happen */ - printf("si%d: Uh, it was supported a second ago...\n", unit); - return EINVAL; - } - - DELAY(1000000); /* wait around for a second */ - - regp = (struct si_reg *)maddr; - y = 0; - /* wait max of 5 sec for init OK */ - while (regp->initstat == 0 && y++ < 10) { - DELAY(500000); - } - switch (regp->initstat) { - case 0: - printf("si%d: startup timeout - aborting\n", unit); - sc->sc_type = SIEMPTY; - return EINVAL; - case 1: - if (SI_ISJET(sc->sc_type)) { - /* set throttle to 100 times per second */ - regp->int_count = JET_INT_COUNT; - /* rx_intr_count is a NOP in Jet */ - } else { - /* set throttle to 125 times per second */ - regp->int_count = INT_COUNT; - /* rx intr max of 25 times per second */ - regp->rx_int_count = RXINT_COUNT; - } - regp->int_pending = 0; /* no intr pending */ - regp->int_scounter = 0; /* reset counter */ - break; - case 0xff: - /* - * No modules found, so give up on this one. - */ - printf("si%d: %s - no ports found\n", unit, - si_type[sc->sc_type]); - return 0; - default: - printf("si%d: download code version error - initstat %x\n", - unit, regp->initstat); - return EINVAL; - } - - /* - * First time around the ports just count them in order - * to allocate some memory. - */ - nport = 0; - modp = (struct si_module *)(maddr + 0x80); - for (;;) { - DPRINT((0, DBG_DOWNLOAD, "si%d: ccb addr 0x%x\n", unit, modp)); - switch (modp->sm_type) { - case TA4: - DPRINT((0, DBG_DOWNLOAD, - "si%d: Found old TA4 module, 4 ports\n", - unit)); - x = 4; - break; - case TA8: - DPRINT((0, DBG_DOWNLOAD, - "si%d: Found old TA8 module, 8 ports\n", - unit)); - x = 8; - break; - case TA4_ASIC: - DPRINT((0, DBG_DOWNLOAD, - "si%d: Found ASIC TA4 module, 4 ports\n", - unit)); - x = 4; - break; - case TA8_ASIC: - DPRINT((0, DBG_DOWNLOAD, - "si%d: Found ASIC TA8 module, 8 ports\n", - unit)); - x = 8; - break; - case MTA: - DPRINT((0, DBG_DOWNLOAD, - "si%d: Found CD1400 module, 8 ports\n", - unit)); - x = 8; - break; - case SXDC: - DPRINT((0, DBG_DOWNLOAD, - "si%d: Found SXDC module, 8 ports\n", - unit)); - x = 8; - break; - default: - printf("si%d: unknown module type %d\n", - unit, modp->sm_type); - goto try_next; - } - - /* this was limited in firmware and is also a driver issue */ - if ((nport + x) > SI_MAXPORTPERCARD) { - printf("si%d: extra ports ignored\n", unit); - goto try_next; - } - - nport += x; - si_Nports += x; - si_Nmodules++; - -try_next: - if (modp->sm_next == 0) - break; - modp = (struct si_module *) - (maddr + (unsigned)(modp->sm_next & 0x7fff)); - } - sc->sc_ports = (struct si_port *)malloc(sizeof(struct si_port) * nport, - M_DEVBUF, M_NOWAIT | M_ZERO); - if (sc->sc_ports == 0) { - printf("si%d: fail to malloc memory for port structs\n", - unit); - return EINVAL; - } - sc->sc_nport = nport; - - /* - * Scan round the ports again, this time initialising. - */ - pp = sc->sc_ports; - nmodule = 0; - modp = (struct si_module *)(maddr + 0x80); - uart_type = 1000; /* arbitrary, > uchar_max */ - for (;;) { - switch (modp->sm_type) { - case TA4: - nport = 4; - break; - case TA8: - nport = 8; - break; - case TA4_ASIC: - nport = 4; - break; - case TA8_ASIC: - nport = 8; - break; - case MTA: - nport = 8; - break; - case SXDC: - nport = 8; - break; - default: - goto try_next2; - } - nmodule++; - ccbp = (struct si_channel *)((char *)modp + 0x100); - if (uart_type == 1000) - uart_type = ccbp->type; - else if (uart_type != ccbp->type) - printf("si%d: Warning: module %d mismatch! (%d%s != %d%s)\n", - unit, nmodule, - ccbp->type, si_modulename(sc->sc_type, ccbp->type), - uart_type, si_modulename(sc->sc_type, uart_type)); - - for (x = 0; x < nport; x++, pp++, ccbp++) { - pp->sp_ccb = ccbp; /* save the address */ - pp->sp_pend = IDLE_CLOSE; - pp->sp_state = 0; /* internal flag */ -#ifdef SI_DEBUG - sprintf(pp->sp_name, "si%r%r", unit, - (int)(pp - sc->sc_ports)); -#endif - tp = pp->sp_tty = tty_alloc_mutex(&si_tty_class, pp, &Giant); - tty_makedev(tp, NULL, "A%r%r", unit, (int)(pp - sc->sc_ports)); - } -try_next2: - if (modp->sm_next == 0) { - printf("si%d: card: %s, ports: %d, modules: %d, type: %d%s\n", - unit, - sc->sc_typename, - sc->sc_nport, - nmodule, - uart_type, - si_modulename(sc->sc_type, uart_type)); - break; - } - modp = (struct si_module *) - (maddr + (unsigned)(modp->sm_next & 0x7fff)); - } - - if (unit == 0) - make_dev(&si_Scdevsw, 0, UID_ROOT, GID_WHEEL, 0600, - "si_control"); - return (0); -} - -static int -siopen(struct tty *tp) -{ - - DPRINT((0, DBG_ENTRY|DBG_OPEN, "siopen()\n")); - mtx_assert(&Giant, MA_OWNED); -#ifdef POLL - /* - * We've now got a device, so start the poller. - */ - if (init_finished == 0) { - timeout(si_poll, (caddr_t)0L, si_pollrate); - init_finished = 1; - } -#endif - DPRINT((0, DBG_EXIT|DBG_OPEN, "siopen() finished\n")); - return(0); -} - -static void -siclose(struct tty *tp) -{ - struct si_port *pp; - - DPRINT((0, DBG_ENTRY|DBG_CLOSE, "siclose()\n")); - mtx_assert(&Giant, MA_OWNED); - pp = tty_softc(tp); - (void) si_command(pp, FCLOSE, SI_WAIT); - DPRINT((0, DBG_EXIT|DBG_CLOSE, "siclose() finished\n")); -} - -static int -siioctl(struct tty *tp, u_long cmd, caddr_t data, struct thread *td) -{ - struct si_port *pp; - - DPRINT((0, DBG_ENTRY|DBG_IOCTL, "siioctl(0x%lx,0x%x)\n", cmd, data)); - mtx_assert(&Giant, MA_OWNED); - pp = tty_softc(tp); - switch (cmd) { - case TIOCSBRK: - si_command(pp, SBREAK, SI_WAIT); - return (0); - case TIOCCBRK: - si_command(pp, EBREAK, SI_WAIT); - return (0); - } - return (ENOIOCTL); /* Let the common tty ioctl handler do it */ -} - -/* - * Handle the Specialix ioctls on the control dev. - */ -static int -si_Sioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *td) -{ - struct si_softc *xsc; - struct si_port *xpp; - volatile struct si_reg *regp; - struct si_tcsi *dp; - struct si_pstat *sps; - int *ip, error = 0; - int oldspl; - int card, port; - - DPRINT((0, DBG_ENTRY|DBG_IOCTL, "si_Sioctl(%s,0x%lx,0x%x)\n", - devtoname(dev), cmd, data)); - mtx_assert(&Giant, MA_OWNED); - -#if 1 - DPRINT((0, DBG_IOCTL, "TCSI_PORT=%x\n", TCSI_PORT)); - DPRINT((0, DBG_IOCTL, "TCSI_CCB=%x\n", TCSI_CCB)); -#endif - - oldspl = spltty(); /* better safe than sorry */ - - ip = (int *)data; - -#define SUCHECK if ((error = priv_check(td, PRIV_DRIVER))) goto out - - switch (cmd) { - case TCSIPORTS: - *ip = si_Nports; - goto out; - case TCSIMODULES: - *ip = si_Nmodules; - goto out; - case TCSISDBG_ALL: - SUCHECK; - si_debug = *ip; - goto out; - case TCSIGDBG_ALL: - *ip = si_debug; - goto out; - default: - /* - * Check that a controller for this port exists - */ - - /* may also be a struct si_pstat, a superset of si_tcsi */ - - dp = (struct si_tcsi *)data; - sps = (struct si_pstat *)data; - card = dp->tc_card; - xsc = devclass_get_softc(si_devclass, card); /* check.. */ - if (xsc == NULL || xsc->sc_type == SIEMPTY) { - error = ENOENT; - goto out; - } - /* - * And check that a port exists - */ - port = dp->tc_port; - if (port < 0 || port >= xsc->sc_nport) { - error = ENOENT; - goto out; - } - xpp = xsc->sc_ports + port; - regp = (struct si_reg *)xsc->sc_maddr; - } - - switch (cmd) { - case TCSIDEBUG: -#ifdef SI_DEBUG - SUCHECK; - if (xpp->sp_debug) - xpp->sp_debug = 0; - else { - xpp->sp_debug = DBG_ALL; - DPRINT((xpp, DBG_IOCTL, "debug toggled %s\n", - (xpp->sp_debug&DBG_ALL)?"ON":"OFF")); - } - break; -#else - error = ENODEV; - goto out; -#endif - case TCSISDBG_LEVEL: - case TCSIGDBG_LEVEL: -#ifdef SI_DEBUG - if (cmd == TCSIGDBG_LEVEL) { - dp->tc_dbglvl = xpp->sp_debug; - } else { - SUCHECK; - xpp->sp_debug = dp->tc_dbglvl; - } - break; -#else - error = ENODEV; - goto out; -#endif - case TCSIGRXIT: - dp->tc_int = regp->rx_int_count; - break; - case TCSIRXIT: - SUCHECK; - regp->rx_int_count = dp->tc_int; - break; - case TCSIGIT: - dp->tc_int = regp->int_count; - break; - case TCSIIT: - SUCHECK; - regp->int_count = dp->tc_int; - break; - case TCSISTATE: - dp->tc_int = xpp->sp_ccb->hi_ip; - break; - /* these next three use a different structure */ - case TCSI_PORT: - SUCHECK; - si_bcopy(xpp, &sps->tc_siport, sizeof(sps->tc_siport)); - break; - case TCSI_CCB: - SUCHECK; - si_vbcopy(xpp->sp_ccb, &sps->tc_ccb, sizeof(sps->tc_ccb)); - break; - default: - error = EINVAL; - goto out; - } -out: - splx(oldspl); - return(error); /* success */ -} - -/* - * siparam() : Configure line params - * called at spltty(); - * this may sleep, does not flush, nor wait for drain, nor block writes - * caller must arrange this if it's important.. - */ -static int -siparam(struct tty *tp, struct termios *t) -{ - struct si_port *pp = tty_softc(tp); - volatile struct si_channel *ccbp; - int oldspl, cflag, iflag, oflag, lflag; - int error = 0; /* shutup gcc */ - int ispeed = 0; /* shutup gcc */ - int ospeed = 0; /* shutup gcc */ - BYTE val; - - DPRINT((pp, DBG_ENTRY|DBG_PARAM, "siparam(%x,%x)\n", tp, t)); - mtx_assert(&Giant, MA_OWNED); - cflag = t->c_cflag; - iflag = t->c_iflag; - oflag = t->c_oflag; - lflag = t->c_lflag; - DPRINT((pp, DBG_PARAM, "OFLAG 0x%x CFLAG 0x%x IFLAG 0x%x LFLAG 0x%x\n", - oflag, cflag, iflag, lflag)); - - /* XXX - if Jet host and SXDC module, use extended baud rates */ - - /* if not hung up.. */ - if (t->c_ospeed != 0) { - /* translate baud rate to firmware values */ - ospeed = si_speedtab(t->c_ospeed, bdrates); - ispeed = t->c_ispeed ? - si_speedtab(t->c_ispeed, bdrates) : ospeed; - /* enforce legit baud rate */ - if (ospeed < 0 || ispeed < 0) - return (EINVAL); - } - - oldspl = spltty(); - - ccbp = pp->sp_ccb; - - /* ========== set hi_break ========== */ - val = 0; - if (iflag & IGNBRK) /* Breaks */ - val |= BR_IGN; - if (iflag & BRKINT) /* Interrupt on break? */ - val |= BR_INT; - if (iflag & PARMRK) /* Parity mark? */ - val |= BR_PARMRK; - if (iflag & IGNPAR) /* Ignore chars with parity errors? */ - val |= BR_PARIGN; - ccbp->hi_break = val; - - /* ========== set hi_csr ========== */ - /* if not hung up.. */ - if (t->c_ospeed != 0) { - /* Set I/O speeds */ - val = (ispeed << 4) | ospeed; - } - ccbp->hi_csr = val; - - /* ========== set hi_mr2 ========== */ - val = 0; - if (cflag & CSTOPB) /* Stop bits */ - val |= MR2_2_STOP; - else - val |= MR2_1_STOP; - - /* - * Enable H/W RTS/CTS handshaking. The default TA/MTA is - * a DCE, hence the reverse sense of RTS and CTS - */ - /* Output Flow - RTS must be raised before data can be sent */ - if (cflag & CCTS_OFLOW) - val |= MR2_RTSCONT; - - ccbp->hi_mr2 = val; - - /* ========== set hi_mr1 ========== */ - val = 0; - if (!(cflag & PARENB)) /* Parity */ - val |= MR1_NONE; - else - val |= MR1_WITH; - if (cflag & PARODD) - val |= MR1_ODD; - - if ((cflag & CS8) == CS8) /* 8 data bits? */ - val |= MR1_8_BITS; - else if ((cflag & CS7) == CS7) /* 7 data bits? */ - val |= MR1_7_BITS; - else if ((cflag & CS6) == CS6) /* 6 data bits? */ - val |= MR1_6_BITS; - else /* Must be 5 */ - val |= MR1_5_BITS; - - /* - * Enable H/W RTS/CTS handshaking. The default TA/MTA is - * a DCE, hence the reverse sense of RTS and CTS - */ - /* Input Flow - CTS is raised when port is ready to receive data */ - if (cflag & CRTS_IFLOW) - val |= MR1_CTSCONT; - - ccbp->hi_mr1 = val; - - /* ========== set hi_mask ========== */ - val = 0xff; - if ((cflag & CS8) == CS8) { /* 8 data bits? */ - val &= 0xFF; - } else if ((cflag & CS7) == CS7) { /* 7 data bits? */ - val &= 0x7F; - } else if ((cflag & CS6) == CS6) { /* 6 data bits? */ - val &= 0x3F; - } else { /* Must be 5 */ - val &= 0x1F; - } - if (iflag & ISTRIP) - val &= 0x7F; - - ccbp->hi_mask = val; - - /* ========== set hi_prtcl ========== */ - val = SP_DCEN; /* Monitor DCD always, or TIOCMGET misses it */ - if (iflag & IXANY) - val |= SP_TANY; - if (iflag & IXON) - val |= SP_TXEN; - if (iflag & IXOFF) - val |= SP_RXEN; - if (iflag & INPCK) - val |= SP_PAEN; - - ccbp->hi_prtcl = val; - - - /* ========== set hi_{rx|tx}{on|off} ========== */ - /* XXX: the card TOTALLY shields us from the flow control... */ - ccbp->hi_txon = t->c_cc[VSTART]; - ccbp->hi_txoff = t->c_cc[VSTOP]; - - ccbp->hi_rxon = t->c_cc[VSTART]; - ccbp->hi_rxoff = t->c_cc[VSTOP]; - - /* ========== send settings to the card ========== */ - /* potential sleep here */ - if (ccbp->hi_stat == IDLE_CLOSE) /* Not yet open */ - si_command(pp, LOPEN, SI_WAIT); /* open it */ - else - si_command(pp, CONFIG, SI_WAIT); /* change params */ - - /* ========== set DTR etc ========== */ - /* Hangup if ospeed == 0 */ - if (t->c_ospeed == 0) { - (void) simodem(tp, 0, SER_DTR | SER_RTS); - } else { - /* - * If the previous speed was 0, may need to re-enable - * the modem signals - */ - (void) simodem(tp, SER_DTR | SER_RTS, 0); - } - - DPRINT((pp, DBG_PARAM, "siparam, complete: MR1 %x MR2 %x HI_MASK %x PRTCL %x HI_BREAK %x HI_CSR %x\n", - ccbp->hi_mr1, ccbp->hi_mr2, ccbp->hi_mask, ccbp->hi_prtcl, ccbp->hi_break, ccbp->hi_csr)); - - splx(oldspl); - return(error); -} - -/* - * Set/Get state of modem control lines. - * Due to DCE-like behaviour of the adapter, some signals need translation: - * TIOCM_DTR DSR - * TIOCM_RTS CTS - */ -static int -simodem(struct tty *tp, int sigon, int sigoff) -{ - struct si_port *pp; - volatile struct si_channel *ccbp; - int x; - - pp = tty_softc(tp); - DPRINT((pp, DBG_ENTRY|DBG_MODEM, "simodem(%x,%x)\n", sigon, sigoff)); - mtx_assert(&Giant, MA_OWNED); - ccbp = pp->sp_ccb; /* Find channel address */ - if (sigon == 0 && sigoff == 0) { - x = ccbp->hi_ip; - /* - * XXX: not sure this is correct, should it be CTS&DSR ? - * XXX: or do we (just) miss CTS & DSR ? - */ - if (x & IP_DCD) sigon |= SER_DCD; - if (x & IP_DTR) sigon |= SER_DTR; - if (x & IP_RTS) sigon |= SER_RTS; - if (x & IP_RI) sigon |= SER_RI; - return (sigon); - } - - x = ccbp->hi_op; - if (sigon & SER_DTR) - x |= OP_DSR; - if (sigoff & SER_DTR) - x &= ~OP_DSR; - if (sigon & SER_RTS) - x |= OP_CTS; - if (sigoff & SER_RTS) - x &= ~OP_CTS; - ccbp->hi_op = x; - return 0; -} - -/* - * Handle change of modem state - */ -static void -si_modem_state(struct si_port *pp, struct tty *tp, int hi_ip) -{ - /* if a modem dev */ - mtx_assert(&Giant, MA_OWNED); - if (hi_ip & IP_DCD) { - if (!(pp->sp_last_hi_ip & IP_DCD)) { - DPRINT((pp, DBG_INTR, "modem carr on%d\n")); - (void)ttydisc_modem(tp, 1); - } - } else { - if (pp->sp_last_hi_ip & IP_DCD) { - DPRINT((pp, DBG_INTR, "modem carr off\n")); -#if 0 /* XXX mpsafetty ttyld_modem used to tell us to shutdown the port or not */ - if (ttydisc_modem(tp, 0)) - (void) simodem(tp, 0, SER_DTR | SER_RTS); -#else - ttydisc_modem(tp, 0); -#endif - } - } - pp->sp_last_hi_ip = hi_ip; - -} - -/* - * Poller to catch missed interrupts. - * - * Note that the SYSV Specialix drivers poll at 100 times per second to get - * better response. We could really use a "periodic" version timeout(). :-) - */ -#ifdef POLL -static void -si_poll(void *nothing) -{ - struct si_softc *sc; - int i; - volatile struct si_reg *regp; - struct si_port *pp; - int lost, oldspl, port; - - DPRINT((0, DBG_POLL, "si_poll()\n")); - oldspl = spltty(); - mtx_assert(&Giant, MA_OWNED); - lost = 0; - for (i = 0; i < si_numunits; i++) { - sc = devclass_get_softc(si_devclass, i); - if (sc == NULL || sc->sc_type == SIEMPTY) - continue; - regp = (struct si_reg *)sc->sc_maddr; - - /* - * See if there has been a pending interrupt for 2 seconds - * or so. The test (int_scounter >= 200) won't correspond - * to 2 seconds if int_count gets changed. - */ - if (regp->int_pending != 0) { - if (regp->int_scounter >= 200 && - regp->initstat == 1) { - printf("si%d: lost intr\n", i); - lost++; - } - } else { - regp->int_scounter = 0; - } - - /* - * gripe about no input flow control.. - */ - pp = sc->sc_ports; - for (port = 0; port < sc->sc_nport; pp++, port++) { - if (pp->sp_delta_overflows > 0) { - printf("si%d: %d tty level buffer overflows\n", - i, pp->sp_delta_overflows); - pp->sp_delta_overflows = 0; - } - } - } - if (lost || si_realpoll) - si_intr(NULL); /* call intr with fake vector */ - splx(oldspl); - - timeout(si_poll, (caddr_t)0L, si_pollrate); -} -#endif /* ifdef POLL */ - -/* - * The interrupt handler polls ALL ports on ALL adapters each time - * it is called. - */ - -static BYTE si_rxbuf[SI_BUFFERSIZE]; /* input staging area */ -static BYTE si_txbuf[SI_BUFFERSIZE]; /* output staging area */ - -void -si_intr(void *arg) -{ - struct si_softc *sc; - struct si_port *pp; - volatile struct si_channel *ccbp; - struct tty *tp; - volatile caddr_t maddr; - BYTE op, ip; - int x, card, port, n, i, isopen; - volatile BYTE *z; - BYTE c; - - sc = arg; - mtx_assert(&Giant, MA_OWNED); - - DPRINT((0, arg == NULL ? DBG_POLL:DBG_INTR, "si_intr\n")); - - /* - * When we get an int we poll all the channels and do ALL pending - * work, not just the first one we find. This allows all cards to - * share the same vector. - * - * XXX - But if we're sharing the vector with something that's NOT - * a SI/XIO/SX card, we may be making more work for ourselves. - */ - for (card = 0; card < si_numunits; card++) { - sc = devclass_get_softc(si_devclass, card); - if (sc == NULL || sc->sc_type == SIEMPTY) - continue; - - /* - * First, clear the interrupt - */ - switch(sc->sc_type) { - case SIHOST: - maddr = sc->sc_maddr; - ((volatile struct si_reg *)maddr)->int_pending = 0; - /* flag nothing pending */ - *(maddr+SIINTCL) = 0x00; /* Set IRQ clear */ - *(maddr+SIINTCL_CL) = 0x00; /* Clear IRQ clear */ - break; - case SIHOST2: - maddr = sc->sc_maddr; - ((volatile struct si_reg *)maddr)->int_pending = 0; - *(maddr+SIPLIRQCLR) = 0x00; - *(maddr+SIPLIRQCLR) = 0x10; - break; - case SIPCI: - maddr = sc->sc_maddr; - ((volatile struct si_reg *)maddr)->int_pending = 0; - *(maddr+SIPCIINTCL) = 0x0; - break; - case SIJETPCI: /* fall through to JETISA case */ - case SIJETISA: - maddr = sc->sc_maddr; - ((volatile struct si_reg *)maddr)->int_pending = 0; - *(maddr+SIJETINTCL) = 0x0; - break; -#ifdef DEV_EISA - case SIEISA: - maddr = sc->sc_maddr; - ((volatile struct si_reg *)maddr)->int_pending = 0; - (void)inb(sc->sc_iobase + 3); - break; -#endif - case SIEMPTY: - default: - continue; - } - ((volatile struct si_reg *)maddr)->int_scounter = 0; - - /* - * check each port - */ - for (pp = sc->sc_ports, port = 0; port < sc->sc_nport; - pp++, port++) { - ccbp = pp->sp_ccb; - tp = pp->sp_tty; - tty_lock(tp); - - /* - * See if a command has completed ? - */ - if (ccbp->hi_stat != pp->sp_pend) { - DPRINT((pp, DBG_INTR, - "si_intr hi_stat = %s, pend = %s\n", - si_cmdname(ccbp->hi_stat), - si_cmdname(pp->sp_pend))); - switch(pp->sp_pend) { - case LOPEN: - case MPEND: - case MOPEN: - case FCLOSE: - case CONFIG: - case SBREAK: - case EBREAK: - /* sleeping in si_command */ - DPRINT((pp, DBG_INTR, "do wakeup\n")); - wakeup(&pp->sp_state); - break; - } - pp->sp_pend = ccbp->hi_stat; - } - - /* - * Continue on if it's closed - */ - if (ccbp->hi_stat == IDLE_CLOSE) { - tty_unlock(tp); - continue; - } - - /* - * Do modem state change if not a local device - */ - si_modem_state(pp, tp, ccbp->hi_ip); - - /* - * Check to see if we should 'receive' characters. - */ - isopen = tty_opened(tp); - - /* - * Do input break processing - */ - if (ccbp->hi_state & ST_BREAK) { - if (isopen) - ttydisc_rint(tp, 0, TRE_BREAK); - ccbp->hi_state &= ~ST_BREAK; /* A Bit iffy this */ - DPRINT((pp, DBG_INTR, "si_intr break\n")); - } - - /* - * Do RX stuff - if not open then dump any characters. - * XXX: This is VERY messy and needs to be cleaned up. - * - * XXX: can we leave data in the host adapter buffer - * when the clists are full? That may be dangerous - * if the user cannot get an interrupt signal through. - */ - - more_rx: - - if (!isopen) { - DPRINT((pp, DBG_INTR, "intr1: not open\n")); - ccbp->hi_rxopos = ccbp->hi_rxipos; - goto end_rx; - } - -#if 0 /* XXXMPSAFETTY */ - /* - * If the tty input buffers are blocked, stop emptying - * the incoming buffers and let the auto flow control - * assert.. - */ - if (tp->t_state & TS_TBLOCK) - goto end_rx; -#endif - - /* - * Process read characters if not skipped above - */ - op = ccbp->hi_rxopos; - ip = ccbp->hi_rxipos; - c = ip - op; - if (c == 0) - goto end_rx; - - n = c & 0xff; - if (n > 250) - n = 250; - - DPRINT((pp, DBG_INTR, "n = %d, op = %d, ip = %d\n", - n, op, ip)); - - /* - * Suck characters out of host card buffer into the - * "input staging buffer" - so that we dont leave the - * host card in limbo while we're possibly echoing - * characters and possibly flushing input inside the - * ldisc l_rint() routine. - */ - if (n <= SI_BUFFERSIZE - op) { - - z = ccbp->hi_rxbuf + op; - si_vbcopy(z, si_rxbuf, n); - - op += n; - } else { - x = SI_BUFFERSIZE - op; - - z = ccbp->hi_rxbuf + op; - si_vbcopy(z, si_rxbuf, x); - - z = ccbp->hi_rxbuf; - si_vbcopy(z, si_rxbuf + x, n - x); - - op += n; - } - - /* clear collected characters from buffer */ - ccbp->hi_rxopos = op; - - /* - * at this point... - * n = number of chars placed in si_rxbuf - */ - - if (0 && ttydisc_can_bypass(tp)) { - - i = ttydisc_rint_bypass(tp, (char *)si_rxbuf, n); - if (i < n) - pp->sp_delta_overflows += (n - i); - - } else { - /* - * It'd be nice to not have to go through the - * function call overhead for each char here. - * It'd be nice to block input it, saving a - * loop here and the call/return overhead. - */ - for(x = 0; x < n; x++) { - i = si_rxbuf[x]; - if (ttydisc_rint(tp, i, 0) == -1) - pp->sp_delta_overflows++; - } - } - goto more_rx; /* try for more until RXbuf is empty */ - - end_rx: - - ttydisc_rint_done(tp); - - /* - * Do TX stuff - */ - si_start(tp); - tty_unlock(tp); - - } /* end of for (all ports on this controller) */ - } /* end of for (all controllers) */ - - DPRINT((0, arg == NULL ? DBG_POLL:DBG_INTR, "end si_intr\n")); -} - -/* - * Nudge the transmitter... - * - * XXX: I inherited some funny code here. It implies the host card only - * interrupts when the transmit buffer reaches the low-water-mark, and does - * not interrupt when it's actually hits empty. In some cases, we have - * processes waiting for complete drain, and we need to simulate an interrupt - * about when we think the buffer is going to be empty (and retry if not). - * I really am not certain about this... I *need* the hardware manuals. - */ -static void -si_start(struct tty *tp) -{ - struct si_port *pp; - volatile struct si_channel *ccbp; - BYTE ipos, count; -#if 0 - int nchar; -#endif - int oldspl, n, amount; - - oldspl = spltty(); - mtx_assert(&Giant, MA_OWNED); - - pp = tty_softc(tp); - - DPRINT((pp, DBG_ENTRY|DBG_START, - "si_start(%x) sp_state %x\n", - tp, pp->sp_state)); - - ccbp = pp->sp_ccb; - - while ((count = (int)ccbp->hi_txipos - (int)ccbp->hi_txopos) < 255) { - DPRINT((pp, DBG_START, "txbuf pend count %d\n", (BYTE)count)); - ipos = (unsigned int)ccbp->hi_txipos; - if ((int)ccbp->hi_txopos <= ipos) - amount = SI_BUFFERSIZE - ipos; - else - amount = 255 - count; - DPRINT((pp, DBG_START, "spaceleft amount %d\n", amount)); - if (amount == 0) - break; - n = ttydisc_getc(tp, si_txbuf, amount); - DPRINT((pp, DBG_START, "getc n=%d\n", n)); - if (n == 0) - break; - si_bcopyv(si_txbuf, &ccbp->hi_txbuf[ipos], n); - ccbp->hi_txipos += n; - } - -#if 0 - /* - * See if there are any characters still to come. If so, we can - * depend on si_start being called again. - * - * XXX the manual is vague on this. It implies we get an interrupt - * when the transmit queue reaches the 25% low water mark, but NOT - * when it hits empty. - */ - nchar = ttyoutq_getsize(&tp->t_outq) - ttyoutq_bytesleft(&tp->t_outq); - DPRINT((pp, DBG_START, "count %d, nchar %d\n", - (BYTE)count, nchar)); - - if (count != 0 && nchar == 0) { - int time; - - /* XXX lame. Ticks per character. used to be a table. */ - time = (tp->t_termios.c_ospeed + 9) / 10; - - if (time > 0) { - if (time < nchar) - time = nchar / time; - else - time = 2; - } else { - DPRINT((pp, DBG_START, - "bad char time value! %d\n", time)); - time = hz/10; - } - - if ((pp->sp_state & SS_LSTART) != 0) - untimeout(si_lstart, (caddr_t)pp, pp->lstart_ch); - DPRINT((pp, DBG_START, "arming lstart, time=%d\n", time)); - pp->sp_state |= SS_LSTART; - pp->lstart_ch = timeout(si_lstart, (caddr_t)pp, time); - } -#endif - - splx(oldspl); - DPRINT((pp, DBG_EXIT|DBG_START, "leave si_start()\n")); -} - -#if 0 -/* - * This has to deal with two things... cause wakeups while waiting for - * tty drains on last process exit, and call l_start at about the right - * time for protocols like ppp. - */ -static void -si_lstart(void *arg) -{ - struct si_port *pp = arg; - struct tty *tp; - int oldspl; - - DPRINT((pp, DBG_ENTRY|DBG_LSTART, "si_lstart(%x) sp_state %x\n", - pp, pp->sp_state)); - - oldspl = spltty(); - mtx_assert(&Giant, MA_OWNED); - pp->sp_state &= ~SS_LSTART; - tp = pp->sp_tty; - - si_start(tp); - - splx(oldspl); -} -#endif - -#if 0 /* XXX mpsafetty */ -/* - * Stop output on a line. called at spltty(); - */ -static void -si_stop(struct tty *tp, int rw) -{ - volatile struct si_channel *ccbp; - struct si_port *pp; - - mtx_assert(&Giant, MA_OWNED); - pp = tty_softc(tp); - ccbp = pp->sp_ccb; - - DPRINT((pp, DBG_ENTRY|DBG_STOP, "si_stop(%x,%x)\n", tp, rw)); - - /* XXX: must check (rw & FWRITE | FREAD) etc flushing... */ - if (rw & FWRITE) { - /* what level are we meant to be flushing anyway? */ - if (tp->t_state & TS_BUSY) { - si_command(pp, WFLUSH, SI_NOWAIT); - tp->t_state &= ~TS_BUSY; - ttwwakeup(tp); /* Bruce???? */ - } - } -#if 1 /* XXX: this doesn't work right yet.. */ - /* XXX: this may have been failing because we used to call l_rint() - * while we were looping based on these two counters. Now, we collect - * the data and then loop stuffing it into l_rint(), making this - * useless. Should we cause this to blow away the staging buffer? - */ - if (rw & FREAD) { - ccbp->hi_rxopos = ccbp->hi_rxipos; - } -#endif -} -#endif - -/* - * Issue a command to the host card CPU. - * - * XXX This is all just so WRONG!. Ed says we're not supposed to sleep - * here anyway. We sort of get away with it for now by using Giant. - * Something better will have to be done. - * Linux does a busy spin here waiting for the 8-bit cpu to notice the - * posted command and respond to it. I'm not sure I like that either. - */ -static void -si_command(struct si_port *pp, int cmd, int waitflag) -{ - int oldspl; - volatile struct si_channel *ccbp = pp->sp_ccb; - int x; - int err; - - DPRINT((pp, DBG_ENTRY|DBG_PARAM, "si_command(%x,%s,%d): hi_stat %s, sp_pend: %s\n", - pp, si_cmdname(cmd), waitflag, si_cmdname(ccbp->hi_stat), - si_cmdname(pp->sp_pend))); - - oldspl = spltty(); /* Keep others out */ - mtx_assert(&Giant, MA_OWNED); - - /* wait until it's finished what it was doing.. */ - /* XXX: sits in IDLE_BREAK until something disturbs it or break - * is turned off. */ - while((x = ccbp->hi_stat) != IDLE_OPEN && - x != IDLE_CLOSE && - x != IDLE_BREAK && - x != cmd) { - DPRINT((pp, DBG_PARAM, "sicmd1 old cmd pending (going to tsleep): hi_stat (%s)\n", si_cmdname(ccbp->hi_stat))); - err = tsleep(&pp->sp_state, (PSOCK+1)|PCATCH, "sicmd1", hz/4); - if (err) { - DPRINT((pp, DBG_PARAM, "sicmd1 timeout: hi_stat (%s)\n", - si_cmdname(ccbp->hi_stat))); - /* This is very very bad. The card has crashed. */ - /* XXX the driver breaks at this point */ - if (err == ETIMEDOUT) - DPRINT(("%s: tsleep1 timeout. hi_stat %s, sp_pend %s\n", pp->sp_name, si_cmdname(ccbp->hi_stat), si_cmdname(pp->sp_pend))); - splx(oldspl); - return; - } - } - /* it should now be in IDLE_{OPEN|CLOSE|BREAK}, or "cmd" */ - DPRINT((pp, DBG_PARAM, "sicmd1 now in: hi_stat (%s) sp_pend (%s)\n", si_cmdname(ccbp->hi_stat), si_cmdname(pp->sp_pend))); - - /* if there was a pending command, cause a state-change wakeup */ - switch(pp->sp_pend) { - case LOPEN: - case MPEND: - case MOPEN: - case FCLOSE: - case CONFIG: - case SBREAK: - case EBREAK: - DPRINT((pp, DBG_PARAM, "si_command: sp_pend %s, doing wakeup\n", si_cmdname(pp->sp_pend))); - wakeup(&pp->sp_state); - break; - default: - break; - } - - pp->sp_pend = cmd; /* New command pending */ - ccbp->hi_stat = cmd; /* Post it */ - DPRINT((pp, DBG_PARAM, "sicmd now posted: hi_stat (%s) sp_pend (%s)\n", si_cmdname(ccbp->hi_stat), si_cmdname(pp->sp_pend))); - - if (waitflag) { - while((x = ccbp->hi_stat) != IDLE_OPEN && - x != IDLE_CLOSE && - x != IDLE_BREAK) { - DPRINT((pp, DBG_PARAM, "sicmd2 now waiting: hi_stat (%s) sp_pend (%s) (going to tsleep)\n", si_cmdname(ccbp->hi_stat), si_cmdname(pp->sp_pend))); - err = tsleep(&pp->sp_state, (PSOCK+1)|PCATCH, "sicmd2", hz); - if (err) { - DPRINT((pp, DBG_PARAM, "sicmd2 tsleep error: hi_stat (%s) sp_pend (%s)\n", si_cmdname(ccbp->hi_stat), si_cmdname(pp->sp_pend))); - if (err == ETIMEDOUT) { - DPRINT(("%s: tsleep2 timeout. hi_stat %s, sp_pend %s\n", pp->sp_name, si_cmdname(ccbp->hi_stat), si_cmdname(pp->sp_pend))); - } - break; - } - } - } - DPRINT((pp, DBG_PARAM, "sicmd2 finished: hi_stat (%s) sp_pend (%s)\n", si_cmdname(ccbp->hi_stat), si_cmdname(pp->sp_pend))); - splx(oldspl); -} - - -#ifdef SI_DEBUG - -void -si_dprintf(struct si_port *pp, int flags, const char *fmt, ...) -{ - va_list ap; - - if ((pp == NULL && (si_debug&flags)) || - (pp != NULL && ((pp->sp_debug&flags) || (si_debug&flags)))) { - if (pp != NULL) - printf("%s: ", pp->sp_name); - va_start(ap, fmt); - vprintf(fmt, ap); - va_end(ap); - } -} - -#endif /* DEBUG */ - -static char * -si_modulename(int host_type, int uart_type) -{ - switch (host_type) { - /* Z280 based cards */ -#ifdef DEV_EISA - case SIEISA: -#endif - case SIHOST2: - case SIHOST: - case SIPCI: - switch (uart_type) { - case 0: - return(" (XIO)"); - case 1: - return(" (SI)"); - } - break; - /* T225 based hosts */ - case SIJETPCI: - case SIJETISA: - switch (uart_type) { - case 0: - return(" (SI)"); - case 40: - return(" (XIO)"); - case 72: - return(" (SXDC)"); - } - break; - } - return(""); -} diff --git a/sys/dev/si/si.h b/sys/dev/si/si.h deleted file mode 100644 index 0a45a3cebd4f..000000000000 --- a/sys/dev/si/si.h +++ /dev/null @@ -1,395 +0,0 @@ -/*- - * Device driver for Specialix range (SI/XIO) of serial line multiplexors. - * 'C' definitions for Specialix serial multiplex driver. - * - * Copyright (C) 1990, 1992, 1998 Specialix International, - * Copyright (C) 1993, Andy Rutter - * Copyright (C) 1995, Peter Wemm - * - * Derived from: SunOS 4.x version - * - * 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 - * notices, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notices, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Andy Rutter of - * Advanced Methods and Tools Ltd. based on original information - * from Specialix International. - * 4. Neither the name of Advanced Methods and Tools, nor Specialix - * International may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY ``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 AUTHORS BE LIABLE. - * - * $FreeBSD$ - */ - -#include - -/* - * We name devices with %r in make_dev() with a radix of 32. - */ -#define SI_MAXPORTPERCARD 32 - -/* Buffer parameters */ -#define SI_BUFFERSIZE 256 - -typedef uint8_t BYTE; /* Type cast for unsigned 8 bit */ -typedef uint16_t WORD; /* Type cast for unsigned 16 bit */ - -/* - * Hardware `registers', stored in the shared memory. - * These are related to the firmware running on the Z280. - */ - -struct si_reg { - BYTE initstat; - BYTE memsize; - WORD int_count; - WORD revision; - BYTE rx_int_count; /* isr_count on Jet */ - BYTE main_count; /* spare on Z-280 */ - WORD int_pending; - WORD int_counter; - BYTE int_scounter; - BYTE res[0x80 - 13]; -}; - -/* - * Per module control structure, stored in shared memory. - */ -struct si_module { - WORD sm_next; /* Next module */ - BYTE sm_type; /* Number of channels */ - BYTE sm_number; /* Module number on cable */ - BYTE sm_dsr; /* Private dsr copy */ - BYTE sm_res[0x80 - 5]; /* Reserve space to 128 bytes */ -}; - -/* - * The 'next' pointer & with 0x7fff + SI base address give - * the address of the next module block if fitted. (else 0) - * Note that next points to the TX buffer so 0x60 must be - * subtracted to find the true base. - */ -#define TA4 0x00 -#define TA8 0x08 -#define TA4_ASIC 0x0A -#define TA8_ASIC 0x0B -#define MTA 0x28 -#define SXDC 0x48 - -/* - * Per channel(port) control structure, stored in shared memory. - */ -struct si_channel { - /* - * Generic stuff - */ - WORD next; /* Next Channel */ - WORD addr_uart; /* Uart address */ - WORD module; /* address of module struct */ - BYTE type; /* Uart type */ - BYTE fill; - /* - * Uart type specific stuff - */ - BYTE x_status; /* XON / XOFF status */ - BYTE c_status; /* cooking status */ - BYTE hi_rxipos; /* stuff into rx buff */ - BYTE hi_rxopos; /* stuff out of rx buffer */ - BYTE hi_txopos; /* Stuff into tx ptr */ - BYTE hi_txipos; /* ditto out */ - BYTE hi_stat; /* Command register */ - BYTE dsr_bit; /* Magic bit for DSR */ - BYTE txon; /* TX XON char */ - BYTE txoff; /* ditto XOFF */ - BYTE rxon; /* RX XON char */ - BYTE rxoff; /* ditto XOFF */ - BYTE hi_mr1; /* mode 1 image */ - BYTE hi_mr2; /* mode 2 image */ - BYTE hi_csr; /* clock register */ - BYTE hi_op; /* Op control */ - BYTE hi_ip; /* Input pins */ - BYTE hi_state; /* status */ - BYTE hi_prtcl; /* Protocol */ - BYTE hi_txon; /* host copy tx xon stuff */ - BYTE hi_txoff; - BYTE hi_rxon; - BYTE hi_rxoff; - BYTE close_prev; /* Was channel previously closed */ - BYTE hi_break; /* host copy break process */ - BYTE break_state; /* local copy ditto */ - BYTE hi_mask; /* Mask for CS7 etc. */ - BYTE mask_z280; /* Z280's copy */ - BYTE res[0x60 - 36]; - BYTE hi_txbuf[SI_BUFFERSIZE]; - BYTE hi_rxbuf[SI_BUFFERSIZE]; - BYTE res1[0xA0]; -}; - -/* - * Register definitions - */ - -/* - * Break input control register definitions - */ -#define BR_IGN 0x01 /* Ignore any received breaks */ -#define BR_INT 0x02 /* Interrupt on received break */ -#define BR_PARMRK 0x04 /* Enable parmrk parity error processing */ -#define BR_PARIGN 0x08 /* Ignore chars with parity errors */ - -/* - * Protocol register provided by host for XON/XOFF and cooking - */ -#define SP_TANY 0x01 /* Tx XON any char */ -#define SP_TXEN 0x02 /* Tx XON/XOFF enabled */ -#define SP_CEN 0x04 /* Cooking enabled */ -#define SP_RXEN 0x08 /* Rx XON/XOFF enabled */ -#define SP_DCEN 0x20 /* DCD / DTR check */ -#define SP_PAEN 0x80 /* Parity checking enabled */ - -/* - * HOST STATUS / COMMAND REGISTER - */ -#define IDLE_OPEN 0x00 /* Default mode, TX and RX polled - buffer updated etc */ -#define LOPEN 0x02 /* Local open command (no modem ctl */ -#define MOPEN 0x04 /* Open and monitor modem lines (blocks - for DCD */ -#define MPEND 0x06 /* Wating for DCD */ -#define CONFIG 0x08 /* Channel config has changed */ -#define CLOSE 0x0A /* Close channel */ -#define SBREAK 0x0C /* Start break */ -#define EBREAK 0x0E /* End break */ -#define IDLE_CLOSE 0x10 /* Closed channel */ -#define IDLE_BREAK 0x12 /* In a break */ -#define FCLOSE 0x14 /* Force a close */ -#define RESUME 0x16 /* Clear a pending xoff */ -#define WFLUSH 0x18 /* Flush output buffer */ -#define RFLUSH 0x1A /* Flush input buffer */ - -/* - * Host status register - */ -#define ST_BREAK 0x01 /* Break received (clear with config) */ - -/* - * OUTPUT PORT REGISTER - */ -#define OP_CTS 0x01 /* Enable CTS */ -#define OP_DSR 0x02 /* Enable DSR */ -/* - * INPUT PORT REGISTER - */ -#define IP_DCD 0x04 /* DCD High */ -#define IP_DTR 0x20 /* DTR High */ -#define IP_RTS 0x02 /* RTS High */ -#define IP_RI 0x40 /* RI High */ - -/* - * Mode register and uart specific stuff - */ -/* - * MODE REGISTER 1 - */ -#define MR1_5_BITS 0x00 -#define MR1_6_BITS 0x01 -#define MR1_7_BITS 0x02 -#define MR1_8_BITS 0x03 -/* - * Parity - */ -#define MR1_ODD 0x04 -#define MR1_EVEN 0x00 -/* - * Parity mode - */ -#define MR1_WITH 0x00 -#define MR1_FORCE 0x08 -#define MR1_NONE 0x10 -#define MR1_SPECIAL 0x18 -/* - * Error mode - */ -#define MR1_CHAR 0x00 -#define MR1_BLOCK 0x20 -/* - * Request to send line automatic control - */ -#define MR1_CTSCONT 0x80 - -/* - * MODE REGISTER 2 - */ -/* - * Number of stop bits - */ -#define MR2_1_STOP 0x07 -#define MR2_2_STOP 0x0F -/* - * Clear to send automatic testing before character sent - */ -#define MR2_RTSCONT 0x10 -/* - * Reset RTS automatically after sending character? - */ -#define MR2_CTSCONT 0x20 -/* - * Channel mode - */ -#define MR2_NORMAL 0x00 -#define MR2_AUTO 0x40 -#define MR2_LOCAL 0x80 -#define MR2_REMOTE 0xC0 - -/* - * CLOCK SELECT REGISTER - this and the code assumes ispeed == ospeed - */ -/* - * Clocking rates are in lower and upper nibbles.. R = upper, T = lower - */ -#define CLK75 0x0 -#define CLK110 0x1 /* 110 on XIO!! */ -#define CLK38400 0x2 /* out of sequence */ -#define CLK150 0x3 -#define CLK300 0x4 -#define CLK600 0x5 -#define CLK1200 0x6 -#define CLK2000 0x7 -#define CLK2400 0x8 -#define CLK4800 0x9 -#define CLK7200 0xa /* unchecked */ -#define CLK9600 0xb -#define CLK19200 0xc -#define CLK57600 0xd - -/* - * Per-port (channel) soft information structure, stored in the driver. - * This is visible via ioctl()'s. - */ -struct si_port { - volatile struct si_channel *sp_ccb; - struct tty *sp_tty; - int sp_pend; /* pending command */ - int sp_last_hi_ip; /* cached DCD */ - int sp_state; - int sp_delta_overflows; - struct callout_handle lstart_ch;/* For canceling our timeout */ - int sp_debug; /* debug mask */ - char sp_name[5]; -}; - -/* sp_state */ -/* 0x0001 -- */ -/* 0x0002 -- */ -/* 0x0004 -- */ -/* 0x0008 -- */ -/* 0x0010 -- */ -/* 0x0020 -- */ -/* 0x0040 -- */ -/* 0x0080 -- */ -#define SS_LSTART 0x0100 /* lstart timeout pending */ -/* 0x0200 -- */ -/* 0x0400 -- */ -/* 0x0800 -- */ - -/* - * Command post flags - */ -#define SI_NOWAIT 0x00 /* Don't wait for command */ -#define SI_WAIT 0x01 /* Wait for complete */ - -/* - * SI ioctls - */ -/* - * struct for use by Specialix ioctls - used by siconfig(8) - */ -typedef struct { - unsigned char - sid_port:5, /* 0 - 31 ports per card */ - sid_card:2, /* 0 - 3 cards */ - sid_control:1; /* controlling device (all cards) */ -} sidev_t; -struct si_tcsi { - sidev_t tc_dev; - union { - int x_int; - int x_dbglvl; - } tc_action; -#define tc_card tc_dev.sid_card -#define tc_port tc_dev.sid_port -#define tc_int tc_action.x_int -#define tc_dbglvl tc_action.x_dbglvl -}; - -struct si_pstat { - sidev_t tc_dev; - union { - struct si_port x_siport; - struct si_channel x_ccb; - struct tty x_tty; - } tc_action; -#define tc_siport tc_action.x_siport -#define tc_ccb tc_action.x_ccb -#define tc_tty tc_action.x_tty -}; - -#define IOCTL_MIN 96 -#define TCSIDEBUG _IOW('S', 96, struct si_tcsi) /* Toggle debug */ -#define TCSIRXIT _IOW('S', 97, struct si_tcsi) /* RX int throttle */ -#define TCSIIT _IOW('S', 98, struct si_tcsi) /* TX int throttle */ - /* 99 defunct */ - /* 100 defunct */ - /* 101 defunct */ - /* 102 defunct */ - /* 103 defunct */ - /* 104 defunct */ -#define TCSISTATE _IOWR('S', 105, struct si_tcsi) /* get current state of RTS - DCD and DTR pins */ - /* 106 defunct */ -#define TCSIPORTS _IOR('S', 107, int) /* Number of ports found */ -#define TCSISDBG_LEVEL _IOW('S', 108, struct si_tcsi) /* equivalent of TCSIDEBUG which sets a - * particular debug level (DBG_??? bit - * mask), default is 0xffff */ -#define TCSIGDBG_LEVEL _IOWR('S', 109, struct si_tcsi) -#define TCSIGRXIT _IOWR('S', 110, struct si_tcsi) -#define TCSIGIT _IOWR('S', 111, struct si_tcsi) - /* 112 defunct */ - /* 113 defunct */ - /* 114 defunct */ - /* 115 defunct */ - /* 116 defunct */ - /* 117 defunct */ - -#define TCSISDBG_ALL _IOW('S', 118, int) /* set global debug level */ -#define TCSIGDBG_ALL _IOR('S', 119, int) /* get global debug level */ - - /* 120 defunct */ - /* 121 defunct */ - /* 122 defunct */ - /* 123 defunct */ -#define TCSIMODULES _IOR('S', 124, int) /* Number of modules found */ - -/* Various stats and monitoring hooks per tty device */ -#define TCSI_PORT _IOWR('S', 125, struct si_pstat) /* get si_port */ -#define TCSI_CCB _IOWR('S', 126, struct si_pstat) /* get si_ccb */ - -#define IOCTL_MAX 127 - -#define IS_SI_IOCTL(cmd) ((u_int)((cmd)&0xff00) == ('S'<<8) && \ - (u_int)((cmd)&0xff) >= IOCTL_MIN && \ - (u_int)((cmd)&0xff) <= IOCTL_MAX) - -#define CONTROLDEV "/dev/si_control" diff --git a/sys/dev/si/si2_z280.c b/sys/dev/si/si2_z280.c deleted file mode 100644 index 44bb2e42c3d3..000000000000 --- a/sys/dev/si/si2_z280.c +++ /dev/null @@ -1,1103 +0,0 @@ -/*- - * Copyright (C) 1988-1998 Specialix International. - * - * Download code for SI/XIO host cards. - * - * Redistribution and use in binary forms (this file is a binary form), with - * or without modification, are permitted provided that the following - * conditions are met: - * 1. Redistributions in binary form must reproduce the above copyright - * notices, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 2. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Specialix International. - * 3. The name of Specialix International may not be used to endorse or - * promote products derived from this software without specific prior - * written permission. - * 4. No attempt is made to decompile, reverse engineer or otherwise - * discover the source code of the contents of this file. The source - * code is regarded as an unpublished trade secret held by Specialix - * International. - * - * THIS SOFTWARE IS PROVIDED BY ``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 AUTHORS BE LIABLE. - * - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include - -/* SI2_Z280.C Version, Bootstrap and Download Code Arrays... */ - -/* SI2_Z280 embedded version... - - Copyright (c) Specialix Research Ltd 1988-1998 - Z280 Download Code Version 1.42 - - -*/ - -unsigned char si2_z280_download[] = -{ - 0x00,0xC3,0x86,0x00,0x02,0x00,0x08,0x01, /* 0000: .Æ..... */ - 0x00,0x00,0x88,0x18,0x00,0x00,0x8C,0x18, /* 0008: ...... */ - 0x00,0x00,0xF6,0x1A,0x00,0x00,0xC5,0x04, /* 0010: ...... */ - 0x02,0x00,0x08,0x01,0x02,0x00,0x08,0x01, /* 0018: ........ */ - 0x02,0x00,0x08,0x01,0x02,0x00,0x08,0x01, /* 0020: ........ */ - 0x02,0x00,0x08,0x01,0x00,0x00,0xED,0x0F, /* 0028: ....... */ - 0x00,0x00,0x0C,0x10,0x02,0x00,0x08,0x01, /* 0030: ........ */ - 0x02,0x00,0x08,0x01,0x00,0x00,0x00,0x00, /* 0038: ........ */ - 0x20,0x00,0x00,0x01,0x00,0x3C,0x00,0x00, /* 0040: ....<.. */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0048: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0050: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0058: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0060: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0068: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0070: ........ */ - 0x00,0x3A,0x47,0x00,0xFE,0x00,0xC2,0x08, /* 0078: .:G... */ - 0x01,0xDD,0x3E,0x48,0x00,0x01,0x31,0xBF, /* 0080: .>H..1 */ - 0x00,0xC3,0x2A,0x13,0xFF,0xFF,0xFF,0xFF, /* 0088: .*. */ - 0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xCC, /* 0090: ...... */ - 0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC, /* 0098: */ - 0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC, /* 00A0: */ - 0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC, /* 00A8: */ - 0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC, /* 00B0: */ - 0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0x3A, /* 00B8: : */ - 0x41,0x00,0xFE,0x00,0xC2,0x2A,0x13,0x21, /* 00C0: A..*.! */ - 0x00,0x08,0x0E,0xF0,0xED,0xBF,0x00,0x00, /* 00C8: ..... */ - 0x00,0x21,0x40,0x00,0x0E,0x12,0xED,0x6E, /* 00D0: .!@...n */ - 0x3A,0x92,0x00,0xFE,0x01,0x20,0x05,0x21, /* 00D8: :.. .! */ - 0xC2,0x05,0x18,0x03,0x21,0x8C,0x18,0x7D, /* 00E0: ...!.} */ - 0xE6,0xF0,0x6F,0x3E,0x00,0x46,0x23,0x3D, /* 00E8: o>.F#= */ - 0xFE,0x00,0x20,0xF9,0x21,0x80,0x00,0x0E, /* 00F0: . !.. */ - 0x12,0xED,0x6E,0xDD,0x3E,0x47,0x00,0x01, /* 00F8: .n>G.. */ - 0xCD,0x15,0x01,0x00,0x18,0xFE,0x00,0x00, /* 0100: ...... */ - 0xDD,0xD1,0x06,0x01,0xED,0x55,0xDD,0x3E, /* 0108: ..U> */ - 0x00,0x00,0xFE,0x76,0xC9,0xCD,0xF9,0x01, /* 0110: ..v. */ - 0xFE,0x01,0x20,0x03,0xCD,0x89,0x04,0xC9, /* 0118: . .͉. */ - 0xE0,0x81,0x80,0x80,0x00,0x00,0x00,0x00, /* 0120: .... */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0128: ........ */ - 0x8C,0x00,0xF0,0xD0,0x00,0xF0,0x00,0xC0, /* 0130: ... */ - 0x00,0x00,0xF0,0xD0,0x00,0xF0,0x00,0xC0, /* 0138: .... */ - 0x00,0x00,0x21,0x0D,0x00,0x0E,0xFF,0xED, /* 0140: ..!... */ - 0x6E,0x21,0xF8,0x2F,0x11,0x0E,0x80,0x01, /* 0148: n!.... */ - 0x08,0x00,0xED,0xB0,0x2A,0x43,0x00,0x0E, /* 0150: ..*C.. */ - 0xFF,0xED,0x6E,0xDD,0x3E,0x16,0x80,0x00, /* 0158: n>.. */ - 0xC9,0x79,0xFE,0x00,0x28,0x2A,0xED,0x2D, /* 0160: y.(*- */ - 0xA0,0xFF,0xED,0x2A,0x00,0x00,0x3A,0x2F, /* 0168: *..:. */ - 0x01,0xFE,0x40,0x20,0x07,0xFD,0xED,0xF6, /* 0170: .@ . */ - 0xA0,0x18,0x18,0x05,0xFD,0xED,0xF6,0xA0, /* 0178: ... */ - 0x02,0xDD,0x2A,0x24,0x01,0xED,0x2D,0x00, /* 0180: .*$.-. */ - 0x00,0xE5,0xDD,0xE1,0xDD,0x22,0x24,0x01, /* 0188: ."$. */ - 0x78,0x32,0x2F,0x01,0xED,0x2A,0x00,0x00, /* 0190: x2..*.. */ - 0xDD,0x01,0x00,0x00,0xDD,0x73,0x08,0xDD, /* 0198: ...s. */ - 0x36,0x1C,0x00,0xDD,0x36,0x1D,0x00,0x7B, /* 01A0: 6..6..{ */ - 0xE6,0x0F,0xDD,0x77,0x02,0xDD,0x71,0x03, /* 01A8: .w.q. */ - 0xFD,0xED,0x2D,0x06,0x00,0x7B,0xE6,0xE0, /* 01B0: -..{ */ - 0xFE,0x00,0x20,0x08,0xDD,0x36,0x04,0x00, /* 01B8: . .6.. */ - 0xFD,0x36,0x40,0xFF,0xDD,0xE5,0xFD,0x7E, /* 01C0: 6@~ */ - 0x7F,0xDD,0x77,0x1E,0x3E,0x08,0xED,0x2A, /* 01C8: w.>.* */ - 0x0A,0x00,0xDD,0xED,0x2A,0x60,0x01,0xDD, /* 01D0: ..*`. */ - 0xE5,0xDD,0xC1,0x3D,0x28,0x0C,0xDD,0xED, /* 01D8: =(. */ - 0x2A,0x00,0x03,0xFD,0xED,0xF6,0x02,0x00, /* 01E0: *.... */ - 0x18,0xED,0xDD,0xE1,0xED,0x2A,0x00,0x00, /* 01E8: .*.. */ - 0xFD,0xED,0xF6,0x60,0x01,0xE5,0xDD,0xE1, /* 01F0: `. */ - 0xC9,0x21,0x40,0x00,0x5E,0xDD,0x11,0x02, /* 01F8: !@.^.. */ - 0x80,0xFF,0xFF,0xDD,0x3E,0x06,0x80,0x01, /* 0200: >.. */ - 0xDD,0x3E,0x82,0x80,0x00,0xDD,0x21,0x80, /* 0208: >.! */ - 0x80,0xDD,0x22,0x24,0x01,0xFD,0x21,0x00, /* 0210: "$.!. */ - 0x70,0xFD,0x22,0x28,0x01,0x0E,0x00,0x16, /* 0218: p"(.... */ - 0x01,0xE5,0x2A,0x30,0x01,0x7E,0xDD,0x13, /* 0220: .*0.~. */ - 0x30,0x01,0xE1,0xFE,0xFF,0xCA,0x76,0x03, /* 0228: 0.v. */ - 0x5F,0xFE,0x04,0x28,0x10,0xFE,0x24,0x28, /* 0230: _.(.$( */ - 0x0C,0x06,0x08,0xDD,0x3E,0x2E,0x01,0x08, /* 0238: ...>... */ - 0xCD,0x61,0x01,0x18,0x0C,0x06,0x04,0xDD, /* 0240: a..... */ - 0x3E,0x2E,0x01,0x04,0xCD,0x61,0x01,0x18, /* 0248: >...a.. */ - 0x00,0x21,0xA0,0x02,0xDD,0x0E,0x00,0x2B, /* 0250: .!...+ */ - 0xFD,0xED,0xF7,0xA0,0xFF,0x20,0xF5,0xFD, /* 0258: */ - 0xED,0x2D,0xA2,0xFF,0xDD,0x36,0xC2,0xFF, /* 0260: -6 */ - 0x7B,0xE6,0xE0,0xDD,0x77,0xC4,0xFE,0x00, /* 0268: {w. */ - 0x20,0x2A,0xED,0x32,0x00,0x00,0xCB,0x9D, /* 0270: *2..˝ */ - 0xFD,0x36,0x02,0x0A,0xFD,0x1E,0x04,0x00, /* 0278: 6..... */ - 0xE0,0xFD,0x1E,0x05,0x00,0x00,0xCD,0xD3, /* 0280: .... */ - 0x1D,0xFD,0x7B,0x0E,0x00,0xFD,0x1E,0x0D, /* 0288: .{.... */ - 0x00,0x00,0xFD,0x36,0x02,0x90,0xDD,0x36, /* 0290: ..6.6 */ - 0xA6,0x01,0x18,0x00,0xDD,0x36,0xAE,0x10, /* 0298: ...6. */ - 0xDD,0x36,0xBF,0x01,0xDD,0x72,0xAF,0x2A, /* 02A0: 6.r* */ - 0x24,0x01,0xED,0x2D,0xA4,0xFF,0x3A,0x2E, /* 02A8: $.-:. */ - 0x01,0x90,0xDD,0x77,0xA7,0xFE,0x04,0xFA, /* 02B0: .w. */ - 0xC9,0x02,0xFD,0x7E,0x7F,0xE6,0xF0,0xCB, /* 02B8: .~ */ - 0x3F,0xCB,0x3F,0xCB,0x3F,0xCB,0x3F,0x18, /* 02C0: ????. */ - 0x05,0xFD,0x7E,0x7F,0xE6,0x0F,0xDD,0x77, /* 02C8: .~.w */ - 0xC4,0x21,0x32,0x01,0xC5,0x4F,0xE6,0x07, /* 02D0: !2.O. */ - 0xFE,0x05,0x20,0x17,0x78,0xFE,0x08,0x28, /* 02D8: . .x.( */ - 0x04,0xFE,0x04,0x20,0x0E,0xDD,0x36,0xC7, /* 02E0: .. .6 */ - 0x01,0x3E,0x08,0x90,0xFD,0x77,0x7F,0xFD, /* 02E8: .>.w */ - 0x36,0x4B,0x80,0x06,0x00,0xED,0xC6,0x7E, /* 02F0: 6K..~ */ - 0xDD,0x77,0xC6,0xC1,0x05,0x20,0x23,0x2A, /* 02F8: w. #* */ - 0x28,0x01,0xFD,0xED,0xF6,0x80,0x00,0x22, /* 0300: (.." */ - 0x28,0x01,0xFD,0x2A,0x28,0x01,0x2A,0x20, /* 0308: (.*(.* */ - 0x01,0xED,0x2D,0xA0,0xFF,0xED,0x2A,0x00, /* 0310: .-*. */ - 0x00,0xFD,0xED,0xF6,0x00,0x04,0x0C,0xC3, /* 0318: .... */ - 0x1F,0x02,0xED,0x2A,0x00,0x00,0xFD,0xED, /* 0320: ..*.. */ - 0xF6,0x00,0x03,0xED,0x2D,0xA0,0xFF,0xE5, /* 0328: ..- */ - 0xDD,0xE1,0xED,0x32,0x00,0x00,0x3A,0x2E, /* 0330: 2..:. */ - 0x01,0xFE,0x08,0x20,0x14,0x7B,0xFE,0x28, /* 0338: .. .{( */ - 0xCA,0x51,0x02,0xFE,0x48,0xCA,0x51,0x02, /* 0340: Q.HQ. */ - 0xFD,0xED,0xF6,0x08,0x00,0xCB,0x02,0x18, /* 0348: .... */ - 0x1F,0x7B,0xFE,0x24,0xCA,0x51,0x02,0x78, /* 0350: .{$Q.x */ - 0xFE,0x02,0x20,0x09,0xFD,0xED,0xF6,0x08, /* 0358: . .. */ - 0x00,0xCB,0x02,0x18,0x0B,0xFD,0xED,0xF6, /* 0360: .... */ - 0x18,0x00,0xCB,0x02,0xCB,0x02,0xCB,0x02, /* 0368: ..... */ - 0xE5,0xFD,0xE1,0xC3,0x51,0x02,0xCD,0x42, /* 0370: Q.B */ - 0x01,0xDD,0x11,0x04,0x80,0x42,0x01,0xDD, /* 0378: ...B. */ - 0x3E,0x00,0x80,0x01,0x3E,0x01,0xC9,0xFD, /* 0380: >..>. */ - 0xED,0x2C,0xA2,0xFF,0xCD,0x8D,0x0E,0x18, /* 0388: ,͍.. */ - 0x05,0xFD,0xED,0x2C,0xA2,0xFF,0xCD,0xE4, /* 0390: ., */ - 0x0D,0x26,0x00,0xC3,0xF1,0x05,0xFD,0xED, /* 0398: .&.. */ - 0x2C,0xA2,0xFF,0xCD,0x8D,0x0E,0x26,0x00, /* 03A0: ,͍.&. */ - 0xC3,0xF1,0x05,0xFD,0xED,0x2C,0xA2,0xFF, /* 03A8: ., */ - 0xCD,0x11,0x0E,0x26,0x00,0xC3,0xF1,0x05, /* 03B0: ..&.. */ - 0xFD,0xED,0x2C,0xA2,0xFF,0xCD,0x2E,0x0E, /* 03B8: ,.. */ - 0x26,0x00,0xC3,0xF1,0x05,0xFD,0xED,0x2C, /* 03C0: &.., */ - 0xA2,0xFF,0xFD,0x36,0x02,0x60,0xDD,0x36, /* 03C8: 6.`6 */ - 0xAE,0x12,0xDD,0x3E,0xC3,0x05,0x01,0x26, /* 03D0: .>..& */ - 0x00,0xC3,0xF1,0x05,0xFD,0xED,0x2C,0xA2, /* 03D8: .., */ - 0xFF,0xFD,0x36,0x02,0x75,0xDD,0x36,0xAE, /* 03E0: 6.u6 */ - 0x00,0xDD,0x3E,0xC3,0x05,0x01,0x26,0x00, /* 03E8: .>..&. */ - 0xC3,0xF1,0x05,0x26,0x00,0xC3,0xF1,0x05, /* 03F0: .&.. */ - 0xFD,0xED,0x2C,0xA2,0xFF,0xDD,0x7E,0xAD, /* 03F8: ,~ */ - 0xDD,0x77,0xAC,0xDD,0x7E,0xB5,0xE6,0x10, /* 0400: w~. */ - 0x28,0x25,0xED,0x32,0x00,0x00,0xCB,0x5D, /* 0408: (%2..] */ - 0x28,0x0A,0xCB,0x9D,0xFD,0x7B,0x0D,0x00, /* 0410: (.˝{.. */ - 0xCB,0x2F,0x18,0x06,0xFD,0x7B,0x0D,0x00, /* 0418: ...{.. */ - 0xCB,0x27,0x2F,0xE6,0x02,0x20,0x08,0xFD, /* 0420: '.. . */ - 0x36,0x02,0x30,0xFD,0x36,0x02,0x04,0xDD, /* 0428: 6.06.. */ - 0x7E,0xA8,0xE6,0x06,0xFE,0x06,0x20,0x0E, /* 0430: ~.. . */ - 0xDD,0xCB,0xA8,0x96,0xDD,0xCB,0xA9,0x4E, /* 0438: ˨˩N */ - 0x20,0x04,0xDD,0xCB,0xA3,0xA6,0xDD,0x36, /* 0440: .ˣ6 */ - 0xAE,0x00,0xDD,0x3E,0xC3,0x05,0x01,0x26, /* 0448: .>..& */ - 0x00,0xC3,0xF1,0x05,0xFD,0xED,0x2C,0xA2, /* 0450: .., */ - 0xFF,0xDD,0x7E,0xAB,0xDD,0x77,0xAA,0xDD, /* 0458: ~w */ - 0x36,0xAE,0x00,0xDD,0x3E,0xC3,0x05,0x01, /* 0460: 6.>.. */ - 0x26,0x00,0xC3,0xF1,0x05,0xDD,0xCB,0xA8, /* 0468: &..˨ */ - 0x4E,0x28,0x08,0xDD,0xCB,0xA8,0xD6,0xDD, /* 0470: N(.˨ */ - 0xCB,0xA3,0xE6,0xDD,0x36,0xAE,0x00,0xDD, /* 0478: ˣ6. */ - 0x3E,0xC3,0x05,0x01,0x26,0x00,0xC3,0xF1, /* 0480: >..&. */ - 0x05,0xDD,0x2A,0x20,0x01,0x21,0xFE,0x00, /* 0488: .* .!. */ - 0x0E,0x08,0xED,0x6E,0x3E,0x28,0xD3,0xE0, /* 0490: ..n>( */ - 0x2A,0x02,0x80,0x01,0xE2,0x00,0xED,0xBF, /* 0498: *... */ - 0x3E,0xE0,0xD3,0xE1,0x3A,0x06,0x80,0x32, /* 04A0: >:.2 */ - 0xC2,0x04,0x21,0xFF,0x00,0x0E,0x08,0xED, /* 04A8: .!... */ - 0x6E,0x26,0x00,0x3A,0x93,0x00,0xFE,0x01, /* 04B0: n&.:.. */ - 0xC2,0xF6,0x05,0xD9,0x26,0x00,0xD9,0xC3, /* 04B8: .&. */ - 0x12,0x0D,0x00,0x00,0x00,0xDD,0xD1,0xC3, /* 04C0: ..... */ - 0x04,0xF5,0xC5,0xE5,0xDD,0xE5,0xFD,0xE5, /* 04C8: . */ - 0x3A,0x16,0x80,0xFE,0x01,0x20,0x08,0xCD, /* 04D0: :.. . */ - 0x42,0x01,0xDD,0x3E,0xC3,0x05,0x01,0x3A, /* 04D8: B.>..: */ - 0x93,0x00,0xFE,0x01,0x28,0x2C,0xDD,0x21, /* 04E0: ..(,! */ - 0xE0,0x81,0x18,0x10,0xDD,0xED,0x2C,0xA0, /* 04E8: .., */ - 0xFF,0xED,0x2A,0x00,0x00,0xFD,0xED,0xF7, /* 04F0: *.. */ - 0xE0,0x81,0x28,0x16,0xDD,0x7E,0xAE,0xFE, /* 04F8: (.~ */ - 0x00,0x20,0xE9,0xFD,0xED,0x2C,0xA2,0xFF, /* 0500: . , */ - 0xDD,0x46,0xA9,0xCB,0x68,0x28,0xDD,0xC3, /* 0508: Fh( */ - 0x72,0x08,0x21,0xFE,0x00,0x0E,0x08,0xED, /* 0510: r.!... */ - 0x6E,0x2A,0x02,0x80,0x01,0xE2,0x00,0xED, /* 0518: n*... */ - 0xBF,0x3E,0x00,0xD3,0xE1,0x3E,0xE0,0xD3, /* 0520: >.> */ - 0xE1,0x3A,0x93,0x00,0xFE,0x01,0x28,0x03, /* 0528: :..(. */ - 0xED,0x7F,0x01,0xDD,0x13,0x0A,0x80,0xDD, /* 0530: ... */ - 0x3C,0x0C,0x80,0x3A,0xC3,0x05,0xFE,0x00, /* 0538: <.:.. */ - 0x20,0x0E,0x3A,0xC2,0x05,0xFE,0x00,0x28, /* 0540: .:..( */ - 0x27,0x3A,0xC2,0x04,0xFE,0x00,0x20,0x20, /* 0548: ':.. */ - 0xDD,0x3E,0x01,0xF0,0x01,0xDD,0x3E,0xC2, /* 0550: >..> */ - 0x05,0x00,0x3A,0x08,0x80,0xFE,0x01,0x28, /* 0558: ..:..( */ - 0x0A,0xDD,0x3E,0x0C,0x80,0x00,0xDD,0x3E, /* 0560: .>..> */ - 0x08,0x80,0x01,0xDD,0x3E,0xC3,0x05,0x00, /* 0568: ..>.. */ - 0xF3,0x3A,0xC2,0x04,0xFE,0x00,0x20,0x06, /* 0570: :.. . */ - 0x3A,0x06,0x80,0x32,0xC2,0x04,0xDD,0x3D, /* 0578: :.2.= */ - 0xC2,0x04,0x21,0xFF,0x00,0x0E,0x08,0xED, /* 0580: .!... */ - 0x6E,0xFD,0xE1,0xDD,0xE1,0xE1,0xC1,0xF1, /* 0588: n */ - 0xED,0x55,0xC4,0x05,0x9E,0x03,0x87,0x03, /* 0590: U... */ - 0x91,0x03,0x9E,0x03,0xAB,0x03,0xC5,0x03, /* 0598: .... */ - 0xDC,0x03,0xF3,0x03,0xF3,0x03,0xB8,0x03, /* 05A0: .... */ - 0x2F,0x04,0xF8,0x03,0x54,0x04,0x6D,0x04, /* 05A8: ...T.m. */ - 0xF3,0x03,0xF3,0x03,0xF3,0x03,0x29,0x10, /* 05B0: ...). */ - 0xFD,0x10,0xF3,0x03,0xF3,0x03,0xC7,0x11, /* 05B8: .... */ - 0x29,0x10,0x00,0x00,0xFD,0xED,0x2C,0xA2, /* 05C0: )..., */ - 0xFF,0xFD,0x4C,0xFD,0x5E,0x01,0xCB,0x61, /* 05C8: L^.a */ - 0x20,0x38,0xCB,0x53,0x28,0x17,0xDD,0x6E, /* 05D0: 8S(.n */ - 0xAC,0xDD,0x7E,0xAD,0x95,0x28,0x0E,0xE6, /* 05D8: ~(. */ - 0x3F,0xCA,0x27,0x07,0xDD,0x79,0xFD,0x77, /* 05E0: ?'.yw */ - 0x03,0x2C,0xDD,0x75,0xAC,0xCB,0x43,0x20, /* 05E8: .,uC */ - 0x52,0xDD,0x7E,0xA1,0xDD,0x67,0xDD,0x7E, /* 05F0: R~g~ */ - 0xAE,0xFE,0x00,0x28,0xC7,0xFE,0x10,0x28, /* 05F8: .(.( */ - 0xF0,0x6F,0xFD,0xED,0xF6,0x92,0x05,0xED, /* 0600: o. */ - 0x26,0xE9,0xDD,0x4E,0xA8,0xDD,0x46,0xA9, /* 0608: &NF */ - 0xCB,0x53,0x28,0x25,0xCB,0x71,0xC2,0xDC, /* 0610: S(%q */ - 0x06,0xCB,0x51,0x20,0x1C,0xDD,0x6E,0xAC, /* 0618: .Q .n */ - 0xDD,0x7E,0xAD,0x95,0x28,0x13,0xE6,0x3F, /* 0620: ~(.? */ - 0xCA,0x00,0x07,0xDD,0x79,0xFE,0x0A,0xCA, /* 0628: ..y. */ - 0xE3,0x06,0xFD,0x77,0x03,0x2C,0xDD,0x75, /* 0630: .w.,u */ - 0xAC,0xCB,0x43,0x20,0x0C,0xCB,0x61,0x20, /* 0638: C .a */ - 0x6A,0x18,0xAE,0xDD,0x4E,0xA8,0xDD,0x46, /* 0640: j.NF */ - 0xA9,0xFD,0x36,0x02,0x40,0xFD,0x7E,0x03, /* 0648: 6.@~. */ - 0xDD,0xA6,0xC3,0xFE,0x00,0xCA,0x10,0x08, /* 0650: ݦ... */ - 0xCB,0x49,0x20,0x34,0x08,0xDD,0x6E,0xAA, /* 0658: I 4.n */ - 0x7D,0x3C,0xDD,0x96,0xAB,0xCB,0x7F,0x28, /* 0660: }<ݖ( */ - 0x05,0xFE,0xFE,0xF2,0xED,0x08,0x08,0x26, /* 0668: ...& */ - 0x01,0xCB,0x78,0xC2,0x2F,0x08,0xED,0x0B, /* 0670: .x... */ - 0x26,0x00,0x2C,0xDD,0x75,0xAA,0xDD,0x3E, /* 0678: &.,u> */ - 0xC2,0x05,0x01,0xCB,0x59,0xCA,0xED,0x08, /* 0680: ..Y. */ - 0x08,0xFE,0xC0,0xCA,0x96,0x07,0x18,0x23, /* 0688: .ʖ..# */ - 0xCB,0x41,0xCA,0xE6,0x07,0xCB,0x51,0xC2, /* 0690: A.Q */ - 0xEC,0x07,0xDD,0xBE,0xB1,0x20,0xBD,0xCB, /* 0698: .ݾ */ - 0xD1,0xDD,0xCB,0xA3,0xE6,0xDD,0x71,0xA8, /* 06A0: ˣq */ - 0xC3,0xED,0x08,0xDD,0x6E,0xAA,0x7D,0x3C, /* 06A8: .n}< */ - 0xDD,0x96,0xAB,0xCB,0x7F,0xC2,0xED,0x08, /* 06B0: ݖ. */ - 0xFE,0x40,0xF2,0xED,0x08,0xCB,0x79,0xC2, /* 06B8: @.y */ - 0xC2,0x07,0xCB,0x69,0xCA,0xED,0x08,0xCB, /* 06C0: .i. */ - 0xA1,0xCB,0xF1,0xDD,0x71,0xA8,0xDD,0xCB, /* 06C8: q */ - 0xB4,0x7E,0xCA,0xED,0x08,0xFD,0x36,0x02, /* 06D0: ~.6. */ - 0x80,0xC3,0xED,0x08,0xCB,0x79,0xC2,0x7E, /* 06D8: .y~ */ - 0x07,0x18,0x6B,0xCB,0x50,0xCA,0x32,0x06, /* 06E0: ..kP2. */ - 0xCB,0x40,0x20,0x0C,0xFD,0x36,0x03,0x0D, /* 06E8: @ .6.. */ - 0xCB,0xC0,0xDD,0x70,0xA9,0xC3,0x39,0x06, /* 06F0: p9. */ - 0xCB,0x80,0xDD,0x70,0xA9,0xC3,0x32,0x06, /* 06F8: ˀp2. */ - 0xDD,0x7E,0xAD,0x95,0xFE,0x40,0x20,0x12, /* 0700: ~@ . */ - 0xCB,0x58,0xCA,0x2B,0x06,0xCB,0x98,0xDD, /* 0708: X+.˘ */ - 0x70,0xA9,0xDD,0x3E,0xC3,0x05,0x01,0xC3, /* 0710: p>.. */ - 0x2B,0x06,0xFE,0xC0,0xC2,0x2B,0x06,0xCB, /* 0718: +.+. */ - 0xD8,0xDD,0x70,0xA9,0xC3,0x2B,0x06,0xDD, /* 0720: p+. */ - 0x7E,0xAD,0x95,0xFE,0x40,0x20,0x13,0xDD, /* 0728: ~@ . */ - 0xCB,0xA9,0x5E,0xCA,0xE4,0x05,0xDD,0xCB, /* 0730: ˩^. */ - 0xA9,0x9E,0xDD,0x3E,0xC3,0x05,0x01,0xC3, /* 0738: >.. */ - 0xE4,0x05,0xFE,0xC0,0xC2,0xE4,0x05,0xDD, /* 0740: .. */ - 0xCB,0xA9,0xDE,0xC3,0xE4,0x05,0xDD,0xCB, /* 0748: ˩. */ - 0xBA,0x5E,0x28,0x06,0xDD,0x56,0xB2,0xFD, /* 0750: ^(.V */ - 0x72,0x03,0xDD,0xCB,0xB4,0x7E,0x28,0x04, /* 0758: r.˴~(. */ - 0xFD,0x36,0x02,0x80,0xCB,0xB1,0xCB,0xA9, /* 0760: 6.˱˩ */ - 0xCB,0xA1,0xDD,0x71,0xA8,0xCB,0x48,0xC2, /* 0768: ˡqH */ - 0x39,0x06,0xCB,0x51,0xC2,0x39,0x06,0xDD, /* 0770: 9.Q9. */ - 0xCB,0xA3,0xA6,0xC3,0x39,0x06,0xDD,0xCB, /* 0778: ˣ9. */ - 0xBA,0x5E,0x28,0x06,0xDD,0x56,0xB3,0xFD, /* 0780: ^(.V */ - 0x72,0x03,0xCB,0xE9,0xCB,0xB9,0xCB,0xB1, /* 0788: r.˹˱ */ - 0xDD,0x71,0xA8,0xC3,0x39,0x06,0xCB,0x69, /* 0790: q9.i */ - 0x20,0x0F,0xCB,0xF9,0xCB,0xF1,0xCB,0xE1, /* 0798: . */ - 0xDD,0xCB,0xA3,0xE6,0xDD,0x71,0xA8,0x18, /* 07A0: ˣq. */ - 0x02,0xCB,0xB1,0xDD,0xCB,0xB4,0x7E,0xCA, /* 07A8: .˱˴~ */ - 0xED,0x08,0xFD,0x36,0x02,0x90,0xCB,0xE1, /* 07B0: .6. */ - 0xDD,0xCB,0xA3,0xE6,0xDD,0x71,0xA8,0xC3, /* 07B8: ˣq */ - 0xED,0x08,0xCB,0xB9,0xCB,0xB1,0xCB,0xA1, /* 07C0: .˹˱ˡ */ - 0xDD,0x71,0xA8,0xDD,0xCB,0xB4,0x7E,0x28, /* 07C8: q˴~( */ - 0x04,0xFD,0x36,0x02,0x80,0xCB,0x48,0xC2, /* 07D0: .6.H */ - 0xED,0x08,0xCB,0x51,0xC2,0xED,0x08,0xDD, /* 07D8: .Q. */ - 0xCB,0xA3,0xA6,0xC3,0xED,0x08,0xDD,0xBE, /* 07E0: ˣ.ݾ */ - 0xB0,0xC2,0x9A,0x06,0xCB,0x91,0xCB,0x48, /* 07E8: š.ˑH */ - 0x20,0x0C,0xCB,0x61,0x20,0x08,0xCB,0x71, /* 07F0: .a .q */ - 0x20,0x04,0xDD,0xCB,0xA3,0xA6,0xDD,0x71, /* 07F8: .ˣq */ - 0xA8,0xDD,0xBE,0xB0,0xCA,0xED,0x08,0xDD, /* 0800: ݾ. */ - 0xBE,0xB1,0xCA,0xED,0x08,0xC3,0x5C,0x06, /* 0808: .\. */ - 0xCB,0x7B,0xCA,0x58,0x06,0xDD,0xCB,0xC1, /* 0810: {X. */ - 0x46,0xC2,0xED,0x08,0xDD,0xCB,0xC1,0x4E, /* 0818: F.N */ - 0xCA,0x58,0x06,0xDD,0xCB,0xB9,0xC6,0xDD, /* 0820: X.˹ */ - 0x3E,0xC3,0x05,0x01,0xC3,0xED,0x08,0x57, /* 0828: >...W */ - 0x7B,0xE6,0x70,0x7A,0x20,0x0E,0xDD,0xCB, /* 0830: {pz . */ - 0xC1,0x56,0xCA,0x76,0x06,0xFE,0xFF,0x28, /* 0838: Vv.( */ - 0x27,0xC3,0x76,0x06,0xDD,0xCB,0xC1,0x5E, /* 0840: 'v.^ */ - 0x28,0x05,0x26,0x00,0xC3,0xED,0x08,0xDD, /* 0848: (.&.. */ - 0xCB,0xC1,0x56,0x20,0x06,0xDD,0x0E,0x00, /* 0850: V ... */ - 0xC3,0x78,0x06,0xDD,0x0E,0xFF,0x2C,0xDD, /* 0858: x.., */ - 0x0E,0x00,0x2C,0xED,0x0B,0xC3,0x78,0x06, /* 0860: ..,.x. */ - 0xDD,0x0E,0xFF,0x2C,0xDD,0x0E,0xFF,0xC3, /* 0868: .,. */ - 0x78,0x06,0xED,0x32,0x00,0x00,0xCB,0x5D, /* 0870: x.2..] */ - 0x28,0x0A,0xCB,0x9D,0xFD,0x7B,0x0D,0x00, /* 0878: (.˝{.. */ - 0xCB,0x2F,0x18,0x06,0xFD,0x7B,0x0D,0x00, /* 0880: ...{.. */ - 0xCB,0x27,0x26,0x00,0x2F,0xCB,0x60,0x20, /* 0888: '&..` */ - 0x04,0xE6,0x26,0x18,0x02,0xE6,0x24,0xDD, /* 0890: .&..$ */ - 0xBE,0xB8,0xCA,0xEC,0x04,0xF5,0xDD,0xAE, /* 0898: .ݮ */ - 0xB8,0xE6,0x04,0x20,0x10,0xF1,0xDD,0x77, /* 08A0: . .w */ - 0xB8,0xDD,0xCB,0xB9,0xCE,0xDD,0x3E,0xC3, /* 08A8: ˹> */ - 0x05,0x01,0xC3,0xEC,0x04,0xDD,0xCB,0xB5, /* 08B0: ...˵ */ - 0x66,0x28,0xEA,0xF1,0xF5,0xFD,0x36,0x02, /* 08B8: f(6. */ - 0x10,0xFD,0x36,0x02,0x30,0xFD,0x36,0x02, /* 08C0: .6.06. */ - 0x20,0xCB,0x57,0x28,0x0F,0xFD,0x7E,0x00, /* 08C8: W(.~. */ - 0xDD,0x7E,0xB5,0xFD,0x77,0x00,0xFD,0x36, /* 08D0: ~w.6 */ - 0x02,0x05,0x18,0xC9,0xFD,0x7E,0x00,0xDD, /* 08D8: ...~. */ - 0x7E,0xB5,0xE6,0xEF,0xFD,0x77,0x00,0xFD, /* 08E0: ~w. */ - 0x36,0x02,0x05,0x18,0xB8,0xFD,0x5E,0x01, /* 08E8: 6...^. */ - 0xC3,0xED,0x05,0xFD,0xED,0x2C,0xA2,0xFF, /* 08F0: ., */ - 0xDD,0x7E,0xA7,0xFD,0x77,0x7F,0xE6,0x03, /* 08F8: ~w. */ - 0xFD,0x77,0x68,0xC9,0xF5,0xC5,0xDD,0x7E, /* 0900: wh~ */ - 0xC6,0xFD,0x46,0x6C,0xA0,0x47,0x0E,0x00, /* 0908: FlG.. */ - 0xCB,0x78,0x28,0x02,0xCB,0xD1,0xFD,0x7E, /* 0910: x(.~ */ - 0x09,0xDD,0xCB,0xB5,0x66,0x28,0x04,0xF6, /* 0918: .˵f(. */ - 0x02,0x18,0x02,0xE6,0xFD,0xFD,0x77,0x09, /* 0920: ...w. */ - 0xCB,0x68,0x28,0x02,0xCB,0xF1,0xCB,0x60, /* 0928: h(.` */ - 0x28,0x02,0xCB,0xE9,0xCB,0x70,0x28,0x02, /* 0930: (.p(. */ - 0xCB,0xC9,0xDD,0x71,0xB8,0xC1,0xF1,0xC9, /* 0938: q */ - 0xCD,0xF3,0x08,0xDD,0x7E,0xBF,0xFE,0x01, /* 0940: .~. */ - 0x20,0x22,0xED,0x2C,0xA4,0xFF,0xDD,0x7E, /* 0948: ",~ */ - 0xA7,0xFE,0x04,0xF2,0x61,0x09,0xFD,0x1C, /* 0950: .a.. */ - 0x1C,0x00,0xF6,0x08,0xFD,0x77,0x7F,0x18, /* 0958: ...w. */ - 0x2D,0xFD,0x1C,0x1D,0x00,0xF6,0x20,0xFD, /* 0960: -... */ - 0x77,0x7F,0x18,0x22,0xDD,0x7E,0xC5,0xFE, /* 0968: w."~ */ - 0x01,0x28,0x1B,0xDD,0xCB,0xA9,0x4E,0x20, /* 0970: .(.˩N */ - 0x15,0xDD,0xCB,0xA9,0xC6,0xDD,0x7E,0xC7, /* 0978: .˩~ */ - 0xFE,0x01,0x28,0x05,0xFD,0x36,0x06,0x92, /* 0980: .(.6. */ - 0xC9,0xFD,0x36,0x06,0x94,0xC9,0xDD,0x36, /* 0988: 6.6 */ - 0xBF,0x00,0xFD,0x7E,0x05,0xFE,0x00,0xC0, /* 0990: .~.. */ - 0xDD,0x7E,0xC5,0xFE,0x01,0xCA,0x62,0x0B, /* 0998: ~.b. */ - 0xDD,0x7E,0xC7,0xFE,0x01,0x20,0x19,0xFD, /* 09A0: ~. . */ - 0x7E,0x40,0xFE,0x42,0x28,0x07,0xFD,0x36, /* 09A8: ~@B(.6 */ - 0x72,0x31,0xC3,0xD9,0x0A,0xFD,0x36,0x76, /* 09B0: r1.6v */ - 0x00,0xFD,0x36,0x72,0x42,0xC3,0xD9,0x0A, /* 09B8: .6rB. */ - 0xDD,0x7E,0xB6,0xE6,0x0F,0xCB,0x27,0x4F, /* 09C0: ~.'O */ - 0x06,0x00,0xFD,0x7E,0x40,0xFE,0x42,0x28, /* 09C8: ..~@B( */ - 0x05,0x21,0x68,0x18,0x18,0x03,0x21,0x4C, /* 09D0: .!h...!L */ - 0x18,0xED,0xC6,0x46,0xFD,0x70,0x72,0x23, /* 09D8: .Fpr# */ - 0x46,0xFD,0x70,0x76,0xDD,0x7E,0xB6,0xE6, /* 09E0: Fpv~ */ - 0xF0,0xCB,0x3F,0xCB,0x3F,0xCB,0x3F,0x4F, /* 09E8: ???O */ - 0x06,0x00,0xFD,0x7E,0x40,0xFE,0x42,0x28, /* 09F0: ..~@B( */ - 0x05,0x21,0x68,0x18,0x18,0x03,0x21,0x4C, /* 09F8: .!h...!L */ - 0x18,0xED,0xC6,0x46,0xFD,0x70,0x78,0x23, /* 0A00: .Fpx# */ - 0x46,0xFD,0x70,0x7C,0xDD,0x7E,0xBB,0xFD, /* 0A08: Fp|~ */ - 0x77,0x1A,0xDD,0x7E,0xBC,0xFD,0x77,0x1B, /* 0A10: w.~w. */ - 0xDD,0x7E,0xBD,0xFD,0x77,0x1C,0xDD,0x7E, /* 0A18: ~w.~ */ - 0xBE,0xFD,0x77,0x1D,0xDD,0x36,0xB9,0x00, /* 0A20: w.6. */ - 0xDD,0x7E,0xB4,0xE6,0x03,0x47,0xDD,0x7E, /* 0A28: ~.G~ */ - 0xB4,0xE6,0x14,0xFE,0x10,0x28,0x0C,0xFE, /* 0A30: ..(. */ - 0x04,0x28,0x04,0x3E,0x40,0x18,0x06,0x3E, /* 0A38: .(.>@..> */ - 0xC0,0x18,0x02,0x3E,0x00,0xB0,0x47,0xDD, /* 0A40: ..>.G */ - 0x7E,0xBA,0xE6,0x80,0x20,0x04,0x78,0xF6, /* 0A48: ~ .x */ - 0x10,0x47,0xDD,0x7E,0xB5,0xE6,0x0F,0xFE, /* 0A50: .G~. */ - 0x07,0x78,0x20,0x04,0xF6,0x00,0x18,0x02, /* 0A58: .x .... */ - 0xF6,0x08,0xFD,0x77,0x08,0xDD,0x7E,0xB5, /* 0A60: .w.~ */ - 0xE6,0x10,0x28,0x04,0x06,0x02,0x18,0x02, /* 0A68: .(..... */ - 0x06,0x00,0xDD,0x7E,0xB5,0xE6,0x80,0x28, /* 0A70: ..~( */ - 0x04,0x3E,0x10,0xB0,0x47,0xDD,0x7E,0xBA, /* 0A78: .>.G~ */ - 0xE6,0x02,0x28,0x11,0xDD,0x7E,0xBA,0xE6, /* 0A80: .(.~ */ - 0x01,0x28,0x06,0x3E,0xC0,0xB0,0x47,0x18, /* 0A88: .(.>G. */ - 0x04,0x3E,0x40,0xB0,0x47,0xFD,0x70,0x09, /* 0A90: .>@Gp. */ - 0xDD,0x7E,0xBA,0xE6,0x02,0x28,0x06,0xFD, /* 0A98: ~.(. */ - 0x36,0x0A,0x36,0x18,0x04,0xFD,0x36,0x0A, /* 0AA0: 6.6..6. */ - 0x06,0xDD,0xCB,0xC0,0x5E,0x28,0x04,0x06, /* 0AA8: .^(.. */ - 0x02,0x18,0x0C,0xDD,0xCB,0xC0,0x56,0x28, /* 0AB0: ...V( */ - 0x04,0x06,0x04,0x18,0x02,0x06,0x03,0xDD, /* 0AB8: ....... */ - 0xCB,0xC0,0x46,0x28,0x04,0x3E,0x18,0x18, /* 0AC0: F(.>.. */ - 0x0C,0xDD,0xCB,0xC0,0x4E,0x28,0x04,0x3E, /* 0AC8: .N(.> */ - 0x00,0x18,0x02,0x3E,0x08,0xB0,0xFD,0x77, /* 0AD0: ...>.w */ - 0x1E,0xDD,0x7E,0xBA,0xE6,0x04,0x28,0x16, /* 0AD8: .~.(. */ - 0xDD,0x7E,0xC7,0xFE,0x01,0x20,0x07,0xFD, /* 0AE0: ~. . */ - 0x7E,0x40,0xFE,0x42,0x28,0x08,0x06,0x02, /* 0AE8: ~@B(... */ - 0xDD,0xCB,0xA9,0x96,0x18,0x02,0x06,0x00, /* 0AF0: ˩.... */ - 0xDD,0x7E,0xC2,0xFE,0xFF,0x28,0x04,0x3E, /* 0AF8: ~(.> */ - 0x80,0xB0,0x47,0xFD,0x70,0x1F,0xDD,0x7E, /* 0B00: Gp.~ */ - 0xBA,0xDD,0xCB,0xB4,0x7E,0x20,0x06,0xDD, /* 0B08: ˴~ . */ - 0xCB,0xBA,0x76,0x28,0x02,0xF6,0x08,0x4F, /* 0B10: ˺v(..O */ - 0xDD,0xAE,0xA8,0xE6,0x9B,0x47,0xDD,0x7E, /* 0B18: ݮG~ */ - 0xA8,0xA8,0xCB,0x5F,0x28,0x02,0xE6,0x0F, /* 0B20: _(.. */ - 0x47,0xDD,0x70,0xA8,0x79,0xE6,0xFB,0xDD, /* 0B28: Gpy */ - 0xAE,0xA9,0xE6,0xA4,0x47,0xDD,0x7E,0xA9, /* 0B30: G~ */ - 0xA8,0xDD,0x77,0xA9,0xDD,0x7E,0xC7,0xFE, /* 0B38: w~ */ - 0x01,0x20,0x12,0xFD,0x7E,0x40,0xFE,0x42, /* 0B40: . .~@B */ - 0x20,0x0B,0xDD,0x7E,0xBA,0xE6,0x04,0x28, /* 0B48: .~.( */ - 0x04,0xDD,0xCB,0xA9,0xD6,0xFD,0x36,0x21, /* 0B50: .˩6! */ - 0x02,0xFD,0x36,0x05,0x4E,0xDD,0x36,0xC5, /* 0B58: .6.N6 */ - 0x01,0xC9,0xDD,0x36,0xC5,0x00,0xDD,0xCB, /* 0B60: .6. */ - 0xA8,0x86,0xDD,0x7E,0xC7,0xFE,0x01,0xCA, /* 0B68: ~. */ - 0x1D,0x0C,0xFD,0x36,0x05,0x1A,0xDD,0xCB, /* 0B70: ..6.. */ - 0xB7,0x46,0x20,0x06,0xDD,0xCB,0xB4,0x7E, /* 0B78: F .˴~ */ - 0x28,0x13,0xDD,0x7E,0xC4,0xE6,0x08,0x20, /* 0B80: (.~. */ - 0x06,0xFD,0x36,0x6C,0x01,0x18,0x17,0xFD, /* 0B88: .6l... */ - 0x36,0x6D,0x02,0x18,0x11,0xDD,0x7E,0xC4, /* 0B90: 6m...~ */ - 0xE6,0x08,0x20,0x06,0xFD,0x36,0x6C,0x00, /* 0B98: . .6l. */ - 0x18,0x04,0xFD,0x36,0x6D,0x00,0xDD,0xCB, /* 0BA0: ..6m. */ - 0xB7,0x4E,0x20,0x06,0xDD,0xCB,0xBA,0x76, /* 0BA8: N .˺v */ - 0x28,0x13,0xDD,0x7E,0xC4,0xE6,0x08,0x20, /* 0BB0: (.~. */ - 0x06,0xFD,0x36,0x6D,0x02,0x18,0x17,0xFD, /* 0BB8: .6m... */ - 0x36,0x6C,0x01,0x18,0x11,0xDD,0x7E,0xC4, /* 0BC0: 6l...~ */ - 0xE6,0x08,0x20,0x06,0xFD,0x36,0x6D,0x00, /* 0BC8: . .6m. */ - 0x18,0x04,0xFD,0x36,0x6C,0x00,0xDD,0xCB, /* 0BD0: ..6l. */ - 0xBA,0x6E,0x28,0x15,0xCD,0x04,0x09,0xDD, /* 0BD8: n(... */ - 0x7E,0xB5,0xE6,0x10,0x28,0x04,0x3E,0xB0, /* 0BE0: ~.(.> */ - 0x18,0x02,0x3E,0xF0,0xDD,0xA6,0xC6,0x18, /* 0BE8: ..>ݦ. */ - 0x06,0x3E,0x00,0xDD,0x36,0xB8,0x24,0xFD, /* 0BF0: .>.6$ */ - 0x77,0x16,0xDD,0xCB,0xBA,0x76,0x28,0x0A, /* 0BF8: w.˺v(. */ - 0xDD,0xCB,0xC4,0x5E,0x20,0x04,0xF6,0x08, /* 0C00: ^ .. */ - 0x18,0x0E,0xDD,0xCB,0xB4,0x7E,0x28,0x08, /* 0C08: ..˴~(. */ - 0xDD,0xCB,0xC4,0x5E,0x28,0x02,0xF6,0x08, /* 0C10: ^(.. */ - 0xFD,0x77,0x15,0x18,0x0C,0xFD,0x36,0x15, /* 0C18: w...6. */ - 0x00,0xFD,0x36,0x16,0x00,0xFD,0x36,0x05, /* 0C20: .6..6. */ - 0x18,0xFD,0x36,0x06,0x90,0xDD,0x36,0xAE, /* 0C28: .6.6 */ - 0x00,0xDD,0x3E,0xC3,0x05,0x01,0xC9,0xCD, /* 0C30: .>.. */ - 0xF3,0x08,0xFD,0x7E,0x6C,0xE6,0x80,0x28, /* 0C38: .~l( */ - 0x0A,0xDD,0x36,0xAE,0x00,0xDD,0x3E,0xC3, /* 0C40: .6.> */ - 0x05,0x01,0xC9,0xDD,0x36,0xAE,0x06,0xC9, /* 0C48: ..6. */ - 0xCD,0x40,0x09,0x18,0x05,0xFD,0xED,0x2C, /* 0C50: @..., */ - 0xA2,0xFF,0xCD,0x37,0x0C,0x26,0x00,0xC3, /* 0C58: 7.&. */ - 0x12,0x0D,0xCD,0x40,0x09,0x26,0x00,0xC3, /* 0C60: ..@.&. */ - 0x12,0x0D,0xCD,0xFC,0x1C,0x26,0x00,0xC3, /* 0C68: ...&. */ - 0x12,0x0D,0xCD,0xFC,0x1C,0x26,0x00,0xC3, /* 0C70: ...&. */ - 0x12,0x0D,0x26,0x00,0xC3,0x12,0x0D,0xCD, /* 0C78: ..&... */ - 0xF3,0x08,0xFD,0x7E,0x05,0xFE,0x00,0x28, /* 0C80: .~..( */ - 0x05,0x26,0x00,0xC3,0x12,0x0D,0xDD,0x7E, /* 0C88: .&...~ */ - 0xAD,0xDD,0x77,0xAC,0xFD,0x36,0x05,0x82, /* 0C90: w6. */ - 0xCD,0xF3,0x08,0xDD,0x7E,0xC7,0xFE,0x01, /* 0C98: .~. */ - 0x28,0x08,0xFD,0x7E,0x0B,0xE6,0xFB,0xFD, /* 0CA0: (.~. */ - 0x77,0x0B,0xDD,0x36,0xAE,0x00,0xDD,0x3E, /* 0CA8: w.6.> */ - 0xC3,0x05,0x01,0x26,0x00,0x18,0x5B,0xFD, /* 0CB0: ..&..[ */ - 0xED,0x2C,0xA2,0xFF,0xDD,0x7E,0xAB,0xDD, /* 0CB8: ,~ */ - 0x77,0xAA,0xDD,0x36,0xAE,0x00,0xDD,0x3E, /* 0CC0: w6.> */ - 0xC3,0x05,0x01,0x26,0x00,0x18,0x43,0xCD, /* 0CC8: ..&..C */ - 0xF3,0x08,0xFD,0x7E,0x0B,0xF6,0x04,0xFD, /* 0CD0: .~.. */ - 0x77,0x0B,0xDD,0x36,0xAE,0x00,0xDD,0x3E, /* 0CD8: w.6.> */ - 0xC3,0x05,0x01,0x26,0x00,0x18,0x2B,0xCD, /* 0CE0: ..&..+ */ - 0x84,0x1B,0x26,0x00,0x18,0x24,0x7A,0x0C, /* 0CE8: .&..$z. */ - 0x62,0x0C,0x50,0x0C,0x55,0x0C,0x62,0x0C, /* 0CF0: b.P.U.b. */ - 0x6A,0x0C,0x3F,0x1C,0x9B,0x1C,0x7A,0x0C, /* 0CF8: j.?..z. */ - 0x7A,0x0C,0x72,0x0C,0x98,0x0C,0x7F,0x0C, /* 0D00: z.r... */ - 0xB7,0x0C,0xCF,0x0C,0xE7,0x0C,0x7A,0x0C, /* 0D08: ...z. */ - 0x7A,0x0C,0xED,0x7F,0x17,0xDD,0x7E,0xA1, /* 0D10: z..~ */ - 0xDD,0x67,0xDD,0x7E,0xAE,0xFE,0x00,0xF3, /* 0D18: g~. */ - 0xC2,0xB7,0x0D,0xDD,0x46,0xA8,0xCB,0x40, /* 0D20: ·.F@ */ - 0xCA,0xC4,0x0D,0xCB,0x60,0x28,0xE3,0xCD, /* 0D28: .`( */ - 0xF3,0x08,0xCB,0x78,0x28,0x16,0xFD,0x7E, /* 0D30: .x(.~ */ - 0x05,0xFE,0x00,0x20,0xD5,0xFD,0x36,0x05, /* 0D38: .. 6. */ - 0x24,0xCB,0xE8,0xCB,0xB8,0xCB,0xB0,0xDD, /* 0D40: $˸˰ */ - 0x70,0xA8,0x18,0xC6,0xDD,0x6E,0xAA,0x7D, /* 0D48: p.n} */ - 0xDD,0x96,0xAB,0xCB,0x7F,0x20,0xBB,0xFE, /* 0D50: ݖ */ - 0x40,0xF2,0x12,0x0D,0xDD,0xCB,0xBA,0x5E, /* 0D58: @..˺^ */ - 0x28,0x0B,0xFD,0x7E,0x05,0xFE,0x00,0x20, /* 0D60: (.~.. */ - 0xA9,0xFD,0x36,0x05,0x23,0xDD,0xCB,0xB4, /* 0D68: 6.#˴ */ - 0x7E,0x28,0x19,0xDD,0x7E,0xC4,0xE6,0x08, /* 0D70: ~(.~. */ - 0x20,0x06,0xFD,0x36,0x6C,0x01,0x18,0x0C, /* 0D78: .6l... */ - 0xFD,0x36,0x6D,0x02,0xFD,0x7E,0x15,0xF6, /* 0D80: 6m.~. */ - 0x08,0xFD,0x77,0x15,0xDD,0xCB,0xBA,0x76, /* 0D88: .w.˺v */ - 0x28,0x19,0xDD,0x7E,0xC4,0xE6,0x08,0x20, /* 0D90: (.~. */ - 0x0E,0xFD,0x36,0x6D,0x02,0xFD,0x7E,0x15, /* 0D98: .6m.~. */ - 0xF6,0x08,0xFD,0x77,0x15,0x18,0x04,0xFD, /* 0DA0: .w... */ - 0x36,0x6C,0x01,0xCB,0xB0,0xCB,0xA8,0xCB, /* 0DA8: 6l.˰˨ */ - 0xA0,0xDD,0x70,0xA8,0xC3,0x12,0x0D,0xFE, /* 0DB0: p.. */ - 0x10,0xCA,0x12,0x0D,0x6F,0xFD,0xED,0x3C, /* 0DB8: ...o< */ - 0xEE,0x0C,0xFD,0xE9,0xDD,0x6E,0xAC,0xDD, /* 0DC0: .n */ - 0x7E,0xAD,0x95,0xCA,0x2B,0x0D,0xDD,0xCB, /* 0DC8: ~+. */ - 0xA8,0xC6,0xCD,0xF3,0x08,0xFD,0x7E,0x06, /* 0DD0: .~. */ - 0xF6,0x04,0xFD,0x77,0x06,0xDD,0x36,0xC9, /* 0DD8: .w.6 */ - 0x01,0xC3,0x2B,0x0D,0xED,0x32,0x00,0x00, /* 0DE0: .+.2.. */ - 0xCB,0x5D,0x28,0x0B,0xCB,0x9D,0xFD,0x7B, /* 0DE8: ](.˝{ */ - 0x0D,0x00,0x2F,0xE6,0x08,0x18,0x07,0xFD, /* 0DF0: ...... */ - 0x7B,0x0D,0x00,0x2F,0xE6,0x02,0xFE,0x00, /* 0DF8: {..... */ - 0x28,0x0A,0xDD,0x36,0xAE,0x00,0xDD,0x3E, /* 0E00: (.6.> */ - 0xC3,0x05,0x01,0xC9,0xDD,0x36,0xAE,0x06, /* 0E08: ..6. */ - 0xC9,0x26,0x00,0xDD,0x7E,0xAC,0xDD,0x96, /* 0E10: &.~ݖ */ - 0xAD,0x28,0x04,0xF1,0xC3,0xC4,0x05,0xDD, /* 0E18: (.. */ - 0x7E,0xBF,0xFE,0x01,0x28,0x08,0xFD,0x7E, /* 0E20: ~.(.~ */ - 0x01,0xCB,0x5F,0xC8,0x18,0x10,0xDD,0x36, /* 0E28: ._..6 */ - 0xAA,0x00,0xDD,0x36,0xAB,0x00,0xDD,0x36, /* 0E30: .6.6 */ - 0xAC,0x00,0xDD,0x36,0xAD,0x00,0xFD,0xED, /* 0E38: .6. */ - 0x2C,0xA2,0xFF,0xDD,0xCB,0xB7,0x46,0x20, /* 0E40: ,˷F */ - 0x04,0xFD,0x36,0x02,0x90,0xFD,0x36,0x02, /* 0E48: .6.6. */ - 0x30,0xFD,0x36,0x02,0x20,0xDD,0x36,0xBF, /* 0E50: 06. 6 */ - 0x01,0xDD,0xCB,0xB7,0x4E,0x20,0x24,0xFD, /* 0E58: .˷N $ */ - 0xE5,0xED,0x32,0x00,0x00,0x7D,0xE6,0x80, /* 0E60: 2..} */ - 0x6F,0xFD,0xED,0x2C,0xA4,0xFF,0xFD,0x7E, /* 0E68: o,~ */ - 0x04,0x47,0xDD,0x7E,0xAF,0x2F,0xA0,0xFD, /* 0E70: .G~. */ - 0x77,0x04,0xE5,0xFD,0xE1,0x2F,0xFD,0x77, /* 0E78: w..w */ - 0x40,0xFD,0xE1,0xDD,0x36,0xAE,0x10,0xDD, /* 0E80: @6. */ - 0x3E,0xC3,0x05,0x01,0xC9,0xDD,0x7E,0xBF, /* 0E88: >..~ */ - 0xFE,0x01,0x28,0x06,0xFD,0x7E,0x01,0xCB, /* 0E90: .(.~. */ - 0x5F,0xC8,0xDD,0x36,0xBF,0x00,0xFD,0x36, /* 0E98: _6.6 */ - 0x02,0x18,0xDD,0x7E,0xB4,0xE6,0x7F,0xFD, /* 0EA0: ..~ */ - 0x77,0x00,0xDD,0xCB,0xB4,0x7E,0x20,0x12, /* 0EA8: w.˴~ . */ - 0xDD,0xCB,0xB7,0x46,0x20,0x06,0xFD,0x36, /* 0EB0: ˷F .6 */ - 0x02,0x90,0x18,0x0A,0xFD,0x36,0x02,0x80, /* 0EB8: ...6. */ - 0x18,0x04,0xFD,0x36,0x02,0x80,0xDD,0x7E, /* 0EC0: ..6.~ */ - 0xB5,0xFD,0x77,0x00,0xCB,0x67,0x20,0x06, /* 0EC8: w.g . */ - 0xDD,0xCB,0xA9,0xA6,0x18,0x04,0xDD,0xCB, /* 0ED0: ˩.. */ - 0xA9,0xE6,0xFD,0xE5,0xED,0x32,0x00,0x00, /* 0ED8: 2.. */ - 0x7D,0xE6,0x80,0x6F,0xFD,0xED,0x2C,0xA4, /* 0EE0: }o, */ - 0xFF,0xFD,0x7E,0x04,0xDD,0xCB,0xB7,0x4E, /* 0EE8: ~.˷N */ - 0x28,0x05,0xDD,0xB6,0xAF,0x18,0x06,0x47, /* 0EF0: (.ݶ..G */ - 0xDD,0x7E,0xAF,0x2F,0xA0,0xFD,0x77,0x04, /* 0EF8: ~.w. */ - 0xE5,0xFD,0xE1,0x2F,0xFD,0x77,0x40,0xFD, /* 0F00: .w@ */ - 0xE1,0xDD,0x7E,0xB6,0xFD,0x77,0x01,0xDD, /* 0F08: ~w. */ - 0x36,0xB9,0x00,0xDD,0x7E,0xBB,0xDD,0x77, /* 0F10: 6.~w */ - 0xB0,0xDD,0x7E,0xBC,0xDD,0x77,0xB1,0xDD, /* 0F18: ~w */ - 0x7E,0xBD,0xDD,0x77,0xB2,0xDD,0x7E,0xBE, /* 0F20: ~w~ */ - 0xDD,0x77,0xB3,0xDD,0x36,0xB9,0x00,0xDD, /* 0F28: w6. */ - 0x7E,0xBA,0xDD,0xCB,0xB4,0x7E,0x28,0x02, /* 0F30: ~˴~(. */ - 0xF6,0x08,0x4F,0xDD,0xAE,0xA8,0xE6,0xDB, /* 0F38: .Oݮ */ - 0x47,0xDD,0x7E,0xA8,0xA8,0xCB,0x48,0x28, /* 0F40: G~H( */ - 0x02,0xCB,0x97,0xCB,0x5F,0x28,0x02,0xE6, /* 0F48: .˗_(. */ - 0x0F,0x47,0x79,0xE6,0x54,0x20,0x0A,0xDD, /* 0F50: .GyT . */ - 0xCB,0xA9,0x8E,0xDD,0xCB,0xA3,0xA6,0x18, /* 0F58: ˩ˣ. */ - 0x08,0xDD,0xCB,0xA3,0xE6,0xDD,0xCB,0xA9, /* 0F60: .ˣ˩ */ - 0xCE,0xDD,0x70,0xA8,0x79,0xDD,0xAE,0xA9, /* 0F68: pyݮ */ - 0xE6,0xA4,0x47,0xDD,0x7E,0xA9,0xA8,0xCB, /* 0F70: G~ */ - 0x50,0x28,0x02,0xCB,0x87,0xDD,0x77,0xA9, /* 0F78: P(.ˇw */ - 0xCB,0x6F,0x20,0x06,0xDD,0x36,0xB8,0x24, /* 0F80: o .6$ */ - 0x18,0x39,0xED,0x32,0x00,0x00,0xCB,0x5D, /* 0F88: .92..] */ - 0x28,0x0A,0xCB,0x9D,0xFD,0x7B,0x0D,0x00, /* 0F90: (.˝{.. */ - 0xCB,0x2F,0x18,0x06,0xFD,0x7B,0x0D,0x00, /* 0F98: ...{.. */ - 0xCB,0x27,0x2F,0xDD,0xCB,0xA9,0x66,0x20, /* 0FA0: '.˩f */ - 0x04,0xE6,0x26,0x18,0x13,0xE6,0x24,0xDD, /* 0FA8: .&..$ */ - 0x77,0xB8,0xCB,0x57,0x18,0x0D,0xDD,0x7E, /* 0FB0: wW..~ */ - 0xB5,0xE6,0xEF,0xFD,0x77,0x00,0x18,0x03, /* 0FB8: w... */ - 0xDD,0x77,0xB8,0xDD,0x7E,0xC0,0xDD,0x77, /* 0FC0: w~w */ - 0xC1,0xDD,0x7E,0xC2,0xDD,0x77,0xC3,0xFD, /* 0FC8: ~w */ - 0x36,0x02,0x05,0xDD,0x36,0xAE,0x00,0xDD, /* 0FD0: 6..6. */ - 0x3E,0xC3,0x05,0x01,0xC9,0x45,0x6E,0x64, /* 0FD8: >..End */ - 0x20,0x6F,0x66,0x20,0x74,0x61,0x20,0x63, /* 0FE0: of ta c */ - 0x6F,0x64,0x65,0x00,0x00,0xDD,0xD1,0xEB, /* 0FE8: ode.. */ - 0x0F,0xE5,0xDD,0xE5,0xC5,0xDD,0x2A,0x2A, /* 0FF0: .** */ - 0x01,0x0E,0x15,0xED,0xB7,0x21,0x00,0x00, /* 0FF8: ...!.. */ - 0xED,0xBF,0xDD,0x36,0xAE,0x2A,0xC1,0xDD, /* 1000: 6* */ - 0xE1,0xE1,0xED,0x55,0xDD,0xD1,0xEB,0x0F, /* 1008: U. */ - 0xE5,0xDD,0xE5,0xC5,0xDD,0x2A,0x2C,0x01, /* 1010: *,. */ - 0x0E,0x1D,0x21,0x00,0x00,0xED,0xBF,0xDD, /* 1018: ..!.. */ - 0x36,0xAE,0x2A,0xC1,0xDD,0xE1,0xE1,0xED, /* 1020: 6* */ - 0x55,0xFD,0xED,0x2C,0xA2,0xFF,0xDD,0x7E, /* 1028: U,~ */ - 0xB2,0xE6,0x0C,0x20,0x25,0xDD,0x7E,0xB2, /* 1030: . %~ */ - 0xE6,0x10,0x28,0x1E,0xFD,0x36,0x00,0x0F, /* 1038: .(.6.. */ - 0xFD,0x36,0x00,0x01,0xFD,0x36,0x00,0x07, /* 1040: 6..6.. */ - 0xFD,0x36,0x00,0x03,0xDD,0x7E,0xB3,0xF6, /* 1048: 6..~ */ - 0x09,0xFD,0x36,0x00,0x05,0xFD,0x77,0x00, /* 1050: .6..w. */ - 0x18,0x0C,0xDD,0x7E,0xB3,0xF6,0x08,0xFD, /* 1058: ..~. */ - 0x36,0x00,0x05,0xFD,0x77,0x00,0xED,0x32, /* 1060: 6..w.2 */ - 0x02,0x00,0x7C,0xF6,0xF0,0x67,0xDD,0x7E, /* 1068: ..|g~ */ - 0xA7,0xFE,0x01,0x20,0x44,0x0E,0x10,0xED, /* 1070: . D.. */ - 0xBF,0x21,0x0F,0x80,0x0E,0x11,0xED,0xBF, /* 1078: !... */ - 0xED,0x2A,0x00,0x00,0x7C,0xF6,0xF0,0x67, /* 1080: *..|g */ - 0x0E,0x12,0xED,0xBF,0xDD,0x7C,0xE6,0x7F, /* 1088: ..| */ - 0xF6,0x0F,0x6F,0x26,0x00,0x0E,0x13,0xED, /* 1090: .o&... */ - 0xBF,0xED,0x2C,0xAA,0xFF,0x0E,0x14,0xED, /* 1098: ,.. */ - 0xBF,0x21,0x84,0x88,0x0E,0x15,0xED,0xBF, /* 10A0: !.. */ - 0xFD,0x36,0x00,0x01,0xFD,0x36,0x00,0xC0, /* 10A8: 6..6. */ - 0x26,0x00,0xDD,0x36,0xAE,0x28,0xC3,0xF1, /* 10B0: &.6( */ - 0x05,0x0E,0x18,0xED,0xBF,0x21,0x0F,0x80, /* 10B8: ...!. */ - 0x0E,0x19,0xED,0xBF,0xED,0x2A,0x00,0x00, /* 10C0: ..*.. */ - 0x7C,0xF6,0xF0,0x67,0x0E,0x1A,0xED,0xBF, /* 10C8: |g.. */ - 0xDD,0x7C,0xE6,0x7F,0xF6,0x0F,0x6F,0x26, /* 10D0: |.o& */ - 0x00,0x0E,0x1B,0xED,0xBF,0xED,0x2C,0xAA, /* 10D8: ..., */ - 0xFF,0x0E,0x1C,0xED,0xBF,0x21,0x84,0x88, /* 10E0: ..! */ - 0x0E,0x1D,0xED,0xBF,0xFD,0x36,0x00,0x01, /* 10E8: ..6.. */ - 0xFD,0x36,0x00,0xC0,0x26,0x00,0xDD,0x36, /* 10F0: 6.&.6 */ - 0xAE,0x28,0xC3,0xF1,0x05,0xFD,0xED,0x2C, /* 10F8: (., */ - 0xA2,0xFF,0xDD,0x7E,0xB2,0xE6,0x0C,0x20, /* 1100: ~. */ - 0x15,0xDD,0x7E,0xB2,0xE6,0x10,0x28,0x0E, /* 1108: .~.(. */ - 0xDD,0x7E,0xB1,0xF6,0x11,0xFD,0x36,0x00, /* 1110: ~.6. */ - 0x03,0xFD,0x77,0x00,0x18,0x0C,0xDD,0x7E, /* 1118: .w...~ */ - 0xB1,0xF6,0x01,0xFD,0x36,0x00,0x03,0xFD, /* 1120: .6.. */ - 0x77,0x00,0xED,0x32,0x02,0x00,0x7C,0xF6, /* 1128: w.2..| */ - 0xF0,0x67,0xDD,0x7E,0xA7,0xFE,0x01,0x20, /* 1130: g~. */ - 0x47,0x0E,0x12,0xED,0xBF,0x21,0x0F,0x80, /* 1138: G..!. */ - 0x0E,0x13,0xED,0xBF,0xED,0x2A,0x00,0x0C, /* 1140: ..*.. */ - 0x7C,0xF6,0xF0,0x67,0x0E,0x10,0xED,0xBF, /* 1148: |g.. */ - 0xED,0x2A,0x00,0x0C,0x7C,0xE6,0x7F,0xF6, /* 1150: *..| */ - 0x0F,0x6F,0x26,0x00,0x0E,0x11,0xED,0xBF, /* 1158: .o&... */ - 0xED,0x2C,0xAA,0xFF,0x0E,0x14,0xED,0xBF, /* 1160: ,.. */ - 0x21,0x80,0xA0,0x0E,0x15,0xED,0xBF,0xFD, /* 1168: !.. */ - 0x36,0x00,0x01,0xFD,0x36,0x00,0xE0,0x26, /* 1170: 6..6.& */ - 0x00,0xDD,0x36,0xAE,0x28,0xC3,0xF1,0x05, /* 1178: .6(. */ - 0x0E,0x1A,0xED,0xBF,0x21,0x0F,0x80,0x0E, /* 1180: ..!.. */ - 0x1B,0xED,0xBF,0xED,0x2A,0x00,0x0C,0x7C, /* 1188: .*..| */ - 0xF6,0xF0,0x67,0x0E,0x18,0xED,0xBF,0xED, /* 1190: g.. */ - 0x2A,0x00,0x0C,0x7C,0xE6,0x7F,0xF6,0x0F, /* 1198: *..|. */ - 0x6F,0x26,0x00,0x0E,0x19,0xED,0xBF,0xED, /* 11A0: o&... */ - 0x2C,0xAA,0xFF,0x0E,0x1C,0xED,0xBF,0x21, /* 11A8: ,..! */ - 0x80,0xA0,0x0E,0x1D,0xED,0xBF,0xFD,0x36, /* 11B0: ..6 */ - 0x00,0x01,0xFD,0x36,0x00,0xE0,0x26,0x00, /* 11B8: ..6.&. */ - 0xDD,0x36,0xAE,0x28,0xC3,0xF1,0x05,0xFD, /* 11C0: 6(. */ - 0xED,0x2C,0xA2,0xFF,0xDD,0x7E,0xB1,0xFD, /* 11C8: ,~ */ - 0x36,0x00,0x03,0xFD,0x77,0x00,0xDD,0x7E, /* 11D0: 6..w.~ */ - 0xB2,0xFD,0x36,0x00,0x04,0xFD,0x77,0x00, /* 11D8: 6..w. */ - 0xDD,0x7E,0xB3,0xFD,0x36,0x00,0x05,0xFD, /* 11E0: ~6.. */ - 0x77,0x00,0xDD,0x7E,0xB4,0xFD,0x36,0x00, /* 11E8: w.~6. */ - 0x06,0xFD,0x77,0x00,0xDD,0x7E,0xB5,0xFD, /* 11F0: .w.~ */ - 0x36,0x00,0x07,0xFD,0x77,0x00,0xDD,0x7E, /* 11F8: 6..w.~ */ - 0xB8,0xFD,0x36,0x00,0x0A,0xFD,0x77,0x00, /* 1200: 6..w. */ - 0xDD,0x7E,0xBA,0xFD,0x36,0x00,0x0C,0xFD, /* 1208: ~6.. */ - 0x77,0x00,0xDD,0x7E,0xBB,0xFD,0x36,0x00, /* 1210: w.~6. */ - 0x0D,0xFD,0x77,0x00,0xDD,0x36,0xAE,0x2A, /* 1218: .w.6* */ - 0xDD,0x3E,0xC3,0x05,0x01,0x26,0x00,0xC3, /* 1220: >..&. */ - 0xF1,0x05,0x08,0x00,0x18,0x00,0x28,0x00, /* 1228: .....(. */ - 0x38,0x00,0x48,0x00,0x58,0x00,0x68,0x00, /* 1230: 8.H.X.h. */ - 0x08,0x80,0x08,0x00,0x18,0x00,0x28,0x00, /* 1238: .....(. */ - 0x38,0x00,0x48,0x00,0x58,0x00,0x68,0x00, /* 1240: 8.H.X.h. */ - 0x78,0x00,0x08,0x00,0x18,0x00,0x28,0x00, /* 1248: x.....(. */ - 0x38,0x00,0x48,0x00,0x58,0x00,0x68,0x00, /* 1250: 8.H.X.h. */ - 0x08,0x80,0x08,0x00,0x18,0x00,0x28,0x00, /* 1258: .....(. */ - 0x38,0x00,0x48,0x00,0x58,0x00,0x68,0x00, /* 1260: 8.H.X.h. */ - 0x78,0x00,0x7A,0x00,0x6A,0x00,0xFA,0x00, /* 1268: x.z.j.. */ - 0xAA,0x00,0xBA,0x00,0xCA,0x00,0x08,0x80, /* 1270: .... */ - 0x08,0x80,0x08,0x00,0x18,0x00,0x28,0x00, /* 1278: .....(. */ - 0x38,0x00,0x48,0x00,0x58,0x00,0x68,0x00, /* 1280: 8.H.X.h. */ - 0x08,0x01,0x7A,0x00,0x6A,0x00,0xFA,0x00, /* 1288: ..z.j.. */ - 0xAA,0x00,0xBA,0x00,0xCA,0x00,0x08,0x80, /* 1290: .... */ - 0x08,0x80,0x08,0x00,0x18,0x00,0x28,0x00, /* 1298: .....(. */ - 0x38,0x00,0x48,0x00,0x58,0x00,0x68,0x00, /* 12A0: 8.H.X.h. */ - 0x08,0x01,0x6A,0x00,0x7A,0x00,0xFA,0x00, /* 12A8: ..j.z.. */ - 0x9A,0x00,0xAA,0x00,0xBA,0x00,0x08,0x80, /* 12B0: .... */ - 0x08,0x80,0x08,0x00,0x18,0x00,0x28,0x00, /* 12B8: .....(. */ - 0x38,0x00,0x48,0x00,0x58,0x00,0x68,0x00, /* 12C0: 8.H.X.h. */ - 0x08,0x01,0x6A,0x00,0x7A,0x00,0xFA,0x00, /* 12C8: ..j.z.. */ - 0x9A,0x00,0xAA,0x00,0xBA,0x00,0x08,0x80, /* 12D0: .... */ - 0x08,0x80,0x08,0x00,0x18,0x00,0x28,0x00, /* 12D8: .....(. */ - 0x38,0x00,0x48,0x00,0x58,0x00,0x68,0x00, /* 12E0: 8.H.X.h. */ - 0x08,0x01,0x8A,0x00,0x9A,0x00,0xFA,0x00, /* 12E8: ..... */ - 0xBA,0x00,0xCA,0x00,0xDA,0x00,0x08,0x80, /* 12F0: .... */ - 0x08,0x80,0x08,0x00,0x18,0x00,0x28,0x00, /* 12F8: .....(. */ - 0x38,0x00,0x48,0x00,0x58,0x00,0x68,0x00, /* 1300: 8.H.X.h. */ - 0x08,0x01,0x8A,0x00,0x9A,0x00,0xFA,0x00, /* 1308: ..... */ - 0xBA,0x00,0xCA,0x00,0xDA,0x00,0x08,0x80, /* 1310: .... */ - 0x08,0x80,0x08,0x00,0x18,0x00,0x28,0x00, /* 1318: .....(. */ - 0x38,0x00,0x48,0x00,0x58,0x00,0x68,0x00, /* 1320: 8.H.X.h. */ - 0x08,0x01,0x3A,0x41,0x00,0xFE,0x00,0x20, /* 1328: ..:A.. */ - 0xF9,0x3A,0x00,0x80,0x2F,0x47,0x32,0x00, /* 1330: :..G2. */ - 0x80,0x3A,0x00,0x80,0xB8,0x28,0x07,0xDD, /* 1338: :.(. */ - 0x3E,0x01,0x00,0x20,0x18,0x05,0xDD,0x3E, /* 1340: >.. ..> */ - 0x01,0x00,0x40,0x3A,0x42,0x00,0xFE,0x01, /* 1348: ..@:B.. */ - 0x20,0x06,0xDD,0x11,0x28,0x13,0x08,0x40, /* 1350: ..(..@ */ - 0x2A,0x43,0x00,0x0E,0xFF,0xED,0x6E,0x2A, /* 1358: *C..n* */ - 0x45,0x00,0x0E,0x02,0xED,0x6E,0x21,0x60, /* 1360: E...n!` */ - 0x00,0x0E,0x12,0xED,0x6E,0x21,0x02,0x00, /* 1368: ...n!.. */ - 0x0E,0x00,0xED,0x6E,0x21,0xFF,0x00,0x0E, /* 1370: ..n!.. */ - 0x08,0xED,0x6E,0x21,0x00,0x00,0x0E,0x16, /* 1378: .n!.... */ - 0xED,0x6E,0x3E,0x3F,0xD3,0xE8,0x0E,0x1F, /* 1380: n>?.. */ - 0x21,0x00,0x00,0xED,0xBF,0xED,0x4E,0x3E, /* 1388: !..N> */ - 0x00,0x0E,0xF5,0xDD,0x21,0x2A,0x12,0xED, /* 1390: ..!*. */ - 0x2C,0x00,0x00,0xD3,0xF1,0xED,0xBF,0x3C, /* 1398: ,..< */ - 0xDD,0x23,0xDD,0x23,0xFE,0x20,0x20,0xEF, /* 13A0: ## */ - 0x21,0x00,0x08,0x0E,0xF0,0xED,0xBF,0x00, /* 13A8: !.... */ - 0x00,0x00,0xDD,0x21,0x8C,0x00,0xFD,0x21, /* 13B0: ..!.! */ - 0x00,0x70,0x21,0x80,0x00,0x0E,0x00,0xFD, /* 13B8: .p!... */ - 0xE5,0x06,0x04,0xFD,0x7E,0x0D,0xE6,0xA0, /* 13C0: ..~. */ - 0xFE,0xA0,0x20,0x44,0xE5,0xED,0x32,0x00, /* 13C8: D2. */ - 0x00,0xFD,0xED,0xF6,0x10,0x00,0xE5,0xFD, /* 13D0: ... */ - 0xE1,0xE1,0x10,0xE7,0xFD,0xE1,0xFD,0x7E, /* 13D8: .~ */ - 0x01,0xFE,0xFF,0xCA,0x92,0x14,0xDD,0x3E, /* 13E0: .ʒ.> */ - 0x92,0x00,0x01,0x3A,0x93,0x00,0xFE,0x01, /* 13E8: ..:.. */ - 0xCA,0xDA,0x14,0xFD,0x7E,0x40,0xE6,0x01, /* 13F0: .~@. */ - 0x20,0x0B,0xDD,0x36,0x00,0x08,0xFD,0xED, /* 13F8: .6.. */ - 0xF6,0x00,0x19,0x18,0x76,0xDD,0x36,0x00, /* 1400: ...v6. */ - 0x04,0xFD,0xED,0xF6,0x00,0x0D,0x18,0x6B, /* 1408: ....k */ - 0xFD,0xE1,0xFD,0x36,0x7F,0x08,0xDD,0x3E, /* 1410: 6.> */ - 0x93,0x00,0x01,0x3A,0x92,0x00,0xFE,0x01, /* 1418: ..:.. */ - 0xCA,0xDA,0x14,0xCD,0x82,0x15,0xFD,0x36, /* 1420: .͂.6 */ - 0x7F,0x10,0xFD,0x7E,0x7F,0xE6,0xF0,0xFE, /* 1428: .~ */ - 0xF0,0x20,0x0B,0xDD,0x36,0x00,0x24,0xFD, /* 1430: .6.$ */ - 0xED,0xF6,0x00,0x0D,0x18,0x3D,0xFD,0x36, /* 1438: ...=6 */ - 0x7F,0x34,0xCD,0x82,0x15,0xFD,0x36,0x7F, /* 1440: 4͂.6 */ - 0x40,0xFD,0x36,0x7F,0x00,0xFD,0x36,0x68, /* 1448: @6.6h */ - 0x00,0xFD,0x36,0x18,0x00,0xFD,0x36,0x7F, /* 1450: .6..6 */ - 0x04,0xFD,0x36,0x68,0x00,0xFD,0x36,0x18, /* 1458: .6h.6. */ - 0x55,0xFD,0x36,0x7F,0x00,0xFD,0x7E,0x18, /* 1460: U6.~. */ - 0xFE,0x55,0x20,0x06,0xDD,0x36,0x00,0x48, /* 1468: U .6.H */ - 0x18,0x04,0xDD,0x36,0x00,0x28,0xFD,0xED, /* 1470: ..6.( */ - 0xF6,0x00,0x19,0xDD,0x23,0xE5,0xED,0x32, /* 1478: ..#2 */ - 0x00,0x00,0xFD,0xED,0xF6,0x80,0x00,0xE5, /* 1480: ... */ - 0xFD,0xE1,0xE1,0x0C,0x79,0xFE,0x04,0xC2, /* 1488: .y. */ - 0xBF,0x13,0x79,0xFE,0x00,0x28,0x43,0xE5, /* 1490: .y.(C */ - 0x21,0xDD,0x0F,0xFD,0xED,0xF7,0x00,0x10, /* 1498: !... */ - 0xE1,0xF2,0xAB,0x14,0x3A,0x91,0x00,0xFE, /* 14A0: .:. */ - 0x01,0x20,0x05,0xDD,0x3E,0x94,0x00,0x01, /* 14A8: . .>.. */ - 0x3A,0x01,0x00,0xFE,0x40,0x28,0x39,0x22, /* 14B0: :..@(9" */ - 0x95,0x00,0x21,0x00,0x80,0x3A,0x94,0x00, /* 14B8: .!.:. */ - 0xFE,0x01,0x20,0x07,0xFD,0xED,0xFE,0x00, /* 14C0: . .. */ - 0x20,0x18,0x05,0xFD,0xED,0xFE,0x00,0x10, /* 14C8: .... */ - 0xDD,0xED,0xDE,0x95,0x00,0xFA,0xE8,0x14, /* 14D0: ޕ.. */ - 0x18,0x16,0xDD,0x3E,0x00,0x00,0xFF,0x18, /* 14D8: ..>... */ - 0x0E,0xDD,0x3E,0x00,0x00,0x02,0x18,0x07, /* 14E0: .>..... */ - 0xDD,0x3E,0x00,0x00,0x03,0x18,0x00,0x76, /* 14E8: >.....v */ - 0x21,0x00,0x00,0x0E,0xF0,0xED,0xBF,0x00, /* 14F0: !.... */ - 0x00,0x00,0x01,0xF0,0x1D,0x21,0x00,0x00, /* 14F8: ....!.. */ - 0x3A,0x01,0x00,0xFE,0x20,0x20,0x14,0x3A, /* 1500: :.. .: */ - 0x94,0x00,0xFE,0x01,0x20,0x05,0x11,0x00, /* 1508: .. ... */ - 0x60,0x18,0x0B,0x01,0xDD,0x0F,0x11,0x00, /* 1510: `...... */ - 0x70,0x18,0x03,0x11,0x00,0x80,0xED,0xB0, /* 1518: p.... */ - 0x3A,0x01,0x00,0xFE,0x20,0x20,0x12,0x3A, /* 1520: :.. .: */ - 0x94,0x00,0xFE,0x01,0x28,0x0B,0x01,0xF0, /* 1528: ..(.. */ - 0x0D,0x11,0x00,0x60,0x21,0x00,0x10,0xED, /* 1530: ...`!.. */ - 0xB0,0x3A,0x01,0x00,0xFE,0x20,0x20,0x05, /* 1538: :.. . */ - 0x21,0x70,0x00,0x18,0x03,0x21,0x80,0x00, /* 1540: !p...!. */ - 0x0E,0x06,0xED,0x6E,0x3A,0x01,0x00,0xFE, /* 1548: ..n:.. */ - 0x20,0x20,0x13,0x3A,0x94,0x00,0xFE,0x01, /* 1550: .:.. */ - 0x20,0x06,0xDD,0x21,0xAA,0x12,0x18,0x0A, /* 1558: .!... */ - 0xDD,0x21,0x6A,0x12,0x18,0x04,0xDD,0x21, /* 1560: !j...! */ - 0xEA,0x12,0x3E,0x00,0x0E,0xF5,0xED,0x2C, /* 1568: .>.., */ - 0x00,0x00,0xD3,0xF1,0xED,0xBF,0x3C,0xDD, /* 1570: ..< */ - 0x23,0xDD,0x23,0xFE,0x20,0x20,0xEF,0xC3, /* 1578: ## */ - 0xC7,0x00,0xF5,0xC5,0xE5,0xFD,0x36,0x66, /* 1580: .6f */ - 0x01,0xFD,0x36,0x68,0x03,0xFD,0x36,0x74, /* 1588: .6h.6t */ - 0x00,0xFD,0x36,0x68,0x02,0xFD,0x36,0x74, /* 1590: .6h.6t */ - 0x00,0xFD,0x36,0x68,0x01,0xFD,0x36,0x74, /* 1598: .6h.6t */ - 0x00,0xFD,0x36,0x68,0x00,0xFD,0x36,0x74, /* 15A0: .6h.6t */ - 0x00,0xFD,0x36,0x68,0x03,0xFD,0x36,0x7A, /* 15A8: .6h.6z */ - 0x00,0xFD,0x36,0x68,0x02,0xFD,0x36,0x7A, /* 15B0: .6h.6z */ - 0x00,0xFD,0x36,0x68,0x01,0xFD,0x36,0x7A, /* 15B8: .6h.6z */ - 0x00,0xFD,0x36,0x68,0x00,0xFD,0x36,0x7A, /* 15C0: .6h.6z */ - 0x00,0xFD,0x36,0x68,0x04,0xFD,0x36,0x6D, /* 15C8: .6h.6m */ - 0xA8,0xFD,0x36,0x6E,0x00,0xFD,0x36,0x6F, /* 15D0: 6n.6o */ - 0x00,0xFD,0x36,0x6C,0x01,0xFD,0x36,0x66, /* 15D8: .6l.6f */ - 0x03,0xFD,0x36,0x66,0x03,0xFD,0x36,0x66, /* 15E0: .6f.6f */ - 0x03,0xFD,0x36,0x68,0x04,0xFD,0x36,0x6D, /* 15E8: .6h.6m */ - 0xA8,0xFD,0x36,0x6E,0x20,0xFD,0x36,0x6F, /* 15F0: 6n 6o */ - 0x00,0xFD,0x36,0x66,0x03,0xFD,0x36,0x66, /* 15F8: .6f.6f */ - 0x03,0xFD,0x36,0x66,0x03,0xFD,0x36,0x6C, /* 1600: .6f.6l */ - 0x00,0x06,0x0F,0xFD,0x36,0x66,0x03,0x10, /* 1608: ...6f.. */ - 0xFA,0xFD,0x36,0x68,0x04,0xFD,0x36,0x6D, /* 1610: 6h.6m */ - 0x00,0xFD,0x36,0x6E,0x20,0xFD,0x36,0x6F, /* 1618: .6n 6o */ - 0x03,0xFD,0x36,0x6C,0x01,0xFD,0x36,0x66, /* 1620: .6l.6f */ - 0x03,0xFD,0x36,0x66,0x03,0xFD,0x36,0x66, /* 1628: .6f.6f */ - 0x03,0xFD,0x36,0x66,0x03,0xFD,0x36,0x6C, /* 1630: .6f.6l */ - 0x00,0xFD,0x36,0x66,0x00,0xFD,0x36,0x68, /* 1638: .6f.6h */ - 0x00,0x21,0xFF,0x7F,0x2B,0xFD,0xED,0xF7, /* 1640: .!+ */ - 0x00,0x00,0x20,0xF8,0xFD,0x36,0x40,0x00, /* 1648: .. 6@. */ - 0xFD,0x36,0x05,0x81,0x21,0xFF,0x7F,0xFD, /* 1650: 6.! */ - 0x7E,0x40,0xFE,0x00,0x28,0xF9,0xFD,0x36, /* 1658: ~@.(6 */ - 0x4B,0x00,0xFD,0x36,0x7E,0xC3,0x06,0x04, /* 1660: K.6~.. */ - 0x05,0xFD,0x70,0x68,0xFD,0x36,0x18,0x00, /* 1668: .ph6.. */ - 0x78,0xFE,0x00,0x20,0xF3,0xE1,0xC1,0xF1, /* 1670: x. */ - 0xC9,0x43,0x6F,0x70,0x79,0x72,0x69,0x67, /* 1678: Copyrig */ - 0x68,0x74,0x20,0x28,0x63,0x29,0x20,0x53, /* 1680: ht (c) S */ - 0x70,0x65,0x63,0x69,0x61,0x6C,0x69,0x78, /* 1688: pecialix */ - 0x20,0x52,0x65,0x73,0x65,0x61,0x72,0x63, /* 1690: Researc */ - 0x68,0x20,0x4C,0x74,0x64,0x20,0x31,0x39, /* 1698: h Ltd 19 */ - 0x38,0x38,0x2D,0x31,0x39,0x39,0x38,0x0D, /* 16A0: 88-1998. */ - 0x0A,0x5A,0x32,0x38,0x30,0x20,0x44,0x6F, /* 16A8: .Z280 Do */ - 0x77,0x6E,0x6C,0x6F,0x61,0x64,0x20,0x43, /* 16B0: wnload C */ - 0x6F,0x64,0x65,0x20,0x56,0x65,0x72,0x73, /* 16B8: ode Vers */ - 0x69,0x6F,0x6E,0x20,0x31,0x2E,0x34,0x32, /* 16C0: ion 1.42 */ - 0x0D,0x0A,0x00,0x00,0x00,0x00,0x00,0x00, /* 16C8: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 16D0: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 16D8: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 16E0: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 16E8: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 16F0: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 16F8: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1700: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1708: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1710: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1718: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1720: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1728: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1730: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1738: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1740: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1748: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1750: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1758: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1760: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1768: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1770: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1778: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1780: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1788: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1790: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1798: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 17A0: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 17A8: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 17B0: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 17B8: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 17C0: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 17C8: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 17D0: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 17D8: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 17E0: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 17E8: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 17F0: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 17F8: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1800: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1808: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1810: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1818: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1820: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1828: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1830: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1838: ........ */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 1840: ........ */ - 0x00,0x00,0x42,0x41,0x82,0x04,0x16,0x00, /* 1848: ..BA... */ - 0x41,0x00,0x41,0x04,0x82,0x03,0x41,0x03, /* 1850: A.A..A. */ - 0x82,0x02,0x4E,0x02,0x41,0x02,0x82,0x01, /* 1858: .N.A.. */ - 0x57,0x02,0x41,0x01,0x82,0x00,0x2B,0x00, /* 1860: W.A..+. */ - 0xA3,0x04,0x1B,0x00,0x51,0x00,0x51,0x04, /* 1868: ...Q.Q. */ - 0xA3,0x03,0x51,0x03,0xA3,0x02,0x62,0x02, /* 1870: .Q..b. */ - 0x51,0x02,0xA3,0x01,0x6D,0x02,0x51,0x01, /* 1878: Q..m.Q. */ - 0xA3,0x00,0x36,0x00,0x49,0x4E,0x00,0x00, /* 1880: .6.IN.. */ - 0x1E,0x01,0x18,0x02,0x1E,0x00,0xDD,0xD1, /* 1888: ...... */ - 0x86,0x18,0xF5,0xDD,0xE5,0x21,0x80,0x80, /* 1890: .! */ - 0x54,0xFD,0x7B,0x08,0x00,0xFD,0xED,0x3C, /* 1898: T{..< */ - 0x06,0x00,0xFE,0x24,0x28,0x04,0x06,0x04, /* 18A0: ..$(... */ - 0x18,0x02,0x06,0x00,0xFD,0x70,0x7F,0xCB, /* 18A8: ....p */ - 0x43,0x20,0x05,0xFD,0x7E,0x6A,0x18,0x03, /* 18B0: C .~j.. */ - 0xFD,0x7E,0x6B,0x4F,0xCB,0x7F,0xCA,0x56, /* 18B8: ~kOV */ - 0x19,0xE6,0x03,0xFD,0x77,0x68,0xED,0x3A, /* 18C0: ..wh: */ - 0x08,0x00,0xB0,0xCB,0x27,0x85,0x6F,0xDD, /* 18C8: ..'o */ - 0xED,0x3C,0x02,0x00,0xCB,0x43,0xC2,0x88, /* 18D0: <..Cˆ */ - 0x19,0xD9,0xDD,0x6E,0xAC,0xDD,0x7E,0xAD, /* 18D8: .n~ */ - 0x95,0x4F,0xE6,0x0C,0xFE,0x0C,0x28,0x06, /* 18E0: O..(. */ - 0x79,0xE6,0x30,0xCA,0xC1,0x1A,0xDD,0x7E, /* 18E8: y0.~ */ - 0xA9,0xE6,0x05,0xC2,0x6E,0x1A,0x79,0xCB, /* 18F0: .n.y */ - 0x7F,0x20,0x05,0xFE,0x0C,0xFA,0xB2,0x1A, /* 18F8:  ... */ - 0xDD,0x79,0xFD,0x77,0x63,0x2C,0xDD,0x79, /* 1900: ywc,y */ - 0xFD,0x77,0x63,0x2C,0xDD,0x79,0xFD,0x77, /* 1908: wc,yw */ - 0x63,0x2C,0xDD,0x79,0xFD,0x77,0x63,0x2C, /* 1910: c,ywc, */ - 0xDD,0x79,0xFD,0x77,0x63,0x2C,0xDD,0x79, /* 1918: ywc,y */ - 0xFD,0x77,0x63,0x2C,0xDD,0x79,0xFD,0x77, /* 1920: wc,yw */ - 0x63,0x2C,0xDD,0x79,0xFD,0x77,0x63,0x2C, /* 1928: c,ywc, */ - 0xDD,0x79,0xFD,0x77,0x63,0x2C,0xDD,0x79, /* 1930: ywc,y */ - 0xFD,0x77,0x63,0x2C,0xDD,0x79,0xFD,0x77, /* 1938: wc,yw */ - 0x63,0x2C,0xDD,0x79,0xFD,0x77,0x63,0x2C, /* 1940: c,ywc, */ - 0xDD,0x75,0xAC,0xD9,0x79,0xE6,0x3F,0xCB, /* 1948: uy? */ - 0x43,0x20,0x30,0xFD,0x77,0x6A,0x62,0x2E, /* 1950: C 0wjb. */ - 0x80,0xCB,0x50,0x28,0x05,0x06,0x00,0xC3, /* 1958: P(... */ - 0xAC,0x18,0xDD,0xED,0x3A,0x02,0x00,0xDD, /* 1960: .:.. */ - 0x66,0xFF,0xFD,0xED,0xF7,0x80,0x00,0xC2, /* 1968: f. */ - 0x98,0x18,0xDD,0xE1,0xF1,0xED,0x55,0xFD, /* 1970: .U */ - 0x7E,0x62,0xED,0x0B,0x2C,0x10,0xF8,0x18, /* 1978: ~b.,.. */ - 0x2A,0x49,0x4E,0xFD,0x77,0x6B,0x18,0xCE, /* 1980: *INwk. */ - 0xD9,0xFD,0x7E,0x43,0xFE,0x07,0x28,0x57, /* 1988: ~C.(W */ - 0x26,0x01,0xDD,0x7E,0xAB,0xDD,0x6E,0xAA, /* 1990: &.~n */ - 0x95,0x3D,0x4F,0xFD,0x46,0x0E,0x58,0xCB, /* 1998: =OF.X */ - 0x7F,0x20,0x04,0xB8,0xFA,0xD3,0x19,0x16, /* 19A0:  ... */ - 0x00,0x18,0xCC,0xDD,0x3E,0xC2,0x05,0x01, /* 19A8: ..>.. */ - 0x7A,0xFE,0x00,0x20,0x2A,0xDD,0xCB,0xA8, /* 19B0: z. *˨ */ - 0x5E,0x28,0x10,0x79,0xCB,0x7F,0x20,0x0B, /* 19B8: ^(.y . */ - 0xFE,0x40,0xFA,0xCB,0x19,0x93,0xFE,0x40, /* 19C0: @.@ */ - 0xFA,0xF8,0x19,0xDD,0x75,0xAA,0x26,0x00, /* 19C8: .u&. */ - 0xC3,0x4B,0x19,0xFE,0x00,0x28,0x09,0x16, /* 19D0: K..(.. */ - 0x01,0x78,0x91,0x5F,0x41,0x18,0x98,0x43, /* 19D8: .x_A.C */ - 0xFD,0x7E,0x62,0x10,0xFB,0x18,0xE4,0xDD, /* 19E0: ~b.. */ - 0xCB,0xB9,0xC6,0xDD,0x3E,0xC3,0x05,0x01, /* 19E8: ˹>.. */ - 0xFD,0x7E,0x62,0xFD,0x7E,0x62,0x18,0xD6, /* 19F0: ~b~b. */ - 0xDD,0xCB,0xBA,0x5E,0x28,0x1F,0xDD,0xCB, /* 19F8: ˺^(. */ - 0xA8,0x6E,0x20,0x19,0xFD,0x7E,0x05,0xFE, /* 1A00: n .~. */ - 0x00,0x20,0x0A,0xFD,0x36,0x05,0x24,0xDD, /* 1A08: . .6.$ */ - 0xCB,0xA8,0xEE,0x18,0x08,0xDD,0xCB,0xA8, /* 1A10: ˨..˨ */ - 0xFE,0xDD,0xCB,0xA8,0xF6,0xDD,0xCB,0xA8, /* 1A18: ˨˨ */ - 0xE6,0xDD,0xCB,0xB4,0x7E,0x28,0x19,0xDD, /* 1A20: ˴~(. */ - 0x7E,0xC4,0xE6,0x08,0x20,0x06,0xFD,0x36, /* 1A28: ~. .6 */ - 0x6C,0x00,0x18,0x0C,0xFD,0x7E,0x15,0xE6, /* 1A30: l...~. */ - 0xF0,0xFD,0x77,0x15,0xFD,0x36,0x6D,0x00, /* 1A38: w.6m. */ - 0xDD,0xCB,0xBA,0x76,0x28,0x85,0xDD,0x7E, /* 1A40: ˺v(~ */ - 0xC4,0xE6,0x08,0x20,0x0E,0xFD,0x7E,0x15, /* 1A48: . .~. */ - 0xE6,0xF0,0xFD,0x77,0x15,0xFD,0x36,0x6D, /* 1A50: w.6m */ - 0x00,0x18,0x04,0xFD,0x36,0x6C,0x00,0xDD, /* 1A58: ...6l. */ - 0xCB,0xA8,0xEE,0xDD,0xCB,0xA8,0xBE,0xDD, /* 1A60: ˨˨ */ - 0xCB,0xA8,0xB6,0xC3,0xCB,0x19,0xDD,0xCB, /* 1A68: ˨. */ - 0xA9,0x46,0x28,0x13,0xDD,0xCB,0xA9,0xCE, /* 1A70: F(.˩ */ - 0xDD,0xCB,0xA9,0x86,0xFD,0x7E,0x06,0xE6, /* 1A78: ˩~. */ - 0xF9,0xFD,0x77,0x06,0xC3,0x48,0x19,0x79, /* 1A80: w.H.y */ - 0xCB,0x7F,0x20,0x0C,0xFE,0x0C,0xF2,0x98, /* 1A88:  .. */ - 0x1A,0xFE,0x00,0x28,0x52,0x47,0x18,0x02, /* 1A90: ..(RG.. */ - 0x06,0x0C,0xDD,0x79,0xFE,0x0A,0x28,0x08, /* 1A98: ..y.(. */ - 0xFD,0x77,0x63,0x2C,0x10,0xF4,0x18,0x3F, /* 1AA0: wc,..? */ - 0xFD,0x36,0x63,0x0D,0xFD,0x36,0x63,0x0A, /* 1AA8: 6c.6c. */ - 0x18,0xF1,0xFE,0x00,0x28,0x31,0x47,0xDD, /* 1AB0: ..(1G */ - 0x79,0xFD,0x77,0x63,0x2C,0x10,0xF8,0x18, /* 1AB8: ywc,.. */ - 0x26,0x79,0xE6,0xC0,0xFE,0x40,0x20,0x13, /* 1AC0: &y@ . */ - 0xDD,0xCB,0xA9,0x5E,0xCA,0xEE,0x18,0xDD, /* 1AC8: ˩^. */ - 0xCB,0xA9,0x9E,0xDD,0x3E,0xC3,0x05,0x01, /* 1AD0: ˩>.. */ - 0xC3,0xEE,0x18,0xFE,0xC0,0xC2,0xEE,0x18, /* 1AD8: .. */ - 0xDD,0xCB,0xA9,0xDE,0xC3,0xEE,0x18,0xFD, /* 1AE0: ˩. */ - 0x7E,0x06,0xE6,0xF9,0xFD,0x77,0x06,0xDD, /* 1AE8: ~.w. */ - 0xCB,0xA8,0x86,0xC3,0x48,0x19,0xDD,0xD1, /* 1AF0: ˨H. */ - 0x86,0x18,0xF5,0xC5,0xD5,0xE5,0xFD,0xE5, /* 1AF8: . */ - 0xDD,0xE5,0x21,0x80,0x80,0x54,0xFD,0x7B, /* 1B00: !T{ */ - 0x08,0x00,0xFD,0xED,0x3C,0x06,0x00,0xFE, /* 1B08: ..<.. */ - 0x24,0x28,0x04,0x06,0x04,0x18,0x02,0x06, /* 1B10: $(...... */ - 0x00,0x78,0xED,0x3B,0x1A,0x00,0xFD,0x70, /* 1B18: .x;..p */ - 0x7F,0xFD,0x7E,0x69,0xCB,0x7F,0x28,0x2C, /* 1B20: ~i(, */ - 0xFD,0x5E,0x68,0xE6,0x03,0xFD,0x77,0x68, /* 1B28: ^h.wh */ - 0xED,0x3A,0x0A,0x00,0xB0,0xCB,0x27,0x85, /* 1B30: :..' */ - 0x6F,0xED,0x26,0xE5,0xDD,0xE1,0xC5,0xCD, /* 1B38: o& */ - 0x04,0x09,0xDD,0x3E,0xC3,0x05,0x01,0xDD, /* 1B40: ..>.. */ - 0xCB,0xB9,0xCE,0xFD,0x7E,0x69,0xE6,0x3F, /* 1B48: ˹~i? */ - 0xFD,0x77,0x69,0xC1,0x62,0x2E,0x80,0xCB, /* 1B50: wib. */ - 0x50,0x28,0x04,0x06,0x00,0x18,0xBA,0xE5, /* 1B58: P(.... */ - 0xDD,0xE1,0xDD,0x66,0x01,0xFD,0xED,0xF7, /* 1B60: f. */ - 0x80,0x00,0x20,0x99,0xDD,0xE1,0xFD,0xE1, /* 1B68: . */ - 0xE1,0xD1,0xC1,0xF1,0xED,0x55,0xE5,0x21, /* 1B70: U! */ - 0xE8,0x03,0x2B,0xFD,0xED,0xF7,0x00,0x00, /* 1B78: .+.. */ - 0x20,0xF8,0xE1,0xC9,0xCD,0xF3,0x08,0xDD, /* 1B80: . */ - 0x7E,0xC7,0xFE,0x01,0xC2,0x28,0x1C,0xFD, /* 1B88: ~.(. */ - 0x36,0x6F,0x03,0xCD,0x76,0x1B,0xFD,0x7E, /* 1B90: 6o.v.~ */ - 0x6F,0xE6,0x20,0x20,0x07,0xDD,0x36,0xC8, /* 1B98: o .6 */ - 0x09,0xC3,0x28,0x1C,0xFD,0x36,0x6F,0x02, /* 1BA0: .(.6o. */ - 0xCD,0x76,0x1B,0xFD,0x7E,0x6F,0xE6,0x20, /* 1BA8: v.~o */ - 0x28,0x06,0xDD,0x36,0xC8,0x0A,0x18,0x70, /* 1BB0: (.6..p */ - 0xFD,0x36,0x6F,0x06,0xCD,0x76,0x1B,0xFD, /* 1BB8: 6o.v. */ - 0x7E,0x6F,0xE6,0x10,0x20,0x06,0xDD,0x36, /* 1BC0: ~o. .6 */ - 0xC8,0x0B,0x18,0x5C,0xFD,0x36,0x6F,0x02, /* 1BC8: ..\6o. */ - 0xCD,0x76,0x1B,0xFD,0x7E,0x6F,0xE6,0x20, /* 1BD0: v.~o */ - 0x28,0x06,0xDD,0x36,0xC8,0x0A,0x18,0x48, /* 1BD8: (.6..H */ - 0x06,0x08,0xFD,0x36,0x6F,0x02,0xCD,0x76, /* 1BE0: ..6o.v */ - 0x1B,0xFD,0x36,0x6F,0x00,0xCD,0x76,0x1B, /* 1BE8: .6o.v. */ - 0xFD,0x7E,0x6F,0xE6,0x80,0x20,0x28,0x10, /* 1BF0: ~o (. */ - 0xE9,0xFD,0x36,0x6F,0x02,0xCD,0x76,0x1B, /* 1BF8: 6o.v. */ - 0xFD,0x36,0x6F,0x00,0x21,0xE8,0x03,0xFD, /* 1C00: 6o.!. */ - 0x7E,0x6F,0xE6,0x40,0x20,0x16,0x2B,0xFD, /* 1C08: ~o@ .+ */ - 0xED,0xF7,0x00,0x00,0x20,0xF1,0xDD,0x36, /* 1C10: .. 6 */ - 0xC8,0x0D,0xDD,0x77,0xB8,0x18,0x09,0xDD, /* 1C18: .w.. */ - 0x70,0xC8,0x18,0x04,0xDD,0x36,0xC8,0x00, /* 1C20: p..6. */ - 0xCD,0x76,0x1B,0xFD,0x36,0x6F,0x02,0xCD, /* 1C28: v.6o. */ - 0x76,0x1B,0xFD,0x36,0x6F,0x00,0xFD,0x36, /* 1C30: v.6o.6 */ - 0x05,0x80,0xDD,0x36,0xAE,0x00,0xC9,0xCD, /* 1C38: .6. */ - 0xF3,0x08,0xDD,0xCB,0xA9,0x4E,0x20,0x23, /* 1C40: .˩N # */ - 0xDD,0xCB,0xA9,0xC6,0xDD,0x7E,0xC7,0xFE, /* 1C48: ˩~ */ - 0x01,0x28,0x0F,0xFD,0x7E,0x06,0xF6,0x02, /* 1C50: .(.~.. */ - 0xE6,0xFB,0xFD,0x77,0x06,0x26,0x00,0xC3, /* 1C58: w.&. */ - 0x12,0x0D,0xFD,0x36,0x06,0x84,0x26,0x00, /* 1C60: ..6.&. */ - 0xC3,0x12,0x0D,0xFD,0x7E,0x06,0xE6,0xF9, /* 1C68: ..~. */ - 0xFD,0x77,0x06,0xFD,0x7E,0x09,0xF6,0x20, /* 1C70: w.~. */ - 0xFD,0x77,0x09,0xFD,0x7E,0x50,0xFD,0x77, /* 1C78: w.~Pw */ - 0x65,0xFD,0x36,0x63,0x00,0xFD,0x36,0x63, /* 1C80: e6c.6c */ - 0x81,0xFD,0x36,0x12,0x02,0xDD,0x36,0xAE, /* 1C88: 6..6 */ - 0x12,0xDD,0x3E,0xC3,0x05,0x01,0x26,0x00, /* 1C90: .>..&. */ - 0xC3,0x12,0x0D,0xCD,0xF3,0x08,0xDD,0x7E, /* 1C98: ...~ */ - 0xC5,0xFE,0x01,0x28,0x27,0xFD,0x7E,0x12, /* 1CA0: .('~. */ - 0xFE,0x00,0x28,0x05,0x26,0x00,0xC3,0x12, /* 1CA8: .(.&.. */ - 0x0D,0xFD,0x7E,0x50,0xFD,0x77,0x65,0xFD, /* 1CB0: .~Pwe */ - 0x36,0x63,0x00,0xFD,0x36,0x63,0x83,0xFD, /* 1CB8: 6c.6c */ - 0x36,0x12,0x02,0xDD,0x36,0xC5,0x01,0x26, /* 1CC0: 6..6.& */ - 0x00,0xC3,0x12,0x0D,0xFD,0x7E,0x12,0xFE, /* 1CC8: ...~. */ - 0x00,0x28,0x05,0x26,0x00,0xC3,0x12,0x0D, /* 1CD0: .(.&... */ - 0xFD,0x7E,0x06,0xF6,0x04,0xE6,0xFD,0xFD, /* 1CD8: ~.. */ - 0x77,0x06,0xFD,0x7E,0x09,0xE6,0xDF,0xFD, /* 1CE0: w.~. */ - 0x77,0x09,0xDD,0x36,0xAE,0x00,0xDD,0x3E, /* 1CE8: w.6.> */ - 0xC3,0x05,0x01,0xDD,0x36,0xC5,0x00,0x26, /* 1CF0: ..6.& */ - 0x00,0xC3,0x12,0x0D,0x26,0x00,0xDD,0x7E, /* 1CF8: ...&.~ */ - 0xAC,0xDD,0x96,0xAD,0x28,0x04,0xF1,0xC3, /* 1D00: ݖ(. */ - 0x23,0x0D,0xCD,0xF3,0x08,0xDD,0x7E,0xBF, /* 1D08: #..~ */ - 0xFE,0x01,0x28,0x4D,0xDD,0xCB,0xA9,0x4E, /* 1D10: .(M˩N */ - 0x28,0x26,0xED,0x2C,0xA4,0xFF,0xDD,0x7E, /* 1D18: (&,~ */ - 0xA7,0xFE,0x04,0xF2,0x33,0x1D,0xFD,0x1D, /* 1D20: .3.. */ - 0x1C,0x00,0x20,0x35,0xF6,0x10,0xFD,0x77, /* 1D28: .. 5.w */ - 0x7F,0x18,0x2E,0xFD,0x1D,0x1D,0x00,0x20, /* 1D30: ..... */ - 0x28,0xF6,0x40,0xFD,0x77,0x7F,0x18,0x21, /* 1D38: (@w.! */ - 0xDD,0x7E,0xC9,0xFE,0x01,0x20,0x10,0xDD, /* 1D40: ~. . */ - 0xCB,0xA9,0xC6,0xDD,0x7E,0xC7,0xFE,0x01, /* 1D48: ˩~. */ - 0x28,0x0A,0xFD,0x36,0x06,0x92,0xC9,0xDD, /* 1D50: (.6. */ - 0xCB,0xA9,0xCE,0xC9,0xFD,0x36,0x06,0x94, /* 1D58: ˩6. */ - 0xC9,0xDD,0x36,0xAA,0x00,0xDD,0x36,0xAB, /* 1D60: 6.6 */ - 0x00,0xDD,0x36,0xAC,0x00,0xDD,0x36,0xAD, /* 1D68: .6.6 */ - 0x00,0xDD,0x36,0xC9,0x00,0xCD,0xF3,0x08, /* 1D70: .6.. */ - 0xFD,0x7E,0x05,0xFE,0x00,0xC0,0xDD,0xCB, /* 1D78: ~.. */ - 0xA9,0x8E,0xDD,0x7E,0xC7,0xFE,0x01,0x20, /* 1D80: ~. */ - 0x06,0xFD,0x36,0x05,0x14,0x18,0x32,0xDD, /* 1D88: .6...2 */ - 0xCB,0xB7,0x46,0x20,0x11,0xDD,0x7E,0xC4, /* 1D90: ˷F .~ */ - 0xE6,0x08,0x20,0x06,0xFD,0x36,0x6C,0x00, /* 1D98: . .6l. */ - 0x18,0x04,0xFD,0x36,0x6D,0x00,0xDD,0xCB, /* 1DA0: ..6m. */ - 0xB7,0x4E,0x20,0x11,0xDD,0x7E,0xC4,0xE6, /* 1DA8: N .~ */ - 0x08,0x20,0x06,0xFD,0x36,0x6D,0x00,0x18, /* 1DB0: . .6m.. */ - 0x04,0xFD,0x36,0x6C,0x00,0xFD,0x36,0x05, /* 1DB8: .6l.6. */ - 0x80,0xFD,0x36,0x06,0x00,0xDD,0x36,0xBF, /* 1DC0: 6..6 */ - 0x01,0xDD,0x36,0xAE,0x10,0xDD,0x3E,0xC3, /* 1DC8: .6.> */ - 0x05,0x01,0xC9,0x3A,0x49,0x00,0xFE,0x01, /* 1DD0: ..:I.. */ - 0x28,0x0B,0xFD,0x1E,0x06,0x00,0x00,0xFD, /* 1DD8: (..... */ - 0x1E,0x07,0x00,0x02,0xC9,0xFD,0x1E,0x06, /* 1DE0: ...... */ - 0x00,0x09,0xFD,0x1E,0x07,0x00,0x00,0xC9, /* 1DE8: ...... */ - 0x02,0x44,0x02,0x44,0x02,0x40,0x02,0x40, /* 1DF0: .D.D.@.@ */ - 0x02,0x40,0x02,0x40,0x02,0x44,0x02,0x44, /* 1DF8: .@.@.D.D */ - 0x02,0x44,0x02,0x44,0x02,0x44,0x02,0x40, /* 1E00: .D.D.D.@ */ - 0x02,0x40,0x02,0x44,0x02,0x44,0x20,0x1E, /* 1E08: .@.D.D . */ - 0x44,0x03,0x44,0x02,0x44,0x02,0x44,0x01, /* 1E10: D.D.D.D. */ - 0x40,0x20,0x14,0x44,0x03,0x40,0x12,0x44, /* 1E18: @ .D.@.D */ - 0x05,0x40,0x03,0x40,0x16,0x44,0x02,0x40, /* 1E20: .@.@.D.@ */ - 0x07,0x44,0x0A,0x40,0x05,0x40,0x11,0x40, /* 1E28: .D.@.@.@ */ - 0x20,0x03,0x40,0x18,0x44,0x12,0x44,0x09, /* 1E30: .@.D.D. */ - 0x44,0x02,0x44,0x20,0x46,0x40,0x17,0x44, /* 1E38: D.D F@.D */ - 0x06,0x44,0x06,0x44,0x03,0x44,0x04,0x44, /* 1E40: .D.D.D.D */ - 0x0D,0x44,0x02,0x44,0x06,0x44,0x02,0x44, /* 1E48: .D.D.D.D */ - 0x20,0x18,0x40,0x1F,0x44,0x05,0x44,0x07, /* 1E50: .@.D.D. */ - 0x44,0x18,0x44,0x20,0x0C,0x44,0x06,0x44, /* 1E58: D.D .D.D */ - 0x02,0x44,0x01,0x44,0x0F,0x44,0x15,0x44, /* 1E60: .D.D.D.D */ - 0x08,0x44,0x03,0x44,0x0D,0x44,0x1D,0x44, /* 1E68: .D.D.D.D */ - 0x01,0x44,0x14,0x40,0x08,0x40,0x03,0x44, /* 1E70: .D.@.@.D */ - 0x06,0x40,0x03,0x44,0x06,0x40,0x03,0x44, /* 1E78: .@.D.@.D */ - 0x06,0x40,0x03,0x44,0x0F,0x44,0x04,0x44, /* 1E80: .@.D.D.D */ - 0x0F,0x44,0x04,0x44,0x03,0x44,0x20,0x34, /* 1E88: .D.D.D 4 */ - 0x44,0x04,0x44,0x11,0x44,0x04,0x44,0x14, /* 1E90: D.D.D.D. */ - 0x44,0x04,0x44,0x02,0x40,0x1B,0x44,0x0A, /* 1E98: D.D.@.D. */ - 0x40,0x03,0x44,0x05,0x40,0x05,0x44,0x0F, /* 1EA0: @.D.@.D. */ - 0x40,0x02,0x44,0x02,0x40,0x20,0x0E,0x44, /* 1EA8: @.D.@ .D */ - 0x18,0x40,0x10,0x44,0x05,0x44,0x05,0x44, /* 1EB0: .@.D.D.D */ - 0x0B,0x44,0x14,0x44,0x03,0x44,0x08,0x44, /* 1EB8: .D.D.D.D */ - 0x02,0x44,0x10,0x44,0x44,0x44,0x44,0x44, /* 1EC0: .D.DDDDD */ - 0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44, /* 1EC8: DDDDDDDD */ - 0x44,0x44,0x44,0x44,0x44,0x40,0x40,0x44, /* 1ED0: DDDDD@@D */ - 0x44,0x40,0x40,0x20,0x00,0x44,0x20,0x01, /* 1ED8: D@@ .D . */ - 0x44,0x10,0x44,0x10,0x44,0x05,0x44,0x20, /* 1EE0: D.D.D.D */ - 0x04,0x44,0x14,0x44,0x06,0x44,0x0A,0x44, /* 1EE8: .D.D.D.D */ - 0x04,0x44,0x04,0x44,0x05,0x44,0x03,0x44, /* 1EF0: .D.D.D.D */ - 0x0F,0x44,0x0B,0x44,0x03,0x44,0x03,0x44, /* 1EF8: .D.D.D.D */ - 0x03,0x44,0x0C,0x44,0x05,0x44,0x03,0x44, /* 1F00: .D.D.D.D */ - 0x05,0x44,0x0E,0x44,0x06,0x44,0x0B,0x44, /* 1F08: .D.D.D.D */ - 0x07,0x44,0x02,0x44,0x03,0x44,0x06,0x44, /* 1F10: .D.D.D.D */ - 0x0D,0x44,0x06,0x44,0x02,0x44,0x03,0x44, /* 1F18: .D.D.D.D */ - 0x05,0x44,0x20,0x02,0x44,0x03,0x44,0x05, /* 1F20: .D .D.D. */ - 0x44,0x16,0x44,0x1A,0x44,0x0E,0x44,0x16, /* 1F28: D.D.D.D. */ - 0x44,0x03,0x44,0x05,0x44,0x04,0x44,0x19, /* 1F30: D.D.D.D. */ - 0x44,0x04,0x44,0x01,0x44,0x03,0x44,0x05, /* 1F38: D.D.D.D. */ - 0x44,0x05,0x44,0x06,0x44,0x02,0x44,0x0C, /* 1F40: D.D.D.D. */ - 0x44,0x05,0x44,0x09,0x44,0x0A,0x44,0x0B, /* 1F48: D.D.D.D. */ - 0x44,0x08,0x44,0x20,0x09,0x44,0x12,0x44, /* 1F50: D.D .D.D */ - 0x02,0x44,0x20,0x1C,0x44,0x20,0x2E,0x44, /* 1F58: .D .D .D */ - 0x11,0x44,0x20,0x28,0x44,0x13,0x44,0x09, /* 1F60: .D (D.D. */ - 0x44,0x12,0x40,0x03,0x40,0x20,0x01,0x40, /* 1F68: D.@.@ .@ */ - 0x03,0x40,0x21,0x4F,0x44,0x20,0x4B,0x44, /* 1F70: .@!OD KD */ - 0x20,0x34,0x40,0x03,0x44,0x0D,0x40,0x08, /* 1F78: 4@.D.@. */ - 0x44,0x08,0x44,0x03,0x44,0x01,0x44,0x03, /* 1F80: D.D.D.D. */ - 0x44,0x01,0x40,0x03,0x44,0x01,0x40,0x03, /* 1F88: D.@.D.@. */ - 0x44,0x03,0x44,0x01,0x44,0x0A,0x44,0x0B, /* 1F90: D.D.D.D. */ - 0x44,0x15,0x40,0x16,0x40,0x06,0x44,0x0E, /* 1F98: D.@.@.D. */ - 0x40,0x06,0x40,0x04,0x44,0x44,0x44,0x44, /* 1FA0: @.@.DDDD */ - 0x44,0x44,0x40,0x40,0x44,0x44,0x44,0x44, /* 1FA8: DD@@DDDD */ - 0x44,0x44,0x44,0x44,0x44,0x44,0x0F,0x44, /* 1FB0: DDDDDD.D */ - 0x06,0x44,0x05,0x44,0x20,0x08,0x44,0x20, /* 1FB8: .D.D .D */ - 0x39,0x44,0x03,0x44,0x04,0x44,0x0A,0x44, /* 1FC0: 9D.D.D.D */ - 0x05,0x44,0x0D,0x44,0x20,0x04,0x40,0x13, /* 1FC8: .D.D .@. */ - 0x40,0x20,0x4A,0x40,0x21,0x2E,0x40,0x14, /* 1FD0: @ J@!.@. */ - 0x44,0x06,0x40,0x15,0x44,0x06,0x40,0x20, /* 1FD8: D.@.D.@ */ - 0x7F,0x40,0x20,0x22,0x40,0x20,0x61,0x40, /* 1FE0: @ "@ a@ */ - 0x20,0x25,0x40,0x20,0x3B,0x40,0x04,0x40, /* 1FE8: %@ ;@.@ */ - 0x20,0xE1,0x40,0x1F,0x40,0x06,0x44,0x03, /* 1FF0: @.@.D. */ - 0x40,0x05,0x40,0x20,0x13,0x44,0x1D,0x40, /* 1FF8: @.@ .D.@ */ - 0x20,0x0E,0x44,0x02,0x40,0x02,0x40,0x03, /* 2000: .D.@.@. */ - 0x44,0x20,0x05,0x40,0x02,0x40,0x03,0x44, /* 2008: D .@.@.D */ - 0x01,0x44,0x1D,0x44,0x20,0x2B,0x44,0x07, /* 2010: .D.D +D. */ - 0x40,0x07,0x44,0x01,0x40,0x06,0x40,0x09, /* 2018: @.D.@.@. */ - 0x40,0x04,0x40,0x13,0x40,0x01,0x44,0x20, /* 2020: @.@.@.D */ - 0x03,0x44,0x0B,0x40,0x0A,0x40,0x12,0x40, /* 2028: .D.@.@.@ */ - 0x05,0x44,0x20,0x03,0x40,0x06,0x44,0x04, /* 2030: .D .@.D. */ - 0x44,0x04,0x44,0x16,0x40,0x22,0xEE,0x44, /* 2038: D.D.@"D */ - 0x20,0x0D,0x44,0x16,0x44,0x13,0x44,0x06, /* 2040: .D.D.D. */ - 0x44,0x08,0x44,0x20,0x40,0x44,0x0E,0x44, /* 2048: D.D @D.D */ - 0x20,0x13,0x44,0x06,0x40,0x14,0x44,0x04, /* 2050: .D.@.D. */ - 0x44,0x06,0x44,0x1A,0x40,0x20,0x5D,0x44, /* 2058: D.D.@ ]D */ - 0x17,0x44,0x08,0x44,0x20,0x1C,0x44,0x06, /* 2060: .D.D .D. */ - 0x40,0x02,0x44,0x03,0x44,0x05,0x44,0x0D, /* 2068: @.D.D.D. */ - 0x44,0x02,0x44,0x20,0x26,0x40,0x02,0x40, /* 2070: D.D &@.@ */ - 0x20,0x1F,0x40,0x06,0x44,0x05,0x44,0x0C, /* 2078: .@.D.D. */ - 0x44,0x05,0x44,0x12,0x44,0x12,0x44,0x14, /* 2080: D.D.D.D. */ - 0x44,0x05,0x44,0x0E,0x44,0x20,0x09,0x44, /* 2088: D.D.D .D */ - 0x05,0x44,0x0E,0x40,0x1E,0x40,0x07,0x40, /* 2090: .D.@.@.@ */ - 0x20,0x08,0x40,0x04,0x40,0x01,0x40,0x11, /* 2098: .@.@.@. */ - 0x40,0x19,0x40,0x0A,0x40,0x18,0x40,0x08, /* 20A0: @.@.@.@. */ - 0x40,0x0C,0x40,0x01,0x40,0x17,0x44,0x20, /* 20A8: @.@.@.D */ - 0x30,0x40,0x20,0x37,0x40,0x03,0x40,0x00, /* 20B0: 0@ 7@.@. */ - 0x00 /* 20B8: . */ - -}; -int si2_z280_dsize = sizeof(si2_z280_download); /* 0x20B9 (8377) */ - -unsigned short si2_z280_downloadaddr = 0x0000; - -/* End of SI2_Z280.C */ diff --git a/sys/dev/si/si3_t225.c b/sys/dev/si/si3_t225.c deleted file mode 100644 index 72bb7791a7eb..000000000000 --- a/sys/dev/si/si3_t225.c +++ /dev/null @@ -1,2664 +0,0 @@ -/*- - * Copyright (C) 1996-2000 Specialix International. - * - * Download code for SX host cards. - * - * Redistribution and use in binary forms (this file is a binary form), - * with or without modification, are permitted provided that the following - * conditions are met: - * 1. Redistributions in binary form must reproduce the above copyright - * notices, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 2. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Specialix International. - * 3. The name of Specialix International may not be used to endorse or - * promote products derived from this software without specific prior - * written permission. - * 4. No attempt is made to decompile, reverse engineer or otherwise - * discover the source code of the contents of this file. The source - * code is regarded as an unpublished trade secret held by Specialix - * International. - * - * THIS SOFTWARE IS PROVIDED BY ``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 AUTHORS BE LIABLE. - * - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include - -/* SI3_T225.C Version, Bootstrap and Download Code Arrays... */ - -/* SI3_T225 embedded version... - - Copyright (c) Specialix International Ltd 1996-1999. - JET__.BIN Version 4.0.1 Created Jan 19 2000 @ 14:01:06 - -*/ - -unsigned char si3_t225_bootstrap[] = -{ - 0x28,0x20,0x21,0x02,0x60,0x0a -}; -int si3_t225_bsize = sizeof(si3_t225_bootstrap); - -unsigned short si3_t225_bootloadaddr = 0x8000 - sizeof(si3_t225_bootstrap); - -unsigned char si3_t225_download[] = -{ - 0x00,0x00,0x14,0x51,0x00,0x00,0x00,0x00, /* 0000: ...Q.... */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0008: ........ */ - 0x24,0xF2,0x21,0xF8,0x24,0xF2,0x21,0xFC, /* 0010: $!$! */ - 0x22,0xF9,0x25,0xF7,0x46,0x23,0xFC,0xD4, /* 0018: "%F# */ - 0x40,0x31,0xD1,0x21,0x20,0x20,0x20,0x40, /* 0020: @1! @ */ - 0x71,0xF4,0xD2,0x23,0x4B,0xD3,0x73,0x72, /* 0028: q#Ksr */ - 0x71,0x24,0xFA,0x74,0x23,0xFC,0x2F,0x2F, /* 0030: q$t#.. */ - 0x2F,0x4E,0xF6,0x20,0x20,0x22,0x04,0x57, /* 0038: .N ".W */ - 0x65,0x64,0x20,0x4A,0x61,0x6E,0x20,0x31, /* 0040: ed Jan 1 */ - 0x39,0x20,0x31,0x34,0x3A,0x30,0x31,0x3A, /* 0048: 9 14:01: */ - 0x30,0x39,0x20,0x32,0x30,0x30,0x30,0x0A, /* 0050: 09 2000. */ - 0x00,0x6A,0x65,0x74,0x2E,0x65,0x70,0x72, /* 0058: .jet.epr */ - 0x00,0x20,0x20,0x22,0xB0,0x21,0x12,0xDD, /* 0060: . "!. */ - 0x24,0xF2,0x21,0xF8,0x24,0xF2,0x21,0xFC, /* 0068: $!$! */ - 0x22,0xF9,0x25,0xF8,0x40,0xDE,0x4B,0xDF, /* 0070: "%@K */ - 0x24,0xF2,0x7E,0x24,0xF2,0xFA,0xE0,0x1E, /* 0078: $~$. */ - 0x4B,0x22,0xF1,0x40,0x25,0xF4,0x22,0x46, /* 0080: K"@%"F */ - 0x21,0xFB,0xD0,0x24,0xF2,0xD1,0x24,0x4B, /* 0088: !$$K */ - 0x21,0xFB,0xD2,0x72,0x84,0x21,0xD0,0x72, /* 0090: !r!r */ - 0x30,0x21,0x70,0xF2,0x21,0xD1,0x21,0x71, /* 0098: 0!p!!q */ - 0xD2,0x1B,0xD3,0x7D,0xD4,0x40,0xD5,0x1C, /* 00A0: .}@. */ - 0xD6,0x19,0xD7,0x1A,0xD8,0x21,0x70,0xF6, /* 00A8: ..!p */ - 0x60,0xBC,0x7D,0x27,0x88,0xDD,0x22,0x40, /* 00B0: `}'"@ */ - 0x21,0xFB,0xD0,0x44,0x24,0xF2,0xFA,0xD1, /* 00B8: !D$ */ - 0x24,0xF2,0xD2,0x7B,0x83,0x60,0x4C,0x24, /* 00C0: ${`L$ */ - 0xF6,0x21,0x71,0xF2,0xD3,0x7D,0xD4,0x24, /* 00C8: !q}$ */ - 0xF2,0xD5,0x7A,0x7D,0xF2,0xD6,0x79,0x73, /* 00D0: z}ys */ - 0xF2,0xF6,0x21,0xF5,0x20,0x6E,0x03,0x00, /* 00D8: ! n.. */ - 0x00,0x20,0x61,0xBF,0x40,0xD1,0x40,0xDF, /* 00E0: . a@@ */ - 0x21,0x76,0x67,0x88,0xDE,0x40,0x21,0x74, /* 00E8: !vg@!t */ - 0xE0,0x10,0x23,0x24,0x94,0x28,0x45,0x71, /* 00F0: .#$(Eq */ - 0xF4,0x22,0x2B,0xAD,0x71,0x46,0x24,0xF0, /* 00F8: "+qF$ */ - 0x21,0xD0,0x71,0x23,0x4F,0x24,0xF6,0xD5, /* 0100: !q#O$ */ - 0x21,0x70,0xC0,0x23,0xAF,0x7F,0xA7,0x7D, /* 0108: !p#} */ - 0xD6,0x76,0x75,0xF2,0xDD,0x02,0x7E,0xD6, /* 0110: vu.~ */ - 0x75,0xA6,0x75,0x76,0x10,0x22,0x2F,0x94, /* 0118: uuv.". */ - 0x40,0xD2,0x44,0xD3,0x41,0x72,0x24,0xF1, /* 0120: @DAr$ */ - 0x74,0x24,0xF6,0x21,0xA7,0x11,0x72,0x21, /* 0128: t$!.r! */ - 0x72,0xFA,0x41,0xFB,0x75,0xAE,0x76,0x27, /* 0130: rAuv' */ - 0x88,0xD0,0x70,0x21,0x75,0xF2,0x72,0x21, /* 0138: p!ur! */ - 0x72,0xFA,0x75,0xFB,0x12,0x22,0x45,0x22, /* 0140: ru."E" */ - 0xF1,0x22,0x26,0x07,0x21,0x70,0xC2,0x22, /* 0148: "&.!p" */ - 0x25,0xA7,0x75,0xC0,0xA7,0x41,0xDF,0x40, /* 0150: %uA@ */ - 0xD4,0x22,0x24,0x0C,0x75,0xC9,0xA7,0x41, /* 0158: "$.uɧA */ - 0xDF,0x40,0xD4,0x22,0x24,0x02,0x75,0xC7, /* 0160: @"$.u */ - 0xA7,0x41,0xDF,0x40,0xD4,0x22,0x23,0x08, /* 0168: A@"#. */ - 0x75,0xC1,0xA7,0x40,0xDF,0x40,0xD4,0x22, /* 0170: u@@" */ - 0x22,0x0E,0x75,0xC2,0x22,0xA7,0x41,0xD0, /* 0178: ".u"A */ - 0x70,0x21,0xAF,0x10,0x22,0x2B,0x92,0x71, /* 0180: p!."+q */ - 0x28,0xC2,0xA4,0x70,0x81,0xD0,0x08,0x71, /* 0188: (¤p.q */ - 0x28,0xC3,0xA4,0x70,0x60,0x8F,0xD0,0x70, /* 0190: (äp`p */ - 0xA7,0x11,0x7C,0x21,0x72,0xFA,0x41,0xFB, /* 0198: .|!rA */ - 0x62,0x0E,0x22,0x20,0x03,0x75,0xC4,0xAC, /* 01A0: b." .uĬ */ - 0x1D,0x10,0x22,0x23,0x9D,0x7D,0x21,0x77, /* 01A8: .."#}!w */ - 0xE0,0x21,0x2F,0x04,0x75,0xC6,0xA9,0x21, /* 01B0: !..uƩ! */ - 0x79,0x10,0x22,0x22,0x9D,0x21,0x2E,0x08, /* 01B8: y.""!.. */ - 0x75,0xCB,0xA9,0x21,0x78,0x10,0x22,0x22, /* 01C0: u˩!x."" */ - 0x91,0x21,0x2D,0x0C,0x75,0xC8,0xAC,0x1D, /* 01C8: !-.uȬ. */ - 0x10,0x22,0x21,0x96,0x7D,0x21,0x78,0xE0, /* 01D0: ."!}!x */ - 0x21,0x2C,0x0D,0x75,0xCA,0xAC,0x1D,0x10, /* 01D8: !,.uʬ.. */ - 0x22,0x20,0x97,0x7D,0x21,0x79,0xE0,0x21, /* 01E0: " }!y! */ - 0x2B,0x0E,0x75,0xCC,0x2C,0xAB,0x40,0xD6, /* 01E8: +.u,@ */ - 0x40,0xDA,0x40,0xD8,0x7E,0xD7,0x41,0xD6, /* 01F0: @@~A */ - 0x10,0x22,0x23,0x9D,0x23,0x4F,0x71,0xF9, /* 01F8: ."##Oq */ - 0xC0,0xD6,0x76,0x22,0xA8,0x41,0x7A,0xF2, /* 0200: v"Az */ - 0xDA,0x40,0xD2,0x44,0xD3,0x41,0x72,0x24, /* 0208: @DAr$ */ - 0xF1,0x74,0x24,0xF6,0xA7,0x11,0x72,0x21, /* 0210: t$.r! */ - 0x72,0xFA,0x41,0xFB,0x12,0x21,0x44,0x22, /* 0218: rA.!D" */ - 0xF1,0x10,0x22,0x21,0x94,0x23,0x4F,0x71, /* 0220: ."!#Oq */ - 0xF9,0xC0,0xD6,0x62,0x05,0x71,0x23,0x4F, /* 0228: b.q#O */ - 0x24,0xF6,0xD5,0x7A,0x40,0xF9,0x23,0xA3, /* 0230: $z@# */ - 0x75,0xA6,0x75,0x77,0x10,0x21,0x2D,0x94, /* 0238: uuw.!- */ - 0x40,0xD2,0x44,0xD3,0x41,0x72,0x24,0xF1, /* 0240: @DAr$ */ - 0x74,0x24,0xF6,0x21,0xA7,0x11,0x72,0x21, /* 0248: t$!.r! */ - 0x72,0xFA,0x41,0xFB,0x75,0xAE,0x77,0x27, /* 0250: rAuw' */ - 0x88,0xD0,0x70,0x21,0x75,0xF2,0x72,0x21, /* 0258: p!ur! */ - 0x72,0xFA,0x75,0xFB,0x12,0x22,0x45,0x22, /* 0260: ru."E" */ - 0xF1,0x24,0x0C,0x41,0xD6,0x76,0x21,0xAF, /* 0268: $.Av! */ - 0x75,0x77,0x10,0x21,0x29,0x9E,0x77,0x75, /* 0270: uw.!)wu */ - 0xF2,0xD7,0x78,0x75,0xF2,0xD8,0x10,0x21, /* 0278: xu.! */ - 0x2B,0x97,0x23,0x4F,0x71,0xF9,0xD6,0x71, /* 0280: +#Oqq */ - 0x23,0x4F,0x24,0xF6,0xD5,0x62,0x0E,0x40, /* 0288: #O$b.@ */ - 0xD2,0x44,0xD3,0x41,0x72,0x24,0xF1,0x74, /* 0290: DAr$t */ - 0x24,0xF6,0x21,0xA6,0x72,0x21,0x72,0xFA, /* 0298: $!r!r */ - 0x78,0xFE,0x78,0xAE,0x7E,0x27,0x88,0xD0, /* 02A0: xx~' */ - 0x70,0x21,0x75,0xF2,0x72,0x21,0x72,0xFA, /* 02A8: p!ur!r */ - 0x78,0xFB,0x12,0x22,0x44,0x22,0xF1,0x2E, /* 02B0: x."D". */ - 0x0F,0x75,0xCD,0x22,0xAC,0x40,0xD6,0x7A, /* 02B8: .u"@z */ - 0xD7,0x77,0x22,0xA1,0x10,0x21,0x27,0x91, /* 02C0: w".!' */ - 0x40,0xD2,0x44,0xD3,0x41,0x72,0x24,0xF1, /* 02C8: @DAr$ */ - 0x74,0x24,0xF6,0xA7,0x11,0x72,0x21,0x72, /* 02D0: t$.r!r */ - 0xFA,0x41,0xFB,0x12,0x21,0x44,0x22,0xF1, /* 02D8: A.!D" */ - 0x16,0x22,0x41,0x22,0xF1,0x40,0xDA,0x2B, /* 02E0: ."A"@+ */ - 0x0F,0x75,0xCE,0x2B,0xAB,0x40,0xD0,0x40, /* 02E8: .u+@@ */ - 0xD2,0x40,0xD3,0x41,0xD0,0x70,0x22,0xA7, /* 02F0: @Ap" */ - 0x73,0x72,0x46,0x23,0xF6,0xD2,0xD3,0x10, /* 02F8: srF#. */ - 0x21,0x23,0x96,0x71,0x23,0x4F,0x24,0xF6, /* 0300: !#q#O$ */ - 0x21,0xFD,0xD8,0xD9,0x40,0x72,0x78,0x23, /* 0308: !@rx# */ - 0xF7,0xD2,0x73,0x79,0x23,0xF7,0xD3,0x2C, /* 0310: sy#, */ - 0x40,0x71,0xF9,0xC0,0xD0,0x62,0x06,0x28, /* 0318: @qb.( */ - 0x20,0x40,0xD6,0x40,0xD7,0x73,0x77,0xF9, /* 0320: @@sw */ - 0xC0,0xAB,0x73,0x77,0xF4,0xC0,0xA7,0x41, /* 0328: swA */ - 0x72,0x76,0x24,0xFF,0xF0,0xC0,0x27,0xA0, /* 0330: rv$' */ - 0x73,0x77,0xF9,0xC0,0xAB,0x73,0x77,0xF4, /* 0338: swsw */ - 0xC0,0xA7,0x41,0x72,0x76,0x24,0xFF,0xF0, /* 0340: Arv$ */ - 0xC0,0x25,0xAD,0x40,0x72,0x76,0x24,0xFF, /* 0348: %@rv$ */ - 0xD8,0x73,0x77,0x24,0xFF,0xD9,0x79,0x40, /* 0350: sw$y@ */ - 0xF9,0xC0,0xAC,0x79,0xC0,0xAA,0x41,0x78, /* 0358: yAx */ - 0x27,0x2F,0x2F,0x4F,0x24,0xFF,0xF0,0xC0, /* 0360: '..O$ */ - 0x21,0xAF,0x76,0xD0,0x2F,0x4F,0x70,0x24, /* 0368: !v.Op$ */ - 0xF2,0xF2,0x27,0x2F,0x2F,0x4F,0xF0,0x24, /* 0370: '..O$ */ - 0x94,0x40,0x76,0x27,0x2F,0x2F,0x4F,0x23, /* 0378: @v'..O# */ - 0xF7,0xD6,0x77,0x40,0x23,0xF7,0xD7,0x21, /* 0380: w@#! */ - 0x0D,0x76,0xDB,0x40,0x72,0x76,0x24,0xFF, /* 0388: .v@rv$ */ - 0xD8,0x73,0x77,0x24,0xFF,0xD9,0x78,0xD0, /* 0390: sw$x */ - 0x2F,0x4F,0x7B,0x24,0xF2,0xF2,0x70,0xF0, /* 0398: .O{$p */ - 0x21,0x9B,0x72,0xD6,0x73,0xD7,0x66,0x00, /* 03A0: !rsf. */ - 0x0A,0x75,0xDC,0x41,0x7C,0x24,0xF1,0x74, /* 03A8: .uA|$t */ - 0x24,0xFB,0xD4,0x10,0x28,0x93,0x62,0x23, /* 03B0: $.(b# */ - 0x0C,0x21,0xB1,0x22,0xF0,0x60,0xBE,0x41, /* 03B8: .!"`A */ - 0xD0,0x70,0xD1,0x75,0x73,0x23,0xFB,0x74, /* 03C0: pus#t */ - 0x71,0xF9,0x21,0xAB,0x70,0x74,0x71,0xF4, /* 03C8: q!ptq */ - 0xF9,0xA4,0x74,0x71,0xF4,0xD0,0x73,0x71, /* 03D0: tqsq */ - 0x73,0xF2,0x70,0x24,0xFA,0x71,0x70,0xF2, /* 03D8: sp$qp */ - 0xD1,0x70,0x70,0xF2,0xD0,0x61,0x00,0xB2, /* 03E0: ppa. */ - 0x22,0xF0,0x40,0xD3,0x40,0x72,0xE0,0x41, /* 03E8: "@@rA */ - 0xD3,0x73,0x21,0xAE,0x72,0x30,0x46,0x24, /* 03F0: s!r0F$ */ - 0xF1,0x72,0xE0,0x71,0x23,0x9B,0x71,0x31, /* 03F8: rq#q1 */ - 0x23,0x4F,0x24,0xF6,0x72,0x30,0xF2,0x72, /* 0400: #O$r0r */ - 0xE0,0x2C,0x40,0x71,0x31,0xF9,0xC0,0xD3, /* 0408: ,@q1 */ - 0x62,0x0F,0x22,0xF0,0x60,0xBE,0x74,0x27, /* 0410: b."`t' */ - 0x88,0xD0,0x73,0x21,0x34,0x30,0xD1,0x71, /* 0418: s!40q */ - 0x73,0x21,0x33,0xF2,0x70,0x73,0x21,0x35, /* 0420: s!3ps!5 */ - 0xF2,0x75,0x24,0xFA,0x73,0x21,0x34,0x30, /* 0428: u$s!40 */ - 0x75,0xF5,0x73,0x21,0x34,0xE0,0xB2,0x22, /* 0430: us!4" */ - 0xF0,0x71,0x21,0x34,0x30,0x71,0x21,0x33, /* 0438: q!40q!3 */ - 0xF2,0xF1,0x71,0xE1,0x71,0x21,0x34,0x30, /* 0440: qq!40 */ - 0x81,0x71,0x21,0x34,0xE0,0x22,0xF0,0x8A, /* 0448: q!4" */ - 0xF1,0x22,0x89,0x3C,0x00,0x00,0x07,0x00, /* 0450: "<.... */ - 0x00,0x08,0x00,0x00,0x00,0x81,0x00,0x80, /* 0458: ...... */ - 0xFF,0x7F,0xFF,0x7F,0xFA,0x8D,0xB6,0x8D, /* 0460:  */ - 0x7C,0x8D,0xFF,0x80,0x00,0x00,0x02,0x00, /* 0468: |.... */ - 0x01,0x00,0x6E,0x00,0xCC,0x4B,0xCD,0x4B, /* 0470: ..n.KK */ - 0x10,0x00,0x06,0x00,0x34,0x81,0x00,0x00, /* 0478: ....4.. */ - 0xFF,0x80,0x00,0x00,0xFF,0x80,0x00,0x00, /* 0480: .... */ - 0xFF,0x80,0xFF,0x80,0x62,0x8D,0x03,0x00, /* 0488: b.. */ - 0x3C,0x02,0x00,0x02,0x00,0x11,0x00,0xB2, /* 0490: <...... */ - 0x8D,0x02,0x00,0x12,0x00,0x7C,0x8D,0x02, /* 0498: ....|. */ - 0x00,0x13,0x00,0xFF,0x80,0x60,0xBC,0x21, /* 04A0: ...`! */ - 0xF5,0x00,0x00,0x00,0x00,0x22,0x4B,0x00, /* 04A8: ...."K. */ - 0x00,0x6C,0x3E,0xC6,0x02,0x06,0x00,0xC6, /* 04B0: .l>... */ - 0x83,0x00,0x00,0xFF,0x80,0x92,0x01,0xD0, /* 04B8: ... */ - 0x83,0x00,0x08,0x62,0x85,0xFF,0x80,0x62, /* 04C0: ..bb */ - 0x8D,0x04,0x00,0x04,0x00,0x20,0x02,0x00, /* 04C8: .... .. */ - 0x11,0x00,0xF6,0x8D,0x02,0x00,0x12,0x00, /* 04D0: ...... */ - 0xB6,0x8D,0x02,0x00,0x13,0x00,0xFF,0x80, /* 04D8: .... */ - 0x02,0x00,0x04,0x00,0xF2,0x8D,0x00,0x00, /* 04E0: ...... */ - 0x00,0x00,0x60,0xBC,0x21,0xF5,0x8A,0x34, /* 04E8: ..`!4 */ - 0x89,0x06,0xB2,0x8D,0x7C,0x8D,0xFF,0x80, /* 04F0: .| */ - 0x8A,0xCB,0x06,0x89,0x06,0xF6,0x8D,0xB6, /* 04F8: .. */ - 0x8D,0xFF,0x80,0x86,0xF1,0x22,0x8B,0xC4, /* 0500: " */ - 0xEC,0x22,0x85,0x60,0xBC,0x75,0xD3,0x73, /* 0508: "`us */ - 0x2A,0x36,0x2C,0x48,0xF4,0x75,0x2D,0x96, /* 0510: *6,Hu- */ - 0xA5,0x28,0x4E,0x75,0x2F,0x99,0x26,0x44, /* 0518: (Nu.&D */ - 0xD0,0x73,0x51,0x73,0x75,0x29,0x91,0xA5, /* 0520: sQsu) */ - 0x28,0x41,0x75,0x2E,0x9A,0x73,0x31,0xD0, /* 0528: (Au.s1 */ - 0x26,0x44,0xD1,0x40,0xD2,0x22,0x22,0x41, /* 0530: &D@""A */ - 0x21,0xFB,0x73,0x30,0x75,0x23,0x2F,0x24, /* 0538: !s0u#.$ */ - 0x96,0xA5,0x29,0x44,0x75,0x2D,0x90,0x2C, /* 0540: )Du-, */ - 0x48,0xD0,0x73,0x53,0x73,0x52,0x75,0x26, /* 0548: HsSsRu& */ - 0x97,0xA5,0x28,0x45,0x75,0x2C,0x90,0x73, /* 0550: (Eu,s */ - 0x33,0xD0,0x2C,0x48,0xD1,0x40,0xD2,0x22, /* 0558: 3,H@" */ - 0x22,0x41,0x21,0xFB,0x73,0x32,0x75,0x23, /* 0560: "A!s2u# */ - 0x2F,0x21,0x9C,0xA5,0x28,0x45,0x75,0x2A, /* 0568: .!(Eu* */ - 0x96,0x75,0x21,0x24,0x98,0x40,0xB4,0x22, /* 0570: u!$@" */ - 0xF0,0x03,0x00,0x02,0x00,0x01,0x00,0x00, /* 0578: ....... */ - 0x00,0xA4,0x00,0x71,0xD2,0x72,0x61,0x4F, /* 0580: ..qraO */ - 0x21,0xFB,0x44,0x24,0x24,0x2F,0x9A,0x22, /* 0588: !D$$." */ - 0xF0,0x60,0xBE,0x73,0x58,0xD0,0x41,0x74, /* 0590: `sXAt */ - 0x70,0x60,0x3E,0x24,0xFF,0xF0,0x21,0xA3, /* 0598: p`>$! */ - 0x70,0x30,0x74,0x70,0x30,0xF2,0x70,0xE0, /* 05A0: p0tp0p */ - 0x70,0x60,0x3E,0x74,0xF4,0x70,0x60,0xEE, /* 05A8: p`>tp` */ - 0xB2,0x22,0xF0,0x24,0xF2,0xB2,0x22,0xF0, /* 05B0: "$" */ - 0x60,0xBF,0x75,0xC0,0xA4,0x24,0x20,0x40, /* 05B8: `u$ @ */ - 0xD5,0x21,0x40,0x72,0x63,0x9B,0x73,0xE0, /* 05C0: !@rcs */ - 0x75,0x72,0x63,0x95,0x74,0xE0,0x73,0x30, /* 05C8: urcts0 */ - 0x24,0xF2,0xF4,0x21,0xA5,0x74,0x30,0x24, /* 05D0: $!t0$ */ - 0xF2,0xF4,0xAF,0x75,0xD0,0x2A,0x45,0x74, /* 05D8: u*Et */ - 0x30,0x72,0x24,0x28,0x2E,0x99,0x40,0xB1, /* 05E0: 0r$(.@ */ - 0x22,0xF0,0x41,0xB1,0x22,0xF0,0x60,0xBE, /* 05E8: "A"` */ - 0x73,0x58,0xD0,0x74,0x73,0x24,0x26,0x2A, /* 05F0: sXts$&* */ - 0x98,0x25,0xFA,0x70,0xE0,0x24,0xF2,0xF4, /* 05F8: %p$ */ - 0x21,0xA0,0x74,0x70,0xE1,0x74,0x70,0x60, /* 0600: !tptp` */ - 0xEE,0x70,0x31,0x70,0x60,0xEF,0x40,0xB2, /* 0608: p1p`@ */ - 0x22,0xF0,0x28,0x4E,0xB2,0x22,0xF0,0x72, /* 0610: "(N"r */ - 0x21,0x20,0x40,0xE0,0x71,0x23,0x2F,0x2C, /* 0618: ! @q#., */ - 0x99,0x22,0xF0,0x00,0x00,0x82,0x00,0x71, /* 0620: "...q */ - 0x58,0xD2,0x72,0x60,0x44,0x21,0xFB,0x41, /* 0628: Xr`D!A */ - 0x24,0x24,0x25,0x95,0x22,0xF0,0x20,0x43, /* 0630: $$%" C */ - 0x6F,0x70,0x79,0x72,0x69,0x67,0x68,0x74, /* 0638: opyright */ - 0x20,0x28,0x63,0x29,0x20,0x53,0x70,0x65, /* 0640: (c) Spe */ - 0x63,0x69,0x61,0x6C,0x69,0x78,0x20,0x49, /* 0648: cialix I */ - 0x6E,0x74,0x65,0x72,0x6E,0x61,0x74,0x69, /* 0650: nternati */ - 0x6F,0x6E,0x61,0x6C,0x20,0x4C,0x74,0x64, /* 0658: onal Ltd */ - 0x20,0x31,0x39,0x39,0x36,0x2D,0x31,0x39, /* 0660: 1996-19 */ - 0x39,0x39,0x2E,0x0D,0x0A,0x4A,0x45,0x54, /* 0668: 99...JET */ - 0x5F,0x5F,0x2E,0x42,0x49,0x4E,0x20,0x56, /* 0670: __.BIN V */ - 0x65,0x72,0x73,0x69,0x6F,0x6E,0x20,0x34, /* 0678: ersion 4 */ - 0x2E,0x30,0x2E,0x31,0x20,0x43,0x72,0x65, /* 0680: .0.1 Cre */ - 0x61,0x74,0x65,0x64,0x20,0x4A,0x61,0x6E, /* 0688: ated Jan */ - 0x20,0x31,0x39,0x20,0x32,0x30,0x30,0x30, /* 0690: 19 2000 */ - 0x20,0x40,0x20,0x31,0x34,0x3A,0x30,0x31, /* 0698: @ 14:01 */ - 0x3A,0x30,0x36,0x00,0x45,0x30,0x20,0xA2, /* 06A0: :06.E0 */ - 0x00,0x71,0x5A,0xD2,0x60,0x44,0x21,0xFB, /* 06A8: .qZ`D! */ - 0x72,0x42,0x24,0xFA,0x68,0x4F,0x21,0xFB, /* 06B0: rB$hO! */ - 0x72,0xE1,0x22,0xF0,0x20,0x60,0xBE,0x73, /* 06B8: r" `s */ - 0x5C,0xD1,0x40,0x71,0xE0,0x27,0x20,0x20, /* 06C0: \@q' */ - 0x40,0xD0,0x40,0x40,0x73,0x24,0x27,0x2F, /* 06C8: @@@s$'. */ - 0x9E,0x21,0x20,0x40,0xD0,0x40,0x27,0x2E, /* 06D0: ! @@'. */ - 0x20,0x40,0x73,0x24,0x27,0x2F,0x90,0x24, /* 06D8: @s$'.$ */ - 0x40,0x71,0x30,0x81,0x23,0xFB,0x71,0x60, /* 06E0: @q0#q` */ - 0x3E,0x71,0x30,0xE2,0x26,0x44,0x71,0x30, /* 06E8: >q0&Dq0 */ - 0xE1,0x73,0x22,0x2B,0x20,0x9D,0x71,0x30, /* 06F0: s"+ q0 */ - 0x23,0xFB,0x71,0x30,0xF1,0x41,0xF4,0xC0, /* 06F8: #q0A */ - 0x23,0xA9,0x71,0x60,0x34,0x73,0x24,0x28, /* 0700: #q`4s$( */ - 0x2A,0x9F,0x28,0x40,0x54,0xF1,0x2F,0x40, /* 0708: *(@T.@ */ - 0x24,0xF6,0x21,0xAC,0x41,0x71,0x27,0x37, /* 0710: $!Aq'7 */ - 0x40,0x24,0xFF,0xF0,0xC0,0xA5,0x71,0x27, /* 0718: @$q' */ - 0x36,0x21,0xA3,0x71,0x60,0x36,0x73,0x24, /* 0720: 6!q`6s$ */ - 0x28,0x27,0x90,0x73,0x22,0x2C,0x9C,0x0B, /* 0728: ('s",. */ - 0x73,0x22,0x24,0x29,0x9B,0x05,0x73,0x21, /* 0730: s"$).s! */ - 0x26,0x2C,0x90,0x21,0x20,0x40,0x30,0x41, /* 0738: &,! @0A */ - 0xF2,0x21,0x20,0x40,0xE0,0x60,0x04,0x00, /* 0740: ! @`.. */ - 0x00,0xFC,0x15,0x71,0x5C,0xD2,0x72,0x60, /* 0748: ..q\r` */ - 0x44,0x21,0xFB,0x41,0x24,0x23,0x23,0x91, /* 0750: D!A$## */ - 0x22,0xF0,0x20,0x60,0xBF,0x72,0x5D,0xD0, /* 0758: " `r] */ - 0x70,0x60,0x3F,0x31,0x21,0xA1,0x40,0x23, /* 0760: p`?1!@# */ - 0x2D,0x20,0x49,0x70,0x60,0x3F,0x31,0x21, /* 0768: - Ip`?1! */ - 0xFA,0x72,0x23,0x2E,0x26,0x9A,0x07,0x29, /* 0770: r#.&.) */ - 0x4C,0x72,0x23,0x2E,0x26,0x92,0x72,0x22, /* 0778: Lr#.&r" */ - 0x2D,0x2D,0x9A,0x62,0x0B,0x24,0xF2,0x58, /* 0780: --b.$X */ - 0x71,0x23,0x2C,0x28,0x92,0x71,0x22,0x2E, /* 0788: q#,(q". */ - 0x25,0x99,0x40,0x27,0x28,0x20,0x40,0xE0, /* 0790: %@'( @ */ - 0x61,0x0B,0x20,0x60,0xBF,0x41,0x73,0x23, /* 0798: a. `As# */ - 0x28,0x26,0xE6,0x43,0x73,0x23,0x28,0x26, /* 07A0: (&Cs#(& */ - 0xE8,0x40,0x73,0x23,0x28,0x27,0xE4,0x42, /* 07A8: @s#('B */ - 0x73,0x23,0x28,0x26,0xE8,0x40,0x73,0x23, /* 07B0: s#(&@s# */ - 0x28,0x27,0xE4,0x41,0x73,0x23,0x28,0x26, /* 07B8: ('As#(& */ - 0xE8,0x40,0x73,0x23,0x28,0x27,0xE4,0x40, /* 07C0: @s#('@ */ - 0x73,0x23,0x28,0x26,0xE8,0x40,0x73,0x23, /* 07C8: s#(&@s# */ - 0x28,0x27,0xE4,0x43,0x73,0x23,0x28,0x26, /* 07D0: ('Cs#(& */ - 0xE8,0x40,0x73,0x23,0x28,0x27,0xEA,0x42, /* 07D8: @s#('B */ - 0x73,0x23,0x28,0x26,0xE8,0x40,0x73,0x23, /* 07E0: s#(&@s# */ - 0x28,0x27,0xEA,0x41,0x73,0x23,0x28,0x26, /* 07E8: ('As#(& */ - 0xE8,0x40,0x73,0x23,0x28,0x27,0xEA,0x40, /* 07F0: @s#('@ */ - 0x73,0x23,0x28,0x26,0xE8,0x40,0x73,0x23, /* 07F8: s#(&@s# */ - 0x28,0x27,0xEA,0x44,0x73,0x23,0x28,0x26, /* 0800: ('Ds#(& */ - 0xE8,0x2A,0x48,0x73,0x23,0x28,0x26,0xED, /* 0808: *Hs#(& */ - 0x40,0x73,0x23,0x28,0x26,0xEE,0x40,0x73, /* 0810: @s#(&@s */ - 0x23,0x28,0x26,0xEF,0x41,0x73,0x23,0x28, /* 0818: #(&As#( */ - 0x26,0xEC,0x43,0x73,0x23,0x28,0x26,0xE6, /* 0820: &Cs#(& */ - 0x43,0x73,0x23,0x28,0x26,0xE6,0x43,0x73, /* 0828: Cs#(&Cs */ - 0x23,0x28,0x26,0xE6,0x44,0x73,0x23,0x28, /* 0830: #(&Ds#( */ - 0x26,0xE8,0x2A,0x48,0x73,0x23,0x28,0x26, /* 0838: &*Hs#(& */ - 0xED,0x22,0x40,0x73,0x23,0x28,0x26,0xEE, /* 0840: "@s#(& */ - 0x40,0x73,0x23,0x28,0x26,0xEF,0x43,0x73, /* 0848: @s#(&Cs */ - 0x23,0x28,0x26,0xE6,0x43,0x73,0x23,0x28, /* 0850: #(&Cs#( */ - 0x26,0xE6,0x43,0x73,0x23,0x28,0x26,0xE6, /* 0858: &Cs#(& */ - 0x40,0x73,0x23,0x28,0x26,0xEC,0x40,0xD0, /* 0860: @s#(&@ */ - 0x43,0x73,0x23,0x28,0x26,0xE6,0x70,0x81, /* 0868: Cs#(&p */ - 0xD0,0x21,0x40,0x70,0xF9,0xA2,0x60,0x00, /* 0870: !@p`. */ - 0x44,0x73,0x23,0x28,0x26,0xE8,0x40,0x73, /* 0878: Ds#(&@s */ - 0x23,0x28,0x26,0xED,0x22,0x40,0x73,0x23, /* 0880: #(&"@s# */ - 0x28,0x26,0xEE,0x43,0x73,0x23,0x28,0x26, /* 0888: (&Cs#(& */ - 0xEF,0x41,0x73,0x23,0x28,0x26,0xEC,0x43, /* 0890: As#(&C */ - 0x73,0x23,0x28,0x26,0xE6,0x43,0x73,0x23, /* 0898: s#(&Cs# */ - 0x28,0x26,0xE6,0x43,0x73,0x23,0x28,0x26, /* 08A0: (&Cs#(& */ - 0xE6,0x43,0x73,0x23,0x28,0x26,0xE6,0x40, /* 08A8: Cs#(&@ */ - 0x73,0x23,0x28,0x26,0xEC,0x40,0x73,0x23, /* 08B0: s#(&@s# */ - 0x28,0x26,0xE6,0x40,0x73,0x23,0x28,0x26, /* 08B8: (&@s#(& */ - 0xE8,0x26,0x44,0x72,0x23,0x2D,0x21,0x98, /* 08C0: &Dr#-! */ - 0xB1,0x22,0xF0,0x60,0xBE,0x40,0xD0,0x74, /* 08C8: "`@t */ - 0x31,0xD1,0x74,0x87,0xF1,0x74,0x32,0x27, /* 08D0: 1tt2' */ - 0x2F,0x2F,0x4F,0x24,0xF6,0x89,0x23,0xFB, /* 08D8: ..O$# */ - 0x74,0x87,0xF1,0x71,0x23,0x28,0x27,0xEF, /* 08E0: tq#(' */ - 0x74,0x87,0xF1,0x43,0x24,0xF6,0x71,0x23, /* 08E8: tC$q# */ - 0x28,0x26,0xE8,0x71,0x23,0x28,0x26,0x3C, /* 08F0: (&q#(&< */ - 0x2F,0x4F,0x24,0xF6,0x74,0x21,0x53,0xF1, /* 08F8: .O$t!S */ - 0x24,0xF6,0x25,0xFA,0xD1,0x28,0x40,0x24, /* 0900: $%(@$ */ - 0xF6,0xA5,0x70,0x44,0x24,0xFB,0xD0,0x71, /* 0908: pD$q */ - 0x22,0x40,0x24,0xF6,0xA6,0x70,0x24,0x40, /* 0910: "@$p$@ */ - 0x24,0xFB,0xD0,0x71,0x21,0x40,0x24,0xF6, /* 0918: $q!@$ */ - 0xA6,0x70,0x22,0x40,0x24,0xFB,0xD0,0x71, /* 0920: p"@$q */ - 0x24,0x40,0x24,0xF6,0xA5,0x70,0x42,0x24, /* 0928: $@$pB$ */ - 0xFB,0xD0,0x70,0x74,0x5C,0x23,0xFB,0xB2, /* 0930: pt\# */ - 0x22,0xF0,0x60,0xBD,0x40,0xD2,0x72,0x44, /* 0938: "`@rD */ - 0xF8,0x75,0x23,0x28,0x27,0xEF,0x75,0x74, /* 0940: u#('ut */ - 0x61,0x25,0x90,0x72,0x21,0xA3,0x75,0x23, /* 0948: a%r!u# */ - 0x28,0x27,0x3F,0x2F,0x4F,0x24,0xF6,0x44, /* 0950: ('?.O$D */ - 0x24,0xF0,0xD1,0x75,0x23,0x28,0x27,0x3F, /* 0958: $u#('? */ - 0x0E,0x75,0x23,0x28,0x27,0x3F,0x47,0x24, /* 0960: .u#('?G$ */ - 0xF6,0xD1,0x75,0x23,0x28,0x27,0x3F,0x71, /* 0968: u#('?q */ - 0x45,0xF4,0xA7,0x40,0x75,0x23,0x28,0x24, /* 0970: E@u#($ */ - 0xEB,0x07,0x28,0x40,0x75,0x23,0x28,0x24, /* 0978: .(@u#($ */ - 0xEB,0x22,0x47,0x75,0x23,0x28,0x27,0xEE, /* 0980: "Gu#(' */ - 0x40,0xD0,0x70,0x75,0x23,0x28,0x26,0xE8, /* 0988: @pu#(& */ - 0x70,0xC0,0x22,0xA8,0x71,0x45,0xF4,0xC0, /* 0990: p"qE */ - 0x22,0xA2,0x40,0x75,0x23,0x28,0x27,0xE6, /* 0998: "@u#(' */ - 0x24,0x44,0x75,0x23,0x28,0x24,0x30,0x2F, /* 09A0: $Du#($0. */ - 0x4F,0x24,0xF6,0xF9,0xA8,0x24,0x42,0x75, /* 09A8: O$$Bu */ - 0x23,0x28,0x27,0xE2,0x07,0x21,0x4F,0x75, /* 09B0: #('.!Ou */ - 0x23,0x28,0x27,0xE2,0x70,0x81,0xD0,0x44, /* 09B8: #('pD */ - 0x70,0xF9,0xA3,0x20,0x63,0x04,0x40,0x75, /* 09C0: p c.@u */ - 0x23,0x28,0x21,0xE8,0x40,0x75,0x23,0x28, /* 09C8: #(!@u#( */ - 0x26,0xEC,0x40,0x75,0x23,0x28,0x26,0xED, /* 09D0: &@u#(& */ - 0x75,0x23,0x28,0x20,0x35,0x2F,0x4F,0x24, /* 09D8: u#( 5.O$ */ - 0xF6,0xAD,0x75,0x23,0x28,0x20,0x35,0x2F, /* 09E0: u#( 5. */ - 0x4F,0x24,0xF6,0xA3,0x20,0x60,0x03,0x72, /* 09E8: O$ `.r */ - 0x81,0xD2,0x42,0x72,0xF9,0xA2,0x6B,0x06, /* 09F0: Brk. */ - 0xB3,0x22,0xF0,0x60,0xBB,0x76,0x23,0x59, /* 09F8: "`v#Y */ - 0xD4,0x21,0x28,0x40,0xD1,0x41,0x27,0x28, /* 0A00: !(@A'( */ - 0x28,0x40,0xE0,0x74,0x62,0x33,0x87,0xF1, /* 0A08: (@tb3 */ - 0x81,0x74,0x62,0x33,0x87,0x23,0xFB,0x41, /* 0A10: tb3#A */ - 0x27,0x28,0x28,0x40,0xE0,0x71,0x21,0x37, /* 0A18: '((@q!7 */ - 0xD1,0x40,0x27,0x28,0x28,0x40,0xE0,0x71, /* 0A20: @'((@q */ - 0x57,0xF1,0x25,0xFA,0xD0,0xAD,0x70,0x74, /* 0A28: W%Эpt */ - 0xFA,0x30,0xD2,0x71,0x76,0x21,0x21,0x2D, /* 0A30: 0qv!!- */ - 0x99,0x62,0xA0,0x71,0x31,0xD3,0x71,0x34, /* 0A38: bq1q4 */ - 0xD2,0x70,0xC0,0x25,0xA1,0x72,0x41,0x24, /* 0A40: p%rA$ */ - 0xF6,0xC0,0x24,0xAA,0x71,0x8D,0xF1,0x71, /* 0A48: $qq */ - 0x56,0xF1,0xF4,0x24,0xA1,0x72,0x41,0x24, /* 0A50: V$rA$ */ - 0xFB,0x25,0xFA,0xD2,0x71,0xE4,0x71,0x87, /* 0A58: %qq */ - 0xF1,0x71,0x32,0x27,0x2F,0x2F,0x4F,0x24, /* 0A60: q2'..O$ */ - 0xF6,0x89,0x23,0xFB,0x71,0x87,0xF1,0x73, /* 0A68: #qs */ - 0x23,0x28,0x27,0xEF,0x71,0x87,0xF1,0x43, /* 0A70: #('qC */ - 0x24,0xF6,0x73,0x23,0x28,0x26,0xE8,0x73, /* 0A78: $s#(&s */ - 0x23,0x28,0x20,0x36,0x2F,0x4F,0x24,0xF6, /* 0A80: #( 6.O$ */ - 0x44,0x24,0xFB,0x73,0x23,0x28,0x20,0xE6, /* 0A88: D$s#( */ - 0x41,0x71,0x22,0x89,0x23,0xFB,0x72,0x21, /* 0A90: Aq"#r! */ - 0x40,0x24,0xF6,0x2E,0xAC,0x72,0x28,0x40, /* 0A98: @$.r(@ */ - 0x24,0xF6,0x24,0xAA,0x71,0x87,0xF1,0x71, /* 0AA0: $$qq */ - 0x32,0x27,0x2F,0x2F,0x4F,0x24,0xF6,0x89, /* 0AA8: 2'..O$ */ - 0x23,0xFB,0x71,0x87,0xF1,0x73,0x23,0x28, /* 0AB0: #qs#( */ - 0x27,0xEF,0x71,0x87,0xF1,0x43,0x24,0xF6, /* 0AB8: 'qC$ */ - 0x73,0x23,0x28,0x26,0xE8,0x73,0x23,0x28, /* 0AC0: s#(&s#( */ - 0x20,0x35,0x2F,0x4F,0x24,0xF6,0xC0,0x2B, /* 0AC8: 5.O$+ */ - 0xA5,0x40,0xD0,0x21,0x20,0x40,0x71,0x76, /* 0AD0: @! @qv */ - 0x2D,0x28,0x9F,0x22,0x42,0x73,0x23,0x28, /* 0AD8: -("Bs#( */ - 0x20,0xE5,0x72,0x22,0x40,0x24,0xFB,0x6C, /* 0AE0: r"@$l */ - 0x4F,0x24,0xF6,0xD2,0x29,0x08,0x41,0x71, /* 0AE8: O$).Aq */ - 0x55,0xF1,0x71,0x8B,0xF1,0xFC,0x2F,0x4F, /* 0AF0: Uq.O */ - 0x24,0xF6,0x24,0x40,0xF0,0x24,0xFF,0xF0, /* 0AF8: $$@$ */ - 0xC0,0x28,0xA3,0x71,0x87,0xF1,0x71,0x32, /* 0B00: (qq2 */ - 0x27,0x2F,0x2F,0x4F,0x24,0xF6,0x89,0x23, /* 0B08: '..O$# */ - 0xFB,0x71,0x87,0xF1,0x73,0x23,0x28,0x27, /* 0B10: qs#(' */ - 0xEF,0x71,0x87,0xF1,0x43,0x24,0xF6,0x73, /* 0B18: qC$s */ - 0x23,0x28,0x26,0xE8,0x73,0x23,0x28,0x20, /* 0B20: #(&s#( */ - 0x35,0x2F,0x4F,0x24,0xF6,0xC0,0x25,0xA6, /* 0B28: 5.O$% */ - 0x71,0x21,0x58,0xF1,0x48,0x24,0xF6,0x21, /* 0B30: q!XH$! */ - 0xA9,0x21,0x20,0x40,0xD0,0x21,0x20,0x40, /* 0B38: ! @! @ */ - 0x71,0x76,0x2D,0x22,0x95,0x22,0x41,0x73, /* 0B40: qv-""As */ - 0x23,0x28,0x20,0xE5,0x72,0x66,0x4F,0x24, /* 0B48: #( rfO$ */ - 0xF6,0xD2,0x71,0x23,0x81,0xF1,0x28,0x40, /* 0B50: q#(@ */ - 0x24,0xF6,0xAE,0x21,0x20,0x20,0x40,0xD0, /* 0B58: $! @ */ - 0x21,0x20,0x20,0x40,0x71,0x76,0x2D,0x20, /* 0B60: ! @qv- */ - 0x91,0x71,0x21,0x58,0xF1,0x24,0x40,0x24, /* 0B68: q!X$@$ */ - 0xF6,0xAE,0x22,0x20,0x20,0x40,0xD0,0x22, /* 0B70: " @" */ - 0x20,0x20,0x40,0x71,0x76,0x2C,0x2E,0x9A, /* 0B78: @qv,. */ - 0x72,0x61,0x4F,0x24,0xF6,0xD2,0x72,0x71, /* 0B80: raO$rq */ - 0xE4,0x71,0x22,0x50,0xF1,0x21,0x40,0x24, /* 0B88: q"P!@$ */ - 0xF6,0x22,0xA7,0x71,0x87,0xF1,0x71,0x32, /* 0B90: "qq2 */ - 0x27,0x2F,0x2F,0x4F,0x24,0xF6,0x89,0x23, /* 0B98: '..O$# */ - 0xFB,0x71,0x87,0xF1,0x73,0x23,0x28,0x27, /* 0BA0: qs#(' */ - 0xEF,0x71,0x87,0xF1,0x43,0x24,0xF6,0x73, /* 0BA8: qC$s */ - 0x23,0x28,0x26,0xE8,0x71,0x76,0x23,0x27, /* 0BB0: #(&qv#' */ - 0x21,0x98,0x61,0x24,0x0E,0x60,0xBB,0x77, /* 0BB8: !a$.`w */ - 0x31,0xD1,0x77,0x34,0xD2,0x77,0x87,0xF1, /* 0BC0: 1w4w */ - 0x77,0x32,0x27,0x2F,0x2F,0x4F,0x24,0xF6, /* 0BC8: w2'..O$ */ - 0x89,0x23,0xFB,0x77,0x87,0xF1,0x71,0x23, /* 0BD0: #wq# */ - 0x28,0x27,0xEF,0x77,0x87,0xF1,0x43,0x24, /* 0BD8: ('wC$ */ - 0xF6,0x71,0x23,0x28,0x26,0xE8,0x77,0x21, /* 0BE0: q#(&w! */ - 0x8F,0xF1,0x23,0xA8,0x77,0x32,0x27,0x2F, /* 0BE8: #w2'. */ - 0x2F,0x4F,0x24,0xF6,0xD0,0x77,0x87,0xF1, /* 0BF0: .O$w */ - 0x43,0xF9,0x21,0xA2,0x70,0x21,0x8D,0xF1, /* 0BF8: C!p! */ - 0x81,0x70,0x21,0x8D,0x23,0xFB,0x22,0x44, /* 0C00: p!#"D */ - 0x71,0x23,0x28,0x27,0xEF,0x0E,0x70,0x5E, /* 0C08: q#('.p^ */ - 0xF1,0x81,0x70,0x5E,0x23,0xFB,0x48,0x71, /* 0C10: p^#Hq */ - 0x23,0x28,0x27,0xEF,0x40,0x77,0x21,0x8F, /* 0C18: #('@w! */ - 0x23,0xFB,0x25,0x00,0x77,0x21,0x58,0xF1, /* 0C20: #%.w!X */ - 0x42,0x24,0xF6,0xAB,0x71,0x23,0x28,0x20, /* 0C28: B$q#( */ - 0x3B,0x44,0x24,0xF6,0xC0,0x23,0xA6,0x77, /* 0C30: ;D$#w */ - 0x21,0x59,0xF1,0x21,0x40,0x24,0xF6,0xAB, /* 0C38: !Y!@$ */ - 0x71,0x23,0x28,0x26,0x3C,0x24,0x40,0x24, /* 0C40: q#(&<$@$ */ - 0xF6,0x22,0xA2,0x77,0x21,0x58,0xF1,0x21, /* 0C48: "w!X! */ - 0x40,0x24,0xF6,0xAA,0x71,0x23,0x28,0x26, /* 0C50: @$q#(& */ - 0x3C,0x21,0x40,0x24,0xF6,0xAF,0x72,0x22, /* 0C58: Au!x */ - 0x42,0x24,0xF6,0xAA,0x75,0x21,0x3C,0x41, /* 1F78: B$u!.O */ - 0x24,0xF6,0xD7,0x7A,0x77,0xF9,0xA3,0x77, /* 2030: $zww */ - 0xDB,0x02,0x7A,0xDB,0x77,0x7B,0x2F,0x4F, /* 2038: .zw{.O */ - 0x24,0xF6,0xFC,0x2F,0x4F,0x24,0xF6,0xD7, /* 2040: $.O$ */ - 0x7B,0x2F,0x4F,0x24,0xF6,0x41,0xF4,0xDB, /* 2048: {.O$A */ - 0x41,0x22,0x40,0x7B,0x24,0xFF,0xF0,0xC0, /* 2050: A"@{$ */ - 0x23,0x2A,0xA3,0x7B,0x42,0x21,0xFB,0x28, /* 2058: #*{B!( */ - 0xF1,0xF6,0x23,0x28,0x00,0x20,0x23,0x26, /* 2060: #(. #& */ - 0x03,0x20,0x23,0x24,0x06,0x20,0x23,0x22, /* 2068: . #$. #" */ - 0x09,0x20,0x23,0x20,0x0C,0x20,0x22,0x2E, /* 2070: . # . ". */ - 0x0F,0x20,0x22,0x2D,0x02,0x20,0x22,0x2B, /* 2078: . "-. "+ */ - 0x05,0x20,0x22,0x29,0x08,0x20,0x22,0x27, /* 2080: . "). "' */ - 0x0B,0x20,0x22,0x25,0x0E,0x20,0x22,0x24, /* 2088: . "%. "$ */ - 0x01,0x20,0x22,0x22,0x04,0x20,0x22,0x20, /* 2090: . "". " */ - 0x07,0x20,0x21,0x2E,0x0A,0x20,0x21,0x2C, /* 2098: . !.. !, */ - 0x0D,0x20,0x21,0x2B,0x00,0x20,0x21,0x29, /* 20A0: . !+. !) */ - 0x03,0x20,0x21,0x27,0x06,0x20,0x21,0x25, /* 20A8: . !'. !% */ - 0x09,0x20,0x21,0x23,0x0C,0x20,0x21,0x21, /* 20B0: . !#. !! */ - 0x0F,0x20,0x21,0x20,0x02,0x20,0x2E,0x06, /* 20B8: . ! . .. */ - 0x20,0x20,0x2C,0x09,0x20,0x20,0x2A,0x0C, /* 20C0: ,. *. */ - 0x20,0x20,0x28,0x0F,0x20,0x20,0x27,0x02, /* 20C8: (. '. */ - 0x20,0x20,0x25,0x05,0x20,0x20,0x23,0x08, /* 20D0: %. #. */ - 0x20,0x20,0x21,0x0B,0x20,0x20,0x78,0xDB, /* 20D8: !. x */ - 0x78,0x81,0xD8,0x70,0x23,0x28,0x26,0x32, /* 20E0: xp#(&2 */ - 0x2F,0x4F,0x24,0xF6,0x7B,0x2F,0x4F,0x24, /* 20E8: .O${.O$ */ - 0xF6,0x75,0x2B,0x50,0xF2,0x23,0xFB,0x78, /* 20F0: u+P#x */ - 0xDB,0x78,0x81,0xD8,0x70,0x23,0x28,0x26, /* 20F8: xp#(& */ - 0x32,0x2F,0x4F,0x24,0xF6,0x7B,0x2F,0x4F, /* 2100: 2.O${.O */ - 0x24,0xF6,0x75,0x2B,0x50,0xF2,0x23,0xFB, /* 2108: $u+P# */ - 0x78,0xDB,0x78,0x81,0xD8,0x70,0x23,0x28, /* 2110: xxp#( */ - 0x26,0x32,0x2F,0x4F,0x24,0xF6,0x7B,0x2F, /* 2118: &2.O${. */ - 0x4F,0x24,0xF6,0x75,0x2B,0x50,0xF2,0x23, /* 2120: O$u+P# */ - 0xFB,0x78,0xDB,0x78,0x81,0xD8,0x70,0x23, /* 2128: xxp# */ - 0x28,0x26,0x32,0x2F,0x4F,0x24,0xF6,0x7B, /* 2130: (&2.O${ */ - 0x2F,0x4F,0x24,0xF6,0x75,0x2B,0x50,0xF2, /* 2138: .O$u+P */ - 0x23,0xFB,0x78,0xDB,0x78,0x81,0xD8,0x70, /* 2140: #xxp */ - 0x23,0x28,0x26,0x32,0x2F,0x4F,0x24,0xF6, /* 2148: #(&2.O$ */ - 0x7B,0x2F,0x4F,0x24,0xF6,0x75,0x2B,0x50, /* 2150: {.O$u+P */ - 0xF2,0x23,0xFB,0x78,0xDB,0x78,0x81,0xD8, /* 2158: #xx */ - 0x70,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 2160: p#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x75,0x2B, /* 2168: {.O$u+ */ - 0x50,0xF2,0x23,0xFB,0x78,0xDB,0x78,0x81, /* 2170: P#xx */ - 0xD8,0x70,0x23,0x28,0x26,0x32,0x2F,0x4F, /* 2178: p#(&2.O */ - 0x24,0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x75, /* 2180: ${.O$u */ - 0x2B,0x50,0xF2,0x23,0xFB,0x78,0xDB,0x78, /* 2188: +P#xx */ - 0x81,0xD8,0x70,0x23,0x28,0x26,0x32,0x2F, /* 2190: p#(&2. */ - 0x4F,0x24,0xF6,0x7B,0x2F,0x4F,0x24,0xF6, /* 2198: O${.O$ */ - 0x75,0x2B,0x50,0xF2,0x23,0xFB,0x78,0xDB, /* 21A0: u+P#x */ - 0x78,0x81,0xD8,0x70,0x23,0x28,0x26,0x32, /* 21A8: xp#(&2 */ - 0x2F,0x4F,0x24,0xF6,0x7B,0x2F,0x4F,0x24, /* 21B0: .O${.O$ */ - 0xF6,0x75,0x2B,0x50,0xF2,0x23,0xFB,0x78, /* 21B8: u+P#x */ - 0xDB,0x78,0x81,0xD8,0x70,0x23,0x28,0x26, /* 21C0: xp#(& */ - 0x32,0x2F,0x4F,0x24,0xF6,0x7B,0x2F,0x4F, /* 21C8: 2.O${.O */ - 0x24,0xF6,0x75,0x2B,0x50,0xF2,0x23,0xFB, /* 21D0: $u+P# */ - 0x78,0xDB,0x78,0x81,0xD8,0x70,0x23,0x28, /* 21D8: xxp#( */ - 0x26,0x32,0x2F,0x4F,0x24,0xF6,0x7B,0x2F, /* 21E0: &2.O${. */ - 0x4F,0x24,0xF6,0x75,0x2B,0x50,0xF2,0x23, /* 21E8: O$u+P# */ - 0xFB,0x78,0xDB,0x78,0x81,0xD8,0x70,0x23, /* 21F0: xxp# */ - 0x28,0x26,0x32,0x2F,0x4F,0x24,0xF6,0x7B, /* 21F8: (&2.O${ */ - 0x2F,0x4F,0x24,0xF6,0x75,0x2B,0x50,0xF2, /* 2200: .O$u+P */ - 0x23,0xFB,0x78,0xDB,0x78,0x81,0xD8,0x70, /* 2208: #xxp */ - 0x23,0x28,0x26,0x32,0x2F,0x4F,0x24,0xF6, /* 2210: #(&2.O$ */ - 0x7B,0x2F,0x4F,0x24,0xF6,0x75,0x2B,0x50, /* 2218: {.O$u+P */ - 0xF2,0x23,0xFB,0x78,0xDB,0x78,0x81,0xD8, /* 2220: #xx */ - 0x70,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 2228: p#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x75,0x2B, /* 2230: {.O$u+ */ - 0x50,0xF2,0x23,0xFB,0x78,0xDB,0x78,0x81, /* 2238: P#xx */ - 0xD8,0x70,0x23,0x28,0x26,0x32,0x2F,0x4F, /* 2240: p#(&2.O */ - 0x24,0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x75, /* 2248: ${.O$u */ - 0x2B,0x50,0xF2,0x23,0xFB,0x78,0xDB,0x78, /* 2250: +P#xx */ - 0x81,0xD8,0x70,0x23,0x28,0x26,0x32,0x2F, /* 2258: p#(&2. */ - 0x4F,0x24,0xF6,0x7B,0x2F,0x4F,0x24,0xF6, /* 2260: O${.O$ */ - 0x75,0x2B,0x50,0xF2,0x23,0xFB,0x78,0xDB, /* 2268: u+P#x */ - 0x78,0x81,0xD8,0x70,0x23,0x28,0x26,0x32, /* 2270: xp#(&2 */ - 0x2F,0x4F,0x24,0xF6,0x7B,0x2F,0x4F,0x24, /* 2278: .O${.O$ */ - 0xF6,0x75,0x2B,0x50,0xF2,0x23,0xFB,0x78, /* 2280: u+P#x */ - 0xDB,0x78,0x81,0xD8,0x70,0x23,0x28,0x26, /* 2288: xp#(& */ - 0x32,0x2F,0x4F,0x24,0xF6,0x7B,0x2F,0x4F, /* 2290: 2.O${.O */ - 0x24,0xF6,0x75,0x2B,0x50,0xF2,0x23,0xFB, /* 2298: $u+P# */ - 0x78,0xDB,0x78,0x81,0xD8,0x70,0x23,0x28, /* 22A0: xxp#( */ - 0x26,0x32,0x2F,0x4F,0x24,0xF6,0x7B,0x2F, /* 22A8: &2.O${. */ - 0x4F,0x24,0xF6,0x75,0x2B,0x50,0xF2,0x23, /* 22B0: O$u+P# */ - 0xFB,0x78,0xDB,0x78,0x81,0xD8,0x70,0x23, /* 22B8: xxp# */ - 0x28,0x26,0x32,0x2F,0x4F,0x24,0xF6,0x7B, /* 22C0: (&2.O${ */ - 0x2F,0x4F,0x24,0xF6,0x75,0x2B,0x50,0xF2, /* 22C8: .O$u+P */ - 0x23,0xFB,0x78,0xDB,0x78,0x81,0xD8,0x70, /* 22D0: #xxp */ - 0x23,0x28,0x26,0x32,0x2F,0x4F,0x24,0xF6, /* 22D8: #(&2.O$ */ - 0x7B,0x2F,0x4F,0x24,0xF6,0x75,0x2B,0x50, /* 22E0: {.O$u+P */ - 0xF2,0x23,0xFB,0x78,0xDB,0x78,0x81,0xD8, /* 22E8: #xx */ - 0x70,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 22F0: p#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x75,0x2B, /* 22F8: {.O$u+ */ - 0x50,0xF2,0x23,0xFB,0x78,0xDB,0x78,0x81, /* 2300: P#xx */ - 0xD8,0x70,0x23,0x28,0x26,0x32,0x2F,0x4F, /* 2308: p#(&2.O */ - 0x24,0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x75, /* 2310: ${.O$u */ - 0x2B,0x50,0xF2,0x23,0xFB,0x78,0xDB,0x78, /* 2318: +P#xx */ - 0x81,0xD8,0x70,0x23,0x28,0x26,0x32,0x2F, /* 2320: p#(&2. */ - 0x4F,0x24,0xF6,0x7B,0x2F,0x4F,0x24,0xF6, /* 2328: O${.O$ */ - 0x75,0x2B,0x50,0xF2,0x23,0xFB,0x78,0xDB, /* 2330: u+P#x */ - 0x78,0x81,0xD8,0x70,0x23,0x28,0x26,0x32, /* 2338: xp#(&2 */ - 0x2F,0x4F,0x24,0xF6,0x7B,0x2F,0x4F,0x24, /* 2340: .O${.O$ */ - 0xF6,0x75,0x2B,0x50,0xF2,0x23,0xFB,0x78, /* 2348: u+P#x */ - 0xDB,0x78,0x81,0xD8,0x70,0x23,0x28,0x26, /* 2350: xp#(& */ - 0x32,0x2F,0x4F,0x24,0xF6,0x7B,0x2F,0x4F, /* 2358: 2.O${.O */ - 0x24,0xF6,0x75,0x2B,0x50,0xF2,0x23,0xFB, /* 2360: $u+P# */ - 0x78,0xDB,0x78,0x81,0xD8,0x70,0x23,0x28, /* 2368: xxp#( */ - 0x26,0x32,0x2F,0x4F,0x24,0xF6,0x7B,0x2F, /* 2370: &2.O${. */ - 0x4F,0x24,0xF6,0x75,0x2B,0x50,0xF2,0x23, /* 2378: O$u+P# */ - 0xFB,0x78,0xDB,0x78,0x81,0xD8,0x70,0x23, /* 2380: xxp# */ - 0x28,0x26,0x32,0x2F,0x4F,0x24,0xF6,0x7B, /* 2388: (&2.O${ */ - 0x2F,0x4F,0x24,0xF6,0x75,0x2B,0x50,0xF2, /* 2390: .O$u+P */ - 0x23,0xFB,0x78,0xDB,0x78,0x81,0xD8,0x70, /* 2398: #xxp */ - 0x23,0x28,0x26,0x32,0x2F,0x4F,0x24,0xF6, /* 23A0: #(&2.O$ */ - 0x7B,0x2F,0x4F,0x24,0xF6,0x75,0x2B,0x50, /* 23A8: {.O$u+P */ - 0xF2,0x23,0xFB,0x78,0xDB,0x78,0x81,0xD8, /* 23B0: #xx */ - 0x70,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 23B8: p#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x75,0x2B, /* 23C0: {.O$u+ */ - 0x50,0xF2,0x23,0xFB,0x78,0xDB,0x78,0x81, /* 23C8: P#xx */ - 0xD8,0x70,0x23,0x28,0x26,0x32,0x2F,0x4F, /* 23D0: p#(&2.O */ - 0x24,0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x75, /* 23D8: ${.O$u */ - 0x2B,0x50,0xF2,0x23,0xFB,0x78,0xDB,0x78, /* 23E0: +P#xx */ - 0x81,0xD8,0x70,0x23,0x28,0x26,0x32,0x2F, /* 23E8: p#(&2. */ - 0x4F,0x24,0xF6,0x7B,0x2F,0x4F,0x24,0xF6, /* 23F0: O${.O$ */ - 0x75,0x2B,0x50,0xF2,0x23,0xFB,0x78,0x75, /* 23F8: u+P#xu */ - 0x55,0x23,0xFB,0x77,0x75,0x21,0x3F,0xF2, /* 2400: U#wu!? */ - 0x75,0x21,0xEF,0x77,0x77,0x60,0x8F,0xD7, /* 2408: u!ww` */ - 0x2F,0x4F,0x24,0xF6,0x21,0xA2,0x70,0x23, /* 2410: .O$!p# */ - 0x28,0x26,0x32,0x77,0x77,0x60,0x8F,0xD7, /* 2418: (&2ww` */ - 0x2F,0x4F,0x24,0xF6,0xA3,0x20,0x61,0x0E, /* 2420: .O$ a. */ - 0x79,0x78,0x81,0xFC,0x2F,0x4F,0x24,0xF6, /* 2428: yx.O$ */ - 0xD7,0x75,0x34,0x48,0x24,0xF6,0x21,0xA2, /* 2430: u4H$! */ - 0x7A,0x21,0x4F,0xF9,0xAD,0x22,0x40,0x77, /* 2438: z!O"@w */ - 0xF9,0xA8,0x75,0x34,0x21,0x40,0x24,0xFB, /* 2440: u4!@$ */ - 0x75,0xE4,0x41,0x76,0x22,0xE5,0x72,0x23, /* 2448: uAv"r# */ - 0x4F,0x24,0xF6,0x70,0x23,0x28,0x26,0xEB, /* 2450: O$p#(& */ - 0x21,0x02,0x77,0x75,0x21,0x3F,0xF2,0x75, /* 2458: !.wu!?u */ - 0x21,0xEF,0x72,0x23,0x4F,0x24,0xF6,0x70, /* 2460: !r#O$p */ - 0x23,0x28,0x26,0xEB,0x73,0x42,0x24,0xF6, /* 2468: #(&sB$ */ - 0x24,0x23,0xA6,0x70,0x23,0x28,0x26,0x3A, /* 2470: $#p#(&: */ - 0x2F,0x4F,0x24,0xF6,0x25,0xFA,0xD2,0x43, /* 2478: .O$%C */ - 0x24,0xF6,0x70,0x23,0x28,0x26,0xE8,0x71, /* 2480: $p#(&q */ - 0x72,0x43,0x24,0xF6,0x28,0xF1,0x74,0x55, /* 2488: rC$(tU */ - 0xFA,0x30,0x25,0xFA,0xD5,0x22,0x87,0xF1, /* 2490: 0%" */ - 0xC0,0xAC,0x75,0x21,0x54,0xF1,0x42,0x24, /* 2498: u!TB$ */ - 0xFB,0x75,0x21,0x54,0x23,0xFB,0x75,0x23, /* 24A0: u!T#u# */ - 0x85,0xF1,0xA9,0x75,0x7D,0x21,0x2D,0x20, /* 24A8: u}!- */ - 0x9D,0x23,0x2E,0x0B,0x75,0x8D,0xF1,0xD9, /* 24B0: #..u */ - 0x75,0x56,0xF1,0xD8,0x75,0x34,0x21,0x20, /* 24B8: uVu4! */ - 0x40,0x24,0xF6,0x22,0xA8,0x75,0x34,0x61, /* 24C0: @$"u4a */ - 0x2F,0x4F,0x24,0xF6,0x75,0xE4,0x75,0x34, /* 24C8: .O$uu4 */ - 0x22,0x20,0x40,0x24,0xFB,0x75,0xE4,0x75, /* 24D0: " @$uu */ - 0x34,0x60,0x4E,0x24,0xF6,0x75,0xE4,0x70, /* 24D8: 4`N$up */ - 0x23,0x28,0x20,0x36,0x2F,0x49,0x24,0xF6, /* 24E0: #( 6.I$ */ - 0x70,0x23,0x28,0x20,0xE6,0x79,0x78,0xFC, /* 24E8: p#( yx */ - 0x2F,0x4F,0x24,0xF6,0x25,0xFA,0xD7,0x75, /* 24F0: .O$%u */ - 0x21,0x55,0xF1,0xF9,0xA6,0x75,0x21,0x55, /* 24F8: !Uu!U */ - 0xF1,0xDA,0x02,0x77,0xDA,0x7A,0x2F,0x4F, /* 2500: .wz.O */ - 0x24,0xF6,0x41,0xF4,0xDA,0x41,0x22,0x40, /* 2508: $AA"@ */ - 0x7A,0x24,0xFF,0xF0,0xC0,0x23,0x20,0xA3, /* 2510: z$# */ - 0x7A,0x42,0x21,0xFB,0x28,0xF1,0xF6,0x22, /* 2518: zB!(" */ - 0x2E,0x05,0x20,0x22,0x2C,0x0D,0x20,0x22, /* 2520: .. ",. " */ - 0x2B,0x05,0x20,0x22,0x29,0x0D,0x20,0x22, /* 2528: +. "). " */ - 0x28,0x05,0x20,0x22,0x26,0x0D,0x20,0x22, /* 2530: (. "&. " */ - 0x25,0x05,0x20,0x22,0x23,0x0D,0x20,0x22, /* 2538: %. "#. " */ - 0x22,0x05,0x20,0x22,0x20,0x0D,0x20,0x21, /* 2540: ". " . ! */ - 0x2F,0x05,0x20,0x21,0x2D,0x0D,0x20,0x21, /* 2548: .. !-. ! */ - 0x2C,0x05,0x20,0x21,0x2A,0x0D,0x20,0x21, /* 2550: ,. !*. ! */ - 0x29,0x05,0x20,0x21,0x27,0x0D,0x20,0x21, /* 2558: ). !'. ! */ - 0x26,0x05,0x20,0x21,0x24,0x0D,0x20,0x21, /* 2560: &. !$. ! */ - 0x23,0x05,0x20,0x21,0x21,0x0D,0x20,0x21, /* 2568: #. !!. ! */ - 0x20,0x05,0x20,0x2E,0x0E,0x20,0x20,0x2D, /* 2570: . .. - */ - 0x06,0x20,0x20,0x2B,0x0E,0x20,0x20,0x2A, /* 2578: . +. * */ - 0x06,0x20,0x20,0x28,0x0E,0x20,0x20,0x27, /* 2580: . (. ' */ - 0x06,0x20,0x20,0x25,0x0E,0x20,0x20,0x24, /* 2588: . %. $ */ - 0x06,0x20,0x20,0x22,0x0E,0x20,0x20,0x21, /* 2590: . ". ! */ - 0x06,0x20,0x20,0x78,0xDA,0x78,0x81,0xD8, /* 2598: . xx */ - 0x75,0x23,0x50,0x7A,0x2F,0x4F,0x24,0xF6, /* 25A0: u#Pz.O$ */ - 0xF2,0xF1,0x70,0x23,0x28,0x26,0xE3,0x78, /* 25A8: p#(&x */ - 0xDA,0x78,0x81,0xD8,0x75,0x23,0x50,0x7A, /* 25B0: xu#Pz */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x70,0x23, /* 25B8: .O$p# */ - 0x28,0x26,0xE3,0x78,0xDA,0x78,0x81,0xD8, /* 25C0: (&xx */ - 0x75,0x23,0x50,0x7A,0x2F,0x4F,0x24,0xF6, /* 25C8: u#Pz.O$ */ - 0xF2,0xF1,0x70,0x23,0x28,0x26,0xE3,0x78, /* 25D0: p#(&x */ - 0xDA,0x78,0x81,0xD8,0x75,0x23,0x50,0x7A, /* 25D8: xu#Pz */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x70,0x23, /* 25E0: .O$p# */ - 0x28,0x26,0xE3,0x78,0xDA,0x78,0x81,0xD8, /* 25E8: (&xx */ - 0x75,0x23,0x50,0x7A,0x2F,0x4F,0x24,0xF6, /* 25F0: u#Pz.O$ */ - 0xF2,0xF1,0x70,0x23,0x28,0x26,0xE3,0x78, /* 25F8: p#(&x */ - 0xDA,0x78,0x81,0xD8,0x75,0x23,0x50,0x7A, /* 2600: xu#Pz */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x70,0x23, /* 2608: .O$p# */ - 0x28,0x26,0xE3,0x78,0xDA,0x78,0x81,0xD8, /* 2610: (&xx */ - 0x75,0x23,0x50,0x7A,0x2F,0x4F,0x24,0xF6, /* 2618: u#Pz.O$ */ - 0xF2,0xF1,0x70,0x23,0x28,0x26,0xE3,0x78, /* 2620: p#(&x */ - 0xDA,0x78,0x81,0xD8,0x75,0x23,0x50,0x7A, /* 2628: xu#Pz */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x70,0x23, /* 2630: .O$p# */ - 0x28,0x26,0xE3,0x78,0xDA,0x78,0x81,0xD8, /* 2638: (&xx */ - 0x75,0x23,0x50,0x7A,0x2F,0x4F,0x24,0xF6, /* 2640: u#Pz.O$ */ - 0xF2,0xF1,0x70,0x23,0x28,0x26,0xE3,0x78, /* 2648: p#(&x */ - 0xDA,0x78,0x81,0xD8,0x75,0x23,0x50,0x7A, /* 2650: xu#Pz */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x70,0x23, /* 2658: .O$p# */ - 0x28,0x26,0xE3,0x78,0xDA,0x78,0x81,0xD8, /* 2660: (&xx */ - 0x75,0x23,0x50,0x7A,0x2F,0x4F,0x24,0xF6, /* 2668: u#Pz.O$ */ - 0xF2,0xF1,0x70,0x23,0x28,0x26,0xE3,0x78, /* 2670: p#(&x */ - 0xDA,0x78,0x81,0xD8,0x75,0x23,0x50,0x7A, /* 2678: xu#Pz */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x70,0x23, /* 2680: .O$p# */ - 0x28,0x26,0xE3,0x78,0xDA,0x78,0x81,0xD8, /* 2688: (&xx */ - 0x75,0x23,0x50,0x7A,0x2F,0x4F,0x24,0xF6, /* 2690: u#Pz.O$ */ - 0xF2,0xF1,0x70,0x23,0x28,0x26,0xE3,0x78, /* 2698: p#(&x */ - 0xDA,0x78,0x81,0xD8,0x75,0x23,0x50,0x7A, /* 26A0: xu#Pz */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x70,0x23, /* 26A8: .O$p# */ - 0x28,0x26,0xE3,0x78,0xDA,0x78,0x81,0xD8, /* 26B0: (&xx */ - 0x75,0x23,0x50,0x7A,0x2F,0x4F,0x24,0xF6, /* 26B8: u#Pz.O$ */ - 0xF2,0xF1,0x70,0x23,0x28,0x26,0xE3,0x78, /* 26C0: p#(&x */ - 0xDA,0x78,0x81,0xD8,0x75,0x23,0x50,0x7A, /* 26C8: xu#Pz */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x70,0x23, /* 26D0: .O$p# */ - 0x28,0x26,0xE3,0x78,0xDA,0x78,0x81,0xD8, /* 26D8: (&xx */ - 0x75,0x23,0x50,0x7A,0x2F,0x4F,0x24,0xF6, /* 26E0: u#Pz.O$ */ - 0xF2,0xF1,0x70,0x23,0x28,0x26,0xE3,0x78, /* 26E8: p#(&x */ - 0xDA,0x78,0x81,0xD8,0x75,0x23,0x50,0x7A, /* 26F0: xu#Pz */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x70,0x23, /* 26F8: .O$p# */ - 0x28,0x26,0xE3,0x78,0xDA,0x78,0x81,0xD8, /* 2700: (&xx */ - 0x75,0x23,0x50,0x7A,0x2F,0x4F,0x24,0xF6, /* 2708: u#Pz.O$ */ - 0xF2,0xF1,0x70,0x23,0x28,0x26,0xE3,0x78, /* 2710: p#(&x */ - 0xDA,0x78,0x81,0xD8,0x75,0x23,0x50,0x7A, /* 2718: xu#Pz */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x70,0x23, /* 2720: .O$p# */ - 0x28,0x26,0xE3,0x78,0xDA,0x78,0x81,0xD8, /* 2728: (&xx */ - 0x75,0x23,0x50,0x7A,0x2F,0x4F,0x24,0xF6, /* 2730: u#Pz.O$ */ - 0xF2,0xF1,0x70,0x23,0x28,0x26,0xE3,0x78, /* 2738: p#(&x */ - 0xDA,0x78,0x81,0xD8,0x75,0x23,0x50,0x7A, /* 2740: xu#Pz */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x70,0x23, /* 2748: .O$p# */ - 0x28,0x26,0xE3,0x78,0xDA,0x78,0x81,0xD8, /* 2750: (&xx */ - 0x75,0x23,0x50,0x7A,0x2F,0x4F,0x24,0xF6, /* 2758: u#Pz.O$ */ - 0xF2,0xF1,0x70,0x23,0x28,0x26,0xE3,0x78, /* 2760: p#(&x */ - 0xDA,0x78,0x81,0xD8,0x75,0x23,0x50,0x7A, /* 2768: xu#Pz */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x70,0x23, /* 2770: .O$p# */ - 0x28,0x26,0xE3,0x78,0xDA,0x78,0x81,0xD8, /* 2778: (&xx */ - 0x75,0x23,0x50,0x7A,0x2F,0x4F,0x24,0xF6, /* 2780: u#Pz.O$ */ - 0xF2,0xF1,0x70,0x23,0x28,0x26,0xE3,0x78, /* 2788: p#(&x */ - 0xDA,0x78,0x81,0xD8,0x75,0x23,0x50,0x7A, /* 2790: xu#Pz */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x70,0x23, /* 2798: .O$p# */ - 0x28,0x26,0xE3,0x78,0xDA,0x78,0x81,0xD8, /* 27A0: (&xx */ - 0x75,0x23,0x50,0x7A,0x2F,0x4F,0x24,0xF6, /* 27A8: u#Pz.O$ */ - 0xF2,0xF1,0x70,0x23,0x28,0x26,0xE3,0x78, /* 27B0: p#(&x */ - 0xDA,0x78,0x81,0xD8,0x75,0x23,0x50,0x7A, /* 27B8: xu#Pz */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x70,0x23, /* 27C0: .O$p# */ - 0x28,0x26,0xE3,0x78,0xDA,0x78,0x81,0xD8, /* 27C8: (&xx */ - 0x75,0x23,0x50,0x7A,0x2F,0x4F,0x24,0xF6, /* 27D0: u#Pz.O$ */ - 0xF2,0xF1,0x70,0x23,0x28,0x26,0xE3,0x78, /* 27D8: p#(&x */ - 0xDA,0x78,0x81,0xD8,0x75,0x23,0x50,0x7A, /* 27E0: xu#Pz */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x70,0x23, /* 27E8: .O$p# */ - 0x28,0x26,0xE3,0x78,0xDA,0x78,0x81,0xD8, /* 27F0: (&xx */ - 0x75,0x23,0x50,0x7A,0x2F,0x4F,0x24,0xF6, /* 27F8: u#Pz.O$ */ - 0xF2,0xF1,0x70,0x23,0x28,0x26,0xE3,0x78, /* 2800: p#(&x */ - 0xDA,0x78,0x81,0xD8,0x75,0x23,0x50,0x7A, /* 2808: xu#Pz */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x70,0x23, /* 2810: .O$p# */ - 0x28,0x26,0xE3,0x79,0x78,0xFC,0x2F,0x4F, /* 2818: (&yx.O */ - 0x24,0xF6,0xD9,0x78,0x75,0x56,0x23,0xFB, /* 2820: $xuV# */ - 0x77,0x2C,0x40,0xF9,0x21,0xA0,0x2C,0x41, /* 2828: w,@!,A */ - 0x79,0xF9,0xAB,0x75,0x34,0x28,0x20,0x40, /* 2830: yu4( @ */ - 0x24,0xFB,0x75,0xE4,0x22,0x01,0x77,0x24, /* 2838: $u".w$ */ - 0x40,0xF9,0x21,0xAB,0x24,0x41,0x79,0xF9, /* 2840: @!$Ay */ - 0x21,0xA5,0x75,0x34,0x28,0x20,0x40,0x24, /* 2848: !u4( @$ */ - 0xF6,0xAD,0x75,0x34,0x68,0x2F,0x4F,0x24, /* 2850: u4h.O$ */ - 0xF6,0x75,0xE4,0x41,0x76,0x22,0xE4,0x79, /* 2858: uAv"y */ - 0xAE,0x75,0x24,0x81,0xF1,0x41,0x24,0xFB, /* 2860: u$A$ */ - 0x75,0x24,0x81,0x23,0xFB,0x23,0x00,0x75, /* 2868: u$##.u */ - 0x34,0x60,0x4E,0x24,0xF6,0x75,0xE4,0x70, /* 2870: 4`N$up */ - 0x23,0x28,0x20,0x36,0x2F,0x49,0x24,0xF6, /* 2878: #( 6.I$ */ - 0x70,0x23,0x28,0x20,0xE6,0x75,0x24,0x81, /* 2880: p#( u$ */ - 0xF1,0x41,0x24,0xF6,0x21,0xA1,0x41,0x76, /* 2888: A$!Av */ - 0x22,0xE4,0x75,0x24,0x81,0xF1,0x60,0x4E, /* 2890: "u$`N */ - 0x24,0xF6,0x75,0x24,0x81,0x23,0xFB,0x72, /* 2898: $u$#r */ - 0x23,0x4F,0x24,0xF6,0x70,0x23,0x28,0x26, /* 28A0: #O$p#(& */ - 0xEA,0x73,0x44,0x24,0xF6,0x25,0xA9,0x70, /* 28A8: sD$%p */ - 0x23,0x28,0x26,0x39,0x2F,0x4F,0x24,0xF6, /* 28B0: #(&9.O$ */ - 0x25,0xFA,0xD2,0x43,0x24,0xF6,0x70,0x23, /* 28B8: %C$p# */ - 0x28,0x26,0xE8,0x71,0x72,0x43,0x24,0xF6, /* 28C0: (&qrC$ */ - 0x28,0xF1,0x74,0x55,0xFA,0x30,0x25,0xFA, /* 28C8: (tU0% */ - 0xD5,0x7D,0x21,0x29,0x2F,0x9C,0x75,0x7D, /* 28D0: }!).u} */ - 0x62,0x2F,0x2E,0x9F,0x75,0x22,0x87,0xF1, /* 28D8: b..u" */ - 0xC0,0xAC,0x75,0x21,0x54,0xF1,0x44,0x24, /* 28E0: u!TD$ */ - 0xFB,0x75,0x21,0x54,0x23,0xFB,0x41,0x76, /* 28E8: u!T#Av */ - 0x22,0xE4,0x75,0x21,0x89,0xF1,0x42,0x24, /* 28F0: "u!B$ */ - 0xFB,0x75,0x21,0x89,0x23,0xFB,0x72,0x23, /* 28F8: u!#r# */ - 0x4F,0x24,0xF6,0x70,0x23,0x28,0x26,0xE9, /* 2900: O$p#(& */ - 0x71,0x81,0x2F,0x4F,0x24,0xF6,0x25,0xFA, /* 2908: q.O$% */ - 0xD1,0x41,0xF9,0x21,0xA2,0x40,0xD1,0x74, /* 2910: A!@t */ - 0x30,0xAA,0x74,0x30,0x27,0x2F,0x2F,0x4F, /* 2918: 0t0'..O */ - 0x24,0xF6,0xD4,0x03,0x28,0x40,0xD4,0x73, /* 2920: $.(@s */ - 0xC0,0x21,0xA0,0x74,0x76,0x30,0xF4,0xC0, /* 2928: !tv0 */ - 0x6A,0x2B,0xA0,0x71,0x76,0x31,0xF4,0xA3, /* 2930: j+qv1 */ - 0x6A,0x2A,0x08,0x74,0x76,0xE0,0x71,0x76, /* 2938: j*.tvqv */ - 0xE1,0xBC,0x22,0xF0,0x76,0xF6,0x80,0x3C, /* 2940: "v< */ - 0x08,0x71,0x26,0x50,0xD2,0x60,0x45,0x21, /* 2948: .q&P`E! */ - 0xFB,0x72,0x41,0x24,0xFA,0x22,0xF0,0x60, /* 2950: rA$"` */ - 0xBF,0x73,0x31,0x25,0xFA,0xD0,0x21,0x40, /* 2958: s1%!@ */ - 0x24,0xF6,0x21,0xA5,0x70,0x61,0x4F,0x24, /* 2960: $!paO$ */ - 0xF6,0x23,0x28,0x20,0x3D,0x2F,0x4F,0x24, /* 2968: #( =.O$ */ - 0xF6,0x23,0xF2,0x41,0x24,0xF0,0xB1,0x22, /* 2970: #A$" */ - 0xF0,0x70,0x61,0x4F,0x24,0xF6,0x23,0x28, /* 2978: paO$#( */ - 0x20,0x3D,0x2F,0x4F,0x24,0xF6,0x23,0xF2, /* 2980: =.O$# */ - 0x41,0x24,0xF1,0xB1,0x22,0xF0,0x60,0xBE, /* 2988: A$"` */ - 0x74,0x31,0xD1,0x74,0x32,0x27,0x2F,0x2F, /* 2990: t1t2'.. */ - 0x4F,0x24,0xF6,0xD0,0x75,0x41,0xF4,0xAF, /* 2998: O$uA */ - 0x74,0x8F,0xF1,0x23,0xF2,0x70,0x52,0xF1, /* 29A0: t#pR */ - 0x24,0xF6,0x70,0x52,0x23,0xFB,0x0C,0x70, /* 29A8: $pR#.p */ - 0x52,0xF1,0x74,0x8F,0xF1,0x24,0xFB,0x70, /* 29B0: Rt$p */ - 0x52,0x23,0xFB,0x70,0x52,0xF1,0x23,0xF2, /* 29B8: R#pR# */ - 0x71,0x6F,0x40,0x24,0xF6,0x28,0x40,0x24, /* 29C0: qo@$(@$ */ - 0xFB,0x23,0x28,0x20,0xE0,0xB2,0x22,0xF0, /* 29C8: #( " */ - 0x60,0xB8,0x7A,0x31,0xD2,0x7A,0x55,0xF1, /* 29D0: `z1zU */ - 0xD4,0x7A,0x8B,0xF1,0xD6,0x74,0x76,0xFC, /* 29D8: ztv */ - 0x2F,0x4F,0x24,0xF6,0xD7,0x7C,0x30,0xD3, /* 29E0: .O$|0 */ - 0x7A,0x22,0x81,0xF1,0xD5,0x40,0xD1,0x24, /* 29E8: z"@$ */ - 0x40,0x72,0x23,0x28,0x20,0xE2,0x72,0x23, /* 29F0: @r#( r# */ - 0x28,0x20,0x33,0x2F,0x4F,0x24,0xF6,0x7A, /* 29F8: ( 3.O$z */ - 0x22,0x83,0xF1,0x24,0xF6,0x25,0xFA,0xD0, /* 2A00: "$% */ - 0xC0,0x23,0xAD,0x7B,0x28,0x40,0x24,0xF6, /* 2A08: #{(@$ */ - 0x23,0xA6,0x75,0x41,0x24,0xF6,0xA4,0x41, /* 2A10: #uA$A */ - 0xD1,0x22,0x0D,0x75,0x42,0x24,0xF6,0x21, /* 2A18: ".uB$! */ - 0xA4,0x7A,0x21,0x89,0xF1,0x41,0x24,0xFB, /* 2A20: z!A$ */ - 0x7A,0x21,0x89,0x23,0xFB,0x41,0x79,0x28, /* 2A28: z!#Ay( */ - 0xE4,0x41,0xD1,0x21,0x03,0x74,0xD1,0x74, /* 2A30: A!.tt */ - 0x81,0xD4,0x40,0x71,0x2F,0x4F,0x24,0xF6, /* 2A38: @q.O$ */ - 0x7A,0x2B,0x50,0xF2,0x23,0xFB,0x41,0xD1, /* 2A40: z+P#A */ - 0x73,0x42,0x24,0xF6,0x25,0xA1,0x73,0x44, /* 2A48: sB$%sD */ - 0x24,0xF6,0xAE,0x73,0x41,0x24,0xF6,0xC0, /* 2A50: $sA$ */ - 0x21,0xAB,0x7A,0x58,0xF1,0x70,0xF4,0x21, /* 2A58: !zXp! */ - 0xA4,0x7A,0x58,0xF1,0x70,0xF4,0xC0,0x22, /* 2A60: zXp" */ - 0xA3,0x7A,0x21,0x81,0xF1,0x70,0xF4,0x21, /* 2A68: z!p! */ - 0xAB,0x41,0xD1,0x21,0x07,0x73,0x60,0x4B, /* 2A70: A!.s`K */ - 0x24,0xF6,0xD3,0x7A,0x58,0xF1,0x70,0xF4, /* 2A78: $zXp */ - 0xA9,0x7A,0x21,0x81,0xF1,0x70,0xF4,0xC0, /* 2A80: z!p */ - 0xA3,0x20,0x41,0xD1,0x7A,0x21,0x81,0xF1, /* 2A88: Az! */ - 0x70,0xF4,0xC0,0xAB,0x71,0xC0,0xA8,0x20, /* 2A90: pq */ - 0x73,0x44,0x24,0xFB,0xD3,0x41,0xD1,0x7B, /* 2A98: sD$A{ */ - 0x27,0x40,0x24,0xF6,0x26,0xA4,0x71,0xC0, /* 2AA0: '@$&q */ - 0x26,0xA0,0x73,0x67,0x20,0x20,0x40,0x24, /* 2AA8: &sg @$ */ - 0xF6,0x25,0xA7,0x75,0x48,0x24,0xF6,0xA5, /* 2AB0: %uH$ */ - 0x20,0x41,0xD1,0x27,0x0D,0x75,0x44,0x24, /* 2AB8: A'.uD$ */ - 0xF6,0x23,0xA2,0x2F,0x4F,0x74,0x2F,0x4F, /* 2AC0: #.Ot.O */ - 0x24,0xF6,0x7A,0x2B,0x50,0xF2,0x23,0xFB, /* 2AC8: $z+P# */ - 0x40,0x74,0x81,0x2F,0x4F,0x24,0xF6,0x7A, /* 2AD0: @t.O$z */ - 0x2B,0x50,0xF2,0x23,0xFB,0x74,0x81,0x81, /* 2AD8: +P#t */ - 0x25,0xFA,0xD1,0x81,0xD4,0x70,0x71,0x2F, /* 2AE0: %сpq. */ - 0x4F,0x24,0xF6,0x7A,0x2B,0x50,0xF2,0x23, /* 2AE8: O$z+P# */ - 0xFB,0x41,0xD1,0x24,0x05,0x74,0xD1,0x74, /* 2AF0: A$.tt */ - 0x81,0xD4,0x40,0x71,0x2F,0x4F,0x24,0xF6, /* 2AF8: @q.O$ */ - 0x7A,0x2B,0x50,0xF2,0x23,0xFB,0x41,0xD1, /* 2B00: z+P#A */ - 0x23,0x00,0x70,0x2F,0x4F,0xF4,0xC0,0x22, /* 2B08: #.p.O" */ - 0xA9,0x75,0x44,0x24,0xF6,0x22,0xA3,0x2F, /* 2B10: uD$". */ - 0x4F,0x74,0x2F,0x4F,0x24,0xF6,0x7A,0x2B, /* 2B18: Ot.O$z+ */ - 0x50,0xF2,0x23,0xFB,0x74,0x81,0x25,0xFA, /* 2B20: P#t% */ - 0xD1,0x81,0xD4,0x2F,0x4F,0x71,0x2F,0x4F, /* 2B28: с.Oq.O */ - 0x24,0xF6,0x7A,0x2B,0x50,0xF2,0x23,0xFB, /* 2B30: $z+P# */ - 0x41,0xD1,0x71,0xC0,0x22,0xA6,0x41,0x74, /* 2B38: Aq"At */ - 0x76,0xFC,0x2F,0x4F,0x24,0xF6,0x2F,0x4E, /* 2B40: v.O$.N */ - 0xF0,0x24,0xFF,0xF0,0xC0,0x21,0xA5,0x74, /* 2B48: $!t */ - 0xD1,0x74,0x81,0xD4,0x70,0x71,0x2F,0x4F, /* 2B50: tpq.O */ - 0x24,0xF6,0x7A,0x2B,0x50,0xF2,0x23,0xFB, /* 2B58: $z+P# */ - 0x41,0x79,0x28,0xE5,0x72,0x23,0x28,0x20, /* 2B60: Ay(r#( */ - 0x31,0x2F,0x4F,0x24,0xF6,0x25,0xFA,0xDB, /* 2B68: 1.O$% */ - 0x41,0x24,0xF6,0xA3,0x61,0x27,0x06,0x2C, /* 2B70: A$a'., */ - 0x40,0x77,0xF9,0x24,0xA8,0x41,0x74,0x76, /* 2B78: @w$Atv */ - 0xFC,0x2F,0x4F,0x24,0xF6,0x2B,0x4F,0x24, /* 2B80: .O$+O$ */ - 0xFF,0xF0,0xC0,0x23,0xA8,0x73,0x48,0x24, /* 2B88: #sH$ */ - 0xF6,0x23,0xA2,0x7A,0x21,0x58,0xF1,0x48, /* 2B90: #z!XH */ - 0x24,0xF6,0x21,0xA3,0x73,0x22,0x40,0x24, /* 2B98: $!s"@$ */ - 0xF6,0xA7,0x73,0x64,0x4F,0x24,0xF6,0xD3, /* 2BA0: sdO$ */ - 0x06,0x73,0x2D,0x40,0x24,0xFB,0xD3,0x7A, /* 2BA8: .s-@$z */ - 0x23,0x81,0xF1,0x28,0x40,0x24,0xF6,0xAD, /* 2BB0: #(@$ */ - 0x29,0x40,0x72,0x23,0x28,0x20,0xE2,0x73, /* 2BB8: )@r#( s */ - 0x21,0x40,0x24,0xFB,0xD3,0x74,0x7A,0x55, /* 2BC0: !@$tzU */ - 0x23,0xFB,0x73,0x7C,0xE0,0xB8,0x22,0xF0, /* 2BC8: #s|" */ - 0x60,0xB7,0x7A,0x26,0x52,0xD5,0x21,0x28, /* 2BD0: `z&R!( */ - 0x40,0xD1,0x71,0x21,0x37,0x25,0xFA,0xD1, /* 2BD8: @q!7% */ - 0x57,0xF1,0x25,0xFA,0xD0,0xAC,0x70,0x75, /* 2BE0: W%Ьpu */ - 0xFA,0x30,0xD0,0x71,0x7A,0x25,0x27,0x90, /* 2BE8: 0qz%' */ - 0x61,0xA8,0x71,0x31,0x25,0xFA,0xD3,0x21, /* 2BF0: aq1%! */ - 0x20,0x20,0x40,0x24,0xF6,0x2A,0xA3,0x73, /* 2BF8: @$*s */ - 0x23,0x28,0x20,0x31,0x2F,0x4F,0x24,0xF6, /* 2C00: #( 1.O$ */ - 0x25,0xFA,0xD2,0x44,0x24,0xF6,0x27,0xAA, /* 2C08: %D$' */ - 0x71,0x56,0xF1,0xD0,0x71,0x8D,0xF1,0x70, /* 2C10: qVqp */ - 0xFC,0x2F,0x4F,0x24,0xF6,0x25,0xFA,0xD7, /* 2C18: .O$% */ - 0x24,0xAE,0x71,0x23,0x50,0x70,0x2F,0x4F, /* 2C20: $q#Pp.O */ - 0x24,0xF6,0xF2,0xF1,0x73,0x23,0x28,0x20, /* 2C28: $s#( */ - 0xE3,0x70,0x81,0x71,0x56,0x23,0xFB,0x71, /* 2C30: pqV#q */ - 0x34,0x28,0x20,0x40,0x24,0xF6,0x21,0xA4, /* 2C38: 4( @$! */ - 0x24,0x41,0x77,0xF9,0x21,0xAC,0x71,0x34, /* 2C40: $Aw!q4 */ - 0x68,0x2F,0x4F,0x24,0xF6,0x71,0xE4,0x41, /* 2C48: h.O$qA */ - 0x75,0x22,0xE2,0x0E,0x77,0x2B,0x4F,0xF9, /* 2C50: u".w+O */ - 0xA9,0x71,0x34,0x28,0x20,0x40,0x24,0xFB, /* 2C58: q4( @$ */ - 0x71,0xE4,0x71,0x24,0x81,0xF1,0x41,0x24, /* 2C60: qq$A$ */ - 0xFB,0x71,0x24,0x81,0x23,0xFB,0x21,0x0A, /* 2C68: q$#!. */ - 0x71,0x24,0x81,0xF1,0x41,0x24,0xF6,0x21, /* 2C70: q$A$! */ - 0xA1,0x41,0x75,0x22,0xE2,0x71,0x24,0x81, /* 2C78: Au"q$ */ - 0xF1,0x60,0x4E,0x24,0xF6,0x71,0x24,0x81, /* 2C80: `N$q$ */ - 0x23,0xFB,0x72,0x41,0x24,0xF6,0x21,0x26, /* 2C88: #rA$!& */ - 0xAD,0x71,0x34,0xD6,0x16,0xD0,0x72,0x71, /* 2C90: q4.rq */ - 0x7A,0x62,0x23,0x94,0x76,0x71,0xE4,0x21, /* 2C98: zb#vq! */ - 0x25,0x0C,0x71,0x34,0xD4,0x73,0x23,0x28, /* 2CA0: %.q4s#( */ - 0x20,0x31,0x2F,0x4F,0x24,0xF6,0x25,0xFA, /* 2CA8: 1.O$% */ - 0xD2,0x44,0x24,0xF6,0x2E,0xAE,0x74,0x24, /* 2CB0: D$.t$ */ - 0x40,0x24,0xF6,0x22,0xAF,0x74,0x28,0x40, /* 2CB8: @$"t(@ */ - 0x24,0xF6,0x21,0xA8,0x71,0x21,0x83,0xF1, /* 2CC0: $!q! */ - 0x73,0x23,0x28,0x20,0xE3,0x74,0x22,0x40, /* 2CC8: s#( t"@ */ - 0x24,0xFB,0x25,0xFA,0xD4,0x6C,0x4F,0x24, /* 2CD0: $%lO$ */ - 0xF6,0xD4,0x2C,0x08,0x71,0x59,0xF1,0x73, /* 2CD8: ,.qYs */ - 0x23,0x28,0x20,0xE3,0x74,0x67,0x4F,0x24, /* 2CE0: #( tgO$ */ - 0xF6,0xD4,0x2B,0x08,0x74,0x44,0x24,0xF6, /* 2CE8: +.tD$ */ - 0xC0,0x2B,0xA1,0x71,0x56,0xF1,0xD0,0x71, /* 2CF0: +qVq */ - 0x8D,0xF1,0x70,0xFC,0x2F,0x4F,0x24,0xF6, /* 2CF8: p.O$ */ - 0x25,0xFA,0xD7,0x28,0xA5,0x70,0x71,0x23, /* 2D00: %(pq# */ - 0x50,0xF2,0xF1,0x25,0xFA,0xD8,0x4A,0xF4, /* 2D08: P%J */ - 0xC0,0x23,0xA0,0x74,0x24,0x20,0x40,0x24, /* 2D10: #t$ @$ */ - 0xF6,0x22,0xA8,0x74,0x21,0x20,0x40,0x24, /* 2D18: "t! @$ */ - 0xF6,0x21,0xA2,0x78,0x73,0x23,0x28,0x20, /* 2D20: !xs#( */ - 0xE3,0x74,0x61,0x2F,0x4F,0x24,0xF6,0xD4, /* 2D28: ta.O$ */ - 0x70,0x81,0xD0,0x21,0x07,0x4D,0x73,0x23, /* 2D30: p!.Ms# */ - 0x28,0x20,0xE3,0x74,0x21,0x20,0x40,0x24, /* 2D38: ( t! @$ */ - 0xFB,0xD4,0x09,0x78,0x73,0x23,0x28,0x20, /* 2D40: .xs#( */ - 0xE3,0x70,0x81,0xD0,0x70,0x71,0x56,0x23, /* 2D48: ppqV# */ - 0xFB,0x71,0x34,0x28,0x20,0x40,0x24,0xF6, /* 2D50: q4( @$ */ - 0x21,0xA4,0x24,0x41,0x77,0xF9,0x21,0xAC, /* 2D58: !$Aw! */ - 0x71,0x34,0x68,0x2F,0x4F,0x24,0xF6,0x71, /* 2D60: q4h.O$q */ - 0xE4,0x41,0x75,0x22,0xE2,0x0E,0x77,0x2B, /* 2D68: Au".w+ */ - 0x4F,0xF9,0xA9,0x71,0x34,0x28,0x20,0x40, /* 2D70: Oq4( @ */ - 0x24,0xFB,0x71,0xE4,0x71,0x24,0x81,0xF1, /* 2D78: $qq$ */ - 0x41,0x24,0xFB,0x71,0x24,0x81,0x23,0xFB, /* 2D80: A$q$# */ - 0x21,0x0A,0x71,0x24,0x81,0xF1,0x41,0x24, /* 2D88: !.q$A$ */ - 0xF6,0x21,0xA1,0x41,0x75,0x22,0xE2,0x71, /* 2D90: !Au"q */ - 0x24,0x81,0xF1,0x60,0x4E,0x24,0xF6,0x71, /* 2D98: $`N$q */ - 0x24,0x81,0x23,0xFB,0x72,0x41,0x24,0xF6, /* 2DA0: $#rA$ */ - 0xA8,0x14,0xD0,0x72,0x71,0x7A,0x63,0x21, /* 2DA8: .rqzc! */ - 0x9F,0x74,0x21,0x40,0x24,0xF6,0x24,0xA3, /* 2DB0: t!@$$ */ - 0x41,0x71,0x55,0xF1,0x71,0x8B,0xF1,0xFC, /* 2DB8: AqUq */ - 0x2F,0x4F,0x24,0xF6,0x24,0x40,0xF0,0x24, /* 2DC0: .O$$@$ */ - 0xFF,0xF0,0xC0,0x22,0xAE,0x74,0x28,0x40, /* 2DC8: "t(@ */ - 0x24,0xF6,0xA6,0x74,0x6C,0x4F,0x24,0xF6, /* 2DD0: $tlO$ */ - 0xD4,0x74,0x22,0x40,0x24,0xF6,0xA6,0x74, /* 2DD8: t"@$t */ - 0x24,0x40,0x24,0xFB,0xD4,0x71,0x23,0x81, /* 2DE0: $@$q# */ - 0xF1,0x28,0x40,0x24,0xF6,0xA7,0x28,0x40, /* 2DE8: (@$(@ */ - 0x73,0x23,0x28,0x20,0xE2,0x74,0x61,0x4F, /* 2DF0: s#( taO */ - 0x24,0xF6,0xD4,0x74,0x71,0xE4,0x62,0x2D, /* 2DF8: $tqb- */ - 0x09,0x60,0xBD,0x75,0x31,0xD1,0x75,0x34, /* 2E00: .`u1u4 */ - 0x25,0xFA,0xD2,0xD0,0x75,0x21,0x8F,0xF1, /* 2E08: %u! */ - 0xA7,0x40,0x75,0x21,0x8F,0x23,0xFB,0x0A, /* 2E10: @u!#. */ - 0x71,0x23,0x28,0x20,0x31,0x48,0x24,0xF6, /* 2E18: q#( 1H$ */ - 0x28,0xA6,0x75,0x57,0xF1,0x48,0xF4,0xC0, /* 2E20: (uWH */ - 0x22,0xA0,0x75,0x5A,0xF1,0x75,0x23,0x81, /* 2E28: "uZu# */ - 0xF1,0xF4,0xC0,0x21,0xA5,0x75,0x21,0x85, /* 2E30: !u! */ - 0xF1,0x75,0x21,0x59,0xF1,0xF4,0xC0,0xAA, /* 2E38: u!Y */ - 0x75,0x5B,0xF1,0x75,0x22,0x8D,0xF1,0xF4, /* 2E40: u[u" */ - 0x23,0xAF,0x21,0x4A,0x71,0x23,0x28,0x20, /* 2E48: #!Jq#( */ - 0xE2,0x75,0x5A,0xF1,0x71,0x23,0x28,0x20, /* 2E50: uZq#( */ - 0xE0,0x75,0x21,0x85,0xF1,0x71,0x23,0x28, /* 2E58: u!q#( */ - 0x20,0xE0,0x75,0x5B,0xF1,0x71,0x23,0x28, /* 2E60: u[q#( */ - 0x20,0xE1,0x75,0x5A,0xF1,0x75,0x23,0x81, /* 2E68: uZu# */ - 0x23,0xFB,0x75,0x21,0x85,0xF1,0x75,0x21, /* 2E70: #u!u! */ - 0x59,0x23,0xFB,0x75,0x5B,0xF1,0x75,0x22, /* 2E78: Y#u[u" */ - 0x8D,0x23,0xFB,0x45,0x71,0x23,0x28,0x20, /* 2E80: #Eq#( */ - 0xE2,0x75,0x21,0x87,0xF1,0x41,0x24,0xF6, /* 2E88: u!A$ */ - 0xAF,0x70,0x21,0x40,0x24,0xF6,0x21,0xA4, /* 2E90: p!@$! */ - 0x75,0x5A,0xF1,0x28,0x40,0x24,0xF6,0xAC, /* 2E98: uZ(@$ */ - 0x29,0x40,0x71,0x23,0x28,0x20,0xE2,0x0B, /* 2EA0: )@q#( . */ - 0x40,0xB3,0x22,0xF0,0x28,0x40,0x71,0x23, /* 2EA8: @"(@q# */ - 0x28,0x20,0xE2,0x75,0x21,0x87,0xF1,0x42, /* 2EB0: ( u!B */ - 0x24,0xF6,0xA7,0x41,0x75,0x74,0x65,0x2C, /* 2EB8: $Aute, */ - 0x9D,0x06,0x40,0x75,0x74,0x65,0x2C,0x96, /* 2EC0: .@ute, */ - 0x40,0x75,0x21,0x89,0x23,0xFB,0x75,0x21, /* 2EC8: @u!#u! */ - 0x8B,0xF1,0x75,0x58,0x23,0xFB,0x75,0x21, /* 2ED0: uX#u! */ - 0x8D,0xF1,0x75,0x59,0x23,0xFB,0x75,0x5E, /* 2ED8: uY#u^ */ - 0xF1,0x75,0x21,0x81,0x23,0xFB,0x75,0x5F, /* 2EE0: u!#u_ */ - 0xF1,0x75,0x21,0x83,0x23,0xFB,0x75,0x21, /* 2EE8: u!#u! */ - 0x50,0xF1,0x75,0x22,0x81,0x23,0xFB,0x75, /* 2EF0: Pu"#u */ - 0x21,0x51,0xF1,0x75,0x22,0x83,0x23,0xFB, /* 2EF8: !Qu"# */ - 0x75,0x5D,0xF1,0x75,0x21,0x58,0x23,0xFB, /* 2F00: u]u!X# */ - 0x70,0x60,0x44,0x24,0xF6,0xD0,0x75,0x5D, /* 2F08: p`D$u] */ - 0xF1,0x42,0x24,0xF6,0xA5,0x70,0x42,0x24, /* 2F10: B$pB$ */ - 0xFB,0xD0,0x75,0x5D,0xF1,0x48,0x24,0xF6, /* 2F18: u]H$ */ - 0xA5,0x70,0x48,0x24,0xFB,0xD0,0x75,0x5D, /* 2F20: pH$u] */ - 0xF1,0x41,0x24,0xF6,0xA5,0x70,0x41,0x24, /* 2F28: A$pA$ */ - 0xFB,0xD0,0x70,0x25,0x2B,0x2F,0x4F,0x24, /* 2F30: p%+.O$ */ - 0xF6,0xD0,0x75,0x5D,0xF1,0x44,0x24,0xF6, /* 2F38: u]D$ */ - 0xA7,0x70,0x24,0x20,0x40,0x24,0xFB,0xD0, /* 2F40: p$ @$ */ - 0x75,0x5D,0xF1,0x22,0x40,0x24,0xF6,0xA8, /* 2F48: u]"@$ */ - 0x70,0x22,0x20,0x20,0x40,0x24,0xFB,0xD0, /* 2F50: p" @$ */ - 0x75,0x5D,0xF1,0x28,0x40,0x24,0xF6,0xA8, /* 2F58: u](@$ */ - 0x70,0x67,0x20,0x20,0x40,0x24,0xFB,0xD0, /* 2F60: pg @$ */ - 0x75,0x5A,0xF1,0x28,0x40,0x24,0xF6,0xA5, /* 2F68: uZ(@$ */ - 0x70,0x48,0x24,0xFB,0xD0,0x75,0x5D,0xF1, /* 2F70: pH$u] */ - 0x24,0x40,0x24,0xF6,0xA5,0x70,0x48,0x24, /* 2F78: $@$pH$ */ - 0xFB,0xD0,0x72,0x24,0x20,0x40,0x24,0xF6, /* 2F80: r$ @$ */ - 0xAF,0x70,0x24,0x20,0x40,0x24,0xF6,0xC0, /* 2F88: p$ @$ */ - 0xA7,0x70,0x61,0x2F,0x4F,0x24,0xF6,0xD0, /* 2F90: pa.O$ */ - 0x72,0x42,0x24,0xF6,0xAC,0x70,0x42,0x24, /* 2F98: rB$pB$ */ - 0xF6,0xC0,0xA6,0x70,0x60,0x4B,0x24,0xF6, /* 2FA0: p`K$ */ - 0xD0,0x75,0x23,0x81,0xF1,0x28,0x40,0x24, /* 2FA8: u#(@$ */ - 0xF6,0xA5,0x70,0x48,0x24,0xFB,0xD0,0x70, /* 2FB0: pH$p */ - 0x22,0x20,0x20,0x40,0x24,0xF6,0xAA,0x75, /* 2FB8: " @$u */ - 0x74,0x66,0x29,0x93,0x75,0x5C,0x23,0xFB, /* 2FC0: tf)u\# */ - 0x06,0x22,0x44,0x75,0x5C,0x23,0xFB,0x75, /* 2FC8: ."Du\#u */ - 0x57,0xF1,0x44,0xF4,0xA6,0x40,0x75,0x57, /* 2FD0: WD@uW */ - 0x23,0xFB,0x03,0x75,0x74,0x9B,0x70,0x75, /* 2FD8: #.utpu */ - 0xE4,0x41,0x74,0x28,0xE4,0x40,0xB3,0x22, /* 2FE0: At(@" */ - 0xF0,0x72,0x71,0x66,0x26,0x99,0x44,0x24, /* 2FE8: rqf&D$ */ - 0xF6,0xAA,0x40,0x72,0x57,0x23,0xFB,0x41, /* 2FF0: @rW#A */ - 0x71,0x28,0xE4,0x05,0x46,0x72,0x57,0x23, /* 2FF8: q(.FrW# */ - 0xFB,0x40,0x22,0xF0,0x60,0xBF,0x73,0x31, /* 3000: @"`s1 */ - 0xD0,0x73,0x8D,0xF1,0x73,0x56,0xF1,0xF4, /* 3008: ssV */ - 0xC0,0x21,0xA2,0x70,0x23,0x28,0x20,0x30, /* 3010: !p#( 0 */ - 0x2F,0x4F,0x24,0xF6,0xA8,0x73,0x72,0x22, /* 3018: .O$sr" */ - 0x9F,0x40,0xB1,0x22,0xF0,0x41,0xB1,0x22, /* 3020: @"A" */ - 0xF0,0x26,0x40,0x72,0x31,0x23,0x28,0x20, /* 3028: &@r1#( */ - 0xE2,0x21,0x42,0x72,0x57,0x23,0xFB,0x40, /* 3030: !BrW#@ */ - 0x22,0xF0,0x27,0x45,0x72,0x31,0x23,0x28, /* 3038: "'Er1#( */ - 0x20,0xE2,0x40,0x72,0x57,0x23,0xFB,0x40, /* 3040: @rW#@ */ - 0x22,0xF0,0x40,0x22,0xF0,0x40,0x22,0xF0, /* 3048: "@"@" */ - 0x60,0xBF,0x73,0x31,0xD0,0x40,0x73,0x56, /* 3050: `s1@sV */ - 0x23,0xFB,0x40,0x73,0x8D,0x23,0xFB,0x40, /* 3058: #@s#@ */ - 0x73,0x8B,0x23,0xFB,0x40,0x73,0x55,0x23, /* 3060: s#@sU# */ - 0xFB,0x73,0x21,0x59,0xF1,0x21,0x40,0x24, /* 3068: s!Y!@$ */ - 0xF6,0xAD,0x73,0x21,0x59,0xF1,0x61,0x4F, /* 3070: s!YaO */ - 0x24,0xF6,0x70,0x23,0x28,0x20,0xE0,0x70, /* 3078: $p#( p */ - 0x23,0x28,0x20,0x31,0x48,0x24,0xF6,0x24, /* 3080: #( 1H$$ */ - 0xA4,0x73,0x21,0x87,0xF1,0x41,0x24,0xF6, /* 3088: s!A$ */ - 0xC0,0xA7,0x29,0x40,0x70,0x23,0x28,0x20, /* 3090: )@p#( */ - 0xE2,0x73,0x21,0x87,0xF1,0x42,0x24,0xF6, /* 3098: s!B$ */ - 0xC0,0xA6,0x40,0x73,0x72,0x67,0x2E,0x96, /* 30A0: @srg. */ - 0x40,0x73,0xE4,0x23,0x40,0x70,0x23,0x28, /* 30A8: @s#@p#( */ - 0x20,0xE2,0x22,0x40,0x70,0x23,0x28,0x20, /* 30B0: "@p#( */ - 0xE2,0x41,0x73,0x21,0x8F,0x23,0xFB,0x21, /* 30B8: As!#! */ - 0x40,0x73,0x57,0x23,0xFB,0x41,0x72,0x28, /* 30C0: @sW#Ar( */ - 0xE4,0x40,0xB1,0x22,0xF0,0x40,0xB1,0x22, /* 30C8: @"@" */ - 0xF0,0x72,0x34,0x46,0x24,0xF6,0x46,0xF4, /* 30D0: r4F$F */ - 0xC0,0xA8,0x72,0x34,0x60,0x4B,0x24,0xF6, /* 30D8: r4`K$ */ - 0x72,0xE4,0x40,0x72,0x57,0x23,0xFB,0x41, /* 30E0: r@rW#A */ - 0x71,0x28,0xE4,0x40,0x22,0xF0,0x60,0xBF, /* 30E8: q(@"` */ - 0x73,0x31,0xD0,0x73,0x8D,0xF1,0x73,0x56, /* 30F0: s1ssV */ - 0x23,0xFB,0x73,0x34,0x68,0x2F,0x4F,0x24, /* 30F8: #s4h.O$ */ - 0xF6,0x73,0xE4,0x73,0x21,0x59,0xF1,0x21, /* 3100: ss!Y! */ - 0x40,0x24,0xF6,0x21,0xA7,0x73,0x72,0x67, /* 3108: @$!srg */ - 0x24,0x95,0x42,0x24,0xF6,0xC0,0xAD,0x23, /* 3110: $B$# */ - 0x40,0x70,0x23,0x28,0x20,0xE2,0x44,0x70, /* 3118: @p#( Dp */ - 0x23,0x28,0x20,0xE2,0x73,0x72,0x65,0x99, /* 3120: #( sre */ - 0x40,0xB1,0x22,0xF0,0x72,0x8B,0xF1,0x72, /* 3128: @"rr */ - 0x55,0x23,0xFB,0x40,0x72,0x57,0x23,0xFB, /* 3130: U#@rW# */ - 0x41,0x71,0x28,0xE4,0x40,0x22,0xF0,0x72, /* 3138: Aq(@"r */ - 0x34,0x42,0x24,0xF6,0xA7,0x72,0x34,0x44, /* 3140: 4B$r4D */ - 0x24,0xFB,0x72,0xE4,0x40,0x72,0x57,0x23, /* 3148: $r@rW# */ - 0xFB,0x41,0x71,0x28,0xE4,0x40,0x22,0xF0, /* 3150: Aq(@" */ - 0x40,0x72,0x57,0x23,0xFB,0x40,0x22,0xF0, /* 3158: @rW#@" */ - 0x74,0xF6,0x20,0x1D,0x00,0x1B,0x00,0x19, /* 3160: t ..... */ - 0x00,0x17,0x00,0x15,0x00,0x13,0x00,0x11, /* 3168: ........ */ - 0x00,0x0F,0x00,0x0D,0x00,0x0B,0x00,0x09, /* 3170: ........ */ - 0x00,0x07,0x00,0x05,0x00,0x03,0x00,0x01, /* 3178: ........ */ - 0x00,0x00,0x00,0x6A,0x12,0x71,0x26,0x52, /* 3180: ...j.q&R */ - 0xD2,0x63,0x4B,0x21,0xFB,0x72,0x21,0xEE, /* 3188: cK!r! */ - 0x65,0x4B,0x21,0xFB,0x72,0x21,0xEC,0x66, /* 3190: eK!r!f */ - 0x41,0x21,0xFB,0x72,0x21,0xEA,0x6B,0x4C, /* 3198: A!r!kL */ - 0x21,0xFB,0x72,0x21,0xE8,0x6D,0x48,0x21, /* 31A0: !r!mH! */ - 0xFB,0x72,0x21,0xE6,0x61,0x29,0x4F,0x21, /* 31A8: r!a)O! */ - 0xFB,0x72,0x21,0xE4,0x61,0x29,0x44,0x21, /* 31B0: r!a)D! */ - 0xFB,0x72,0x21,0xE2,0x61,0x28,0x49,0x21, /* 31B8: r!a(I! */ - 0xFB,0x72,0x21,0xE0,0x61,0x27,0x41,0x21, /* 31C0: r!a'A! */ - 0xFB,0x72,0xEE,0x61,0x25,0x49,0x21,0xFB, /* 31C8: ra%I! */ - 0x72,0xEC,0x61,0x22,0x4D,0x21,0xFB,0x72, /* 31D0: ra"M!r */ - 0xEA,0x63,0x22,0x43,0x21,0xFB,0x72,0xE8, /* 31D8: c"C!r */ - 0x61,0x20,0x44,0x21,0xFB,0x72,0xE6,0x63, /* 31E0: a D!rc */ - 0x21,0x45,0x21,0xFB,0x72,0xE4,0x63,0x20, /* 31E8: !E!rc */ - 0x4E,0x21,0xFB,0x72,0xE2,0x72,0x69,0x49, /* 31F0: N!rriI */ - 0x21,0xFB,0x21,0x40,0x21,0x28,0x28,0x99, /* 31F8: !!@!(( */ - 0x22,0xF0,0x20,0x61,0xBD,0x21,0x74,0x28, /* 3200: " a!t( */ - 0x51,0xD9,0x40,0xDA,0x40,0xD8,0x28,0x40, /* 3208: Q@@(@ */ - 0xD7,0x28,0x40,0xD2,0x40,0xD6,0x76,0x48, /* 3210: (@@vH */ - 0x24,0xF1,0xD4,0x40,0xD3,0x40,0xD1,0x71, /* 3218: $@@q */ - 0x44,0x24,0xF1,0x76,0x48,0x24,0xF1,0xFA, /* 3220: D$vH$ */ - 0x23,0x28,0x20,0x3D,0x2A,0x40,0x24,0xF6, /* 3228: #( =*@$ */ - 0x2A,0x40,0xF4,0xC0,0xAE,0x71,0x41,0xF2, /* 3230: *@qA */ - 0xD1,0x41,0x44,0x71,0x24,0xFF,0xF0,0xC0, /* 3238: ADq$ */ - 0xAB,0x62,0x0C,0x41,0xD8,0x41,0xD3,0x7A, /* 3240: b.AAz */ - 0x41,0xF4,0x28,0xAA,0x73,0xC0,0x21,0xA5, /* 3248: A(s! */ - 0x74,0x23,0x28,0x20,0x31,0x2F,0x4F,0x24, /* 3250: t#( 1.O$ */ - 0xF6,0x2F,0x4F,0xF4,0x28,0xA4,0x41,0xDA, /* 3258: .O(A */ - 0x78,0x41,0xF4,0x27,0xA7,0x76,0x21,0xA8, /* 3260: xA'v! */ - 0x72,0x51,0xF1,0x21,0x28,0x40,0xF8,0x77, /* 3268: rQ!(@w */ - 0x28,0x50,0xFA,0x25,0xFA,0xD7,0x67,0x20, /* 3270: (P%g */ - 0x20,0x40,0x24,0xFB,0x72,0xE0,0x77,0xD2, /* 3278: @$rw */ - 0x76,0x48,0x24,0xF1,0xD4,0x40,0x72,0xE0, /* 3280: vH$@r */ - 0x76,0x72,0x83,0x23,0xFB,0x74,0x72,0xE3, /* 3288: vr#tr */ - 0x78,0x2D,0xA0,0x48,0x72,0x51,0x23,0xFB, /* 3290: x-HrQ# */ - 0x40,0x74,0x23,0x28,0x27,0xEF,0x40,0x74, /* 3298: @t#('@t */ - 0x23,0x28,0x26,0xE8,0x40,0x74,0x23,0x28, /* 32A0: #(&@t#( */ - 0x21,0xE8,0x44,0x74,0x23,0x28,0x27,0xEF, /* 32A8: !Dt#(' */ - 0x40,0x74,0x23,0x28,0x26,0xE8,0x25,0x45, /* 32B0: @t#(&%E */ - 0x74,0x23,0x28,0x21,0xE8,0x40,0x74,0x23, /* 32B8: t#(!@t# */ - 0x28,0x27,0xEF,0x74,0x23,0x28,0x21,0x38, /* 32C0: ('t#(!8 */ - 0x2F,0x4F,0x24,0xF6,0x25,0x45,0xF4,0x22, /* 32C8: .O$%E" */ - 0xAF,0x22,0x48,0xD1,0x22,0x0D,0x2F,0x4F, /* 32D0: "H"..O */ - 0x21,0xB3,0x22,0xF0,0x2F,0x4F,0x21,0xB3, /* 32D8: !".O! */ - 0x22,0xF0,0x78,0xC0,0xA4,0x20,0x7A,0x21, /* 32E0: "x z! */ - 0xA1,0x67,0x21,0x2E,0x40,0x70,0xE0,0x21, /* 32E8: g!.@p! */ - 0x28,0x40,0x70,0x21,0xE7,0x41,0x21,0xB3, /* 32F0: (@p!A! */ - 0x22,0xF0,0x2F,0x4F,0x21,0xB3,0x22,0xF0, /* 32F8: ".O!" */ - 0x24,0x48,0xD1,0x71,0x72,0x54,0x23,0xFB, /* 3300: $HqrT# */ - 0x74,0x23,0x28,0x27,0x3F,0x2F,0x4F,0x24, /* 3308: t#('?.O$ */ - 0xF6,0x72,0x5F,0x23,0xFB,0x74,0x23,0x28, /* 3310: r_#t#( */ - 0x24,0x30,0x2F,0x4F,0x24,0xF6,0x72,0x21, /* 3318: $0.O$r! */ - 0x8F,0x23,0xFB,0x44,0x74,0x23,0x28,0x27, /* 3320: #Dt#(' */ - 0xEF,0x74,0x23,0x28,0x24,0x30,0x2F,0x4F, /* 3328: t#($0.O */ - 0x24,0xF6,0x72,0x21,0x50,0x23,0xFB,0x72, /* 3330: $r!P#r */ - 0x54,0xF1,0x24,0x48,0xF4,0xA8,0x79,0x31, /* 3338: T$Hy1 */ - 0x41,0xF2,0x79,0xE1,0x21,0x04,0x74,0x23, /* 3340: Ay!.t# */ - 0x28,0x23,0x39,0x43,0x24,0xF6,0x81,0x72, /* 3348: (#9C$r */ - 0x22,0x81,0x23,0xFB,0x79,0x32,0x41,0xF2, /* 3350: "#y2A */ - 0x79,0xE2,0x74,0x21,0x74,0x62,0x25,0x2D, /* 3358: yt!tb%- */ - 0x99,0x25,0x03,0x74,0x23,0x28,0x24,0x30, /* 3360: %.t#($0 */ - 0x2F,0x4F,0x24,0xF6,0xD1,0x79,0x30,0x41, /* 3368: .O$y0A */ - 0xF2,0x79,0xE0,0x71,0x41,0x24,0xF6,0x21, /* 3370: yqA$! */ - 0xA8,0x71,0x2A,0x4B,0xF4,0xA5,0x20,0x44, /* 3378: q*K D */ - 0xD1,0x03,0x20,0x4A,0xD1,0x71,0x72,0x54, /* 3380: . JqrT */ - 0x23,0xFB,0x44,0x72,0x51,0x23,0xFB,0x21, /* 3388: #DrQ#! */ - 0x06,0x71,0x2A,0x4A,0xF4,0xA5,0x20,0x48, /* 3390: .q*J H */ - 0xD1,0x03,0x20,0x4B,0xD1,0x71,0x72,0x54, /* 3398: . KqrT */ - 0x23,0xFB,0x48,0x72,0x51,0x23,0xFB,0x2F, /* 33A0: #HrQ#. */ - 0x4F,0x74,0x6F,0x40,0x24,0xF6,0x28,0x40, /* 33A8: Oto@$(@ */ - 0x24,0xFB,0x23,0x28,0x20,0xE0,0x77,0x28, /* 33B0: $#( w( */ - 0x50,0xD3,0x76,0xAF,0x73,0x23,0x50,0x67, /* 33B8: Pvs#Pg */ - 0x20,0x20,0x40,0x24,0xFB,0x70,0xE0,0x73, /* 33C0: @$ps */ - 0x70,0x21,0xE7,0x40,0xD1,0x41,0x72,0x51, /* 33C8: p!@ArQ */ - 0xF1,0x40,0x24,0xFF,0xF0,0xC0,0x21,0x24, /* 33D0: @$!$ */ - 0xAB,0x73,0xD0,0x73,0x71,0x72,0x55,0xFA, /* 33D8: ssqrU */ - 0xE0,0x72,0x54,0xF1,0x70,0x53,0x23,0xFB, /* 33E0: rTpS# */ - 0x21,0x40,0x70,0x57,0x23,0xFB,0x41,0x70, /* 33E8: !@pW#Ap */ - 0x21,0x8F,0x23,0xFB,0x71,0x70,0x87,0x23, /* 33F0: !#qp# */ - 0xFB,0x2F,0x4F,0x70,0x21,0x51,0x23,0xFB, /* 33F8: .Op!Q# */ - 0x78,0x26,0xA4,0x21,0x23,0x4D,0x21,0xFB, /* 3400: x&!#M! */ - 0x1B,0x21,0x40,0x24,0xFA,0x74,0x70,0xE1, /* 3408: .!@$tp */ - 0x41,0x71,0x43,0x24,0xFF,0xF0,0xAA,0x74, /* 3410: AqC$t */ - 0x23,0x28,0x27,0x3F,0x4F,0x24,0xF6,0xD5, /* 3418: #('?O$ */ - 0x0D,0x74,0x23,0x28,0x27,0x3F,0x2F,0x4F, /* 3420: .t#('?.O */ - 0x24,0xF6,0x44,0x24,0xF0,0xD5,0x75,0x2F, /* 3428: $D$u. */ - 0x4F,0x24,0xF6,0x25,0xFA,0xD5,0x70,0x21, /* 3430: O$%p! */ - 0x52,0x23,0xFB,0x75,0x1B,0xF2,0xF1,0x70, /* 3438: R#u.p */ - 0x21,0x53,0x23,0xFB,0x75,0x47,0x24,0xF6, /* 3440: !S#uG$ */ - 0x45,0xF4,0xC0,0xAD,0x71,0xA5,0x71,0x44, /* 3448: EqqD */ - 0xF4,0xC0,0xA6,0x41,0x70,0x22,0x87,0x23, /* 3450: Ap"# */ - 0xFB,0x4B,0x70,0x21,0x5B,0x23,0xFB,0x4B, /* 3458: Kp![#K */ - 0x70,0x23,0x87,0x23,0xFB,0x28,0x0E,0x2E, /* 3460: p##(.. */ - 0x4A,0x21,0xFB,0x1B,0x48,0x24,0xFA,0x72, /* 3468: J!.H$r */ - 0x54,0xF1,0x48,0xF4,0x21,0xAD,0x72,0x54, /* 3470: TH!rT */ - 0xF1,0x4B,0xF4,0x21,0xA6,0x71,0x1B,0xFA, /* 3478: K!q. */ - 0x30,0x48,0xF8,0x74,0xFA,0x70,0xE1,0x41, /* 3480: 0HtpA */ - 0x71,0x1B,0xFA,0x30,0x24,0xF1,0x70,0x8F, /* 3488: q.0$p */ - 0x23,0xFB,0x0F,0x71,0x48,0xF8,0x74,0xFA, /* 3490: #.qHt */ - 0x70,0xE1,0x41,0x71,0x24,0xF1,0x70,0x8F, /* 3498: pAq$p */ - 0x23,0xFB,0x71,0x41,0x24,0xF6,0xC0,0xAE, /* 34A0: #qA$ */ - 0x72,0x54,0xF1,0x44,0xF4,0xA8,0x72,0x54, /* 34A8: rTDrT */ - 0xF1,0x4A,0xF4,0xC0,0x23,0xAF,0x70,0x31, /* 34B0: J#p1 */ - 0xD5,0x2E,0x40,0x75,0x61,0x4F,0x24,0xF6, /* 34B8: .@uaO$ */ - 0x23,0x28,0x20,0xE4,0x40,0x75,0x61,0x4F, /* 34C0: #( @uaO */ - 0x24,0xF6,0x23,0x28,0x20,0xE5,0x40,0x75, /* 34C8: $#( @u */ - 0x61,0x4F,0x24,0xF6,0x23,0x28,0x20,0xE6, /* 34D0: aO$#( */ - 0x42,0x75,0x61,0x4F,0x24,0xF6,0x23,0x28, /* 34D8: BuaO$#( */ - 0x20,0xE7,0x75,0x61,0x4F,0x24,0xF6,0x23, /* 34E0: uaO$# */ - 0x28,0x20,0x3E,0x40,0x75,0x61,0x4F,0x24, /* 34E8: ( >@uaO$ */ - 0xF6,0x23,0x28,0x20,0xED,0x77,0x67,0x20, /* 34F0: #( wg */ - 0x20,0x40,0x24,0xFB,0x70,0xE2,0x73,0x21, /* 34F8: @$ps! */ - 0x28,0x50,0x25,0xFA,0xD3,0x23,0x50,0x67, /* 3500: (P%#Pg */ - 0x20,0x20,0x40,0x24,0xFB,0x70,0xE0,0x73, /* 3508: @$ps */ - 0x70,0x21,0xE7,0x71,0x41,0xF2,0xD1,0x41, /* 3510: p!qAA */ - 0x72,0x51,0xF1,0x71,0x24,0xFF,0xF0,0xC0, /* 3518: rQq$ */ - 0xA3,0x61,0x2B,0x05,0x76,0x41,0xF2,0xD6, /* 3520: a+.vA */ - 0x41,0x44,0x76,0x24,0xFF,0xF0,0xC0,0xA3, /* 3528: ADv$ */ - 0x63,0x2E,0x03,0x67,0x21,0x2E,0x40,0x70, /* 3530: c..g!.@p */ - 0xE0,0x21,0x28,0x40,0x70,0x21,0xE7,0x41, /* 3538: !(@p!A */ - 0x21,0xB3,0x22,0xF0,0x20,0xF0,0xD0,0x00, /* 3540: !" . */ - 0xF0,0x00,0xC0,0x00,0x00,0xF0,0xD0,0xF0, /* 3548: ... */ - 0xF0,0x00,0xC0,0x00,0x00,0x00,0x00,0x03, /* 3550: ...... */ - 0x00,0x04,0x00,0x07,0x00,0x60,0xBC,0x75, /* 3558: .....`u */ - 0x28,0x54,0xD1,0x71,0x67,0x38,0x35,0x41, /* 3560: (Tqg85A */ - 0xF2,0x71,0x67,0x38,0xE5,0x21,0x28,0x40, /* 3568: qg8!(@ */ - 0x25,0xFA,0xD0,0x53,0xF1,0x2F,0x40,0x24, /* 3570: %S.@$ */ - 0xF6,0xC0,0x24,0xA5,0x70,0x57,0xF1,0xC0, /* 3578: $pW */ - 0x23,0xA2,0x70,0x34,0x22,0x20,0x20,0x40, /* 3580: #p4" @ */ - 0x24,0xF6,0x22,0xA8,0x70,0x5C,0xF1,0xD3, /* 3588: $"p\ */ - 0x70,0x75,0x6C,0x2C,0x92,0x2F,0x4F,0x24, /* 3590: pul,.O$ */ - 0xF6,0x25,0xFA,0xD2,0x73,0xF4,0x21,0xA4, /* 3598: %s! */ - 0x72,0x70,0x5C,0x23,0xFB,0x70,0x21,0x89, /* 35A0: rp\#p! */ - 0xF1,0x42,0x24,0xFB,0x70,0x21,0x89,0x23, /* 35A8: B$p!# */ - 0xFB,0x41,0x71,0xE0,0x70,0x21,0x37,0x25, /* 35B0: Aqp!7% */ - 0xFA,0xD0,0x21,0x28,0x40,0xF4,0xA2,0x64, /* 35B8: !(@d */ - 0x0B,0x71,0x30,0x71,0x31,0x24,0xFB,0x21, /* 35C0: .q0q1$! */ - 0xAE,0x41,0x71,0x67,0x38,0xE4,0x71,0x30, /* 35C8: Aqg8q0 */ - 0x27,0x2C,0x28,0x40,0xE0,0x71,0x67,0x38, /* 35D0: ',(@qg8 */ - 0x56,0xF1,0x81,0x71,0x67,0x38,0x56,0x23, /* 35D8: Vqg8V# */ - 0xFB,0x40,0x71,0xE0,0x40,0x71,0xE1,0xB4, /* 35E0: @q@q */ - 0x22,0xF0,0x20,0x61,0xBF,0x21,0x72,0x28, /* 35E8: " a!r( */ - 0x56,0xD9,0x28,0x40,0xD3,0x40,0xD2,0x79, /* 35F0: V(@@y */ - 0x67,0x36,0x53,0xF1,0x81,0x79,0x67,0x36, /* 35F8: g6Syg6 */ - 0x53,0x23,0xFB,0x28,0x40,0xDA,0x40,0xDF, /* 3600: S#(@@ */ - 0x73,0x33,0xD1,0x72,0x44,0xF8,0x71,0x23, /* 3608: s3rDq# */ - 0x28,0x27,0xEF,0x71,0x23,0x28,0x26,0x37, /* 3610: ('q#(&7 */ - 0x2F,0x4F,0x24,0xF6,0x25,0xFA,0xD5,0x41, /* 3618: .O$%A */ - 0x24,0xF6,0x26,0x24,0xA8,0x71,0x23,0x28, /* 3620: $&$q#( */ - 0x26,0x3B,0x2F,0x4F,0x24,0xF6,0xD4,0x71, /* 3628: &;.O$q */ - 0x23,0x28,0x26,0x38,0x2F,0x4F,0x24,0xF6, /* 3630: #(&8.O$ */ - 0xD7,0x74,0x43,0x24,0xF6,0x71,0x23,0x28, /* 3638: tC$q#( */ - 0x26,0xE8,0x71,0x23,0x28,0x24,0x33,0x47, /* 3640: &q#($3G */ - 0x24,0xF6,0x25,0xFA,0xD6,0x43,0xF4,0x21, /* 3648: $%C! */ - 0x24,0xAE,0x76,0x47,0xF4,0xC0,0x26,0x21, /* 3650: $vG&! */ - 0xA4,0x40,0xDB,0x72,0x74,0x43,0x24,0xF6, /* 3658: @rtC$ */ - 0x28,0xF1,0x73,0x55,0xFA,0x30,0xD6,0x71, /* 3660: (sU0q */ - 0x23,0x28,0x26,0x32,0x2F,0x4F,0x24,0xF6, /* 3668: #(&2.O$ */ - 0xD8,0x71,0x23,0x28,0x26,0x32,0x2F,0x4F, /* 3670: q#(&2.O */ - 0x24,0xF6,0x21,0xD0,0x78,0x48,0x24,0xF6, /* 3678: $!xH$ */ - 0x21,0xA0,0x76,0x21,0x89,0xF1,0x41,0x24, /* 3680: !v!A$ */ - 0xFB,0x76,0x21,0x89,0x23,0xFB,0x41,0x79, /* 3688: v!#Ay */ - 0x60,0xEE,0x78,0x47,0x24,0xF6,0xAD,0x76, /* 3690: `xG$v */ - 0x21,0x50,0xF1,0x28,0x40,0x24,0xF6,0xA4, /* 3698: !P(@$ */ - 0x41,0x79,0x60,0xEE,0x78,0x41,0x24,0xF6, /* 36A0: Ay`xA$ */ - 0xA8,0x76,0x21,0x3E,0x41,0xF2,0x76,0x21, /* 36A8: v!>Av! */ - 0xEE,0x78,0x42,0x24,0xF6,0xAA,0x76,0x21, /* 36B0: xB$v! */ - 0x3C,0x41,0xF2,0x76,0x21,0xEC,0x41,0xDB, /* 36B8: .O$ */ - 0xF6,0xD0,0x41,0x7C,0x70,0x24,0xFF,0xF0, /* 37E0: A|p$ */ - 0xA3,0x7C,0xD8,0x02,0x70,0xD8,0x78,0x23, /* 37E8: |.px# */ - 0x29,0xAB,0x70,0x78,0xF4,0xD0,0x78,0x41, /* 37F0: )pxxA */ - 0xF4,0xD8,0x41,0x22,0x40,0x78,0x24,0xFF, /* 37F8: A"@x$ */ - 0xF0,0xC0,0x23,0x28,0xA3,0x78,0x42,0x21, /* 3800: #(xB! */ - 0xFB,0x28,0xF1,0xF6,0x23,0x26,0x01,0x20, /* 3808: (#&. */ - 0x23,0x24,0x05,0x20,0x23,0x22,0x09,0x20, /* 3810: #$. #". */ - 0x23,0x20,0x0D,0x20,0x22,0x2F,0x01,0x20, /* 3818: # . ".. */ - 0x22,0x2D,0x05,0x20,0x22,0x2B,0x09,0x20, /* 3820: "-. "+. */ - 0x22,0x29,0x0D,0x20,0x22,0x28,0x01,0x20, /* 3828: "). "(. */ - 0x22,0x26,0x05,0x20,0x22,0x24,0x09,0x20, /* 3830: "&. "$. */ - 0x22,0x22,0x0D,0x20,0x22,0x21,0x01,0x20, /* 3838: "". "!. */ - 0x21,0x2F,0x05,0x20,0x21,0x2D,0x09,0x20, /* 3840: !.. !-. */ - 0x21,0x2B,0x0D,0x20,0x21,0x2A,0x01,0x20, /* 3848: !+. !*. */ - 0x21,0x28,0x05,0x20,0x21,0x26,0x09,0x20, /* 3850: !(. !&. */ - 0x21,0x24,0x0D,0x20,0x21,0x23,0x01,0x20, /* 3858: !$. !#. */ - 0x21,0x21,0x05,0x20,0x2F,0x0A,0x20,0x20, /* 3860: !!. .. */ - 0x2D,0x0E,0x20,0x20,0x2C,0x02,0x20,0x20, /* 3868: -. ,. */ - 0x2A,0x06,0x20,0x20,0x28,0x0A,0x20,0x20, /* 3870: *. (. */ - 0x26,0x0E,0x20,0x20,0x25,0x02,0x20,0x20, /* 3878: &. %. */ - 0x23,0x06,0x20,0x20,0x21,0x0A,0x20,0x20, /* 3880: #. !. */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3888: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3890: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3898: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 38A0: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 38A8: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 38B0: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 38B8: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 38C0: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 38C8: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 38D0: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 38D8: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 38E0: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 38E8: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 38F0: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 38F8: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3900: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3908: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3910: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3918: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3920: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3928: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3930: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3938: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3940: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3948: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3950: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3958: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3960: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3968: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3970: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3978: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3980: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3988: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3990: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3998: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 39A0: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 39A8: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 39B0: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 39B8: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 39C0: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 39C8: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 39D0: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 39D8: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 39E0: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 39E8: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 39F0: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 39F8: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3A00: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3A08: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3A10: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3A18: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3A20: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3A28: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3A30: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3A38: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3A40: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3A48: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3A50: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3A58: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3A60: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3A68: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3A70: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3A78: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3A80: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3A88: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3A90: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3A98: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3AA0: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3AA8: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3AB0: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3AB8: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3AC0: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3AC8: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3AD0: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3AD8: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3AE0: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3AE8: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3AF0: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3AF8: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3B00: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3B08: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3B10: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3B18: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3B20: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3B28: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3B30: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3B38: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3B40: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3B48: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3B50: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3B58: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3B60: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3B68: P#{A */ - 0x71,0x23,0x28,0x26,0x32,0x2F,0x4F,0x24, /* 3B70: q#(&2.O$ */ - 0xF6,0x7B,0x2F,0x4F,0x24,0xF6,0x76,0x2B, /* 3B78: {.O$v+ */ - 0x50,0xF2,0x23,0xFB,0x7B,0x41,0xF2,0xDB, /* 3B80: P#{A */ - 0x7B,0x76,0x55,0x23,0xFB,0x70,0x76,0x21, /* 3B88: {vU#pv! */ - 0x3F,0xF2,0x76,0x21,0xEF,0x70,0x25,0xFA, /* 3B90: ?v!p% */ - 0x60,0x4F,0xF2,0xD0,0x21,0xA0,0x71,0x23, /* 3B98: `O!q# */ - 0x28,0x26,0x32,0x70,0x25,0xFA,0x60,0x4F, /* 3BA0: (&2p%`O */ - 0xF2,0xD0,0xA3,0x20,0x60,0x00,0x7D,0x7B, /* 3BA8: У `.}{ */ - 0x41,0xF2,0xF4,0x2F,0x4F,0x24,0xF6,0xD0, /* 3BB0: A.O$ */ - 0x7E,0x48,0x24,0xF6,0x28,0xA2,0x41,0x7C, /* 3BB8: ~H$(A| */ - 0x23,0x4F,0x24,0xFF,0xF0,0xC0,0x27,0xA8, /* 3BC0: #O$' */ - 0x41,0x24,0x40,0x70,0x24,0xFF,0xF0,0xC0, /* 3BC8: A$@p$ */ - 0x26,0xAE,0x7E,0x21,0x40,0x24,0xFB,0xDE, /* 3BD0: &~!@$ */ - 0x76,0x21,0x58,0xF1,0x48,0x24,0xF6,0x23, /* 3BD8: v!XH$# */ - 0xA3,0x7E,0x22,0x40,0x24,0xF6,0xC0,0x22, /* 3BE0: ~"@$" */ - 0xAB,0x71,0x23,0x28,0x20,0x35,0x2F,0x4F, /* 3BE8: q#( 5.O */ - 0x24,0xF6,0xA8,0x7E,0x2C,0x40,0x24,0xFB, /* 3BF0: $~,@$ */ - 0xDE,0x21,0x09,0x40,0xD0,0x21,0x20,0x40, /* 3BF8: !.@! @ */ - 0x76,0x21,0x72,0x62,0x2C,0x26,0x93,0x22, /* 3C00: v!rb,&" */ - 0x42,0x71,0x23,0x28,0x20,0xE5,0x7E,0x22, /* 3C08: Bq#( ~" */ - 0x40,0x24,0xFB,0xDE,0x76,0x23,0x81,0xF1, /* 3C10: @$v# */ - 0x28,0x40,0x24,0xF6,0xAD,0x40,0xD0,0x21, /* 3C18: (@$@! */ - 0x20,0x20,0x40,0x76,0x21,0x72,0x62,0x2C, /* 3C20: @v!rb, */ - 0x24,0x90,0x76,0x21,0x58,0xF1,0x24,0x40, /* 3C28: $v!X$@ */ - 0x24,0xF6,0xAD,0x40,0xD0,0x22,0x20,0x20, /* 3C30: $@" */ - 0x40,0x76,0x21,0x72,0x62,0x2C,0x22,0x9A, /* 3C38: @v!rb," */ - 0x74,0x23,0x4F,0x24,0xF6,0x71,0x23,0x28, /* 3C40: t#O$q#( */ - 0x26,0xEB,0x77,0x71,0x23,0x28,0x26,0xE8, /* 3C48: &wq#(& */ - 0x7E,0x76,0xE4,0x21,0x08,0x70,0x76,0x21, /* 3C50: ~v!.pv! */ - 0x3F,0xF2,0x76,0x21,0xEF,0x74,0x23,0x4F, /* 3C58: ?v!t#O */ - 0x24,0xF6,0x71,0x23,0x28,0x26,0xEB,0x77, /* 3C60: $q#(&w */ - 0x71,0x23,0x28,0x26,0xE8,0x75,0x42,0x24, /* 3C68: q#(&uB$ */ - 0xF6,0x24,0x29,0xAF,0x71,0x23,0x28,0x26, /* 3C70: $)q#(& */ - 0x3A,0x2F,0x4F,0x24,0xF6,0xD4,0x71,0x23, /* 3C78: :.O$q# */ - 0x28,0x26,0x38,0x2F,0x4F,0x24,0xF6,0xD7, /* 3C80: (&8.O$ */ - 0x74,0x43,0x24,0xF6,0x71,0x23,0x28,0x26, /* 3C88: tC$q#(& */ - 0xE8,0x72,0x74,0x43,0x24,0xF6,0x28,0xF1, /* 3C90: rtC$( */ - 0x73,0x55,0xFA,0x30,0x25,0xFA,0xD0,0x22, /* 3C98: sU0%" */ - 0x87,0xF1,0xC0,0xAC,0x70,0x21,0x54,0xF1, /* 3CA0: p!T */ - 0x42,0x24,0xFB,0x70,0x21,0x54,0x23,0xFB, /* 3CA8: B$p!T# */ - 0x70,0x23,0x85,0xF1,0xAC,0x70,0x21,0x72, /* 3CB0: p#p!r */ - 0x25,0x20,0x93,0x70,0x34,0xD6,0x24,0x23, /* 3CB8: % p4$# */ - 0x0F,0x70,0x8D,0xF1,0xDE,0x70,0x56,0xF1, /* 3CC0: .ppV */ - 0xD8,0x70,0x34,0x25,0xFA,0xD6,0x21,0x20, /* 3CC8: p4%! */ - 0x40,0x24,0xF6,0x21,0xAE,0x76,0x61,0x2F, /* 3CD0: @$!va. */ - 0x4F,0x24,0xF6,0x22,0x20,0x40,0x24,0xFB, /* 3CD8: O$" @$ */ - 0x60,0x4E,0x24,0xF6,0xD6,0x71,0x23,0x28, /* 3CE0: `N$q#( */ - 0x20,0x36,0x2F,0x49,0x24,0xF6,0x71,0x23, /* 3CE8: 6.I$q# */ - 0x28,0x20,0xE6,0x7E,0x78,0xF4,0x2F,0x4F, /* 3CF0: ( ~x.O */ - 0x24,0xF6,0x25,0xFA,0xDC,0x23,0x2D,0xA2, /* 3CF8: $%#- */ - 0x70,0x53,0xF1,0x24,0x48,0xF4,0xA3,0x4C, /* 3D00: pS$HL */ - 0xDB,0x03,0x22,0x40,0xDB,0x7B,0xDD,0x41, /* 3D08: ."@{A */ - 0x7C,0x7D,0x24,0xFF,0xF0,0xA3,0x7C,0xDB, /* 3D10: |}$| */ - 0x02,0x7D,0xDB,0x76,0x24,0x20,0x40,0x24, /* 3D18: .}v$ @$ */ - 0xF6,0x25,0xA9,0x7B,0x23,0x24,0xA7,0x70, /* 3D20: %{#$p */ - 0x23,0x50,0x78,0x2F,0x4F,0x24,0xF6,0xF2, /* 3D28: #Px.O$ */ - 0xF1,0x4A,0xF4,0x21,0xAF,0x70,0x23,0x50, /* 3D30: J!p#P */ - 0x78,0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x71, /* 3D38: x.O$q */ - 0x23,0x28,0x26,0xE3,0x78,0x41,0xF2,0xD8, /* 3D40: #(&xA */ - 0x7B,0x60,0x4F,0xF2,0xDB,0x7D,0x60,0x4F, /* 3D48: {`O}`O */ - 0xF2,0xDD,0x22,0x02,0x41,0x42,0x7D,0x24, /* 3D50: ".AB}$ */ - 0xFF,0xF0,0x23,0x21,0xA1,0x4D,0x71,0x23, /* 3D58: #!Mq# */ - 0x28,0x26,0xE3,0x4A,0x71,0x23,0x28,0x26, /* 3D60: (&Jq#(& */ - 0xE3,0x78,0x41,0xF2,0xD8,0x7B,0x60,0x4F, /* 3D68: xA{`O */ - 0xF2,0xDB,0x7D,0x42,0xF4,0xDD,0x7B,0x22, /* 3D70: }B{" */ - 0x2F,0xA4,0x65,0x0B,0x7B,0x41,0xF4,0xDB, /* 3D78: .e.{A */ - 0x41,0x22,0x40,0x7B,0x24,0xFF,0xF0,0xC0, /* 3D80: A"@{$ */ - 0x22,0x2E,0xA3,0x7B,0x42,0x21,0xFB,0x28, /* 3D88: ".{B!( */ - 0xF1,0xF6,0x22,0x2C,0x06,0x20,0x22,0x2A, /* 3D90: ",. "* */ - 0x0F,0x20,0x22,0x29,0x08,0x20,0x22,0x28, /* 3D98: . "). "( */ - 0x01,0x20,0x22,0x26,0x0A,0x20,0x22,0x25, /* 3DA0: . "&. "% */ - 0x03,0x20,0x22,0x23,0x0C,0x20,0x22,0x22, /* 3DA8: . "#. "" */ - 0x05,0x20,0x22,0x20,0x0E,0x20,0x21,0x2F, /* 3DB0: . " . !. */ - 0x07,0x20,0x21,0x2E,0x00,0x20,0x21,0x2C, /* 3DB8: . !.. !, */ - 0x09,0x20,0x21,0x2B,0x02,0x20,0x21,0x29, /* 3DC0: . !+. !) */ - 0x0B,0x20,0x21,0x28,0x04,0x20,0x21,0x26, /* 3DC8: . !(. !& */ - 0x0D,0x20,0x21,0x25,0x06,0x20,0x21,0x23, /* 3DD0: . !%. !# */ - 0x0F,0x20,0x21,0x22,0x08,0x20,0x21,0x21, /* 3DD8: . !". !! */ - 0x01,0x20,0x2F,0x0B,0x20,0x20,0x2E,0x04, /* 3DE0: . .. .. */ - 0x20,0x20,0x2C,0x0D,0x20,0x20,0x2B,0x06, /* 3DE8: ,. +. */ - 0x20,0x20,0x29,0x0F,0x20,0x20,0x28,0x08, /* 3DF0: ). (. */ - 0x20,0x20,0x27,0x01,0x20,0x20,0x25,0x0A, /* 3DF8: '. %. */ - 0x20,0x20,0x24,0x03,0x20,0x20,0x22,0x0C, /* 3E00: $. ". */ - 0x20,0x20,0x21,0x05,0x20,0x20,0x70,0x23, /* 3E08: !. p# */ - 0x50,0x78,0x2F,0x4F,0x24,0xF6,0xF2,0xF1, /* 3E10: Px.O$ */ - 0x71,0x23,0x28,0x26,0xE3,0x78,0x41,0xF2, /* 3E18: q#(&xA */ - 0xD8,0x70,0x23,0x50,0x78,0x2F,0x4F,0x24, /* 3E20: p#Px.O$ */ - 0xF6,0xF2,0xF1,0x71,0x23,0x28,0x26,0xE3, /* 3E28: q#(& */ - 0x78,0x41,0xF2,0xD8,0x70,0x23,0x50,0x78, /* 3E30: xAp#Px */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x71,0x23, /* 3E38: .O$q# */ - 0x28,0x26,0xE3,0x78,0x41,0xF2,0xD8,0x70, /* 3E40: (&xAp */ - 0x23,0x50,0x78,0x2F,0x4F,0x24,0xF6,0xF2, /* 3E48: #Px.O$ */ - 0xF1,0x71,0x23,0x28,0x26,0xE3,0x78,0x41, /* 3E50: q#(&xA */ - 0xF2,0xD8,0x70,0x23,0x50,0x78,0x2F,0x4F, /* 3E58: p#Px.O */ - 0x24,0xF6,0xF2,0xF1,0x71,0x23,0x28,0x26, /* 3E60: $q#(& */ - 0xE3,0x78,0x41,0xF2,0xD8,0x70,0x23,0x50, /* 3E68: xAp#P */ - 0x78,0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x71, /* 3E70: x.O$q */ - 0x23,0x28,0x26,0xE3,0x78,0x41,0xF2,0xD8, /* 3E78: #(&xA */ - 0x70,0x23,0x50,0x78,0x2F,0x4F,0x24,0xF6, /* 3E80: p#Px.O$ */ - 0xF2,0xF1,0x71,0x23,0x28,0x26,0xE3,0x78, /* 3E88: q#(&x */ - 0x41,0xF2,0xD8,0x70,0x23,0x50,0x78,0x2F, /* 3E90: Ap#Px. */ - 0x4F,0x24,0xF6,0xF2,0xF1,0x71,0x23,0x28, /* 3E98: O$q#( */ - 0x26,0xE3,0x78,0x41,0xF2,0xD8,0x70,0x23, /* 3EA0: &xAp# */ - 0x50,0x78,0x2F,0x4F,0x24,0xF6,0xF2,0xF1, /* 3EA8: Px.O$ */ - 0x71,0x23,0x28,0x26,0xE3,0x78,0x41,0xF2, /* 3EB0: q#(&xA */ - 0xD8,0x70,0x23,0x50,0x78,0x2F,0x4F,0x24, /* 3EB8: p#Px.O$ */ - 0xF6,0xF2,0xF1,0x71,0x23,0x28,0x26,0xE3, /* 3EC0: q#(& */ - 0x78,0x41,0xF2,0xD8,0x70,0x23,0x50,0x78, /* 3EC8: xAp#Px */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x71,0x23, /* 3ED0: .O$q# */ - 0x28,0x26,0xE3,0x78,0x41,0xF2,0xD8,0x70, /* 3ED8: (&xAp */ - 0x23,0x50,0x78,0x2F,0x4F,0x24,0xF6,0xF2, /* 3EE0: #Px.O$ */ - 0xF1,0x71,0x23,0x28,0x26,0xE3,0x78,0x41, /* 3EE8: q#(&xA */ - 0xF2,0xD8,0x70,0x23,0x50,0x78,0x2F,0x4F, /* 3EF0: p#Px.O */ - 0x24,0xF6,0xF2,0xF1,0x71,0x23,0x28,0x26, /* 3EF8: $q#(& */ - 0xE3,0x78,0x41,0xF2,0xD8,0x70,0x23,0x50, /* 3F00: xAp#P */ - 0x78,0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x71, /* 3F08: x.O$q */ - 0x23,0x28,0x26,0xE3,0x78,0x41,0xF2,0xD8, /* 3F10: #(&xA */ - 0x70,0x23,0x50,0x78,0x2F,0x4F,0x24,0xF6, /* 3F18: p#Px.O$ */ - 0xF2,0xF1,0x71,0x23,0x28,0x26,0xE3,0x78, /* 3F20: q#(&x */ - 0x41,0xF2,0xD8,0x70,0x23,0x50,0x78,0x2F, /* 3F28: Ap#Px. */ - 0x4F,0x24,0xF6,0xF2,0xF1,0x71,0x23,0x28, /* 3F30: O$q#( */ - 0x26,0xE3,0x78,0x41,0xF2,0xD8,0x70,0x23, /* 3F38: &xAp# */ - 0x50,0x78,0x2F,0x4F,0x24,0xF6,0xF2,0xF1, /* 3F40: Px.O$ */ - 0x71,0x23,0x28,0x26,0xE3,0x78,0x41,0xF2, /* 3F48: q#(&xA */ - 0xD8,0x70,0x23,0x50,0x78,0x2F,0x4F,0x24, /* 3F50: p#Px.O$ */ - 0xF6,0xF2,0xF1,0x71,0x23,0x28,0x26,0xE3, /* 3F58: q#(& */ - 0x78,0x41,0xF2,0xD8,0x70,0x23,0x50,0x78, /* 3F60: xAp#Px */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x71,0x23, /* 3F68: .O$q# */ - 0x28,0x26,0xE3,0x78,0x41,0xF2,0xD8,0x70, /* 3F70: (&xAp */ - 0x23,0x50,0x78,0x2F,0x4F,0x24,0xF6,0xF2, /* 3F78: #Px.O$ */ - 0xF1,0x71,0x23,0x28,0x26,0xE3,0x78,0x41, /* 3F80: q#(&xA */ - 0xF2,0xD8,0x70,0x23,0x50,0x78,0x2F,0x4F, /* 3F88: p#Px.O */ - 0x24,0xF6,0xF2,0xF1,0x71,0x23,0x28,0x26, /* 3F90: $q#(& */ - 0xE3,0x78,0x41,0xF2,0xD8,0x70,0x23,0x50, /* 3F98: xAp#P */ - 0x78,0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x71, /* 3FA0: x.O$q */ - 0x23,0x28,0x26,0xE3,0x78,0x41,0xF2,0xD8, /* 3FA8: #(&xA */ - 0x70,0x23,0x50,0x78,0x2F,0x4F,0x24,0xF6, /* 3FB0: p#Px.O$ */ - 0xF2,0xF1,0x71,0x23,0x28,0x26,0xE3,0x78, /* 3FB8: q#(&x */ - 0x41,0xF2,0xD8,0x70,0x23,0x50,0x78,0x2F, /* 3FC0: Ap#Px. */ - 0x4F,0x24,0xF6,0xF2,0xF1,0x71,0x23,0x28, /* 3FC8: O$q#( */ - 0x26,0xE3,0x78,0x41,0xF2,0xD8,0x70,0x23, /* 3FD0: &xAp# */ - 0x50,0x78,0x2F,0x4F,0x24,0xF6,0xF2,0xF1, /* 3FD8: Px.O$ */ - 0x71,0x23,0x28,0x26,0xE3,0x78,0x41,0xF2, /* 3FE0: q#(&xA */ - 0xD8,0x70,0x23,0x50,0x78,0x2F,0x4F,0x24, /* 3FE8: p#Px.O$ */ - 0xF6,0xF2,0xF1,0x71,0x23,0x28,0x26,0xE3, /* 3FF0: q#(& */ - 0x78,0x41,0xF2,0xD8,0x70,0x23,0x50,0x78, /* 3FF8: xAp#Px */ - 0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x71,0x23, /* 4000: .O$q# */ - 0x28,0x26,0xE3,0x78,0x41,0xF2,0xD8,0x70, /* 4008: (&xAp */ - 0x23,0x50,0x78,0x2F,0x4F,0x24,0xF6,0xF2, /* 4010: #Px.O$ */ - 0xF1,0x71,0x23,0x28,0x26,0xE3,0x78,0x41, /* 4018: q#(&xA */ - 0xF2,0xD8,0x70,0x23,0x50,0x78,0x2F,0x4F, /* 4020: p#Px.O */ - 0x24,0xF6,0xF2,0xF1,0x71,0x23,0x28,0x26, /* 4028: $q#(& */ - 0xE3,0x78,0x41,0xF2,0xD8,0x70,0x23,0x50, /* 4030: xAp#P */ - 0x78,0x2F,0x4F,0x24,0xF6,0xF2,0xF1,0x71, /* 4038: x.O$q */ - 0x23,0x28,0x26,0xE3,0x78,0x41,0xF2,0xD8, /* 4040: #(&xA */ - 0x70,0x23,0x50,0x78,0x2F,0x4F,0x24,0xF6, /* 4048: p#Px.O$ */ - 0xF2,0xF1,0x71,0x23,0x28,0x26,0xE3,0x78, /* 4050: q#(&x */ - 0x41,0xF2,0xD8,0x70,0x23,0x50,0x78,0x2F, /* 4058: Ap#Px. */ - 0x4F,0x24,0xF6,0xF2,0xF1,0x71,0x23,0x28, /* 4060: O$q#( */ - 0x26,0xE3,0x78,0x41,0xF2,0xD8,0x7E,0x78, /* 4068: &xA~x */ - 0x2F,0x4F,0x24,0xF6,0xF4,0x2F,0x4F,0x24, /* 4070: .O$.O$ */ - 0xF6,0xDB,0x78,0x2F,0x4F,0x24,0xF6,0x70, /* 4078: x.O$p */ - 0x56,0x23,0xFB,0x41,0x7C,0x2C,0x40,0x24, /* 4080: V#A|,@$ */ - 0xFF,0xF0,0xC0,0xA9,0x41,0x2C,0x41,0x7B, /* 4088: A,A{ */ - 0x24,0xFF,0xF0,0x22,0xA8,0x41,0x7C,0x24, /* 4090: $"A|$ */ - 0x40,0x24,0xFF,0xF0,0xC0,0x22,0xA5,0x41, /* 4098: @$"A */ - 0x24,0x41,0x7B,0x24,0xFF,0xF0,0xC0,0x21, /* 40A0: $A{$! */ - 0xAB,0x76,0x28,0x20,0x40,0x24,0xF6,0x21, /* 40A8: v( @$! */ - 0xA3,0x76,0x68,0x2F,0x4F,0x24,0xF6,0xD6, /* 40B0: vh.O$ */ - 0x41,0x79,0x60,0xEE,0x07,0x76,0x28,0x20, /* 40B8: Ay`.v( */ - 0x40,0x24,0xFB,0xD6,0x70,0x24,0x81,0xF1, /* 40C0: @$p$ */ - 0x41,0x24,0xFB,0x70,0x24,0x81,0x23,0xFB, /* 40C8: A$p$# */ - 0x22,0x0E,0x76,0x60,0x4E,0x24,0xF6,0xD6, /* 40D0: ".v`N$ */ - 0x71,0x23,0x28,0x20,0x36,0x2F,0x49,0x24, /* 40D8: q#( 6.I$ */ - 0xF6,0x71,0x23,0x28,0x20,0xE6,0x70,0x24, /* 40E0: q#( p$ */ - 0x81,0xF1,0x41,0x24,0xF6,0x21,0xA1,0x41, /* 40E8: A$!A */ - 0x79,0x60,0xEE,0x70,0x24,0x81,0xF1,0x60, /* 40F0: y`p$` */ - 0x4E,0x24,0xF6,0x70,0x24,0x81,0x23,0xFB, /* 40F8: N$p$# */ - 0x74,0x23,0x4F,0x24,0xF6,0x71,0x23,0x28, /* 4100: t#O$q#( */ - 0x26,0xEA,0x77,0x71,0x23,0x28,0x26,0xE8, /* 4108: &wq#(& */ - 0x76,0x70,0xE4,0x75,0x44,0x24,0xF6,0x26, /* 4110: vpuD$& */ - 0xA9,0x71,0x23,0x28,0x26,0x39,0x2F,0x4F, /* 4118: q#(&9.O */ - 0x24,0xF6,0xD4,0x71,0x23,0x28,0x26,0x38, /* 4120: $q#(&8 */ - 0x2F,0x4F,0x24,0xF6,0xD7,0x74,0x43,0x24, /* 4128: .O$tC$ */ - 0xF6,0x71,0x23,0x28,0x26,0xE8,0x72,0x74, /* 4130: q#(&rt */ - 0x43,0x24,0xF6,0x28,0xF1,0x73,0x55,0xFA, /* 4138: C$(sU */ - 0x30,0x25,0xFA,0xD0,0x21,0x72,0x21,0x28, /* 4140: 0%!r!( */ - 0x99,0x70,0x21,0x72,0x63,0x27,0x27,0x9B, /* 4148: p!rc'' */ - 0x70,0x22,0x87,0xF1,0xC0,0xAC,0x70,0x21, /* 4150: p"p! */ - 0x54,0xF1,0x44,0x24,0xFB,0x70,0x21,0x54, /* 4158: TD$p!T */ - 0x23,0xFB,0x41,0x79,0x60,0xEE,0x70,0x21, /* 4160: #Ay`p! */ - 0x89,0xF1,0x42,0x24,0xFB,0x70,0x21,0x89, /* 4168: B$p! */ - 0x23,0xFB,0x74,0x23,0x4F,0x24,0xF6,0x71, /* 4170: #t#O$q */ - 0x23,0x28,0x26,0xE9,0x77,0x71,0x23,0x28, /* 4178: #(&wq#( */ - 0x26,0xE8,0x73,0x89,0xF1,0x71,0x23,0x28, /* 4180: &sq#( */ - 0x27,0xEF,0x72,0x41,0xF2,0xD2,0x41,0x72, /* 4188: 'rAAr */ - 0x41,0x24,0xFF,0xF0,0xC0,0x21,0xA2,0x40, /* 4190: A$!@ */ - 0xD2,0x73,0x30,0xAA,0x73,0x30,0x27,0x2F, /* 4198: s0s0'. */ - 0x2F,0x4F,0x24,0xF6,0xD3,0x03,0x28,0x40, /* 41A0: .O$.(@ */ - 0xD3,0x75,0xC0,0xAE,0x73,0x7A,0xF4,0xC0, /* 41A8: usz */ - 0x6B,0x25,0xA5,0x72,0x7F,0xF4,0xA3,0x6B, /* 41B0: k%rk */ - 0x24,0x0E,0x21,0xB1,0x22,0xF0,0x60,0xBE, /* 41B8: $.!"` */ - 0x74,0x32,0x27,0x2F,0x2F,0x4F,0x24,0xF6, /* 41C0: t2'..O$ */ - 0x33,0xD1,0x74,0x23,0x85,0xF1,0xD0,0x43, /* 41C8: 3t#C */ - 0x70,0xF9,0x21,0xA0,0x70,0x2F,0xA8,0x70, /* 41D0: p!p.p */ - 0x41,0xF4,0x21,0xAA,0x70,0x42,0xF4,0xC0, /* 41D8: A!pB */ - 0x2E,0xAD,0x24,0x09,0x70,0x43,0xF4,0x2E, /* 41E0: .$.pC. */ - 0xA6,0x70,0x44,0xF4,0x27,0xA6,0x70,0x45, /* 41E8: pD'pE */ - 0xF4,0xC0,0x2D,0xAB,0x2A,0x05,0x71,0x23, /* 41F0: -*.q# */ - 0x28,0x20,0x35,0x2F,0x4F,0x24,0xF6,0xC0, /* 41F8: ( 5.O$ */ - 0x2C,0xAD,0x71,0x23,0x28,0x20,0x39,0x22, /* 4200: ,q#( 9" */ - 0x40,0x24,0xF6,0xC0,0x21,0xA9,0x71,0x23, /* 4208: @$!q# */ - 0x28,0x20,0x39,0x2F,0x4F,0x24,0xF6,0x22, /* 4210: ( 9.O$" */ - 0x40,0x24,0xFB,0x71,0x23,0x28,0x20,0xE9, /* 4218: @$q#( */ - 0x24,0x4E,0x71,0x23,0x28,0x20,0xE5,0x42, /* 4220: $Nq#( B */ - 0x74,0x23,0x85,0x23,0xFB,0x71,0x23,0x28, /* 4228: t##q#( */ - 0x20,0x35,0x2F,0x4F,0x24,0xF6,0xC0,0x29, /* 4230: 5.O$) */ - 0xA6,0x40,0x71,0x23,0x28,0x26,0xE3,0x28, /* 4238: @q#(&( */ - 0x41,0x71,0x23,0x28,0x26,0xE3,0x74,0x34, /* 4240: Aq#(&t4 */ - 0x60,0x4E,0x24,0xF6,0x74,0xE4,0x71,0x23, /* 4248: `N$tq# */ - 0x28,0x20,0x36,0x2F,0x49,0x24,0xF6,0x71, /* 4250: ( 6.I$q */ - 0x23,0x28,0x20,0xE6,0x43,0x74,0x23,0x85, /* 4258: #( Ct# */ - 0x23,0xFB,0x26,0x0B,0x71,0x23,0x28,0x20, /* 4260: #&.q#( */ - 0x35,0x2F,0x4F,0x24,0xF6,0xC0,0x25,0xAF, /* 4268: 5.O$% */ - 0x71,0x23,0x28,0x20,0x39,0x22,0x40,0x24, /* 4270: q#( 9"@$ */ - 0xF6,0xC0,0x21,0xA9,0x71,0x23,0x28,0x20, /* 4278: !q#( */ - 0x39,0x2F,0x4F,0x24,0xF6,0x22,0x40,0x24, /* 4280: 9.O$"@$ */ - 0xFB,0x71,0x23,0x28,0x20,0xE9,0x24,0x4E, /* 4288: q#( $N */ - 0x71,0x23,0x28,0x20,0xE5,0x45,0x74,0x23, /* 4290: q#( Et# */ - 0x85,0x23,0xFB,0x71,0x23,0x28,0x20,0x35, /* 4298: #q#( 5 */ - 0x2F,0x4F,0x24,0xF6,0xC0,0x22,0xA8,0x40, /* 42A0: .O$"@ */ - 0x71,0x23,0x28,0x26,0xE3,0x28,0x43,0x71, /* 42A8: q#(&(Cq */ - 0x23,0x28,0x26,0xE3,0x71,0x23,0x28,0x20, /* 42B0: #(&q#( */ - 0x39,0x2D,0x4F,0x24,0xF6,0x71,0x23,0x28, /* 42B8: 9-O$q#( */ - 0x20,0xE9,0x24,0x4E,0x71,0x23,0x28,0x20, /* 42C0: $Nq#( */ - 0xE5,0x40,0x74,0x23,0x85,0x23,0xFB,0xB2, /* 42C8: @t## */ - 0x22,0xF0,0x60,0xBF,0x73,0x31,0x25,0xFA, /* 42D0: "`s1% */ - 0xD0,0x23,0x28,0x20,0x35,0x2F,0x4F,0x24, /* 42D8: #( 5.O$ */ - 0xF6,0x21,0xA0,0x73,0x22,0x50,0xF1,0x21, /* 42E0: !s"P! */ - 0x40,0x24,0xFB,0x73,0x22,0x50,0x23,0xFB, /* 42E8: @$s"P# */ - 0xB1,0x22,0xF0,0x73,0x22,0x50,0xF1,0x61, /* 42F0: "s"Pa */ - 0x4F,0x24,0xF6,0x73,0x22,0x50,0x23,0xFB, /* 42F8: O$s"P# */ - 0x73,0x21,0x58,0xF1,0x21,0x40,0x24,0xF6, /* 4300: s!X!@$ */ - 0x24,0xAC,0x70,0x23,0x28,0x26,0x3C,0x21, /* 4308: $p#(&."p0 */ - 0xD0,0x70,0x72,0xF4,0xA7,0x71,0x70,0x30, /* 4938: prqp0 */ - 0xF9,0xA2,0x60,0x02,0x70,0x30,0x25,0xFA, /* 4940: `.p0% */ - 0xD3,0x75,0xF4,0xA7,0x71,0x71,0x31,0xF2, /* 4948: uqq1 */ - 0x73,0xF4,0xA5,0x73,0x71,0xE0,0x21,0x06, /* 4950: ssq!. */ - 0x73,0x72,0xF4,0xC0,0xA4,0x20,0x71,0x74, /* 4958: sr qt */ - 0xE1,0x70,0x30,0x31,0x71,0x31,0xF2,0x71, /* 4960: p01q1q */ - 0xE1,0x70,0x30,0x30,0x71,0xE0,0x70,0x70, /* 4968: p00qpp */ - 0x31,0xF2,0x71,0xF4,0x21,0xA0,0x71,0x70, /* 4970: 1q!qp */ - 0xE0,0x71,0x30,0x74,0x30,0xF4,0xC0,0x21, /* 4978: q0t0! */ - 0xA7,0x71,0x74,0xE1,0x21,0x02,0x71,0x31, /* 4980: qt!.q1 */ - 0x70,0x31,0xF2,0x70,0xE1,0x71,0x30,0x70, /* 4988: p1pq0p */ - 0xE0,0x70,0x30,0x74,0x30,0xF4,0xA4,0x20, /* 4990: p0t0 */ - 0xB6,0x22,0xF0,0x70,0x74,0xE1,0xB6,0x22, /* 4998: "pt" */ - 0xF0,0x60,0xBE,0x73,0x2A,0x5D,0xD0,0x70, /* 49A0: `s*]p */ - 0x32,0x21,0xA8,0x70,0x60,0x3E,0xD1,0x70, /* 49A8: 2!p`>p */ - 0x53,0x73,0x21,0x92,0x74,0x73,0x6C,0x91, /* 49B0: Ss!tsl */ - 0x70,0x60,0x3F,0xD1,0x70,0x53,0x73,0x96, /* 49B8: p`?pSs */ - 0xB2,0x22,0xF0,0xB2,0x22,0xF0,0x75,0xF6, /* 49C0: ""u */ - 0x20,0x60,0xBE,0x73,0x2A,0x5D,0xD0,0x70, /* 49C8: `s*]p */ - 0x5E,0x25,0xFA,0x25,0xFA,0xD1,0xE0,0x71, /* 49D0: ^%%q */ - 0x70,0xE0,0x71,0x70,0xE1,0x40,0x71,0xE1, /* 49D8: pqp@q */ - 0x41,0x70,0x53,0x73,0x61,0x2A,0x9E,0x74, /* 49E0: ApSsa*t */ - 0x70,0x60,0xEA,0x75,0x74,0xF2,0x70,0x60, /* 49E8: p`utp` */ - 0xEB,0x41,0x70,0xE2,0x76,0xA8,0x40,0x70, /* 49F0: Apv@p */ - 0x60,0xE3,0x74,0x70,0x60,0xE8,0xB2,0x22, /* 49F8: `tp`" */ - 0xF0,0x40,0x71,0x2A,0xEF,0x22,0xF0,0x0E, /* 4A00: @q*". */ - 0x00,0x0D,0x00,0x0B,0x00,0x0A,0x00,0x08, /* 4A08: ........ */ - 0x00,0x07,0x00,0x05,0x00,0x04,0x00,0x01, /* 4A10: ........ */ - 0x00,0x00,0x00,0x6A,0x00,0x71,0x2A,0x5D, /* 4A18: ...j.q*] */ - 0xD2,0x72,0x61,0x41,0x21,0xFB,0x4A,0x26, /* 4A20: raA!J& */ - 0x90,0x22,0xF0,0x00,0x00,0x00,0x00,0x00, /* 4A28: "..... */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 4A30: ........ */ - 0x00,0x00,0x00,0x60,0xBE,0x41,0x75,0x76, /* 4A38: ...`Auv */ - 0x24,0xFF,0xF0,0x21,0xA7,0x74,0xD0,0x75, /* 4A40: $!tu */ - 0x74,0xF2,0xD1,0x71,0x70,0xF9,0x21,0xA0, /* 4A48: tqp! */ - 0x40,0x70,0xE0,0x70,0x51,0xD0,0x71,0x70, /* 4A50: @ppQqp */ - 0xF9,0xA6,0x60,0x04,0x41,0xB2,0x22,0xF0, /* 4A58: `.A" */ - 0x73,0x21,0x9C,0xD0,0x70,0x30,0xAF,0x70, /* 4A60: s!p0p */ - 0x30,0x70,0xF2,0xD0,0x70,0x51,0xD1,0x73, /* 4A68: 0ppQs */ - 0x99,0x70,0x30,0xA2,0x60,0x01,0x40,0xB2, /* 4A70: p0`.@ */ - 0x22,0xF0,0x75,0xF6,0x20,0x04,0xBB,0x60, /* 4A78: "u .` */ - 0x4A,0x21,0xFB,0x22,0xF0,0x7E,0x02,0x22, /* 4A80: J!"~." */ - 0xF0,0x71,0x60,0x8F,0xD1,0x71,0x60,0x4F, /* 4A88: q`q`O */ - 0xF9,0x21,0xA4,0x24,0xF2,0x71,0x72,0xFA, /* 4A90: !$qr */ - 0x30,0x73,0xFA,0xE0,0x71,0x60,0x8F,0xD1, /* 4A98: 0sq` */ - 0x71,0x60,0x4F,0xF9,0xA2,0x61,0x0C,0x22, /* 4AA0: q`Oa." */ - 0xF0,0x60,0xB4,0x7D,0x2B,0x5D,0xD0,0x7E, /* 4AA8: `}+]~ */ - 0x7F,0x24,0xFB,0xAE,0x1E,0x2E,0x44,0x21, /* 4AB0: $..D! */ - 0xFB,0x23,0x2F,0x92,0xAB,0x60,0x4F,0xBC, /* 4AB8: #.`O */ - 0x22,0xF0,0x70,0x61,0x3A,0xBC,0x22,0xF0, /* 4AC0: "pa:" */ - 0x40,0x7E,0x41,0x23,0xF7,0xD8,0x7F,0x40, /* 4AC8: @~A#@ */ - 0x23,0xF7,0xD9,0x78,0x60,0x4E,0x24,0xF6, /* 4AD0: #x`N$ */ - 0xD6,0x79,0xD7,0x2C,0x42,0x21,0xFB,0x16, /* 4AD8: y,B!. */ - 0x14,0x22,0x24,0x9B,0x70,0x61,0x3E,0xDA, /* 4AE0: ."$pa> */ - 0x70,0x7D,0x21,0x2F,0x92,0x10,0xD3,0x70, /* 4AE8: p}!..p */ - 0x61,0x33,0x21,0xA8,0x70,0x61,0x34,0x73, /* 4AF0: a3!pa4s */ - 0xF9,0xC0,0xA6,0x73,0x70,0x61,0x35,0xF9, /* 4AF8: spa5 */ - 0xA5,0x70,0x61,0x32,0xD1,0x02,0x73,0xD1, /* 4B00: pa2.s */ - 0x71,0x69,0x5A,0xD1,0x70,0x61,0x3A,0xD2, /* 4B08: qiZpa: */ - 0x70,0x61,0x3B,0x21,0xFD,0xDA,0xDB,0x70, /* 4B10: pa;!p */ - 0x61,0x3A,0x21,0xFD,0xD8,0xD9,0x40,0x7A, /* 4B18: a:!@z */ - 0x78,0x24,0xFF,0xD6,0x7B,0x79,0x24,0xFF, /* 4B20: x${y$ */ - 0xD7,0x16,0x1E,0x23,0x28,0x90,0xC0,0x22, /* 4B28: ..#(" */ - 0xAA,0x70,0x61,0x3B,0x24,0xF2,0xF4,0x22, /* 4B30: pa;$" */ - 0xA2,0x70,0x61,0x33,0x22,0xAB,0x71,0x21, /* 4B38: pa3"q! */ - 0xFD,0xD8,0xD9,0x70,0x61,0x3A,0x21,0xFD, /* 4B40: pa:! */ - 0xD6,0xD7,0x40,0x78,0x76,0x24,0xFF,0xDA, /* 4B48: @xv$ */ - 0x79,0x77,0x24,0xFF,0xDB,0x1A,0x1E,0x23, /* 4B50: yw$..# */ - 0x25,0x94,0xAE,0x70,0x61,0x3F,0xD6,0x70, /* 4B58: %pa?p */ - 0x7D,0x21,0x27,0x9D,0x60,0x4F,0xBC,0x22, /* 4B60: }!'`O" */ - 0xF0,0x75,0x74,0x41,0x23,0xF6,0xDA,0xDB, /* 4B68: utA# */ - 0x70,0x61,0x3A,0x21,0xFD,0xD6,0xD7,0x40, /* 4B70: pa:!@ */ - 0x7A,0x76,0x23,0xF7,0xD8,0x7B,0x77,0x23, /* 4B78: zv#{w# */ - 0xF7,0xD9,0x78,0x70,0x61,0xEA,0x70,0x61, /* 4B80: xpapa */ - 0x33,0xA6,0x70,0x61,0x3A,0x70,0x61,0xE4, /* 4B88: 3pa:pa */ - 0x70,0x61,0x3F,0xD6,0x70,0x7D,0x21,0x24, /* 4B90: pa?p}!$ */ - 0x98,0x72,0xBC,0x22,0xF0,0x00,0x00,0x00, /* 4B98: r"... */ - 0x00,0x02,0x00,0x00,0x00,0x60,0xBD,0x75, /* 4BA0: .....`u */ - 0xD2,0x41,0x74,0x2A,0x3A,0x75,0x24,0xFF, /* 4BA8: At*:u$ */ - 0xF0,0xC0,0xA4,0x74,0x2A,0x3A,0xD5,0x75, /* 4BB0: t*:u */ - 0xD0,0x40,0x25,0xFA,0xD1,0x70,0x74,0x61, /* 4BB8: @%pta */ - 0x2E,0x97,0x25,0xFA,0xD0,0x60,0x4F,0xF4, /* 4BC0: .%`O */ - 0xC0,0x22,0xA2,0x41,0x75,0x72,0x24,0xFF, /* 4BC8: "Aur$ */ - 0xF0,0xA5,0x24,0xF2,0xB3,0x22,0xF0,0x72, /* 4BD0: $"r */ - 0x25,0xFA,0xD5,0xD0,0x40,0x25,0xFA,0xD1, /* 4BD8: %@% */ - 0x70,0x74,0x61,0x2C,0x94,0x25,0xFA,0xD0, /* 4BE0: pta,% */ - 0x60,0x4F,0xF4,0x22,0xA4,0x75,0x70,0xE1, /* 4BE8: `O"up */ - 0x74,0x2A,0x5D,0x25,0xFA,0xD2,0x31,0x25, /* 4BF0: t*]%1% */ - 0xFA,0x25,0xFA,0xD1,0x31,0xF2,0x70,0xF4, /* 4BF8: %1p */ - 0x21,0xA4,0x70,0x71,0xE0,0x70,0x72,0xE1, /* 4C00: !pqpr */ - 0x72,0x30,0x72,0x31,0xE0,0x70,0xB3,0x22, /* 4C08: r0r1p" */ - 0xF0,0x24,0xF2,0xB3,0x22,0xF0,0x75,0x71, /* 4C10: $"uq */ - 0x31,0xF2,0x71,0xE1,0x72,0x31,0xB3,0x22, /* 4C18: 1qr1" */ - 0xF0,0x60,0xBB,0x40,0xD1,0x77,0x21,0xAB, /* 4C20: `@w! */ - 0x77,0x52,0x60,0x4D,0xF4,0x60,0x4C,0x24, /* 4C28: wR`M`L$ */ - 0xF6,0xD7,0x76,0x2A,0x5D,0x25,0xFA,0xD2, /* 4C30: v*]% */ - 0x30,0x25,0xFA,0xD3,0x30,0xD0,0x71,0xC0, /* 4C38: 0%0q */ - 0x25,0xAB,0x05,0x24,0xF2,0xB5,0x22,0xF0, /* 4C40: %.$" */ - 0x70,0x72,0x30,0xF4,0x23,0xAA,0x41,0x77, /* 4C48: pr0#Aw */ - 0x70,0x31,0x24,0xFF,0xF0,0x22,0xAB,0x70, /* 4C50: p1$"p */ - 0x31,0x77,0xF4,0xAF,0x70,0x31,0x77,0xF4, /* 4C58: 1wp1w */ - 0x70,0xE1,0x70,0x70,0x31,0xF2,0xD0,0x77, /* 4C60: ppp1w */ - 0x70,0xE1,0x04,0x70,0x30,0x73,0xE0,0x24, /* 4C68: p.p0s$ */ - 0xF2,0x81,0x70,0xE0,0x70,0x72,0x31,0xF4, /* 4C70: ppr1 */ - 0xC0,0xA3,0x73,0x72,0xE1,0x70,0x52,0xD4, /* 4C78: srpR */ - 0x41,0xD1,0x70,0xD3,0x70,0x30,0xD0,0x0B, /* 4C80: App0. */ - 0x77,0x76,0x6E,0x99,0x25,0xFA,0xD0,0x24, /* 4C88: wvn%$ */ - 0xF2,0xF4,0xA5,0x71,0xC0,0xA7,0x64,0x00, /* 4C90: qd. */ - 0x24,0xF2,0xB5,0x22,0xF0,0x74,0xB5,0x22, /* 4C98: $"t" */ - 0xF0,0x60,0xBD,0x74,0x2B,0x5D,0xD1,0x71, /* 4CA0: `t+]q */ - 0x60,0x32,0xC0,0x21,0xA1,0x71,0x61,0x3C, /* 4CA8: `2!qa< */ - 0x22,0xA8,0x40,0xD0,0x71,0x61,0x39,0x71, /* 4CB0: "@qa9q */ - 0x61,0x38,0x74,0x62,0x20,0x9B,0x71,0x61, /* 4CB8: a8tb qa */ - 0x3E,0xD0,0x71,0x60,0x53,0x74,0x21,0x9B, /* 4CC0: >q`St! */ - 0x75,0x74,0x6A,0x95,0xD0,0x71,0x61,0x3F, /* 4CC8: utjqa? */ - 0xD2,0x71,0x60,0x53,0x74,0x9F,0x70,0xB3, /* 4CD0: q`Stp */ - 0x22,0xF0,0x24,0xF2,0xB3,0x22,0xF0,0x7E, /* 4CD8: "$"~ */ - 0xF6,0x7A,0xF6,0x74,0xF6,0x76,0xF6,0x01, /* 4CE0: ztv. */ - 0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00, /* 4CE8: ........ */ - 0x00,0x00,0x00,0x01,0x20,0x0A,0x00,0x08, /* 4CF0: .... ... */ - 0x00,0x07,0x00,0x05,0x00,0x04,0x00,0x02, /* 4CF8: ........ */ - 0x00,0x01,0x00,0xFE,0x02,0x71,0x2B,0x5D, /* 4D00: ....q+] */ - 0xD2,0x62,0x4A,0x21,0xFB,0x72,0x4D,0x24, /* 4D08: bJ!rM$ */ - 0xFA,0x72,0x62,0x4F,0x21,0xFB,0x47,0x62, /* 4D10: rbO!Gb */ - 0x26,0x9F,0x22,0xF0,0x20,0x20,0x60,0xBB, /* 4D18: &" ` */ - 0x78,0xD0,0x77,0x11,0x13,0x23,0x94,0x11, /* 4D20: xw..#. */ - 0x76,0x44,0x24,0xFA,0xB5,0x22,0xF0,0x60, /* 4D28: vD$"` */ - 0xBB,0x77,0x30,0x77,0x31,0x24,0xF2,0xF4, /* 4D30: w0w1$ */ - 0x24,0xFB,0xC0,0x21,0xA0,0x78,0x30,0x60, /* 4D38: $!x0` */ - 0x4F,0xF4,0x78,0x31,0x60,0x4F,0xF4,0x24, /* 4D40: Ox1`O$ */ - 0xFB,0xC0,0xA2,0x21,0xF0,0x78,0xD0,0x77, /* 4D48: !xw */ - 0x13,0x11,0x98,0x11,0x76,0x44,0x24,0xFA, /* 4D50: ...vD$ */ - 0xB5,0x22,0xF0,0x60,0xB4,0x40,0xDA,0x40, /* 4D58: "`@@ */ - 0xDB,0x24,0xF2,0x7F,0x31,0x24,0xF6,0x21, /* 4D60: $1$! */ - 0xA3,0x41,0xDA,0x40,0x40,0x7F,0x30,0x24, /* 4D68: A@@0$ */ - 0xFF,0xD8,0xD1,0x71,0x40,0x7F,0x31,0x24, /* 4D70: q@1$ */ - 0xFF,0xD9,0xD1,0x08,0x40,0xDA,0x7F,0x30, /* 4D78: .@0 */ - 0xD8,0x7F,0x31,0xD9,0x24,0xF2,0x21,0x70, /* 4D80: 1$!p */ - 0x31,0x24,0xF6,0x21,0xA6,0x7A,0xC0,0xDB, /* 4D88: 1$!z */ - 0x40,0x40,0x21,0x70,0x30,0x24,0xFF,0xD6, /* 4D90: @@!p0$ */ - 0xD1,0x71,0x40,0x21,0x70,0x31,0x24,0xFF, /* 4D98: q@!p1$ */ - 0xD7,0xD1,0x0A,0x7A,0xDB,0x21,0x70,0x30, /* 4DA0: .z!p0 */ - 0xD6,0x21,0x70,0x31,0xD7,0x16,0xD0,0x18, /* 4DA8: !p1.. */ - 0x12,0x14,0x22,0x9D,0x7B,0xAE,0x40,0x40, /* 4DB0: .."{@@ */ - 0x74,0x24,0xFF,0xD4,0xD1,0x71,0x40,0x75, /* 4DB8: t$q@u */ - 0x24,0xFF,0xD5,0xD1,0x7A,0xAE,0x40,0x40, /* 4DC0: $z@@ */ - 0x72,0x24,0xFF,0xD2,0xD1,0x71,0x40,0x73, /* 4DC8: r$q@s */ - 0x24,0xFF,0xD3,0xD1,0x14,0x7D,0x44,0x24, /* 4DD0: $.}D$ */ - 0xFA,0x12,0x7E,0x44,0x24,0xFA,0xBC,0x22, /* 4DD8: .~D$" */ - 0xF0,0x60,0xB6,0x7E,0x30,0xC0,0xA8,0x7E, /* 4DE0: `~0~ */ - 0x31,0xC0,0xA4,0x21,0xF0,0x2B,0x0B,0x7E, /* 4DE8: 1!+.~ */ - 0x31,0xC0,0x21,0xAA,0x40,0x7D,0x31,0x7E, /* 4DF0: 1!@}1~ */ - 0x30,0x21,0xFA,0x7B,0xE1,0xD2,0x72,0x7D, /* 4DF8: 0!{r} */ - 0x30,0x7E,0x30,0x21,0xFA,0x7B,0xE0,0x7C, /* 4E00: 0~0!{| */ - 0xE0,0x40,0x7C,0xE1,0x29,0x0C,0x7E,0x31, /* 4E08: @|).~1 */ - 0x7E,0x30,0x21,0xF9,0xD4,0xD5,0xD6,0x76, /* 4E10: ~0!v */ - 0xC0,0xAA,0x40,0xD3,0x7D,0x31,0xD2,0x7D, /* 4E18: @}1} */ - 0x30,0xD1,0x21,0x01,0x40,0x7D,0x31,0x76, /* 4E20: 0!.@}1v */ - 0x23,0xF6,0xD0,0xD3,0x7D,0x31,0x7D,0x30, /* 4E28: #}1}0 */ - 0x76,0x23,0xF6,0xD1,0xD2,0x40,0x7B,0xE1, /* 4E30: v#@{ */ - 0x73,0x75,0xF4,0xC0,0xA5,0x60,0x4F,0x7B, /* 4E38: su`O{ */ - 0xE0,0x08,0x73,0x72,0x75,0x21,0xFA,0x7B, /* 4E40: .sru!{ */ - 0xE0,0xD0,0x7B,0x30,0x24,0xA9,0x40,0x74, /* 4E48: {0$@t */ - 0x7B,0x30,0x23,0xF1,0xD7,0xD8,0x78,0x75, /* 4E50: {0#xu */ - 0x7B,0x30,0x23,0xF1,0xD8,0xD9,0x40,0x71, /* 4E58: {0#@q */ - 0x77,0x24,0xFF,0xD1,0xD0,0x70,0x72,0x78, /* 4E60: w$prx */ - 0x24,0xFF,0xD2,0xD0,0x70,0x73,0x79,0x24, /* 4E68: $psy$ */ - 0xFF,0xD3,0xD0,0x24,0xF2,0x73,0x24,0xF6, /* 4E70: $s$ */ - 0x21,0xAD,0x7B,0x30,0x60,0x8F,0x7B,0xE0, /* 4E78: !{0`{ */ - 0x40,0x74,0x71,0x23,0xF7,0xD1,0xD0,0x70, /* 4E80: @tq#p */ - 0x75,0x72,0x23,0xF7,0xD2,0xD0,0x70,0x40, /* 4E88: ur#p@ */ - 0x73,0x23,0xF7,0xD3,0xD0,0x62,0x0C,0x76, /* 4E90: s#b.v */ - 0xC0,0xA7,0x71,0x7C,0xE0,0x72,0x7C,0xE1, /* 4E98: q|r| */ - 0x09,0x72,0x71,0x76,0x23,0xF5,0x7C,0xE0, /* 4EA0: .rqv#| */ - 0x7C,0xE1,0xBA,0x22,0xF0,0x20,0x40,0xD3, /* 4EA8: |" @ */ - 0x71,0x31,0x72,0x31,0xF4,0xC0,0xAF,0x24, /* 4EB0: q1r1$ */ - 0xF2,0x71,0x30,0x23,0xF3,0x24,0xF2,0x72, /* 4EB8: q0#$r */ - 0x30,0x23,0xF3,0xF9,0xD3,0x06,0x71,0x31, /* 4EC0: 0#.q1 */ - 0x72,0x31,0xF9,0xD3,0x73,0x22,0xF0,0x60, /* 4EC8: r1s"` */ - 0xBE,0x74,0xD1,0x76,0x25,0xA0,0x41,0x21, /* 4ED0: tv%A! */ - 0x40,0x76,0x24,0xFF,0xF0,0xA4,0x21,0x40, /* 4ED8: @v$!@ */ - 0xD3,0x02,0x76,0xD3,0x40,0xD0,0x73,0x40, /* 4EE0: .v@s@ */ - 0xF9,0x21,0xA0,0x75,0x70,0x74,0xF2,0x23, /* 4EE8: !upt# */ - 0xFB,0x70,0x81,0xD0,0x73,0x70,0xF9,0xA3, /* 4EF0: psp */ - 0x20,0x60,0x00,0x73,0xD5,0x76,0x73,0xF4, /* 4EF8: `.svs */ - 0xD6,0x76,0x22,0xA2,0x41,0x75,0x76,0x24, /* 4F00: v"Auv$ */ - 0xFF,0xF0,0xA5,0x20,0x75,0xD3,0x03,0x20, /* 4F08: u. */ - 0x76,0xD3,0x74,0x75,0x74,0xF2,0x73,0x24, /* 4F10: vtuts$ */ - 0xFA,0x73,0x75,0xF5,0xD5,0x76,0x73,0xF4, /* 4F18: suvs */ - 0xD6,0x76,0xA3,0x20,0x62,0x0E,0x71,0xB2, /* 4F20: v b.q */ - 0x22,0xF0,0x20,0x70,0x72,0xE0,0x10,0x72, /* 4F28: " pr.r */ - 0xE1,0x40,0x22,0xF0,0x72,0x30,0x72,0x31, /* 4F30: @"r0r1 */ - 0xE0,0x73,0xC0,0xA2,0x41,0xD3,0x73,0x72, /* 4F38: sAsr */ - 0x31,0xE1,0x72,0x31,0x23,0xFC,0x71,0x22, /* 4F40: 1r1#q" */ - 0xF0,0x22,0xF9,0x72,0x31,0xF6,0x22,0xF0, /* 4F48: "r1" */ - 0x22,0xF9,0x72,0x31,0xF6,0x22,0xF0,0x40, /* 4F50: "r1"@ */ - 0x40,0x60,0xBB,0x73,0x36,0x73,0x34,0x60, /* 4F58: @`s6s4` */ - 0xEF,0x10,0x73,0x57,0x41,0xFB,0x21,0xF5, /* 4F60: .sWA! */ - 0x20,0x60,0xBF,0x73,0x57,0x21,0xF2,0xD0, /* 4F68: `sW! */ - 0x70,0x24,0xF2,0xF4,0xA4,0x40,0xB1,0x22, /* 4F70: p$@" */ - 0xF0,0x41,0xB1,0x22,0xF0,0x72,0x71,0x61, /* 4F78: A"rqa */ - 0x98,0xA5,0x41,0x4B,0x71,0x28,0x9E,0x63, /* 4F80: AKq(c */ - 0x4E,0x21,0xFB,0x72,0x34,0xE0,0x70,0x72, /* 4F88: N!r4pr */ - 0xE1,0x72,0x34,0x21,0xFE,0x24,0xFB,0x23, /* 4F90: r4!$# */ - 0xF9,0x22,0xF0,0x72,0x71,0x63,0x9A,0xA5, /* 4F98: "rqc */ - 0x41,0x4B,0x71,0x27,0x90,0x64,0x40,0x21, /* 4FA0: AKq'd@! */ - 0xFB,0x72,0x34,0xE0,0x70,0x72,0xE1,0x72, /* 4FA8: r4prr */ - 0x34,0x60,0x4E,0x24,0xF6,0x23,0xF9,0x22, /* 4FB0: 4`N$#" */ - 0xF0,0x72,0x71,0x65,0x9C,0xA5,0x41,0x4B, /* 4FB8: rqeAK */ - 0x71,0x25,0x92,0x66,0x42,0x21,0xFB,0x72, /* 4FC0: q%fB!r */ - 0x34,0xE0,0x70,0x72,0xE1,0x72,0x34,0x41, /* 4FC8: 4prr4A */ - 0x24,0xFB,0x23,0xF9,0x22,0xF0,0x20,0x72, /* 4FD0: $#" r */ - 0xA5,0x72,0x71,0x29,0xED,0x07,0x22,0x27, /* 4FD8: rq)."' */ - 0x20,0x4F,0x71,0x29,0xED,0x72,0x71,0x29, /* 4FE0: Oq)rq) */ - 0x5B,0xD2,0xD3,0x6B,0x07,0x71,0x2C,0x38, /* 4FE8: [k.q,8 */ - 0x24,0xF2,0xF4,0xA6,0x71,0x2C,0x38,0xD3, /* 4FF0: $q,8 */ - 0x71,0x92,0x62,0x0B,0x77,0xF6,0x20,0x00, /* 4FF8: qb.w . */ - 0x00,0x00,0x00,0x71,0x2C,0x58,0xD2,0x72, /* 5000: ...q,Xr */ - 0x60,0x43,0x21,0xFB,0x41,0x65,0x27,0x99, /* 5008: `C!Ae' */ - 0x22,0xF0,0x20,0x21,0x02,0x60,0xBE,0x24, /* 5010: " !.`$ */ - 0xF2,0xD0,0x75,0xD1,0x24,0xF2,0x24,0xF2, /* 5018: u$$ */ - 0x73,0x60,0x90,0xB2,0x22,0xF0,0x20,0x25, /* 5020: s`" % */ - 0xF8,0x21,0xF0,0x22,0xF0,0x60,0xBA,0x40, /* 5028: !"`@ */ - 0x21,0xFE,0xF4,0x21,0xAE,0x24,0xF2,0xD4, /* 5030: !!$ */ - 0x10,0xD5,0x4B,0x21,0xFB,0xD2,0x40,0x13, /* 5038: .K!@. */ - 0x25,0xF2,0x23,0xF9,0x10,0x14,0x41,0xFB, /* 5040: %#..A */ - 0x24,0xF3,0x11,0x41,0x24,0xF8,0x24,0xF4, /* 5048: $.A$$ */ - 0x72,0x23,0xFC,0x79,0x7C,0x33,0xF2,0x7C, /* 5050: r#y|3| */ - 0xE3,0x77,0x7C,0xE6,0x78,0x7C,0xE7,0x40, /* 5058: w|x|@ */ - 0xD4,0x42,0xD5,0x74,0xC0,0xA4,0x7C,0x39, /* 5060: Bt|9 */ - 0xD1,0x03,0x7C,0x3A,0xD1,0x71,0x7A,0xF9, /* 5068: .|:qz */ - 0x25,0xAB,0x24,0xF2,0x71,0x23,0xF3,0xD0, /* 5070: %$q# */ - 0x70,0x41,0x24,0xF0,0xD2,0x72,0x24,0xF2, /* 5078: pA$r$ */ - 0xFA,0xD0,0x79,0x70,0x33,0xF2,0x70,0xE3, /* 5080: yp3p */ - 0x79,0x70,0x34,0xF2,0x70,0xE4,0x74,0x23, /* 5088: yp4pt# */ - 0xA5,0x22,0x40,0x70,0x31,0x24,0xF6,0xC0, /* 5090: "@p1$ */ - 0x22,0xAC,0x42,0x70,0x31,0x24,0xF6,0x21, /* 5098: "Bp1$! */ - 0xA4,0x70,0x37,0x4A,0x21,0xFB,0xF0,0xE0, /* 50A0: p7J! */ - 0x70,0x34,0x70,0x37,0x23,0xFC,0xD4,0xF6, /* 50A8: p4p7# */ - 0x70,0x23,0xFC,0x21,0x01,0x70,0x34,0x70, /* 50B0: p#!.p4p */ - 0x37,0x60,0xEF,0x41,0x70,0x31,0x24,0xF6, /* 50B8: 7`Ap1$ */ - 0xC0,0x70,0x37,0xF2,0x23,0xF9,0x70,0x3E, /* 50C0: p7#p> */ - 0xD3,0x73,0xD1,0x65,0x00,0x14,0x26,0x4F, /* 50C8: se..&O */ - 0x22,0xF1,0x21,0xF5,0xB6,0x22,0xF0,0x20, /* 50D0: "!" */ - 0x60,0xBA,0x77,0x3F,0xD0,0x24,0xF2,0x70, /* 50D8: `w?$p */ - 0x23,0xF3,0xD1,0x71,0x41,0x24,0xF0,0xD5, /* 50E0: #qA$ */ - 0x75,0x24,0xF2,0xFA,0xD4,0x74,0x39,0xD1, /* 50E8: u$t9 */ - 0x71,0x74,0x34,0xF9,0x24,0xAC,0x24,0xF2, /* 50F0: qt4$$ */ - 0x71,0x23,0xF3,0xD0,0x70,0x41,0x24,0xF0, /* 50F8: q#pA$ */ - 0xD2,0x72,0x24,0xF2,0xFA,0xD0,0x22,0x40, /* 5100: r$"@ */ - 0x70,0x31,0x24,0xF6,0xC0,0x22,0xAC,0x42, /* 5108: p1$"B */ - 0x70,0x31,0x24,0xF6,0x21,0xA4,0x70,0x37, /* 5110: p1$!p7 */ - 0x4A,0x21,0xFB,0xF0,0xE0,0x70,0x34,0x70, /* 5118: J!p4p */ - 0x37,0x23,0xFC,0xD4,0xF6,0x70,0x23,0xFC, /* 5120: 7#p# */ - 0x21,0x01,0x70,0x34,0x70,0x37,0x60,0xEF, /* 5128: !.p4p7` */ - 0x41,0x70,0x31,0x24,0xF6,0xC0,0x70,0x37, /* 5130: Ap1$p7 */ - 0xF2,0x23,0xF9,0x70,0x3E,0xD3,0x73,0xD1, /* 5138: #p>s */ - 0x65,0x0E,0xB6,0x22,0xF0,0x20,0x20,0x65, /* 5140: e." e */ - 0x2E,0x2F,0x00,0x20,0x20,0x60,0x08 /* 5148: ... `. */ - -}; -int si3_t225_dsize = sizeof(si3_t225_download); /* 0x514F (20815) */ - -unsigned short si3_t225_downloadaddr = 0x0000; - -/* End of SI3_T225.C */ diff --git a/sys/dev/si/si_eisa.c b/sys/dev/si/si_eisa.c deleted file mode 100644 index c2ee533d0611..000000000000 --- a/sys/dev/si/si_eisa.c +++ /dev/null @@ -1,153 +0,0 @@ -/*- - * Device driver for Specialix range (SI/XIO) of serial line multiplexors. - * - * Copyright (C) 2000, Peter Wemm - * - * 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 - * notices, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notices, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY ``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 AUTHORS BE LIABLE. - * - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -static int -si_eisa_probe(device_t dev) -{ - u_long iobase; - u_long maddr; - int irq; - - if (eisa_get_id(dev) != SIEISADEVID) - return ENXIO; - - device_set_desc(dev, "Specialix SI/XIO EISA host card"); - - iobase = (eisa_get_slot(dev) * EISA_SLOT_SIZE) + SIEISABASE; - eisa_add_iospace(dev, iobase, SIEISAIOSIZE, RESVADDR_NONE); - - maddr = (inb(iobase+1) << 24) | (inb(iobase) << 16); - eisa_add_mspace(dev, maddr, SIEISA_MEMSIZE, RESVADDR_NONE); - - irq = ((inb(iobase+2) >> 4) & 0xf); - eisa_add_intr(dev, irq, EISA_TRIGGER_LEVEL); /* XXX shared? */ - - return (0); -} - -static int -si_eisa_attach(device_t dev) -{ - struct si_softc *sc; - void *ih; - int error; - - error = 0; - ih = NULL; - sc = device_get_softc(dev); - - sc->sc_type = SIEISA; - - sc->sc_port_rid = 0; - sc->sc_port_res = bus_alloc_resource_any(dev, SYS_RES_IOPORT, - &sc->sc_port_rid, RF_ACTIVE); - if (!sc->sc_port_res) { - device_printf(dev, "couldn't allocate ioports\n"); - goto fail; - } - sc->sc_iobase = rman_get_start(sc->sc_port_res); - - sc->sc_mem_rid = 0; - sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, - &sc->sc_mem_rid, RF_ACTIVE); - if (!sc->sc_mem_res) { - device_printf(dev, "couldn't allocate iomemory"); - goto fail; - } - sc->sc_paddr = (caddr_t)rman_get_start(sc->sc_mem_res); - sc->sc_maddr = rman_get_virtual(sc->sc_mem_res); - - sc->sc_irq_rid = 0; - sc->sc_irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, - &sc->sc_irq_rid, - RF_ACTIVE | RF_SHAREABLE); - if (!sc->sc_irq_res) { - device_printf(dev, "couldn't allocate interrupt"); - goto fail; - } - sc->sc_irq = rman_get_start(sc->sc_irq_res); - error = bus_setup_intr(dev, sc->sc_irq_res, INTR_TYPE_TTY, - NULL, si_intr, sc,&ih); - if (error) { - device_printf(dev, "couldn't activate interrupt"); - goto fail; - } - - error = siattach(dev); - if (error) - goto fail; - return (0); /* success */ - -fail: - if (error == 0) - error = ENXIO; - if (sc->sc_irq_res) { - if (ih) - bus_teardown_intr(dev, sc->sc_irq_res, ih); - bus_release_resource(dev, SYS_RES_IRQ, - sc->sc_irq_rid, sc->sc_irq_res); - sc->sc_irq_res = 0; - } - if (sc->sc_mem_res) { - bus_release_resource(dev, SYS_RES_MEMORY, - sc->sc_mem_rid, sc->sc_mem_res); - sc->sc_mem_res = 0; - } - if (sc->sc_port_res) { - bus_release_resource(dev, SYS_RES_IOPORT, - sc->sc_port_rid, sc->sc_port_res); - sc->sc_port_res = 0; - } - return (error); -} - -static device_method_t si_eisa_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, si_eisa_probe), - DEVMETHOD(device_attach, si_eisa_attach), - - { 0, 0 } -}; - -static driver_t si_eisa_driver = { - "si", - si_eisa_methods, - sizeof(struct si_softc), -}; - -DRIVER_MODULE(si, eisa, si_eisa_driver, si_devclass, 0, 0); diff --git a/sys/dev/si/si_isa.c b/sys/dev/si/si_isa.c deleted file mode 100644 index 9c0b81b58b3c..000000000000 --- a/sys/dev/si/si_isa.c +++ /dev/null @@ -1,338 +0,0 @@ -/*- - * Device driver for Specialix range (SI/XIO) of serial line multiplexors. - * - * Copyright (C) 2000, Peter Wemm - * - * 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 - * notices, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notices, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY ``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 AUTHORS BE LIABLE. - * - */ - -#include -__FBSDID("$FreeBSD$"); - -#include "opt_debug_si.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -/* Look for a valid board at the given mem addr */ -static int -si_isa_probe(device_t dev) -{ - struct si_softc *sc; - int type; - u_int i, ramsize; - volatile unsigned char was, *ux; - volatile unsigned char *maddr; - unsigned char *paddr; - int unit; - - /* No pnp support */ - if (isa_get_vendorid(dev)) - return (ENXIO); - - sc = device_get_softc(dev); - unit = device_get_unit(dev); - - sc->sc_mem_rid = 0; - sc->sc_mem_res = bus_alloc_resource_anywhere(dev, SYS_RES_MEMORY, - &sc->sc_mem_rid, - SIPROBEALLOC, RF_ACTIVE); - if (!sc->sc_mem_res) { - device_printf(dev, "cannot allocate memory resource\n"); - return ENXIO; - } - paddr = (caddr_t)rman_get_start(sc->sc_mem_res);/* physical */ - maddr = rman_get_virtual(sc->sc_mem_res); /* in kvm */ - - DPRINT((0, DBG_AUTOBOOT, "si%d: probe at virtual=0x%x physical=0x%x\n", - unit, maddr, paddr)); - - /* - * this is a lie, but it's easier than trying to handle caching - * and ram conflicts in the >1M and <16M region. - */ - if ((caddr_t)paddr < (caddr_t)0xA0000 || - (caddr_t)paddr >= (caddr_t)0x100000) { - device_printf(dev, "maddr (%p) out of range\n", paddr); - goto fail; - } - - if (((uintptr_t)paddr & 0x7fff) != 0) { - device_printf(dev, "maddr (%p) not on 32k boundary\n", paddr); - goto fail; - } - - /* Is there anything out there? (0x17 is just an arbitrary number) */ - *maddr = 0x17; - if (*maddr != 0x17) { - device_printf(dev, "0x17 check fail at phys %p\n", paddr); - goto fail; - } - /* - * Let's look first for a JET ISA card, since that's pretty easy - * - * All jet hosts are supposed to have this string in the IDROM, - * but it's not worth checking on self-IDing busses like PCI. - */ - { - unsigned char *jet_chk_str = "JET HOST BY KEV#"; - - for (i = 0; i < strlen(jet_chk_str); i++) - if (jet_chk_str[i] != *(maddr + SIJETIDSTR + 2 * i)) - goto try_mk2; - } - DPRINT((0, DBG_AUTOBOOT|DBG_FAIL, "si%d: JET first check - 0x%x\n", - unit, (*(maddr+SIJETIDBASE)))); - if (*(maddr+SIJETIDBASE) != (SISPLXID&0xff)) - goto try_mk2; - DPRINT((0, DBG_AUTOBOOT|DBG_FAIL, "si%d: JET second check - 0x%x\n", - unit, (*(maddr+SIJETIDBASE+2)))); - if (*(maddr+SIJETIDBASE+2) != ((SISPLXID&0xff00)>>8)) - goto try_mk2; - /* It must be a Jet ISA or RIO card */ - DPRINT((0, DBG_AUTOBOOT|DBG_FAIL, "si%d: JET id check - 0x%x\n", - unit, (*(maddr+SIUNIQID)))); - if ((*(maddr+SIUNIQID) & 0xf0) != 0x20) - goto try_mk2; - /* It must be a Jet ISA SI/XIO card */ - *(maddr + SIJETCONFIG) = 0; - type = SIJETISA; - ramsize = SIJET_RAMSIZE; - goto got_card; - -try_mk2: - /* - * OK, now to see if whatever responded is really an SI card. - * Try for a MK II next (SIHOST2) - */ - for (i = SIPLSIG; i < SIPLSIG + 8; i++) - if ((*(maddr+i) & 7) != (~(unsigned char)i & 7)) - goto try_mk1; - - /* It must be an SIHOST2 */ - *(maddr + SIPLRESET) = 0; - *(maddr + SIPLIRQCLR) = 0; - *(maddr + SIPLIRQSET) = 0x10; - type = SIHOST2; - ramsize = SIHOST2_RAMSIZE; - goto got_card; - -try_mk1: - /* - * Its not a MK II, so try for a MK I (SIHOST) - */ - *(maddr+SIRESET) = 0x0; /* reset the card */ - *(maddr+SIINTCL) = 0x0; /* clear int */ - *(maddr+SIRAM) = 0x17; - if (*(maddr+SIRAM) != (unsigned char)0x17) - goto fail; - *(maddr+0x7ff8) = 0x17; - if (*(maddr+0x7ff8) != (unsigned char)0x17) { - device_printf(dev, "0x17 check fail at phys %p = 0x%x\n", - paddr+0x77f8, *(maddr+0x77f8)); - goto fail; - } - - /* It must be an SIHOST (maybe?) - there must be a better way XXX */ - type = SIHOST; - ramsize = SIHOST_RAMSIZE; - -got_card: - DPRINT((0, DBG_AUTOBOOT, "si%d: found type %d card, try memory test\n", - unit, type)); - /* Try the acid test */ - ux = maddr + SIRAM; - for (i = 0; i < ramsize; i++, ux++) - *ux = (unsigned char)(i&0xff); - ux = maddr + SIRAM; - for (i = 0; i < ramsize; i++, ux++) { - if ((was = *ux) != (unsigned char)(i&0xff)) { - device_printf(dev, - "memtest fail at phys %p, was %x should be %x\n", - paddr + i, was, i & 0xff); - goto fail; - } - } - - /* clear out the RAM */ - ux = maddr + SIRAM; - for (i = 0; i < ramsize; i++) - *ux++ = 0; - ux = maddr + SIRAM; - for (i = 0; i < ramsize; i++) { - if ((was = *ux++) != 0) { - device_printf(dev, "clear fail at phys %p, was %x\n", - paddr + i, was); - goto fail; - } - } - - /* - * Success, we've found a valid board, now fill in - * the adapter structure. - */ - switch (type) { - case SIHOST2: - switch (isa_get_irq(dev)) { - case 11: - case 12: - case 15: - break; - default: - device_printf(dev, - "bad IRQ value - %d (11, 12, 15 allowed)\n", - isa_get_irq(dev)); - goto fail; - } - sc->sc_memsize = SIHOST2_MEMSIZE; - break; - case SIHOST: - switch (isa_get_irq(dev)) { - case 11: - case 12: - case 15: - break; - default: - device_printf(dev, - "bad IRQ value - %d (11, 12, 15 allowed)\n", - isa_get_irq(dev)); - goto fail; - } - sc->sc_memsize = SIHOST_MEMSIZE; - break; - case SIJETISA: - switch (isa_get_irq(dev)) { - case 9: - case 10: - case 11: - case 12: - case 15: - break; - default: - device_printf(dev, - "bad IRQ value - %d (9, 10, 11, 12, 15 allowed)\n", - isa_get_irq(dev)); - goto fail; - } - sc->sc_memsize = SIJETISA_MEMSIZE; - break; - case SIMCA: /* MCA */ - default: - device_printf(dev, "card type %d not supported\n", type); - goto fail; - } - sc->sc_type = type; - bus_release_resource(dev, SYS_RES_MEMORY, - sc->sc_mem_rid, sc->sc_mem_res); - sc->sc_mem_res = 0; - return (0); /* success! */ - -fail: - if (sc->sc_mem_res) { - bus_release_resource(dev, SYS_RES_MEMORY, - sc->sc_mem_rid, sc->sc_mem_res); - sc->sc_mem_res = 0; - } - return(EINVAL); -} - -static int -si_isa_attach(device_t dev) -{ - int error; - void *ih; - struct si_softc *sc; - - error = 0; - ih = NULL; - sc = device_get_softc(dev); - - sc->sc_mem_rid = 0; - sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, - &sc->sc_mem_rid, - RF_ACTIVE); - if (!sc->sc_mem_res) { - device_printf(dev, "couldn't map memory\n"); - goto fail; - } - sc->sc_paddr = (caddr_t)rman_get_start(sc->sc_mem_res); - sc->sc_maddr = rman_get_virtual(sc->sc_mem_res); - - sc->sc_irq_rid = 0; - sc->sc_irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, - &sc->sc_irq_rid, - RF_ACTIVE | RF_SHAREABLE); - if (!sc->sc_irq_res) { - device_printf(dev, "couldn't allocate interrupt\n"); - goto fail; - } - sc->sc_irq = rman_get_start(sc->sc_irq_res); - error = bus_setup_intr(dev, sc->sc_irq_res, INTR_TYPE_TTY, - NULL, si_intr, sc, &ih); - if (error) { - device_printf(dev, "couldn't activate interrupt\n"); - goto fail; - } - - error = siattach(dev); - if (error) - goto fail; - return (0); /* success */ - -fail: - if (error == 0) - error = ENXIO; - if (sc->sc_irq_res) { - if (ih) - bus_teardown_intr(dev, sc->sc_irq_res, ih); - bus_release_resource(dev, SYS_RES_IRQ, - sc->sc_irq_rid, sc->sc_irq_res); - sc->sc_irq_res = 0; - } - if (sc->sc_mem_res) { - bus_release_resource(dev, SYS_RES_MEMORY, - sc->sc_mem_rid, sc->sc_mem_res); - sc->sc_mem_res = 0; - } - return (error); -} - -static device_method_t si_isa_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, si_isa_probe), - DEVMETHOD(device_attach, si_isa_attach), - - { 0, 0 } -}; - -static driver_t si_isa_driver = { - "si", - si_isa_methods, - sizeof(struct si_softc), -}; - -DRIVER_MODULE(si, isa, si_isa_driver, si_devclass, 0, 0); diff --git a/sys/dev/si/si_pci.c b/sys/dev/si/si_pci.c deleted file mode 100644 index 81c74e1fa2e9..000000000000 --- a/sys/dev/si/si_pci.c +++ /dev/null @@ -1,168 +0,0 @@ -/*- - * Device driver for Specialix range (SI/XIO) of serial line multiplexors. - * - * Copyright (C) 2000, Peter Wemm - * - * 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 - * notices, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notices, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY ``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 AUTHORS BE LIABLE. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include - -static int -si_pci_probe(device_t dev) -{ - const char *desc = NULL; - - switch (pci_get_devid(dev)) { - case 0x400011cb: - desc = "Specialix SI/XIO PCI host card"; - break; - case 0x200011cb: - if (pci_read_config(dev, SIJETSSIDREG, 4) == 0x020011cb) - desc = "Specialix SX PCI host card"; - break; - } - if (desc) { - device_set_desc(dev, desc); - return BUS_PROBE_DEFAULT; - } - return ENXIO; -} - -static int -si_pci_attach(device_t dev) -{ - struct si_softc *sc; - void *ih; - int error; - - error = 0; - ih = NULL; - sc = device_get_softc(dev); - - switch (pci_get_devid(dev)) { - case 0x400011cb: - sc->sc_type = SIPCI; - sc->sc_mem_rid = SIPCIBADR; - break; - case 0x200011cb: - sc->sc_type = SIJETPCI; - sc->sc_mem_rid = SIJETBADR; - break; - } - - sc->sc_mem_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, - &sc->sc_mem_rid, - RF_ACTIVE); - if (!sc->sc_mem_res) { - device_printf(dev, "couldn't map memory\n"); - goto fail; - } - sc->sc_paddr = (caddr_t)rman_get_start(sc->sc_mem_res); - sc->sc_maddr = rman_get_virtual(sc->sc_mem_res); - - sc->sc_irq_rid = 0; - sc->sc_irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, - &sc->sc_irq_rid, - RF_ACTIVE | RF_SHAREABLE); - if (!sc->sc_irq_res) { - device_printf(dev, "couldn't map interrupt\n"); - goto fail; - } - sc->sc_irq = rman_get_start(sc->sc_irq_res); - error = bus_setup_intr(dev, sc->sc_irq_res, INTR_TYPE_TTY, - NULL, si_intr, sc, &ih); - if (error) { - device_printf(dev, "could not activate interrupt\n"); - goto fail; - } - - if (pci_get_devid(dev) == 0x200011cb) { - int rid; - struct resource *plx_res; - uint32_t *addr; - uint32_t oldvalue; - - /* Perform a PLX control register fixup */ - rid = PCIR_BAR(0); - plx_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, - RF_ACTIVE); - if (plx_res == NULL) { - device_printf(dev, "couldn't map plx registers\n"); - } else { - addr = rman_get_virtual(plx_res); - oldvalue = addr[0x50 / 4]; - if (oldvalue != 0x18260000) { - device_printf(dev, "PLX register 0x50: 0x%08x changed to 0x%08x\n", oldvalue, 0x18260000); - addr[0x50 / 4] = 0x18260000; - } - bus_release_resource(dev, SYS_RES_MEMORY, rid, plx_res); - } - } - - error = siattach(dev); - if (error) - goto fail; - return (0); /* success */ - -fail: - if (error == 0) - error = ENXIO; - if (sc->sc_irq_res) { - if (ih) - bus_teardown_intr(dev, sc->sc_irq_res, ih); - bus_release_resource(dev, SYS_RES_IRQ, - sc->sc_irq_rid, sc->sc_irq_res); - sc->sc_irq_res = 0; - } - if (sc->sc_mem_res) { - bus_release_resource(dev, SYS_RES_MEMORY, - sc->sc_mem_rid, sc->sc_mem_res); - sc->sc_mem_res = 0; - } - return (error); -} - -static device_method_t si_pci_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, si_pci_probe), - DEVMETHOD(device_attach, si_pci_attach), - - { 0, 0 } -}; - -static driver_t si_pci_driver = { - "si", - si_pci_methods, - sizeof(struct si_softc), -}; - -DRIVER_MODULE(si, pci, si_pci_driver, si_devclass, 0, 0); diff --git a/sys/dev/si/sireg.h b/sys/dev/si/sireg.h deleted file mode 100644 index b6c7adf14cb3..000000000000 --- a/sys/dev/si/sireg.h +++ /dev/null @@ -1,98 +0,0 @@ -/*- - * Device driver for Specialix range (SI/XIO) of serial line multiplexors. - * 'C' definitions for Specialix serial multiplex driver. - * - * Copyright (C) 1990, 1992, 1998 Specialix International, - * Copyright (C) 1993, Andy Rutter - * Copyright (C) 1995, Peter Wemm - * - * Derived from: SunOS 4.x version - * - * 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 - * notices, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notices, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Andy Rutter of - * Advanced Methods and Tools Ltd. based on original information - * from Specialix International. - * 4. Neither the name of Advanced Methods and Tools, nor Specialix - * International may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY ``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 AUTHORS BE LIABLE. - * - * $FreeBSD$ - */ - -/* - * Hardware parameters which should be changed at your peril! - */ - -/* Base and mask for SI Host 2.x (SIHOST2) */ -#define SIPLSIG 0x7FF8 /* Start of control space */ -#define SIPLCNTL 0x7FF8 /* Ditto */ -#define SIPLRESET SIPLCNTL /* 0 = reset */ -#define SIPLIRQ11 (SIPLCNTL+1) /* 0 = mask irq 11 */ -#define SIPLIRQ12 (SIPLCNTL+2) /* 0 = mask irq 12 */ -#define SIPLIRQ15 (SIPLCNTL+3) /* 0 = mask irq 15 */ -#define SIPLIRQSET (SIPLCNTL+4) /* 0 = interrupt host */ -#define SIPLIRQCLR (SIPLCNTL+5) /* 0 = clear irq */ - -/* SI Host 1.x */ -#define SIRAM 0x0000 /* Ram Starts here */ -#define SIRESET 0x8000 /* Set reset */ -#define SIRESET_CL 0xc000 /* Clear reset */ -#define SIWAIT 0x9000 /* Set wait */ -#define SIWAIT_CL 0xd000 /* Set wait */ -#define SIINTCL 0xA000 /* Clear host int */ -#define SIINTCL_CL 0xE000 /* Clear host int */ - -/* SI EISA */ -#define SIEISADEVID 0x4d980411 /* EISA Device ID */ -#define SIEISABASE 0xc00 /* Our ports start here */ -#define SIEISAIOSIZE 0x100 /* XXX How many ports */ - -/* SI old PCI */ -#define SIPCIBADR PCIR_BAR(0) /* Which BADR to map in RAM */ -#define SIPCI_MEMSIZE 0x100000 /* Mapping size */ -#define SIPCIRESET 0xc0001 /* 0 = Reset */ -#define SIPCIINTCL 0x40001 /* 0 = clear int */ - -/* SI Jet PCI */ -#define SIJETSSIDREG PCIR_SUBVEND_0 /* Is it an SX or RIO? */ -#define SIJETBADR PCIR_BAR(2) /* Which BADR to map in RAM */ -/* SI Jet PCI & ISA */ -#define SIJETIDBASE 0x7c00 /* ID ROM base */ -#define SISPLXID 0x984d /* Specialix ID */ -#define SIUNIQID 0x7c0e /* & 0xf0 = 0x20 for SX */ -#define SIJETIDSTR 0x7c20 /* ID ROM string */ -#define SIJETRESET 0x7d00 -#define SIJETINTCL 0x7d80 -#define SIJETCONFIG 0x7c00 /* for ISA, top nibble = IRQ */ -#define SIJETBUSEN 0x2 -#define SIJETIRQEN 0x4 - -/* - * MEMSIZE is the total shared mem region - * RAMSIZE is value to use when probing - * PROBEALLOC is the amount to bus_resource_alloc() during probe. - */ -#define SIJETPCI_MEMSIZE 0x10000 -#define SIJETISA_MEMSIZE 0x8000 -#define SIJET_RAMSIZE 0x7000 -#define SIHOST_MEMSIZE 0x10000 -#define SIHOST_RAMSIZE 0x8000 -#define SIHOST2_MEMSIZE 0x8000 -#define SIHOST2_RAMSIZE 0x7ff7 -#define SIEISA_MEMSIZE 0x10000 -#define SIEISA_RAMSIZE 0x10000 -#define SIPROBEALLOC 0x8000 diff --git a/sys/dev/si/sivar.h b/sys/dev/si/sivar.h deleted file mode 100644 index e479f470faf4..000000000000 --- a/sys/dev/si/sivar.h +++ /dev/null @@ -1,113 +0,0 @@ -/*- - * Device driver for Specialix range (SI/XIO) of serial line multiplexors. - * - * Copyright (C) 2000, Peter Wemm - * - * 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 - * notices, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notices, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY ``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 AUTHORS BE LIABLE. - * - * $FreeBSD$ - */ - -#ifdef _KERNEL -int siattach(device_t dev); -void si_intr(void *); - -extern devclass_t si_devclass; - -/* where the firmware lives; defined in si2_z280.c and si3_t225.c */ -/* old: si2_z280.c */ -extern unsigned char si2_z280_download[]; -extern unsigned short si2_z280_downloadaddr; -extern int si2_z280_dsize; -/* new: si3_t225.c */ -extern unsigned char si3_t225_download[]; -extern unsigned short si3_t225_downloadaddr; -extern int si3_t225_dsize; -extern unsigned char si3_t225_bootstrap[]; -extern unsigned short si3_t225_bootloadaddr; -extern int si3_t225_bsize; - -struct si_softc { - int sc_type; /* adapter type */ - const char *sc_typename; /* adapter type string */ - - struct si_port *sc_ports; /* port structures for this card */ - - caddr_t sc_paddr; /* physical addr of iomem */ - caddr_t sc_maddr; /* kvaddr of iomem */ - int sc_nport; /* # ports on this card */ - int sc_irq; /* copy of attach irq */ - int sc_iobase; /* EISA io port address */ - struct resource *sc_port_res; - struct resource *sc_irq_res; - struct resource *sc_mem_res; - int sc_port_rid; - int sc_irq_rid; - int sc_mem_rid; - int sc_memsize; -}; - -#endif /* _KERNEL */ - -#ifdef SI_DEBUG -/* - * debugging stuff - manipulated using siconfig(8) - */ - -void si_dprintf(struct si_port *pp, int flags, const char *fmt, ...); - -#define DPRINT(x) si_dprintf x - -/* - * Extensive debugging stuff - manipulated using siconfig(8) - */ -#define DBG_ENTRY 0x00000001 -#define DBG_DRAIN 0x00000002 -#define DBG_OPEN 0x00000004 -#define DBG_CLOSE 0x00000008 -#define DBG_READ 0x00000010 -#define DBG_WRITE 0x00000020 -#define DBG_PARAM 0x00000040 -#define DBG_INTR 0x00000080 -#define DBG_IOCTL 0x00000100 -/* 0x00000200 */ -#define DBG_SELECT 0x00000400 -#define DBG_OPTIM 0x00000800 -#define DBG_START 0x00001000 -#define DBG_EXIT 0x00002000 -#define DBG_FAIL 0x00004000 -#define DBG_STOP 0x00008000 -#define DBG_AUTOBOOT 0x00010000 -#define DBG_MODEM 0x00020000 -#define DBG_DOWNLOAD 0x00040000 -#define DBG_LSTART 0x00080000 -#define DBG_POLL 0x00100000 -#define DBG_ALL 0xffffffff - -#else -#define DPRINT(x) /* void */ -#endif - -/* Adapter types */ -#define SIEMPTY 0 -#define SIHOST 1 -#define SIMCA 2 -#define SIHOST2 3 -#define SIEISA 4 -#define SIPCI 5 -#define SIJETPCI 6 -#define SIJETISA 7 - -#define SI_ISJET(x) (((x) == SIJETPCI) || ((x) == SIJETISA)) diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index 52bd6bf07dda..1c972820922f 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -880,7 +880,6 @@ device spic hint.spic.0.at="isa" hint.spic.0.port="0x10a0" device asmc -device si device tpm device padlock_rng # VIA Padlock RNG device rdrand_rng # Intel Bull Mountain RNG diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 214d3d21887f..59bb8cdc6d55 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -330,7 +330,6 @@ SUBDIR= \ ${_sf} \ ${_sfxge} \ sge \ - ${_si} \ siba_bwn \ siftr \ siis \ @@ -584,7 +583,6 @@ _rdma= rdma .endif _safe= safe _scsi_low= scsi_low -_si= si _speaker= speaker _splash= splash _sppp= sppp diff --git a/sys/modules/si/Makefile b/sys/modules/si/Makefile deleted file mode 100644 index d2d436fdd569..000000000000 --- a/sys/modules/si/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# $FreeBSD$ - -.PATH: ${.CURDIR}/../../dev/si - -KMOD= si -SRCS= si.c si2_z280.c si3_t225.c si_isa.c si_pci.c -SRCS+= bus_if.h device_if.h isa_if.h pci_if.h -SRCS+= opt_compat.h opt_debug_si.h opt_eisa.h -SRCS.DEV_EISA=si_eisa.c eisa_if.h - -.include diff --git a/targets/pseudo/userland/Makefile.depend b/targets/pseudo/userland/Makefile.depend index 2b1d3d34a6b7..e0a404ba38f9 100644 --- a/targets/pseudo/userland/Makefile.depend +++ b/targets/pseudo/userland/Makefile.depend @@ -834,7 +834,6 @@ DIRDEPS.amd64= \ usr.sbin/lptcontrol \ usr.sbin/mptable \ usr.sbin/ndiscvt \ - usr.sbin/sicontrol \ usr.sbin/spkrtest \ usr.sbin/sade \ usr.sbin/zzz @@ -863,7 +862,6 @@ DIRDEPS.i386= \ usr.sbin/ndiscvt \ usr.sbin/pnpinfo \ usr.sbin/sade \ - usr.sbin/sicontrol \ usr.sbin/spkrtest \ usr.sbin/zzz \ usr.sbin/acpi \ diff --git a/tools/kerneldoc/subsys/Doxyfile-dev_si b/tools/kerneldoc/subsys/Doxyfile-dev_si deleted file mode 100644 index 0ebf223dbf53..000000000000 --- a/tools/kerneldoc/subsys/Doxyfile-dev_si +++ /dev/null @@ -1,21 +0,0 @@ -# Doxyfile 1.5.2 - -# $FreeBSD$ - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- -PROJECT_NAME = "FreeBSD kernel SI device code" -OUTPUT_DIRECTORY = $(DOXYGEN_DEST_PATH)/dev_si/ -EXTRACT_ALL = YES # for undocumented src, no warnings enabled -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = $(DOXYGEN_SRC_PATH)/dev/si/ \ - $(NOTREVIEWED) - -GENERATE_TAGFILE = dev_si/dev_si.tag - -@INCLUDE_PATH = $(DOXYGEN_INCLUDE_PATH) -@INCLUDE = common-Doxyfile - diff --git a/usr.sbin/Makefile.amd64 b/usr.sbin/Makefile.amd64 index 0fdccaf8bd09..aa5c487f5425 100644 --- a/usr.sbin/Makefile.amd64 +++ b/usr.sbin/Makefile.amd64 @@ -29,6 +29,5 @@ SUBDIR+= mptable .if ${MK_NDIS} != "no" SUBDIR+= ndiscvt .endif -SUBDIR+= sicontrol SUBDIR+= spkrtest SUBDIR+= zzz diff --git a/usr.sbin/Makefile.i386 b/usr.sbin/Makefile.i386 index 6c99dafc5ec4..c754dc690381 100644 --- a/usr.sbin/Makefile.i386 +++ b/usr.sbin/Makefile.i386 @@ -17,7 +17,6 @@ SUBDIR+= mptable SUBDIR+= ndiscvt .endif SUBDIR+= pnpinfo -SUBDIR+= sicontrol SUBDIR+= spkrtest SUBDIR+= zzz diff --git a/usr.sbin/sicontrol/Makefile b/usr.sbin/sicontrol/Makefile deleted file mode 100644 index eb31205853d8..000000000000 --- a/usr.sbin/sicontrol/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -# $FreeBSD$ - -PROG= sicontrol -MAN= sicontrol.8 - -CFLAGS+= -I${.CURDIR}/../../sys -WARNS?= 2 - -.include diff --git a/usr.sbin/sicontrol/Makefile.depend b/usr.sbin/sicontrol/Makefile.depend deleted file mode 100644 index 3646e2e2b1af..000000000000 --- a/usr.sbin/sicontrol/Makefile.depend +++ /dev/null @@ -1,18 +0,0 @@ -# $FreeBSD$ -# Autogenerated - do NOT edit! - -DIRDEPS = \ - gnu/lib/csu \ - gnu/lib/libgcc \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/libc \ - lib/libcompiler_rt \ - - -.include - -.if ${DEP_RELDIR} == ${_DEP_RELDIR} -# local dependencies - needed for -jN in clean tree -.endif diff --git a/usr.sbin/sicontrol/sicontrol.8 b/usr.sbin/sicontrol/sicontrol.8 deleted file mode 100644 index 1503591ecf51..000000000000 --- a/usr.sbin/sicontrol/sicontrol.8 +++ /dev/null @@ -1,109 +0,0 @@ -.\" $FreeBSD$ -.\" -.Dd September 26, 1995 -.Dt SICONTROL 8 -.Os -.Sh NAME -.Nm sicontrol -.Nd Specialix SI/XIO driver configuration and debugging -.Sh SYNOPSIS -.Nm -device -.Ar command Op Ar param ... -.Sh DESCRIPTION -The -.Nm -utility is used to configure and monitor the SI/XIO device driver. -.Pp -The -.Nm -utility operates on the specified -.Ar device -to indicate which port is to be used. -.Pp -The special -.Ar device -string `-' is used to indicate the global driver settings instead. -.Pp -A -.Pa /dev/ -is included if necessary. -.Pp -The following commands are used for the global settings and should be -specified with the '-' device name: -.Bl -tag -width 4n -.It Cm int_throttle Op Cm value -Configure the `aggregate interrupt throttle value'. -The maximum number of host adapter interrupts per second is determined by: -.Pp -.Ar "controller CPU clock / (8 * int_throttle)" -.Pp -The default value at boot time is 25000. -The host adapter cpu clock is -25MHz. -This gives a maximum interrupt rate of about 125 interrupts per -second. -.Pp -Lowering this value will increase the rate in which the host adapter can -interrupt the operating system for attention. -.\" -.It Cm rxint_throttle Op Cm value -Configure the receiver interrupt throttle value. -The default value of 4 at boot time allows an interrupt rate of -approximately 25. -.Pp -Lowering this value will increase the rate in which the host adapter can -interrupt the operating system to empty the receiver fifos. -.\" -.It Cm nport -Return the number of ports under the control of the device driver. -.El -.Pp -The following commands are used for the individual ports and should be -specified with a device name from -.Pa /dev : -.Bl -tag -width 4n -.It Cm mstate -Show the current incoming modem control signals. -.It Cm ccbstat -Show the current "ccb" structure for the specified port. -This is not of -much use outside of debugging the driver and determining why a port is -wedged. -.El -.Sh FILES -.Bl -tag -width /dev/si_control -compact -.It Pa /dev/si_control -global driver control file for use by -.Nm -.It Pa /dev/ttyA* -terminal control ports -.It Pa /dev/ttyiA* -initial termios state devices, for use by -.Xr stty 1 -.It Pa /dev/ttylA* -locked termios state devices, for use by -.Xr stty 1 -.El -.Sh DIAGNOSTICS -Generally self explanatory..... -.Sh SEE ALSO -.Xr stty 1 , -.Xr si 4 , -.Xr termios 4 , -.Xr tty 4 , -.Xr comcontrol 8 -.Sh HISTORY -The -.Nm -utility is loosely based on a utility called -.Nm siconfig -which was written by -.An Andy Rutter Aq Mt andy@acronym.co.uk . -.Pp -Specialix International do not support this device driver in any way. -.Sh AUTHORS -.An Peter Wemm Aq Mt peter@FreeBSD.org -.Sh BUGS -Bound to be many... -:-) diff --git a/usr.sbin/sicontrol/sicontrol.c b/usr.sbin/sicontrol/sicontrol.c deleted file mode 100644 index 061807d4256e..000000000000 --- a/usr.sbin/sicontrol/sicontrol.c +++ /dev/null @@ -1,726 +0,0 @@ -/* - * Device driver for Specialix range (SLXOS) of serial line multiplexors. - * SLXOS configuration and debug interface - * - * Copyright (C) 1990, 1992 Specialix International, - * Copyright (C) 1993, Andy Rutter - * Copyright (C) 1995, Peter Wemm - * - * Derived from: SunOS 4.x version - * - * 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 - * notices, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notices, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of Advanced Methods and Tools, nor Specialix - * International may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY ``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 AUTHORS BE LIABLE. - */ - -#ifndef lint -static const char rcsid[] = - "$FreeBSD$"; -#endif /* not lint */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define SI_DEBUG -#include -#include - -struct lv { - char *lv_name; - int lv_bit; -} lv[] = { - {"entry", DBG_ENTRY}, - {"open", DBG_OPEN}, - {"close", DBG_CLOSE}, - {"read", DBG_READ}, - {"write", DBG_WRITE}, - {"param", DBG_PARAM}, - {"modem", DBG_MODEM}, - {"select", DBG_SELECT}, - {"optim", DBG_OPTIM}, - {"intr", DBG_INTR}, - {"start", DBG_START}, - {"lstart", DBG_LSTART}, - {"ioctl", DBG_IOCTL}, - {"fail", DBG_FAIL}, - {"autoboot", DBG_AUTOBOOT}, - {"download", DBG_DOWNLOAD}, - {"drain", DBG_DRAIN}, - {"poll", DBG_POLL}, - {0, 0} -}; - -static int alldev = 0; - -void ccb_stat(int, char **); -void port_stat(int, char **); -void debug(int, char **); -void dostat(void); -int getnum(char *); -int islevel(char *); -int lvls2bits(char *); -void mstate(int, char **); -void nport(int, char **); -void onoff(int, char **, int, char *, char *, int); -int opencontrol(void); -void prlevels(int); -void prusage(int, int); -void rxint(int, char **); -void txint(int, char **); - -struct opt { - char *o_name; - void (*o_func)(int, char **); -} opt[] = { - {"debug", debug}, - {"rxint_throttle", rxint}, - {"int_throttle", txint}, - {"nport", nport}, - {"mstate", mstate}, - {"ccbstat", ccb_stat}, - {"portstat", port_stat}, - {0, 0} -}; - -struct stat_list { - void (*st_func)(int, char **); -} stat_list[] = { - {mstate}, - {0} -}; - -#define U_DEBUG 0 -#define U_TXINT 1 -#define U_RXINT 2 -#define U_NPORT 3 -#define U_MSTATE 4 -#define U_STAT_CCB 5 -#define U_STAT_PORT 6 - -#define U_MAX 7 -#define U_ALL -1 -char *usage[] = { - "debug [[add|del|set debug_levels] | [off]]\n", - "int_throttle [newvalue]\n", - "rxint_throttle [newvalue]\n", - "nport\n", - "mstate\n", - "ccbstat\n", - "portstat\n", - 0 -}; - -int ctlfd; -char *Devname; -struct si_tcsi tc; - -int -main(int argc, char **argv) -{ - struct opt *op; - void (*func)(int, char **) = NULL; - - if (argc < 2) - prusage(U_ALL, 1); - Devname = argv[1]; - if (strcmp(Devname, "-") == 0) { - alldev = 1; - } else { - sidev_t dev; - int n; - int card, port; - - n = sscanf(Devname, "%d:%d", &card, &port); - if (n != 2) - errx(1, "Devname must be in form card:port. eg: 0:7"); - dev.sid_card = card; - dev.sid_port = port; - tc.tc_dev = dev; - } - ctlfd = opencontrol(); - if (argc == 2) { - dostat(); - exit(0); - } - - argc--; argv++; - for (op = opt; op->o_name; op++) { - if (strcmp(argv[1], op->o_name) == 0) { - func = op->o_func; - break; - } - } - if (func == NULL) - prusage(U_ALL, 1); - - argc -= 2; - argv += 2; - (*func)(argc, argv); - exit(0); -} - -int -opencontrol(void) -{ - int fd; - - fd = open(CONTROLDEV, O_RDWR|O_NDELAY); - if (fd < 0) - err(1, "open on %s", CONTROLDEV); - return(fd); -} - -/* - * Print a usage message - this relies on U_DEBUG==0 and U_BOOT==1. - * Don't print the DEBUG usage string unless explicity requested. - */ -void -prusage(int strn, int eflag) -{ - char **cp; - - if (strn == U_ALL) { - fprintf(stderr, "usage: sicontrol %s", usage[1]); - fprintf(stderr, " sicontrol %s", usage[2]); - fprintf(stderr, " sicontrol %s", usage[3]); - fprintf(stderr, " sicontrol devname %s", usage[4]); - for (cp = &usage[5]; *cp; cp++) - fprintf(stderr, " sicontrol devname %s", *cp); - } - else if (strn >= 0 && strn <= U_MAX) - fprintf(stderr, "usage: sicontrol devname %s", usage[strn]); - else - fprintf(stderr, "sicontrol: usage ???\n"); - exit(eflag); -} - -/* print port status */ -void -dostat(void) -{ - char *av[1], *acp; - struct stat_list *stp; - struct si_tcsi stc; - int donefirst = 0; - - printf("%s: ", alldev ? "ALL" : Devname); - acp = malloc(strlen(Devname) + 3); - memset(acp, ' ', strlen(Devname)); - strcat(acp, " "); - stc = tc; - for (stp = stat_list; stp->st_func != NULL; stp++) { - if (donefirst) - fputs(acp, stdout); - else - donefirst++; - av[0] = NULL; - tc = stc; - (*stp->st_func)(-1, av); - } -} - -/* - * debug - * debug [[set|add|del debug_lvls] | [off]] - */ -void -debug(int ac, char **av) -{ - int level; - - if (ac > 2) - prusage(U_DEBUG, 1); - if (alldev) { - if (ioctl(ctlfd, TCSIGDBG_ALL, &tc.tc_dbglvl) < 0) - err(1, "TCSIGDBG_ALL on %s", Devname); - } else { - if (ioctl(ctlfd, TCSIGDBG_LEVEL, &tc) < 0) - err(1, "TCSIGDBG_LEVEL on %s", Devname); - } - - switch (ac) { - case 0: - printf("%s: debug levels - ", Devname); - prlevels(tc.tc_dbglvl); - return; - case 1: - if (strcmp(av[0], "off") == 0) { - tc.tc_dbglvl = 0; - break; - } - prusage(U_DEBUG, 1); - /* no return */ - case 2: - level = lvls2bits(av[1]); - if (strcmp(av[0], "add") == 0) - tc.tc_dbglvl |= level; - else if (strcmp(av[0], "del") == 0) - tc.tc_dbglvl &= ~level; - else if (strcmp(av[0], "set") == 0) - tc.tc_dbglvl = level; - else - prusage(U_DEBUG, 1); - } - if (alldev) { - if (ioctl(ctlfd, TCSISDBG_ALL, &tc.tc_dbglvl) < 0) - err(1, "TCSISDBG_ALL on %s", Devname); - } else { - if (ioctl(ctlfd, TCSISDBG_LEVEL, &tc) < 0) - err(1, "TCSISDBG_LEVEL on %s", Devname); - } -} - -void -rxint(int ac, char **av) -{ - tc.tc_port = 0; - switch (ac) { - case 0: - printf("%s: ", Devname); - case -1: - if (ioctl(ctlfd, TCSIGRXIT, &tc) < 0) - err(1, "TCSIGRXIT"); - printf("RX interrupt throttle: %d msec\n", tc.tc_int*10); - break; - case 1: - tc.tc_int = getnum(av[0]) / 10; - if (tc.tc_int == 0) - tc.tc_int = 1; - if (ioctl(ctlfd, TCSIRXIT, &tc) < 0) - err(1, "TCSIRXIT on %s at %d msec", - Devname, tc.tc_int*10); - break; - default: - prusage(U_RXINT, 1); - } -} - -void -txint(int ac, char **av) -{ - - tc.tc_port = 0; - switch (ac) { - case 0: - printf("%s: ", Devname); - case -1: - if (ioctl(ctlfd, TCSIGIT, &tc) < 0) - err(1, "TCSIGIT"); - printf("aggregate interrupt throttle: %d\n", tc.tc_int); - break; - case 1: - tc.tc_int = getnum(av[0]); - if (ioctl(ctlfd, TCSIIT, &tc) < 0) - err(1, "TCSIIT on %s at %d", Devname, tc.tc_int); - break; - default: - prusage(U_TXINT, 1); - } -} - -void -onoff(int ac, char **av, int cmd, char *cmdstr, char *prstr, int usage) -{ - if (ac > 1) - prusage(usage, 1); - if (ac == 1) { - if (strcmp(av[0], "on") == 0) - tc.tc_int = 1; - else if (strcmp(av[0], "off") == 0) - tc.tc_int = 0; - else - prusage(usage, 1); - } else - tc.tc_int = -1; - if (ioctl(ctlfd, cmd, &tc) < 0) - err(1, "%s on %s", cmdstr, Devname); - switch (ac) { - case 0: - printf("%s: ", Devname); - case -1: - printf("%s ", prstr); - if (tc.tc_int) - printf("on\n"); - else - printf("off\n"); - } -} - -void -mstate(int ac, char **av) -{ - switch (ac) { - case 0: - printf("%s: ", Devname); - case -1: - break; - default: - prusage(U_MSTATE, 1); - } - if (ioctl(ctlfd, TCSISTATE, &tc) < 0) - err(1, "TCSISTATE on %s", Devname); - printf("modem bits state - (0x%x)", tc.tc_int); - if (tc.tc_int & IP_DCD) printf(" DCD"); - if (tc.tc_int & IP_DTR) printf(" DTR"); - if (tc.tc_int & IP_RTS) printf(" RTS"); - printf("\n"); -} - -void -nport(int ac, char **av) -{ - int ports; - - if (ac != 0) - prusage(U_NPORT, 1); - if (ioctl(ctlfd, TCSIPORTS, &ports) < 0) - err(1, "TCSIPORTS on %s", Devname); - printf("SLXOS: total of %d ports\n", ports); -} - -const char *s_stat(int stat) -{ - switch (stat) { - case IDLE_OPEN: return "IDLE_OPEN"; - case LOPEN: return "LOPEN"; - case MOPEN: return "MOPEN"; - case MPEND: return "MPEND"; - case CONFIG: return "CONFIG"; - case CLOSE: return "CLOSE"; - case SBREAK: return "SBREAK"; - case EBREAK: return "EBREAK"; - case IDLE_CLOSE:return "IDLE_CLOSE"; - case IDLE_BREAK:return "IDLE_BREAK"; - case FCLOSE: return "FCLOSE"; - case RESUME: return "RESUME"; - case WFLUSH: return "WFLUSH"; - case RFLUSH: return "RFLUSH"; - default: return "??"; - } -} -const char *s_mr1(int mr1) -{ - static char msg[200]; - - sprintf(msg, "%dbit, %s, parity:[", 5 + (mr1 & MR1_8_BITS), mr1 & MR1_ODD ? "odd" : "even"); - if (mr1 & MR1_WITH) - strcat(msg, "with;"); - if (mr1 & MR1_FORCE) - strcat(msg, "force;"); - if (mr1 & MR1_NONE) - strcat(msg, "none;"); - if (mr1 & MR1_SPECIAL) - strcat(msg, "special;"); - strcpy(msg + strlen(msg) - 1, "]"); - sprintf(msg + strlen(msg), ", err: %s", mr1 & MR1_BLOCK ? "block" : "none"); - sprintf(msg + strlen(msg), ", cts: %s", mr1 & MR1_CTSCONT ? "auto" : "none"); - return (msg); -} -const char *s_mr2(int mr2) -{ - static char msg[200]; - - switch (mr2 & 0xf) { - case MR2_1_STOP: strcpy(msg, "1stop"); break; - case MR2_2_STOP: strcpy(msg, "2stop"); break; - default: sprintf(msg, "??stop (0x%x)", mr2 & 0xf); break; - } - if (mr2 & MR2_RTSCONT) strcat(msg, ", rtscont"); - if (mr2 & MR2_CTSCONT) strcat(msg, ", ctscont"); - switch (mr2 & 0xc0) { - case MR2_NORMAL: strcat(msg, ", mode:normal"); break; - case MR2_AUTO: strcat(msg, ", mode:auto"); break; - case MR2_LOCAL: strcat(msg, ", mode:local"); break; - case MR2_REMOTE: strcat(msg, ", mode:remote"); break; - } - return (msg); -} -const char *s_clk(int clk) -{ - switch (clk & 0xf) { - case 0x0: return "75"; - case 0x1: return "110/115200"; - case 0x2: return "38400"; - case 0x3: return "150"; - case 0x4: return "300"; - case 0x5: return "600"; - case 0x6: return "1200"; - case 0x7: return "2000"; - case 0x8: return "2400"; - case 0x9: return "4800"; - case 0xa: return "7200"; - case 0xb: return "9600"; - case 0xc: return "19200"; - case 0xd: return "57600"; - case 0xe: return "?0xe"; - case 0xf: return "?0xf"; - } - return ("gcc sucks"); -} -const char *s_op(int op) -{ - static char msg[200]; - - sprintf(msg, "cts:%s", (op & OP_CTS) ? "on" : "off"); - sprintf(msg + strlen(msg), ", dsr:%s", (op & OP_DSR) ? "on" : "off"); - return (msg); -} - -const char *s_ip(int ip) -{ - static char msg[200]; - - sprintf(msg, "rts:%s", (ip & IP_RTS) ? "on" : "off"); - sprintf(msg + strlen(msg), ", dcd:%s", (ip & IP_DCD) ? "on" : "off"); - sprintf(msg + strlen(msg), ", dtr:%s", (ip & IP_DTR) ? "on" : "off"); - sprintf(msg + strlen(msg), ", ri:%s", (ip & IP_RI) ? "on" : "off"); - return (msg); -} - -const char *s_state(int state) -{ - return (state & ST_BREAK ? "break:on" : "break:off"); -} - -const char *s_prtcl(int pr) -{ - static char msg[200]; - - sprintf(msg, "tx xon any:%s", (pr & SP_TANY) ? "on" : "off"); - sprintf(msg + strlen(msg), ", tx xon/xoff:%s", (pr & SP_TXEN) ? "on" : "off"); - sprintf(msg + strlen(msg), ", cooking:%s", (pr & SP_CEN) ? "on" : "off"); - sprintf(msg + strlen(msg), ", rx xon/xoff:%s", (pr & SP_RXEN) ? "on" : "off"); - sprintf(msg + strlen(msg), ", dcd/dsr check:%s", (pr & SP_DCEN) ? "on" : "off"); - sprintf(msg + strlen(msg), ", parity check:%s", (pr & SP_PAEN) ? "on" : "off"); - return (msg); -} -const char *s_break(int br) -{ - static char msg[200]; - - sprintf(msg, "ignore rx brk:%s", (br & BR_IGN) ? "on" : "off"); - sprintf(msg + strlen(msg), ", brk interrupt:%s", (br & BR_INT) ? "on" : "off"); - sprintf(msg + strlen(msg), ", parmrking:%s", (br & BR_PARMRK) ? "on" : "off"); - sprintf(msg + strlen(msg), ", parign:%s", (br & BR_PARIGN) ? "on" : "off"); - return (msg); -} - -const char * -s_xstat(int xs) -{ - static char msg[200]; - - msg[0] = 0; - /* MTA definitions, not TA */ - if (xs & 0x01) strcat(msg, "TION "); /* Tx interrupts on (MTA only) */ - if (xs & 0x02) strcat(msg, "RTSEN "); /* RTS FLOW enabled (MTA only) */ - if (xs & 0x04) strcat(msg, "RTSLOW "); /* XOFF received (TA only) */ - if (xs & 0x08) strcat(msg, "RXEN "); /* Rx XON/XOFF enabled */ - if (xs & 0x10) strcat(msg, "ANYXO "); /* XOFF pending/sent or RTS dropped */ - if (xs & 0x20) strcat(msg, "RXSE "); /* Rx XOFF sent */ - if (xs & 0x40) strcat(msg, "NPEND "); /* Rx XON pending or XOFF pending */ - if (xs & 0x40) strcat(msg, "FPEND "); /* Rx XOFF pending */ - return (msg); -} - -const char * -s_cstat(int cs) -{ - static char msg[200]; - - msg[0] = 0; - /* MTA definitions, not TA */ - if (cs & 0x01) strcat(msg, "TEMR "); /* Tx empty requested (MTA only) */ - if (cs & 0x02) strcat(msg, "TEMA "); /* Tx empty acked (MTA only) */ - if (cs & 0x04) strcat(msg, "EN "); /* Cooking enabled (on MTA means port is also || */ - if (cs & 0x08) strcat(msg, "HIGH "); /* Buffer previously hit high water */ - if (cs & 0x10) strcat(msg, "CTSEN "); /* CTS automatic flow-control enabled */ - if (cs & 0x20) strcat(msg, "DCDEN "); /* DCD/DTR checking enabled */ - if (cs & 0x40) strcat(msg, "BREAK "); /* Break detected */ - if (cs & 0x80) strcat(msg, "RTSEN "); /* RTS automatic flow control enabled (MTA only) */ - return (msg); -} - -void -ccb_stat(int ac, char **av) -{ - struct si_pstat sip; -#define CCB sip.tc_ccb - - if (ac != 0) - prusage(U_STAT_CCB, 1); - sip.tc_dev = tc.tc_dev; - if (ioctl(ctlfd, TCSI_CCB, &sip) < 0) - err(1, "TCSI_CCB on %s", Devname); - printf("%s: ", Devname); - - /* WORD next - Next Channel */ - /* WORD addr_uart - Uart address */ - /* WORD module - address of module struct */ - printf("\tuart_type 0x%x\n", CCB.type); /* BYTE type - Uart type */ - /* BYTE fill - */ - printf("\tx_status 0x%x %s\n", CCB.x_status, s_xstat(CCB.x_status)); /* BYTE x_status - XON / XOFF status */ - printf("\tc_status 0x%x %s\n", CCB.c_status, s_cstat(CCB.c_status)); /* BYTE c_status - cooking status */ - printf("\thi_rxipos 0x%x\n", CCB.hi_rxipos); /* BYTE hi_rxipos - stuff into rx buff */ - printf("\thi_rxopos 0x%x\n", CCB.hi_rxopos); /* BYTE hi_rxopos - stuff out of rx buffer */ - printf("\thi_txopos 0x%x\n", CCB.hi_txopos); /* BYTE hi_txopos - Stuff into tx ptr */ - printf("\thi_txipos 0x%x\n", CCB.hi_txipos); /* BYTE hi_txipos - ditto out */ - printf("\thi_stat 0x%x %s\n", CCB.hi_stat, s_stat(CCB.hi_stat));/* BYTE hi_stat - Command register */ - printf("\tdsr_bit 0x%x\n", CCB.dsr_bit); /* BYTE dsr_bit - Magic bit for DSR */ - printf("\ttxon 0x%x\n", CCB.txon); /* BYTE txon - TX XON char */ - printf("\ttxoff 0x%x\n", CCB.txoff); /* BYTE txoff - ditto XOFF */ - printf("\trxon 0x%x\n", CCB.rxon); /* BYTE rxon - RX XON char */ - printf("\trxoff 0x%x\n", CCB.rxoff); /* BYTE rxoff - ditto XOFF */ - printf("\thi_mr1 0x%x %s\n", CCB.hi_mr1, s_mr1(CCB.hi_mr1)); /* BYTE hi_mr1 - mode 1 image */ - printf("\thi_mr2 0x%x %s\n", CCB.hi_mr2, s_mr2(CCB.hi_mr2)); /* BYTE hi_mr2 - mode 2 image */ - printf("\thi_csr 0x%x in:%s out:%s\n", CCB.hi_csr, s_clk(CCB.hi_csr >> 4), s_clk(CCB.hi_csr)); /* BYTE hi_csr - clock register */ - printf("\thi_op 0x%x %s\n", CCB.hi_op, s_op(CCB.hi_op)); /* BYTE hi_op - Op control */ - printf("\thi_ip 0x%x %s\n", CCB.hi_ip, s_ip(CCB.hi_ip)); /* BYTE hi_ip - Input pins */ - printf("\thi_state 0x%x %s\n", CCB.hi_state, s_state(CCB.hi_state)); /* BYTE hi_state - status */ - printf("\thi_prtcl 0x%x %s\n", CCB.hi_prtcl, s_prtcl(CCB.hi_prtcl)); /* BYTE hi_prtcl - Protocol */ - printf("\thi_txon 0x%x\n", CCB.hi_txon); /* BYTE hi_txon - host copy tx xon stuff */ - printf("\thi_txoff 0x%x\n", CCB.hi_txoff); /* BYTE hi_txoff - */ - printf("\thi_rxon 0x%x\n", CCB.hi_rxon); /* BYTE hi_rxon - */ - printf("\thi_rxoff 0x%x\n", CCB.hi_rxoff); /* BYTE hi_rxoff - */ - printf("\tclose_prev 0x%x\n", CCB.close_prev); /* BYTE close_prev - Was channel previously closed */ - printf("\thi_break 0x%x %s\n", CCB.hi_break, s_break(CCB.hi_break)); /* BYTE hi_break - host copy break process */ - printf("\tbreak_state 0x%x\n", CCB.break_state); /* BYTE break_state - local copy ditto */ - printf("\thi_mask 0x%x\n", CCB.hi_mask); /* BYTE hi_mask - Mask for CS7 etc. */ - printf("\tmask_z280 0x%x\n", CCB.mask_z280); /* BYTE mask_z280 - Z280's copy */ - /* BYTE res[0x60 - 36] - */ - /* BYTE hi_txbuf[SLXOS_BUFFERSIZE] - */ - /* BYTE hi_rxbuf[SLXOS_BUFFERSIZE] - */ - /* BYTE res1[0xA0] - */ -} - -const char *sp_state(int st) -{ - - if (st & SS_LSTART) - return("lstart "); - else - return(""); -} - -void -port_stat(int ac, char **av) -{ - struct si_pstat sip; -#define PRT sip.tc_siport - - if (ac != 0) - prusage(U_STAT_PORT, 1); - sip.tc_dev = tc.tc_dev; - if (ioctl(ctlfd, TCSI_PORT, &sip) < 0) - err(1, "TCSI_PORT on %s", Devname); - printf("%s: ", Devname); - - printf("\tsp_pend 0x%x %s\n", PRT.sp_pend, s_stat(PRT.sp_pend)); - printf("\tsp_last_hi_ip 0x%x %s\n", PRT.sp_last_hi_ip, s_ip(PRT.sp_last_hi_ip)); - printf("\tsp_state 0x%x %s\n", PRT.sp_state, sp_state(PRT.sp_state)); - printf("\tsp_delta_overflows 0x%d\n", PRT.sp_delta_overflows); -} - -int -islevel(char *tk) -{ - struct lv *lvp; - char *acp; - - for (acp = tk; *acp; acp++) - if (isupper(*acp)) - *acp = tolower(*acp); - for (lvp = lv; lvp->lv_name; lvp++) - if (strcmp(lvp->lv_name, tk) == 0) - return(lvp->lv_bit); - return(0); -} - -/* - * Convert a string consisting of tokens separated by white space, commas - * or `|' into a bitfield - flag any unrecognised tokens. - */ -int -lvls2bits(char *str) -{ - int i, bits = 0; - int errflag = 0; - char token[20]; - - while (sscanf(str, "%[^,| \t]", token) == 1) { - str += strlen(token); - while (isspace(*str) || *str==',' || *str=='|') - str++; - if (strcmp(token, "all") == 0) - return(0xffffffff); - if ((i = islevel(token)) == 0) { - warnx("unknown token '%s'", token); - errflag++; - } else - bits |= i; - } - if (errflag) - exit(1); - - return(bits); -} - -int -getnum(char *str) -{ - int x; - char *acp = str; - - x = 0; - while (*acp) { - if (!isdigit(*acp)) - errx(1, "%s is not a number", str); - x *= 10; - x += (*acp - '0'); - acp++; - } - return(x); -} - -void -prlevels(int x) -{ - struct lv *lvp; - - switch (x) { - case 0: - printf("(none)\n"); - break; - case 0xffffffff: - printf("all\n"); - break; - default: - for (lvp = lv; lvp->lv_name; lvp++) - if (x & lvp->lv_bit) - printf(" %s", lvp->lv_name); - printf("\n"); - } -}