diff options
| author | Peter Wemm <peter@FreeBSD.org> | 2001-08-09 00:13:30 +0000 | 
|---|---|---|
| committer | Peter Wemm <peter@FreeBSD.org> | 2001-08-09 00:13:30 +0000 | 
| commit | 3de6da9cc95683e3cc9e747d2d83e8dc898c9608 (patch) | |
| tree | 5499ee3ded21721753cfa41a5c031bdd29cb8426 | |
| parent | 74a40576ebe2e1baf67a69ed0e4531ac2fb4bee7 (diff) | |
Notes
23 files changed, 23 insertions, 1960 deletions
diff --git a/sys/modules/syscons/apm/Makefile b/sys/modules/syscons/apm/Makefile index 16dbb6a7bea87..80338e2c655c9 100644 --- a/sys/modules/syscons/apm/Makefile +++ b/sys/modules/syscons/apm/Makefile @@ -1,11 +1,11 @@  # $FreeBSD$ +.PATH:	${.CURDIR}/../../../dev/syscons/apm +  KMOD=	apm_saver  SRCS= 	apm_saver.c  NOMAN= -CFLAGS+= -I${.CURDIR}/.. -  .if ${MACHINE} == "pc98"  CFLAGS+= -DPC98  .endif diff --git a/sys/modules/syscons/apm/apm_saver.c b/sys/modules/syscons/apm/apm_saver.c deleted file mode 100644 index 3f7b59a53709d..0000000000000 --- a/sys/modules/syscons/apm/apm_saver.c +++ /dev/null @@ -1,92 +0,0 @@ -/*- - * Copyright (c) 1999 Nick Sayer (who stole shamelessly from blank_saver) - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer, - *    without modification, immediately at the beginning of the file. - * 2. Redistributions in binary form must reproduce the above copyright - *    notice, this list of conditions and the following disclaimer in the - *    documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - *    derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include <sys/param.h> -#include <sys/systm.h> -#include <sys/kernel.h> -#include <sys/module.h> -#include <sys/consio.h> -#include <sys/fbio.h> - -#include <dev/fb/fbreg.h> -#include <dev/fb/splashreg.h> -#include <dev/syscons/syscons.h> - -#include <sys/selinfo.h> -#include <machine/apm_bios.h> -#include <machine/pc/bios.h> -#ifdef PC98 -#include <machine/bus.h> -#include <pc98/apm/apm.h> -#else -#include <i386/apm/apm.h> -#endif - -extern int apm_display __P((int newstate));                                      - -extern struct apm_softc apm_softc; - -static int blanked=0; - -static int -apm_saver(video_adapter_t *adp, int blank) -{ -	if (!apm_softc.initialized || !apm_softc.active) -		return 0; - -	if (blank==blanked) -		return 0; - -	blanked=blank; - -	apm_display(!blanked); - -	return 0; -} - -static int -apm_init(video_adapter_t *adp) -{ -	if (!apm_softc.initialized || !apm_softc.active) -		printf("WARNING: apm_saver module requires apm enabled\n"); -	return 0; -} - -static int -apm_term(video_adapter_t *adp) -{ -	return 0; -} - -static scrn_saver_t apm_module = { -	"apm_saver", apm_init, apm_term, apm_saver, NULL, -}; - -SAVER_MODULE(apm_saver, apm_module); diff --git a/sys/modules/syscons/blank/Makefile b/sys/modules/syscons/blank/Makefile index de6aac4a1ed63..5dba5188b0d99 100644 --- a/sys/modules/syscons/blank/Makefile +++ b/sys/modules/syscons/blank/Makefile @@ -1,9 +1,9 @@  # $FreeBSD$ +.PATH:	${.CURDIR}/../../../dev/syscons/blank +  KMOD=	blank_saver  SRCS=	blank_saver.c  NOMAN= -CFLAGS+= -I${.CURDIR}/.. -  .include <bsd.kmod.mk> diff --git a/sys/modules/syscons/blank/blank_saver.c b/sys/modules/syscons/blank/blank_saver.c deleted file mode 100644 index 960acca5a5122..0000000000000 --- a/sys/modules/syscons/blank/blank_saver.c +++ /dev/null @@ -1,69 +0,0 @@ -/*- - * Copyright (c) 1995-1998 Søren Schmidt - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer, - *    without modification, immediately at the beginning of the file. - * 2. Redistributions in binary form must reproduce the above copyright - *    notice, this list of conditions and the following disclaimer in the - *    documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - *    derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include <sys/param.h> -#include <sys/systm.h> -#include <sys/kernel.h> -#include <sys/module.h> -#include <sys/consio.h> -#include <sys/fbio.h> - -#include <dev/fb/fbreg.h> -#include <dev/fb/splashreg.h> -#include <dev/syscons/syscons.h> - -static int -blank_saver(video_adapter_t *adp, int blank) -{ -	(*vidsw[adp->va_index]->blank_display)(adp, -					       (blank) ? V_DISPLAY_BLANK -						       : V_DISPLAY_ON); -	return 0; -} - -static int -blank_init(video_adapter_t *adp) -{ -	if ((*vidsw[adp->va_index]->blank_display)(adp, V_DISPLAY_ON) == 0) -		return 0; -	return ENODEV; -} - -static int -blank_term(video_adapter_t *adp) -{ -	return 0; -} - -static scrn_saver_t blank_module = { -	"blank_saver", blank_init, blank_term, blank_saver, NULL, -}; - -SAVER_MODULE(blank_saver, blank_module); diff --git a/sys/modules/syscons/daemon/Makefile b/sys/modules/syscons/daemon/Makefile index 47868b45f4a0c..d8d85eb7b93de 100644 --- a/sys/modules/syscons/daemon/Makefile +++ b/sys/modules/syscons/daemon/Makefile @@ -1,11 +1,11 @@  # $FreeBSD$ +.PATH:	${.CURDIR}/../../../dev/syscons/daemon +  KMOD=	daemon_saver  SRCS=	daemon_saver.c  NOMAN= -CFLAGS+= -I${.CURDIR}/.. -  .if ${MACHINE} == "pc98"  CFLAGS+= -DPC98  .endif diff --git a/sys/modules/syscons/daemon/daemon_saver.c b/sys/modules/syscons/daemon/daemon_saver.c deleted file mode 100644 index 3cd58305cde5d..0000000000000 --- a/sys/modules/syscons/daemon/daemon_saver.c +++ /dev/null @@ -1,403 +0,0 @@ -/*- - * Copyright (c) 1997 Sandro Sigala, Brescia, Italy. - * Copyright (c) 1997 Chris Shenton - * Copyright (c) 1995 S ren Schmidt - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer - *    in this position and unchanged. - * 2. Redistributions in binary form must reproduce the above copyright - *    notice, this list of conditions and the following disclaimer in the - *    documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include <sys/param.h> -#include <sys/systm.h> -#include <sys/module.h> -#include <sys/malloc.h> -#include <sys/kernel.h> -#include <sys/sysctl.h> -#include <sys/consio.h> -#include <sys/fbio.h> - -#include <machine/pc/display.h> - -#include <dev/fb/fbreg.h> -#include <dev/fb/splashreg.h> -#include <dev/syscons/syscons.h> - -#ifdef PC98 -#include <pc98/pc98/pc98_machdep.h> -#endif - -#define DAEMON_MAX_WIDTH	32 -#define DAEMON_MAX_HEIGHT	19 - -static u_char *message; -static int messagelen; -static int blanked; - -/* Who is the author of this ASCII pic? */ - -static u_char *daemon_pic[] = { -        "             ,        ,", -	"            /(        )`", -	"            \\ \\___   / |", -	"            /- _  `-/  '", -	"           (/\\/ \\ \\   /\\", -	"           / /   | `    \\", -	"           O O   ) /    |", -	"           `-^--'`<     '", -	"          (_.)  _  )   /", -	"           `.___/`    /", -	"             `-----' /", -	"<----.     __ / __   \\", -	"<----|====O)))==) \\) /====", -	"<----'    `--' `.__,' \\", -	"             |        |", -	"              \\       /       /\\", -	"         ______( (_  / \\______/", -	"       ,'  ,-----'   |", -	"       `--{__________)", -	NULL -}; - -static u_char *daemon_attr[] = { -        "             R        R", -	"            RR        RR", -	"            R RRRR   R R", -	"            RR W  RRR  R", -	"           RWWW W R   RR", -	"           W W   W R    R", -	"           B B   W R    R", -	"           WWWWWWRR     R", -	"          RRRR  R  R   R", -	"           RRRRRRR    R", -	"             RRRRRRR R", -	"YYYYYY     RR R RR   R", -	"YYYYYYYYYYRRRRYYR RR RYYYY", -	"YYYYYY    RRRR RRRRRR R", -	"             R        R", -	"              R       R       RR", -	"         CCCCCCR RR  R RRRRRRRR", -	"       CC  CCCCCCC   C", -	"       CCCCCCCCCCCCCCC", -	NULL -}; - -/* - * Reverse a graphics character, or return unaltered if no mirror; - * should do alphanumerics too, but I'm too lazy. <cshenton@it.hq.nasa.gov> - */ - -static u_char -xflip_symbol(u_char symbol) -{ -	static const u_char lchars[] = "`'(){}[]\\/<>"; -	static const u_char rchars[] = "'`)(}{][/\\><"; -	int pos; - -	for (pos = 0; lchars[pos] != '\0'; pos++) -		if (lchars[pos] == symbol) -			return rchars[pos]; - -	return symbol; -} - -static void -clear_daemon(sc_softc_t *sc, int xpos, int ypos, int dxdir, int xoff, int yoff,  -	    int xlen, int ylen) -{ -	int y; - -	if (xlen <= 0) -		return; -	for (y = yoff; y < ylen; y++) { -		sc_vtb_erase(&sc->cur_scp->scr, -			     (ypos + y)*sc->cur_scp->xsize + xpos + xoff, -			     xlen - xoff, -			     sc->scr_map[0x20], (FG_LIGHTGREY | BG_BLACK) << 8); -	} -} - -static void -draw_daemon(sc_softc_t *sc, int xpos, int ypos, int dxdir, int xoff, int yoff,  -	    int xlen, int ylen) -{ -	int x, y; -	int px; -	int attr; - -	for (y = yoff; y < ylen; y++) { -		if (dxdir < 0) -			px = xoff; -		else -			px = DAEMON_MAX_WIDTH - xlen; -		if (px >= strlen(daemon_pic[y])) -			continue; -		for (x = xoff; (x < xlen) && (daemon_pic[y][px] != '\0'); x++, px++) { -			switch (daemon_attr[y][px]) { -#ifndef PC98 -			case 'R': attr = (FG_LIGHTRED|BG_BLACK)<<8; break; -			case 'Y': attr = (FG_YELLOW|BG_BLACK)<<8; break; -			case 'B': attr = (FG_LIGHTBLUE|BG_BLACK)<<8; break; -			case 'W': attr = (FG_LIGHTGREY|BG_BLACK)<<8; break; -			case 'C': attr = (FG_CYAN|BG_BLACK)<<8; break; -			default: attr = (FG_WHITE|BG_BLACK)<<8; break; -#else /* PC98 */ -			case 'R': attr = (FG_RED|BG_BLACK)<<8; break; -			case 'Y': attr = (FG_BROWN|BG_BLACK)<<8; break; -			case 'B': attr = (FG_BLUE|BG_BLACK)<<8; break; -			case 'W': attr = (FG_LIGHTGREY|BG_BLACK)<<8; break; -			case 'C': attr = (FG_CYAN|BG_BLACK)<<8; break; -			default: attr = (FG_LIGHTGREY|BG_BLACK)<<8; break; -#endif /* PC98 */ -			} -			if (dxdir < 0) {	/* Moving left */ -				sc_vtb_putc(&sc->cur_scp->scr, -					    (ypos + y)*sc->cur_scp->xsize -						 + xpos + x, -					    sc->scr_map[daemon_pic[y][px]], -					    attr); -			} else {		/* Moving right */ -				sc_vtb_putc(&sc->cur_scp->scr, -					    (ypos + y)*sc->cur_scp->xsize -						+ xpos + DAEMON_MAX_WIDTH  -						- px - 1, -					    sc->scr_map[xflip_symbol(daemon_pic[y][px])],  -					    attr); -			} -		} -	} -} - -static void -clear_string(sc_softc_t *sc, int xpos, int ypos, int xoff, char *s, int len) -{ -	if (len <= 0) -		return; -	sc_vtb_erase(&sc->cur_scp->scr, -		     ypos*sc->cur_scp->xsize + xpos + xoff, len - xoff, -		     sc->scr_map[0x20], (FG_LIGHTGREY | BG_BLACK) << 8); -} - -static void -draw_string(sc_softc_t *sc, int xpos, int ypos, int xoff, u_char *s, int len) -{ -	int x; - -	for (x = xoff; x < len; x++) { -#ifdef PC98 -		sc_vtb_putc(&sc->cur_scp->scr, -			    ypos*sc->cur_scp->xsize + xpos + x, -			    sc->scr_map[s[x]], (FG_GREEN | BG_BLACK) << 8); -#else -		sc_vtb_putc(&sc->cur_scp->scr, -			    ypos*sc->cur_scp->xsize + xpos + x, -			    sc->scr_map[s[x]], (FG_LIGHTGREEN | BG_BLACK) << 8); -#endif -	} -} - -static int -daemon_saver(video_adapter_t *adp, int blank) -{ -	static int txpos = 10, typos = 10; -	static int txdir = -1, tydir = -1; -	static int dxpos = 0, dypos = 0; -	static int dxdir = 1, dydir = 1; -	static int moved_daemon = 0; -	static int xoff, yoff, toff; -	static int xlen, ylen, tlen; -	sc_softc_t *sc; -	scr_stat *scp; -	int min, max; - -	sc = sc_find_softc(adp, NULL); -	if (sc == NULL) -		return EAGAIN; -	scp = sc->cur_scp; - -	if (blank) { -		if (adp->va_info.vi_flags & V_INFO_GRAPHICS) -			return EAGAIN; -		if (blanked == 0) { -#ifdef PC98 -			if (epson_machine_id == 0x20) { -				outb(0x43f, 0x42); -				outb(0x0c17, inb(0xc17) & ~0x08); -				outb(0x43f, 0x40); -			} -#endif /* PC98 */ -			/* clear the screen and set the border color */ -			sc_vtb_clear(&scp->scr, sc->scr_map[0x20], -				     (FG_LIGHTGREY | BG_BLACK) << 8); -			(*vidsw[adp->va_index]->set_hw_cursor)(adp, -1, -1); -			sc_set_border(scp, 0); -			xlen = ylen = tlen = 0; -		} -		if (blanked++ < 2) -			return 0; -		blanked = 1; - - 		clear_daemon(sc, dxpos, dypos, dxdir, xoff, yoff, xlen, ylen); -		clear_string(sc, txpos, typos, toff, message, tlen); - -		if (++moved_daemon) { -			/* -			 * The daemon picture may be off the screen, if -			 * screen size is chagened while the screen -			 * saver is inactive. Make sure the origin of -			 * the picture is between min and max. -			 */ -			if (scp->xsize <= DAEMON_MAX_WIDTH) { -				/* -				 * If the screen width is too narrow, we -				 * allow part of the picture go off -				 * the screen so that the daemon won't -				 * flip too often. -				 */ -				min = scp->xsize - DAEMON_MAX_WIDTH - 10; -				max = 10; -			} else { -				min = 0; -				max = scp->xsize - DAEMON_MAX_WIDTH; -			} -			if (dxpos <= min) { -				dxpos = min; -				dxdir = 1; -			} else if (dxpos >= max) { -				dxpos = max; -				dxdir = -1; -			} - -			if (scp->ysize <= DAEMON_MAX_HEIGHT) { -				min = scp->ysize - DAEMON_MAX_HEIGHT - 10; -				max = 10; -			} else { -				min = 0; -				max = scp->ysize - DAEMON_MAX_HEIGHT; -			} -			if (dypos <= min) { -				dypos = min; -				dydir = 1; -			} else if (dypos >= max) { -				dypos = max; -				dydir = -1; -			} - -			moved_daemon = -1; -			dxpos += dxdir; dypos += dydir; - -			/* clip the picture */ -			xoff = 0; -			xlen = DAEMON_MAX_WIDTH; -			if (dxpos + xlen <= 0) -				xlen = 0; -			else if (dxpos < 0) -				xoff = -dxpos; -			if (dxpos >= scp->xsize) -				xlen = 0; -			else if (dxpos + xlen > scp->xsize) -				xlen = scp->xsize - dxpos; -			yoff = 0; -			ylen = DAEMON_MAX_HEIGHT; -			if (dypos + ylen <= 0) -				ylen = 0; -			else if (dypos < 0) -				yoff = -dypos; -			if (dypos >= scp->ysize) -				ylen = 0; -			else if (dypos + ylen > scp->ysize) -				ylen = scp->ysize - dypos; -		} - -		if (scp->xsize <= messagelen) { -			min = scp->xsize - messagelen - 10; -			max = 10; -		} else { -			min = 0; -			max = scp->xsize - messagelen; -		} -		if (txpos <= min) { -			txpos = min; -			txdir = 1; -		} else if (txpos >= max) { -			txpos = max; -			txdir = -1; -		} -		if (typos <= 0) { -			typos = 0; -			tydir = 1; -		} else if (typos >= scp->ysize - 1) { -			typos = scp->ysize - 1; -			tydir = -1; -		} -		txpos += txdir; typos += tydir; - -		toff = 0; -		tlen = messagelen; -		if (txpos + tlen <= 0) -			tlen = 0; -		else if (txpos < 0) -			toff = -txpos; -		if (txpos >= scp->xsize) -			tlen = 0; -		else if (txpos + tlen > scp->xsize) -			tlen = scp->xsize - txpos; - - 		draw_daemon(sc, dxpos, dypos, dxdir, xoff, yoff, xlen, ylen); -		draw_string(sc, txpos, typos, toff, message, tlen); -	} else { -#ifdef PC98 -		if (epson_machine_id == 0x20) { -			outb(0x43f, 0x42); -			outb(0x0c17, inb(0xc17) | 0x08); -			outb(0x43f, 0x40); -		} -#endif /* PC98 */ -		blanked = 0; -	} -	return 0; -} - -static int -daemon_init(video_adapter_t *adp) -{ -	messagelen = strlen(hostname) + 3 + strlen(ostype) + 1 +  -	    strlen(osrelease); -	message = malloc(messagelen + 1, M_DEVBUF, M_WAITOK); -	sprintf(message, "%s - %s %s", hostname, ostype, osrelease); -	blanked = 0; -	return 0; -} - -static int -daemon_term(video_adapter_t *adp) -{ -	free(message, M_DEVBUF); -	return 0; -} - -static scrn_saver_t daemon_module = { -	"daemon_saver", daemon_init, daemon_term, daemon_saver, NULL, -}; - -SAVER_MODULE(daemon_saver, daemon_module); diff --git a/sys/modules/syscons/fade/Makefile b/sys/modules/syscons/fade/Makefile index 0109ef64a4a3a..1f983c651cc8e 100644 --- a/sys/modules/syscons/fade/Makefile +++ b/sys/modules/syscons/fade/Makefile @@ -1,9 +1,9 @@  # $FreeBSD$ +.PATH:	${.CURDIR}/../../../dev/syscons/fade +  KMOD=	fade_saver  SRCS=	fade_saver.c  NOMAN= -CFLAGS+= -I${.CURDIR}/.. -  .include <bsd.kmod.mk> diff --git a/sys/modules/syscons/fade/fade_saver.c b/sys/modules/syscons/fade/fade_saver.c deleted file mode 100644 index 052fa92259080..0000000000000 --- a/sys/modules/syscons/fade/fade_saver.c +++ /dev/null @@ -1,105 +0,0 @@ -/*- - * Copyright (c) 1995-1998 Søren Schmidt - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer, - *    without modification, immediately at the beginning of the file. - * 2. Redistributions in binary form must reproduce the above copyright - *    notice, this list of conditions and the following disclaimer in the - *    documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - *    derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include <sys/param.h> -#include <sys/systm.h> -#include <sys/kernel.h> -#include <sys/module.h> -#include <sys/consio.h> -#include <sys/fbio.h> - -#include <dev/fb/fbreg.h> -#include <dev/fb/splashreg.h> -#include <dev/syscons/syscons.h> - -static u_char palette[256*3]; -static int blanked; - -static int -fade_saver(video_adapter_t *adp, int blank) -{ -	static int count = 0; -	u_char pal[256*3]; -	int i; - -	if (blank) { -		blanked = TRUE; -		if (ISPALAVAIL(adp->va_flags)) { -			if (count <= 0) -				save_palette(adp, palette); -			if (count < 256) { -				pal[0] = pal[1] = pal[2] = 0; -				for (i = 3; i < 256*3; i++) { -					if (palette[i] - count > 60) -						pal[i] = palette[i] - count; -					else -						pal[i] = 60; -				} -				load_palette(adp, pal); -				count++; -			} -		} else { -	    		(*vidsw[adp->va_index]->blank_display)(adp, -							       V_DISPLAY_BLANK); -		} -	} else { -		if (ISPALAVAIL(adp->va_flags)) { -			load_palette(adp, palette); -			count = 0; -		} else { -	    		(*vidsw[adp->va_index]->blank_display)(adp, -							       V_DISPLAY_ON); -		} -		blanked = FALSE; -	} -	return 0; -} - -static int -fade_init(video_adapter_t *adp) -{ -	if (!ISPALAVAIL(adp->va_flags) -	    && (*vidsw[adp->va_index]->blank_display)(adp, V_DISPLAY_ON) != 0) -		return ENODEV; -	blanked = FALSE; -	return 0; -} - -static int -fade_term(video_adapter_t *adp) -{ -	return 0; -} - -static scrn_saver_t fade_module = { -	"fade_saver", fade_init, fade_term, fade_saver, NULL, -}; - -SAVER_MODULE(fade_saver, fade_module); diff --git a/sys/modules/syscons/fire/Makefile b/sys/modules/syscons/fire/Makefile index 8e376a252fb6c..cf69150b6a318 100644 --- a/sys/modules/syscons/fire/Makefile +++ b/sys/modules/syscons/fire/Makefile @@ -1,10 +1,11 @@  # $FreeBSD$ +.PATH:	${.CURDIR}/../../../dev/syscons/fire +  KMOD=	fire_saver  SRCS=	fire_saver.c  NOMAN= -CFLAGS+= -I${.CURDIR}/..  CWARNFLAGS= -Wall -pedantic  .include <bsd.kmod.mk> diff --git a/sys/modules/syscons/fire/fire_saver.c b/sys/modules/syscons/fire/fire_saver.c deleted file mode 100644 index d8709fd6f0926..0000000000000 --- a/sys/modules/syscons/fire/fire_saver.c +++ /dev/null @@ -1,134 +0,0 @@ -/*- - * Copyright (c) 1999 Brad Forschinger - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer, - *    without modification, immediately at the beginning of the file. - * 2. Redistributions in binary form must reproduce the above copyright - *    notice, this list of conditions and the following disclaimer in the - *    documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $FreeBSD$ - */ - -/* - * brad forschinger, 19990504 <retch@flag.blackened.net> - *  - * written with much help from warp_saver.c - *  - */ - -#include <sys/param.h> -#include <sys/systm.h> -#include <sys/kernel.h> -#include <sys/module.h> -#include <sys/syslog.h> -#include <sys/consio.h> -#include <sys/fbio.h> - -#include <dev/fb/fbreg.h> -#include <dev/fb/splashreg.h> -#include <dev/syscons/syscons.h> - -#define X_SIZE 320 -#define Y_SIZE 200 - -static int      blanked; -static u_char   fire_pal[768]; -static u_char   buf[X_SIZE * (Y_SIZE + 1)]; -static u_char  *vid; - -static int -fire_saver(video_adapter_t *adp, int blank) -{ -    int             x, y; - -    if (blank) { -	if (blanked <= 0) { -	    int             red, green, blue; -	    int             palette_index; - -	    set_video_mode(adp, M_VGA_CG320); - -	    /* build and load palette */ -	    red = green = blue = 0; -	    for (palette_index = 0; palette_index < 256; palette_index++) { -		red++; -		if (red > 128) -		    green += 2; - -		fire_pal[(palette_index * 3) + 0] = red; -		fire_pal[(palette_index * 3) + 1] = green; -		fire_pal[(palette_index * 3) + 2] = blue; -	    } -	    load_palette(adp, fire_pal); - -	    blanked++; -	    vid = (u_char *) adp->va_window; -	} -	/* make a new bottom line */ -	for (x = 0, y = Y_SIZE; x < X_SIZE; x++) -	    buf[x + (y * X_SIZE)] = random() % 160 + 96; - -	/* fade the flames out */ -	for (y = 0; y < Y_SIZE; y++) { -	    for (x = 0; x < X_SIZE; x++) { -		buf[x + (y * X_SIZE)] = (buf[(x + 0) + ((y + 0) * X_SIZE)] + -					 buf[(x - 1) + ((y + 1) * X_SIZE)] + -					 buf[(x + 0) + ((y + 1) * X_SIZE)] + -				     buf[(x + 1) + ((y + 1) * X_SIZE)]) / 4; -		if (buf[x + (y * X_SIZE)] > 0) -		    buf[x + (y * X_SIZE)]--; -	    } -	} - -	/* blit our buffer into video ram */ -	memcpy(vid, buf, X_SIZE * Y_SIZE); -    } else { -	blanked = 0; -    } - -    return 0; -} - -static int -fire_initialise(video_adapter_t *adp) -{ -    video_info_t    info; - -    /* check that the console is capable of running in 320x200x256 */ -    if (get_mode_info(adp, M_VGA_CG320, &info)) { -	log(LOG_NOTICE, "fire_saver: the console does not support M_VGA_CG320\n"); -	return (ENODEV); -    } -    blanked = 0; - -    return 0; -} - -static int -fire_terminate(video_adapter_t *adp) -{ -    return 0; -} - -static scrn_saver_t fire_module = { -    "fire_saver", fire_initialise, fire_terminate, fire_saver, NULL -}; - -SAVER_MODULE(fire_saver, fire_module); diff --git a/sys/modules/syscons/green/Makefile b/sys/modules/syscons/green/Makefile index ccfefdcc79e1d..5cdae27b72c3d 100644 --- a/sys/modules/syscons/green/Makefile +++ b/sys/modules/syscons/green/Makefile @@ -1,9 +1,9 @@  # $FreeBSD$ +.PATH:	${.CURDIR}/../../../dev/syscons/green +  KMOD=	green_saver  SRCS=	green_saver.c  NOMAN= -CFLAGS+= -I${.CURDIR}/.. -  .include <bsd.kmod.mk> diff --git a/sys/modules/syscons/green/green_saver.c b/sys/modules/syscons/green/green_saver.c deleted file mode 100644 index d6cfe80da6897..0000000000000 --- a/sys/modules/syscons/green/green_saver.c +++ /dev/null @@ -1,69 +0,0 @@ -/*- - * Copyright (c) 1995-1998 Søren Schmidt - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer, - *    without modification, immediately at the beginning of the file. - * 2. Redistributions in binary form must reproduce the above copyright - *    notice, this list of conditions and the following disclaimer in the - *    documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - *    derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include <sys/param.h> -#include <sys/systm.h> -#include <sys/kernel.h> -#include <sys/module.h> -#include <sys/consio.h> -#include <sys/fbio.h> - -#include <dev/fb/fbreg.h> -#include <dev/fb/splashreg.h> -#include <dev/syscons/syscons.h> - -static int -green_saver(video_adapter_t *adp, int blank) -{ -	(*vidsw[adp->va_index]->blank_display)(adp, -					       (blank) ? V_DISPLAY_STAND_BY -						       : V_DISPLAY_ON); -	return 0; -} - -static int -green_init(video_adapter_t *adp) -{ -	if ((*vidsw[adp->va_index]->blank_display)(adp, V_DISPLAY_ON) == 0) -		return 0; -	return ENODEV; -} - -static int -green_term(video_adapter_t *adp) -{ -	return 0; -} - -static scrn_saver_t green_module = { -	"green_saver", green_init, green_term, green_saver, NULL, -}; - -SAVER_MODULE(green_saver, green_module); diff --git a/sys/modules/syscons/logo/Makefile b/sys/modules/syscons/logo/Makefile index ce1900d9486fd..e6325ecee302c 100644 --- a/sys/modules/syscons/logo/Makefile +++ b/sys/modules/syscons/logo/Makefile @@ -1,9 +1,9 @@  # $FreeBSD$ +.PATH:	${.CURDIR}/../../../dev/syscons/logo +  KMOD=	logo_saver -SRCS=	logo_saver.c +SRCS=	logo_saver.c logo.c  NOMAN= -CFLAGS+= -I${.CURDIR}/.. -I${.CURDIR} -  .include <bsd.kmod.mk> diff --git a/sys/modules/syscons/logo/logo.c b/sys/modules/syscons/logo/logo.c deleted file mode 100644 index 0c122ad9012fb..0000000000000 --- a/sys/modules/syscons/logo/logo.c +++ /dev/null @@ -1,354 +0,0 @@ -/* $FreeBSD$ */ - -#define logo_w 88 -#define logo_h 88 - -unsigned char logo_pal[768] = { -    0x00, 0x00, 0x00, -    0x33, 0x33, 0x33, -    0x66, 0x66, 0x66, -    0x99, 0x99, 0x99, -    0xcc, 0xcc, 0xcc, -    0xff, 0xff, 0xff, -    0x90, 0x8f, 0x90, -    0x56, 0x4b, 0x55, -    0xa3, 0xa5, 0xab, -    0xfd, 0xfd, 0xfd, -    0x6d, 0x6e, 0x74, -    0x41, 0x2b, 0x39, -    0xcb, 0xc8, 0xcb, -    0xcf, 0xbb, 0xba, -    0x8e, 0x82, 0x87, -    0x5c, 0x5d, 0x60, -    0x52, 0x2a, 0x37, -    0x7f, 0x76, 0x7d, -    0x82, 0x82, 0x85, -    0x7a, 0x3e, 0x45, -    0x7f, 0x6e, 0x70, -    0xef, 0xef, 0xed, -    0x53, 0x41, 0x4b, -    0x67, 0x2b, 0x35, -    0x6a, 0x55, 0x62, -    0xe7, 0xe2, 0xe3, -    0x64, 0x35, 0x3f, -    0xf7, 0xe0, 0xe7, -    0xb1, 0xb2, 0xb2, -    0x31, 0x2b, 0x35, -    0x7a, 0x2d, 0x37, -    0x69, 0x4c, 0x56, -    0x95, 0x9d, 0xa4, -    0x85, 0x61, 0x69, -    0x40, 0x34, 0x41, -    0x8f, 0x2e, 0x39, -    0x7a, 0x50, 0x5a, -    0xde, 0xe1, 0xe0, -    0x32, 0x33, 0x3d, -    0xa0, 0x9b, 0x9c, -    0x68, 0x63, 0x67, -    0x76, 0x60, 0x67, -    0xba, 0xb6, 0xb8, -    0x29, 0x24, 0x41, -    0x38, 0x21, 0x29, -    0x42, 0x21, 0x27, -    0xa2, 0x2a, 0x32, -    0x56, 0x55, 0x58, -    0x55, 0x21, 0x2b, -    0x7a, 0x20, 0x2a, -    0x37, 0x16, 0x21, -    0x4d, 0x18, 0x37, -    0x8a, 0x3a, 0x3e, -    0xc0, 0xc2, 0xc4, -    0x64, 0x23, 0x2c, -    0x37, 0x1a, 0x24, -    0x42, 0x18, 0x20, -    0x4c, 0x21, 0x2b, -    0xa0, 0x23, 0x2e, -    0x95, 0x6c, 0x76, -    0x26, 0x16, 0x1c, -    0xa5, 0x18, 0x23, -    0x84, 0x20, 0x2b, -    0x6d, 0x3f, 0x49, -    0xae, 0xa7, 0xac, -    0x2a, 0x1f, 0x24, -    0x90, 0x21, 0x30, -    0xa0, 0x39, 0x3e, -    0x95, 0x0f, 0x1c, -    0x84, 0x13, 0x1e, -    0x4e, 0x17, 0x24, -    0x8c, 0x56, 0x5f, -    0xe0, 0xc4, 0xcb, -    0xa5, 0x7f, 0x8e, -    0xff, 0xff, 0xf1, -    0x3d, 0x3d, 0x5d, -    0x61, 0x19, 0x26, -    0xd5, 0xd5, 0xd5, -    0xff, 0xf1, 0xed, -    0xb6, 0x9c, 0xa5, -    0x87, 0x4c, 0x5a, -    0xa0, 0x76, 0x76, -    0xc8, 0xa0, 0xa0, -    0xa2, 0xc1, 0xc8, -    0x91, 0xae, 0xb6, -    0x52, 0x8b, 0xae, -    0xb3, 0xd2, 0xd4, -    0x95, 0xb7, 0xc1, -    0x54, 0x6e, 0x83, -    0x67, 0x90, 0xa6, -    0x44, 0x3e, 0x45, -    0x23, 0x40, 0x6a, -    0x41, 0x6e, 0x97, -    0x7e, 0x8e, 0x91, -    0x52, 0x33, 0x41, -    0x39, 0x49, 0x68, -    0x1d, 0x2a, 0x48, -    0x17, 0x21, 0x45, -    0x90, 0x17, 0x1f, -    0x38, 0x54, 0x71, -    0x1c, 0x33, 0x58, -    0x1c, 0x1e, 0x23, -    0x6c, 0x17, 0x21, -    0xb0, 0xc5, 0xc1, -    0x5d, 0x7f, 0x96, -    0xe9, 0xbf, 0xc1, -    0x96, 0x06, 0x0f, -    0x78, 0x16, 0x1e, -    0xab, 0x0e, 0x18, -    0xa6, 0x06, 0x0e, -    0x4c, 0x4c, 0x54, -    0x61, 0x42, 0x4c, -    0x48, 0x5f, 0x84, -    0xa0, 0xb8, 0xbe, -    0x5c, 0x66, 0x7f, -    0x7b, 0x9e, 0xa9, -    0x6f, 0x75, 0x7f, -    0x45, 0x54, 0x74, -    0x32, 0x3e, 0x63, -    0xb1, 0xb4, 0xb3, -    0x66, 0x9d, 0xb4, -    0x7a, 0x9f, 0xbb, -    0x82, 0xaa, 0xba, -    0x13, 0x15, 0x17, -    0x0b, 0x0b, 0x0a, -    0x37, 0x66, 0x92, -    0x4c, 0x7f, 0xa5, -    0x24, 0x4c, 0x7b, -    0x25, 0x5f, 0x91, -    0x40, 0x7d, 0xa5, -    0x1d, 0x56, 0x88, -    0x2d, 0x6f, 0xa0, -    0x70, 0x81, 0x8f, -    0x58, 0x97, 0xbd, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, -}; - -unsigned char logo_img[logo_w*logo_h] = { -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x09, 0x0a, 0x0b, 0x07, 0x0c, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0d, 0x0e, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x04, 0x05, 0x05, 0x05, 0x05, 0x09, 0x0f, 0x0b, 0x10, 0x11, 0x09, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x12, 0x13, 0x14, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x15, 0x16, 0x0b, 0x17, 0x18, 0x19, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x11, 0x13, 0x1a, 0x1b, 0x05, 0x05, 0x05, 0x04, 0x03, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x1c, 0x1d, 0x10, 0x1e, 0x1f, 0x19, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x20, 0x0b, 0x1e, 0x21, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x19, 0x22, 0x0b, 0x17, 0x23, 0x24, 0x15, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x25, 0x26, 0x10, 0x23, 0x27, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x05, 0x05, 0x05, 0x25, 0x27, 0x11, 0x28, 0x29, 0x11, 0x06, 0x0d, 0x09, 0x05, 0x2a, 0x2b, 0x2c, 0x2d, 0x1e, 0x2e, 0x21, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x2f, 0x0b, 0x30, 0x31, 0x0c, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x15, 0x06, 0x16, 0x22, 0x1d, 0x2c, 0x32, 0x33, 0x17, 0x17, 0x17, 0x22, 0x14, 0x16, 0x1d, 0x2c, 0x2d, 0x1e, 0x2e, 0x34, 0x0c, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x35, 0x2b, 0x2c, 0x36, 0x36, 0x35, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x27, 0x0b, 0x2c, 0x2c, 0x37, 0x32, 0x38, 0x2c, 0x2d, 0x39, 0x36, 0x17, 0x30, 0x2c, 0x2c, 0x2d, 0x2c, 0x2c, 0x1a, 0x3a, 0x3a, 0x3b, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0a, 0x2d, 0x2b, 0x33, 0x31, 0x0e, 0x05, 0x05, 0x05, 0x05, 0x09, 0x28, 0x2c, 0x37, 0x3c, 0x32, 0x38, 0x38, 0x37, 0x2c, 0x30, 0x36, 0x36, 0x17, 0x31, 0x36, 0x23, 0x23, 0x17, 0x2c, 0x17, 0x3a, 0x3d, 0x13, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x22, 0x2c, 0x37, 0x33, 0x3e, 0x31, 0x3f, 0x40, 0x19, 0x05, 0x11, 0x2c, 0x2c, 0x32, 0x32, 0x32, 0x38, 0x37, 0x41, 0x30, 0x3a, 0x3a, 0x2e, 0x42, 0x43, 0x17, 0x1a, 0x13, 0x23, 0x31, 0x1a, 0x2e, 0x3d, 0x1a, 0x09, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0b, 0x37, 0x32, 0x37, 0x33, 0x44, 0x44, 0x45, 0x17, 0x1a, 0x10, 0x2d, 0x37, 0x38, 0x46, 0x33, 0x46, 0x32, 0x2c, 0x23, 0x23, 0x47, 0x21, 0x13, 0x43, 0x34, 0x48, 0x19, 0x49, 0x34, 0x17, 0x1e, 0x3a, 0x13, 0x4a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x4b, 0x32, 0x32, 0x32, 0x32, 0x4c, 0x45, 0x44, 0x44, 0x42, 0x36, 0x30, 0x33, 0x46, 0x38, 0x33, 0x46, 0x38, 0x31, 0x23, 0x27, 0x09, 0x4a, 0x4d, 0x47, 0x43, 0x0d, 0x4e, 0x4a, 0x4f, 0x34, 0x1a, 0x2e, 0x29, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x11, 0x33, 0x32, 0x32, 0x32, 0x33, 0x4c, 0x31, 0x45, 0x3e, 0x31, 0x36, 0x46, 0x46, 0x33, 0x33, 0x39, 0x30, 0x23, 0x50, 0x4a, 0x4a, 0x4a, 0x4a, 0x4d, 0x47, 0x51, 0x4e, 0x4a, 0x4a, 0x0e, 0x13, 0x1a, 0x27, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x35, 0x2b, 0x32, 0x32, 0x2b, 0x32, 0x33, 0x4c, 0x33, 0x4c, 0x4c, 0x36, 0x30, 0x30, 0x30, 0x30, 0x31, 0x23, 0x3a, 0x49, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4f, 0x50, 0x1b, 0x4e, 0x4a, 0x19, 0x50, 0x16, 0x0c, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x07, 0x32, 0x32, 0x32, 0x32, 0x2b, 0x33, 0x33, 0x30, 0x2d, 0x39, 0x30, 0x30, 0x30, 0x4c, 0x36, 0x42, 0x3a, 0x52, 0x05, 0x4a, 0x4a, 0x4a, 0x4a, 0x09, 0x3b, 0x52, 0x4e, 0x4a, 0x4a, 0x4f, 0x1a, 0x2a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x4d, 0x2b, 0x2b, 0x32, 0x32, 0x32, 0x37, 0x2c, 0x2c, 0x2c, 0x2c, 0x2d, 0x10, 0x30, 0x30, 0x3e, 0x23, 0x3a, 0x0d, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x40, 0x51, 0x4a, 0x4a, 0x25, 0x15, 0x1f, 0x27, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x40, 0x22, 0x2c, 0x32, 0x32, 0x32, 0x38, 0x2d, 0x2c, 0x41, 0x32, 0x39, 0x46, 0x4c, 0x31, 0x2e, 0x2e, 0x0c, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x25, 0x53, 0x18, 0x4a, 0x54, 0x55, 0x56, 0x51, 0x11, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x2a, 0x22, 0x32, 0x32, 0x32, 0x38, 0x38, 0x32, 0x2c, 0x37, 0x38, 0x30, 0x30, 0x3e, 0x3a, 0x3a, 0x2a, 0x4a, 0x4a, 0x05, 0x4a, 0x57, 0x58, 0x59, 0x5a, 0x35, 0x58, 0x5b, 0x5c, 0x5d, 0x5e, 0x4a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x4d, 0x07, 0x37, 0x32, 0x38, 0x38, 0x32, 0x32, 0x41, 0x38, 0x30, 0x30, 0x3e, 0x3a, 0x3d, 0x27, 0x05, 0x4a, 0x4a, 0x4a, 0x5c, 0x5f, 0x59, 0x1d, 0x29, 0x2f, 0x60, 0x61, 0x26, 0x0b, 0x1c, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x4e, 0x0a, 0x2d, 0x38, 0x38, 0x32, 0x37, 0x32, 0x2d, 0x39, 0x36, 0x31, 0x62, 0x3d, 0x0e, 0x4a, 0x4a, 0x4a, 0x09, 0x63, 0x64, 0x64, 0x61, 0x2d, 0x1d, 0x65, 0x61, 0x2b, 0x17, 0x16, 0x4a, 0x05, 0x05, 0x04, 0x03, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x27, 0x2c, 0x38, 0x38, 0x37, 0x37, 0x38, 0x2d, 0x30, 0x31, 0x42, 0x3a, 0x18, 0x09, 0x05, 0x05, 0x4a, 0x63, 0x60, 0x60, 0x2b, 0x10, 0x2d, 0x41, 0x41, 0x30, 0x42, 0x3e, 0x29, 0x09, 0x05, 0x05, 0x04, 0x03, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x2a, 0x37, 0x32, 0x38, 0x32, 0x41, 0x38, 0x38, 0x30, 0x66, 0x31, 0x3a, 0x1e, 0x67, 0x4a, 0x4a, 0x05, 0x68, 0x64, 0x61, 0x2b, 0x17, 0x36, 0x10, 0x33, 0x31, 0x42, 0x3d, 0x45, 0x06, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x1c, 0x2c, 0x32, 0x32, 0x37, 0x41, 0x2c, 0x46, 0x30, 0x36, 0x36, 0x42, 0x42, 0x29, 0x1b, 0x4a, 0x4a, 0x4d, 0x26, 0x60, 0x0b, 0x17, 0x36, 0x44, 0x45, 0x66, 0x3e, 0x44, 0x44, 0x1a, 0x05, 0x05, 0x05, 0x05, 0x05, 0x15, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0c, 0x2c, 0x32, 0x32, 0x38, 0x37, 0x32, 0x37, 0x30, 0x36, 0x4c, 0x31, 0x1e, 0x10, 0x1f, 0x52, 0x69, 0x52, 0x07, 0x2c, 0x10, 0x36, 0x62, 0x6a, 0x44, 0x6b, 0x3e, 0x44, 0x6c, 0x30, 0x09, 0x05, 0x05, 0x25, 0x54, 0x19, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x25, 0x2c, 0x37, 0x38, 0x37, 0x2c, 0x32, 0x32, 0x46, 0x30, 0x46, 0x4c, 0x31, 0x66, 0x4c, 0x36, 0x1a, 0x1a, 0x17, 0x37, 0x37, 0x10, 0x31, 0x62, 0x45, 0x4c, 0x3e, 0x44, 0x62, 0x30, 0x09, 0x05, 0x0a, 0x70, 0x71, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x22, 0x32, 0x32, 0x38, 0x41, 0x41, 0x38, 0x2d, 0x46, 0x66, 0x44, 0x6c, 0x6c, 0x6c, 0x3d, 0x3a, 0x42, 0x31, 0x32, 0x32, 0x32, 0x33, 0x33, 0x30, 0x36, 0x3e, 0x3e, 0x31, 0x07, 0x05, 0x12, 0x6e, 0x72, 0x09, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x2d, 0x2c, 0x38, 0x32, 0x41, 0x37, 0x2d, 0x46, 0x66, 0x6a, 0x6c, 0x6d, 0x6d, 0x6c, 0x3d, 0x3d, 0x31, 0x38, 0x38, 0x39, 0x33, 0x39, 0x36, 0x30, 0x30, 0x66, 0x30, 0x40, 0x4d, 0x5f, 0x4d, 0x4d, 0x05, 0x05, 0x05, 0x15, 0x04, 0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x09, 0x5a, 0x2d, 0x32, 0x32, 0x37, 0x37, 0x32, 0x38, 0x46, 0x46, 0x66, 0x45, 0x44, 0x62, 0x44, 0x44, 0x3e, 0x31, 0x31, 0x31, 0x31, 0x31, 0x33, 0x37, 0x30, 0x10, 0x06, 0x05, 0x12, 0x0a, 0x05, 0x05, 0x05, 0x08, 0x68, 0x73, 0x05, 0x04, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x35, 0x22, 0x32, 0x32, 0x32, 0x3c, 0x37, 0x37, 0x2d, 0x39, 0x39, 0x39, 0x36, 0x36, 0x6b, 0x3e, 0x3e, 0x3e, 0x3e, 0x31, 0x4c, 0x39, 0x2d, 0x10, 0x16, 0x2a, 0x05, 0x05, 0x74, 0x74, 0x05, 0x05, 0x0c, 0x75, 0x5f, 0x1c, 0x05, 0x05, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x40, 0x2c, 0x32, 0x32, 0x32, 0x41, 0x37, 0x41, 0x2c, 0x2c, 0x41, 0x2c, 0x33, 0x36, 0x31, 0x36, 0x31, 0x31, 0x17, 0x46, 0x2c, 0x16, 0x40, 0x05, 0x05, 0x05, 0x05, 0x20, 0x5f, 0x4d, 0x72, 0x76, 0x06, 0x25, 0x4a, 0x05, 0x05, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x40, 0x0b, 0x2d, 0x37, 0x2d, 0x2c, 0x2c, 0x37, 0x37, 0x38, 0x2c, 0x37, 0x2c, 0x10, 0x10, 0x39, 0x30, 0x0b, 0x2c, 0x11, 0x09, 0x05, 0x09, 0x4a, 0x05, 0x05, 0x19, 0x1d, 0x26, 0x76, 0x08, 0x05, 0x05, 0x05, 0x15, 0x25, 0x4d, 0x53, 0x77, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x4d, 0x5a, 0x2c, 0x37, 0x2d, 0x2c, 0x37, 0x37, 0x39, 0x39, 0x33, 0x38, 0x2c, 0x2d, 0x2d, 0x2c, 0x5e, 0x2a, 0x05, 0x15, 0x3b, 0x17, 0x1f, 0x19, 0x05, 0x06, 0x26, 0x60, 0x5f, 0x0c, 0x05, 0x05, 0x05, 0x35, 0x68, 0x78, 0x56, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x35, 0x2c, 0x2c, 0x2c, 0x37, 0x32, 0x37, 0x2c, 0x37, 0x32, 0x46, 0x33, 0x46, 0x39, 0x11, 0x15, 0x05, 0x05, 0x18, 0x31, 0x44, 0x6a, 0x30, 0x6e, 0x2b, 0x4b, 0x11, 0x5f, 0x63, 0x72, 0x54, 0x20, 0x74, 0x58, 0x25, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x15, 0x0b, 0x2c, 0x38, 0x2d, 0x39, 0x39, 0x2d, 0x37, 0x3c, 0x32, 0x37, 0x0b, 0x18, 0x05, 0x05, 0x05, 0x4e, 0x26, 0x32, 0x45, 0x6a, 0x46, 0x2b, 0x72, 0x4e, 0x05, 0x35, 0x0a, 0x75, 0x5f, 0x70, 0x08, 0x09, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x35, 0x22, 0x2d, 0x30, 0x6b, 0x6b, 0x66, 0x36, 0x30, 0x36, 0x4c, 0x36, 0x30, 0x18, 0x05, 0x05, 0x05, 0x09, 0x4b, 0x32, 0x46, 0x66, 0x38, 0x0b, 0x09, 0x05, 0x05, 0x05, 0x05, 0x09, 0x05, 0x05, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0a, 0x2c, 0x2c, 0x31, 0x62, 0x62, 0x6b, 0x31, 0x45, 0x44, 0x44, 0x45, 0x31, 0x10, 0x0c, 0x4d, 0x0c, 0x08, 0x0b, 0x3c, 0x32, 0x33, 0x66, 0x17, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x09, 0x22, 0x2c, 0x2d, 0x31, 0x45, 0x6b, 0x36, 0x31, 0x6b, 0x62, 0x45, 0x6a, 0x66, 0x30, 0x0b, 0x2c, 0x2c, 0x2c, 0x2c, 0x37, 0x46, 0x6b, 0x44, 0x62, 0x5e, 0x05, 0x05, 0x05, 0x05, 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0c, 0x1d, 0x2c, 0x39, 0x36, 0x4c, 0x30, 0x30, 0x30, 0x36, 0x4c, 0x66, 0x4c, 0x36, 0x30, 0x37, 0x41, 0x2c, 0x2d, 0x2c, 0x3c, 0x33, 0x6b, 0x44, 0x44, 0x39, 0x09, 0x05, 0x05, 0x04, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x2d, 0x2d, 0x2d, 0x36, 0x39, 0x2d, 0x32, 0x38, 0x38, 0x46, 0x6a, 0x6d, 0x3d, 0x62, 0x46, 0x3c, 0x37, 0x2d, 0x32, 0x32, 0x32, 0x38, 0x4c, 0x30, 0x16, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0a, 0x37, 0x38, 0x38, 0x39, 0x37, 0x2c, 0x37, 0x37, 0x30, 0x45, 0x6d, 0x6d, 0x62, 0x62, 0x38, 0x3c, 0x3c, 0x32, 0x37, 0x32, 0x32, 0x32, 0x2c, 0x14, 0x15, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x6e, 0x37, 0x38, 0x38, 0x38, 0x37, 0x2c, 0x2d, 0x30, 0x31, 0x62, 0x6a, 0x6d, 0x6a, 0x6a, 0x46, 0x32, 0x32, 0x37, 0x37, 0x32, 0x30, 0x17, 0x29, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x4a, 0x0b, 0x38, 0x38, 0x38, 0x2c, 0x2c, 0x0b, 0x2d, 0x39, 0x4c, 0x45, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x38, 0x37, 0x2c, 0x41, 0x18, 0x1c, 0x0c, 0x05, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x15, 0x0b, 0x2d, 0x38, 0x38, 0x37, 0x2c, 0x2c, 0x2c, 0x37, 0x32, 0x4c, 0x6b, 0x44, 0x44, 0x45, 0x6a, 0x45, 0x38, 0x37, 0x1c, 0x09, 0x05, 0x05, 0x04, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x09, 0x1d, 0x38, 0x38, 0x38, 0x38, 0x2c, 0x3c, 0x37, 0x37, 0x32, 0x32, 0x46, 0x36, 0x1e, 0x6b, 0x4c, 0x46, 0x32, 0x22, 0x09, 0x05, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x07, 0x37, 0x32, 0x37, 0x38, 0x38, 0x37, 0x32, 0x3c, 0x32, 0x32, 0x37, 0x38, 0x2d, 0x2d, 0x38, 0x2c, 0x2c, 0x4f, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x08, 0x3c, 0x37, 0x41, 0x38, 0x2d, 0x37, 0x37, 0x3c, 0x32, 0x3c, 0x32, 0x37, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0c, 0x41, 0x3c, 0x3c, 0x38, 0x32, 0x3c, 0x3c, 0x3c, 0x41, 0x32, 0x41, 0x37, 0x2c, 0x2c, 0x41, 0x38, 0x45, 0x18, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x2a, 0x2c, 0x3c, 0x37, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x37, 0x2c, 0x2c, 0x2c, 0x2c, 0x4c, 0x45, 0x6a, 0x1a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x11, 0x2c, 0x37, 0x41, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x41, 0x37, 0x37, 0x4c, 0x44, 0x6d, 0x6a, 0x1a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x5a, 0x2c, 0x41, 0x3c, 0x3c, 0x3c, 0x32, 0x2c, 0x32, 0x2c, 0x2c, 0x38, 0x38, 0x36, 0x45, 0x62, 0x44, 0x45, 0x29, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x2a, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x37, 0x37, 0x32, 0x37, 0x39, 0x4c, 0x4c, 0x45, 0x62, 0x44, 0x62, 0x30, 0x2a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x4a, 0x5a, 0x41, 0x3c, 0x3c, 0x3c, 0x3c, 0x32, 0x3c, 0x37, 0x37, 0x2d, 0x46, 0x4c, 0x6b, 0x6b, 0x45, 0x3e, 0x36, 0x29, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x27, 0x3c, 0x37, 0x3c, 0x3c, 0x37, 0x37, 0x32, 0x38, 0x37, 0x37, 0x37, 0x38, 0x39, 0x36, 0x4c, 0x30, 0x10, 0x16, 0x09, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x04, 0x05, 0x05, 0x25, 0x1d, 0x37, 0x37, 0x41, 0x32, 0x3c, 0x32, 0x41, 0x37, 0x32, 0x2c, 0x41, 0x37, 0x2c, 0x32, 0x37, 0x2c, 0x2c, 0x5a, 0x0c, 0x05, 0x05, 0x05, 0x04, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x05, 0x05, 0x15, 0x5a, 0x37, 0x2c, 0x41, 0x2c, 0x2c, 0x41, 0x37, 0x41, 0x41, 0x3c, 0x2c, 0x41, 0x41, 0x3c, 0x37, 0x2c, 0x39, 0x0b, 0x0b, 0x25, 0x05, 0x05, 0x05, 0x05, 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x2a, 0x22, 0x2d, 0x37, 0x2c, 0x3c, 0x1d, 0x2c, 0x38, 0x2c, 0x41, 0x2c, 0x2c, 0x2d, 0x39, 0x37, 0x3c, 0x37, 0x30, 0x1a, 0x5e, 0x6e, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x2a, 0x6e, 0x0b, 0x2d, 0x38, 0x41, 0x41, 0x6e, 0x5a, 0x2c, 0x41, 0x32, 0x38, 0x32, 0x39, 0x3f, 0x6f, 0x16, 0x37, 0x1a, 0x1f, 0x1f, 0x16, 0x1d, 0x0c, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x09, 0x40, 0x07, 0x2c, 0x37, 0x2c, 0x2d, 0x2c, 0x1d, 0x0e, 0x09, 0x0b, 0x4b, 0x07, 0x41, 0x38, 0x2d, 0x10, 0x2d, 0x10, 0x0b, 0x2b, 0x33, 0x3f, 0x21, 0x29, 0x07, 0x5e, 0x2f, 0x12, 0x08, 0x2a, 0x0c, 0x25, 0x09, 0x09, 0x09, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x19, 0x40, 0x28, 0x22, 0x2c, 0x38, 0x32, 0x32, 0x32, 0x1d, 0x0e, 0x19, 0x05, 0x35, 0x2c, 0x4b, 0x70, 0x0b, 0x32, 0x2c, 0x16, 0x16, 0x16, 0x0b, 0x22, 0x26, 0x0b, 0x10, 0x3f, 0x29, 0x1f, 0x47, 0x1f, 0x1f, 0x5e, 0x0b, 0x4b, 0x74, 0x84, 0x74, 0x84, 0x06, 0x35, 0x09, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x09, 0x4d, 0x27, 0x0a, 0x22, 0x1d, 0x2c, 0x2c, 0x37, 0x32, 0x41, 0x41, 0x16, 0x27, 0x15, 0x09, 0x4a, 0x09, 0x28, 0x2d, 0x0b, 0x76, 0x2c, 0x37, 0x2d, 0x37, 0x32, 0x37, 0x0b, 0x0b, 0x5e, 0x5a, 0x4b, 0x0b, 0x0b, 0x07, 0x6e, 0x16, 0x5e, 0x10, 0x76, 0x5c, 0x68, 0x79, 0x7a, 0x53, 0x71, 0x54, 0x5d, 0x08, 0x4d, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x04, 0x05, 0x05, 0x05, 0x25, 0x27, 0x28, 0x0b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x41, 0x41, 0x41, 0x22, 0x11, 0x35, 0x4d, 0x4d, 0x35, 0x1c, 0x06, 0x0a, 0x22, 0x38, 0x38, 0x37, 0x38, 0x38, 0x38, 0x2d, 0x39, 0x39, 0x39, 0x10, 0x39, 0x10, 0x4b, 0x12, 0x08, 0x35, 0x67, 0x2a, 0x08, 0x74, 0x70, 0x81, 0x55, 0x78, 0x79, 0x57, 0x53, 0x71, 0x71, 0x73, 0x84, 0x25, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x05, 0x09, 0x27, 0x16, 0x0b, 0x2c, 0x2d, 0x2c, 0x41, 0x41, 0x1d, 0x22, 0x5a, 0x0f, 0x14, 0x0a, 0x28, 0x0a, 0x28, 0x28, 0x28, 0x6e, 0x5a, 0x65, 0x1d, 0x0b, 0x2d, 0x38, 0x46, 0x38, 0x38, 0x38, 0x39, 0x2d, 0x46, 0x39, 0x30, 0x39, 0x4b, 0x68, 0x79, 0x7a, 0x57, 0x67, 0x67, 0x56, 0x53, 0x71, 0x68, 0x7e, 0x85, 0x59, 0x73, 0x79, 0x54, 0x7a, 0x54, 0x06, 0x1c, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x4d, 0x16, 0x0b, 0x10, 0x39, 0x2d, 0x0b, 0x28, 0x06, 0x2a, 0x25, 0x35, 0x06, 0x11, 0x0a, 0x28, 0x07, 0x5a, 0x22, 0x26, 0x5a, 0x41, 0x7b, 0x7c, 0x60, 0x76, 0x22, 0x1d, 0x32, 0x38, 0x46, 0x46, 0x46, 0x38, 0x38, 0x38, 0x38, 0x2b, 0x75, 0x7d, 0x7e, 0x55, 0x78, 0x7a, 0x57, 0x57, 0x57, 0x71, 0x20, 0x68, 0x55, 0x85, 0x7a, 0x57, 0x53, 0x71, 0x57, 0x5d, 0x19, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x0c, 0x16, 0x0b, 0x30, 0x39, 0x18, 0x2a, 0x09, 0x05, 0x4e, 0x19, 0x25, 0x0c, 0x27, 0x11, 0x0a, 0x0a, 0x2f, 0x5a, 0x5a, 0x26, 0x5a, 0x7b, 0x7c, 0x7c, 0x61, 0x7f, 0x7f, 0x7f, 0x76, 0x22, 0x22, 0x0b, 0x2d, 0x0b, 0x2d, 0x2d, 0x33, 0x0b, 0x5f, 0x80, 0x7d, 0x5c, 0x81, 0x55, 0x59, 0x59, 0x73, 0x73, 0x54, 0x5c, 0x5c, 0x7e, 0x55, 0x59, 0x73, 0x7a, 0x71, 0x19, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x05, 0x05, 0x09, 0x25, 0x08, 0x07, 0x5e, 0x10, 0x22, 0x1c, 0x4a, 0x05, 0x09, 0x05, 0x15, 0x4d, 0x19, 0x19, 0x4d, 0x08, 0x12, 0x74, 0x0f, 0x6e, 0x5a, 0x26, 0x1d, 0x7b, 0x7b, 0x7c, 0x7c, 0x7c, 0x61, 0x5b, 0x82, 0x82, 0x80, 0x80, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x5b, 0x7f, 0x82, 0x80, 0x7d, 0x5c, 0x7e, 0x79, 0x54, 0x54, 0x7a, 0x73, 0x0f, 0x2a, 0x25, 0x19, 0x09, 0x4a, 0x05, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x09, 0x4d, 0x2a, 0x06, 0x74, 0x28, 0x22, 0x22, 0x2d, 0x2c, 0x0e, 0x05, 0x05, 0x05, 0x05, 0x05, 0x3b, 0x07, 0x19, 0x09, 0x25, 0x0c, 0x27, 0x12, 0x0f, 0x2f, 0x26, 0x26, 0x1d, 0x65, 0x65, 0x7c, 0x7c, 0x7b, 0x7c, 0x7b, 0x7b, 0x60, 0x5b, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x80, 0x80, 0x83, 0x83, 0x81, 0x7e, 0x59, 0x73, 0x73, 0x84, 0x5d, 0x25, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x19, 0x08, 0x12, 0x0a, 0x0f, 0x6e, 0x5a, 0x26, 0x22, 0x2c, 0x2c, 0x0b, 0x27, 0x05, 0x05, 0x05, 0x15, 0x1e, 0x1e, 0x6f, 0x0c, 0x09, 0x15, 0x0c, 0x20, 0x12, 0x0f, 0x6e, 0x5a, 0x26, 0x26, 0x26, 0x65, 0x65, 0x65, 0x65, 0x7b, 0x7c, 0x7b, 0x65, 0x7b, 0x61, 0x61, 0x60, 0x64, 0x64, 0x64, 0x5b, 0x5b, 0x5f, 0x63, 0x70, 0x63, 0x58, 0x5d, 0x2a, 0x15, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x4a, 0x4d, 0x27, 0x11, 0x0a, 0x28, 0x6e, 0x5a, 0x26, 0x65, 0x41, 0x1d, 0x2c, 0x2c, 0x5e, 0x29, 0x0e, 0x14, 0x17, 0x31, 0x6b, 0x30, 0x14, 0x25, 0x09, 0x15, 0x4d, 0x08, 0x74, 0x0a, 0x0f, 0x2f, 0x5a, 0x26, 0x26, 0x1d, 0x1d, 0x1d, 0x2b, 0x65, 0x1d, 0x41, 0x65, 0x65, 0x7b, 0x65, 0x65, 0x1d, 0x6e, 0x74, 0x5d, 0x1c, 0x25, 0x15, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x09, 0x19, 0x4d, 0x08, 0x06, 0x0a, 0x2f, 0x6e, 0x2f, 0x6e, 0x26, 0x41, 0x7b, 0x65, 0x41, 0x37, 0x33, 0x30, 0x36, 0x36, 0x4c, 0x6b, 0x66, 0x30, 0x14, 0x35, 0x4a, 0x09, 0x15, 0x15, 0x25, 0x25, 0x0c, 0x1c, 0x08, 0x06, 0x5d, 0x5d, 0x5d, 0x0e, 0x06, 0x12, 0x06, 0x08, 0x1c, 0x2a, 0x0c, 0x19, 0x09, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x09, 0x09, 0x19, 0x35, 0x08, 0x12, 0x28, 0x2f, 0x2f, 0x6e, 0x5a, 0x41, 0x7c, 0x3c, 0x3c, 0x2c, 0x41, 0x2d, 0x2d, 0x39, 0x30, 0x4c, 0x4c, 0x66, 0x66, 0x31, 0x24, 0x20, 0x4a, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x4a, 0x09, 0x4a, 0x09, 0x09, 0x05, 0x09, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x09, 0x15, 0x0c, 0x1c, 0x12, 0x28, 0x2f, 0x5a, 0x1d, 0x7c, 0x7b, 0x41, 0x7b, 0x3c, 0x7b, 0x3c, 0x41, 0x41, 0x5a, 0x16, 0x28, 0x14, 0x14, 0x14, 0x3b, 0x12, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x4a, 0x09, 0x15, 0x1c, 0x12, 0x12, 0x0a, 0x0f, 0x2f, 0x07, 0x2f, 0x0a, 0x12, 0x27, 0x0c, 0x4d, 0x15, 0x09, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x09, 0x15, 0x15, 0x15, 0x19, 0x4e, 0x4e, 0x05, 0x4a, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; diff --git a/sys/modules/syscons/logo/logo_saver.c b/sys/modules/syscons/logo/logo_saver.c deleted file mode 100644 index 2d2c660847ac4..0000000000000 --- a/sys/modules/syscons/logo/logo_saver.c +++ /dev/null @@ -1,157 +0,0 @@ -/*- - * Copyright (c) 1998 Dag-Erling Coïdan Smørgrav - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer - *    in this position and unchanged. - * 2. Redistributions in binary form must reproduce the above copyright - *    notice, this list of conditions and the following disclaimer in the - *    documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - *    derived from this software without specific prior written permission - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include <sys/param.h> -#include <sys/systm.h> -#include <sys/kernel.h> -#include <sys/module.h> -#include <sys/syslog.h> -#include <sys/consio.h> -#include <sys/fbio.h> - -#include <dev/fb/fbreg.h> -#include <dev/fb/splashreg.h> -#include <dev/syscons/syscons.h> - -static u_char *vid; -static int banksize, scrmode, bpsl, scrw, scrh; -static int blanked; - -#include "logo.c" - -static void -logo_blit(video_adapter_t *adp, int x, int y) -{ -    int d, l, o, p; -     -    for (o = 0, p = y * bpsl + x; p > banksize; p -= banksize) -	o += banksize; -    set_origin(adp, o); - -    for (d = 0; d < sizeof logo_img; d += logo_w) { -	if (p + logo_w < banksize) { -	    bcopy(logo_img + d, vid + p, logo_w); -	    p += bpsl; -	} else if (p < banksize) { -	    l = banksize - p; -	    bcopy(logo_img + d, vid + p, l); -	    set_origin(adp, (o += banksize)); -	    bcopy(logo_img + d + l, vid, logo_w - l); -	    p += bpsl - banksize; -	} else { -	    p -= banksize; -	    set_origin(adp, (o += banksize)); -	    bcopy(logo_img + d, vid + p, logo_w); -	    p += bpsl; -	} -    } -} - -static void -logo_update(video_adapter_t *adp) -{ -    static int xpos = 0, ypos = 0; -    static int xinc = 1, yinc = 1; - -    /* Turn when you hit the edge */ -    if ((xpos + logo_w + xinc > scrw) || (xpos + xinc < 0)) -	xinc = -xinc; -    if ((ypos + logo_h + yinc > scrh) || (ypos + yinc < 0)) -	yinc = -yinc; -    xpos += xinc; -    ypos += yinc; -	 -    /* XXX Relies on margin around logo to erase trail */ -    logo_blit(adp, xpos, ypos); -} - -static int -logo_saver(video_adapter_t *adp, int blank) -{ -    int i, pl; - -    if (blank) { -	/* switch to graphics mode */ -	if (blanked <= 0) { -	    pl = splhigh(); -	    set_video_mode(adp, scrmode); -	    load_palette(adp, logo_pal); -#if 0 /* XXX conflict */ -	    set_border(adp, 0); -#endif -	    blanked++; -	    vid = (u_char *)adp->va_window; -	    banksize = adp->va_window_size; -	    bpsl = adp->va_line_width; -	    splx(pl); -	    for (i = 0; i < bpsl*scrh; i += banksize) { -		set_origin(adp, i); -		bzero(vid, banksize); -	    } -	} -	logo_update(adp); -    } else { -	blanked = 0; -    } -    return 0; -} - -static int -logo_init(video_adapter_t *adp) -{ -    video_info_t info; -     -    if (!get_mode_info(adp, M_VESA_CG800x600, &info)) { -	scrmode = M_VESA_CG800x600; -    } else if (!get_mode_info(adp, M_VGA_CG320, &info)) { -	scrmode = M_VGA_CG320; -    } else { -        log(LOG_NOTICE, "logo_saver: no suitable graphics mode\n"); -	return ENODEV; -    } -     -    scrw = info.vi_width; -    scrh = info.vi_height; -    blanked = 0; -     -    return 0; -} - -static int -logo_term(video_adapter_t *adp) -{ -    return 0; -} - -static scrn_saver_t logo_module = { -    "logo_saver", logo_init, logo_term, logo_saver, NULL, -}; - -SAVER_MODULE(logo_saver, logo_module); diff --git a/sys/modules/syscons/rain/Makefile b/sys/modules/syscons/rain/Makefile index e39dfc4725277..c356ae44dff5b 100644 --- a/sys/modules/syscons/rain/Makefile +++ b/sys/modules/syscons/rain/Makefile @@ -1,10 +1,11 @@  # $FreeBSD$ +.PATH:	${.CURDIR}/../../../dev/syscons/rain +  KMOD=	rain_saver  SRCS=	rain_saver.c  NOMAN= -CFLAGS+= -I${.CURDIR}/..  CWARNFLAGS= -Wall -pedantic  .include <bsd.kmod.mk> diff --git a/sys/modules/syscons/rain/rain_saver.c b/sys/modules/syscons/rain/rain_saver.c deleted file mode 100644 index 0f312cdc7beee..0000000000000 --- a/sys/modules/syscons/rain/rain_saver.c +++ /dev/null @@ -1,129 +0,0 @@ -/*- - * Copyright (c) 1998 Dag-Erling Coïdan Smørgrav - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer - *    in this position and unchanged. - * 2. Redistributions in binary form must reproduce the above copyright - *    notice, this list of conditions and the following disclaimer in the - *    documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - *    derived from this software without specific prior written permission - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include <sys/param.h> -#include <sys/systm.h> -#include <sys/kernel.h> -#include <sys/module.h> -#include <sys/syslog.h> -#include <sys/consio.h> -#include <sys/fbio.h> - -#include <dev/fb/fbreg.h> -#include <dev/fb/splashreg.h> -#include <dev/syscons/syscons.h> - -static u_char *vid; - -#define SCRW 320 -#define SCRH 200 -#define MAX 63 - -static u_char rain_pal[768]; -static int blanked; - -static void -rain_update(video_adapter_t *adp) -{ -    int i, t; - -    t = rain_pal[(MAX*3+2)]; -    for (i = (MAX*3+2); i > 5; i -= 3) -	rain_pal[i] = rain_pal[i-3]; -    rain_pal[5] = t; -    load_palette(adp, rain_pal); -} - -static int -rain_saver(video_adapter_t *adp, int blank) -{ -    int i, j, k, pl; - -    if (blank) { -	/* switch to graphics mode */ -	if (blanked <= 0) { -	    pl = splhigh(); -	    set_video_mode(adp, M_VGA_CG320); -	    load_palette(adp, rain_pal); -#if 0 /* XXX conflict */ -	    set_border(adp, 0); -#endif -	    blanked++; -	    vid = (u_char *)adp->va_window; -	    splx(pl); -	    bzero(vid, SCRW*SCRH); -	    for (i = 0; i < SCRW; i += 2) -		vid[i] = 1 + (random() % MAX); -	    for (j = 1, k = SCRW; j < SCRH; j++) -		for (i = 0; i < SCRW; i += 2, k += 2) -		    vid[k] = (vid[k-SCRW] < MAX) ? 1 + vid[k-SCRW] : 1; -	} - -	/* update display */ -	rain_update(adp); -	 -    } else { -	blanked = 0; -    } -    return 0; -} - -static int -rain_init(video_adapter_t *adp) -{ -    video_info_t info; -    int i; - -    /* check that the console is capable of running in 320x200x256 */ -    if (get_mode_info(adp, M_VGA_CG320, &info)) { -        log(LOG_NOTICE, "rain_saver: the console does not support M_VGA_CG320\n"); -	return ENODEV; -    } - -    /* intialize the palette */ -    for (i = 3; i < (MAX+1)*3; i += 3) -	rain_pal[i+2] = rain_pal[i-1] + 4; - -    blanked = 0; - -    return 0; -} - -static int -rain_term(video_adapter_t *adp) -{ -    return 0; -} - -static scrn_saver_t rain_module = { -    "rain_saver", rain_init, rain_term, rain_saver, NULL, -}; - -SAVER_MODULE(rain_saver, rain_module); diff --git a/sys/modules/syscons/snake/Makefile b/sys/modules/syscons/snake/Makefile index 6a12d8b3e9559..6ea4ebb5d458c 100644 --- a/sys/modules/syscons/snake/Makefile +++ b/sys/modules/syscons/snake/Makefile @@ -1,11 +1,11 @@  # $FreeBSD$ +.PATH:	${.CURDIR}/../../../dev/syscons/snake +  KMOD=	snake_saver  SRCS=	snake_saver.c  NOMAN= -CFLAGS+= -I${.CURDIR}/.. -  .if ${MACHINE} == "pc98"  CFLAGS+= -DPC98  .endif diff --git a/sys/modules/syscons/snake/snake_saver.c b/sys/modules/syscons/snake/snake_saver.c deleted file mode 100644 index ea5651fee2f6a..0000000000000 --- a/sys/modules/syscons/snake/snake_saver.c +++ /dev/null @@ -1,152 +0,0 @@ -/*- - * Copyright (c) 1995-1998 Søren Schmidt - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer, - *    without modification, immediately at the beginning of the file. - * 2. Redistributions in binary form must reproduce the above copyright - *    notice, this list of conditions and the following disclaimer in the - *    documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - *    derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include <sys/param.h> -#include <sys/systm.h> -#include <sys/module.h> -#include <sys/malloc.h> -#include <sys/kernel.h> -#include <sys/sysctl.h> -#include <sys/consio.h> -#include <sys/fbio.h> - -#include <machine/pc/display.h> - -#include <dev/fb/fbreg.h> -#include <dev/fb/splashreg.h> -#include <dev/syscons/syscons.h> - -#ifdef PC98 -#include <pc98/pc98/pc98_machdep.h> -#endif - -static u_char	*message; -static int	*messagep; -static int	messagelen; -static int	blanked; - -static int -snake_saver(video_adapter_t *adp, int blank) -{ -	static int	dirx, diry; -	int		f; -	sc_softc_t	*sc; -	scr_stat	*scp; - -/* XXX hack for minimal changes. */ -#define	save	message -#define	savs	messagep - -	sc = sc_find_softc(adp, NULL); -	if (sc == NULL) -		return EAGAIN; -	scp = sc->cur_scp; - -	if (blank) { -		if (adp->va_info.vi_flags & V_INFO_GRAPHICS) -			return EAGAIN; -		if (blanked <= 0) { -#ifdef PC98 -			if (epson_machine_id == 0x20) { -				outb(0x43f, 0x42); -				outb(0x0c17, inb(0xc17) & ~0x08); -				outb(0x43f, 0x40); -			} -#endif /* PC98 */ -			sc_vtb_clear(&scp->scr, sc->scr_map[0x20], -				     (FG_LIGHTGREY | BG_BLACK) << 8); -			(*vidsw[adp->va_index]->set_hw_cursor)(adp, -1, -1); -			sc_set_border(scp, 0); -			dirx = (scp->xpos ? 1 : -1); -			diry = (scp->ypos ? -				scp->xsize : -scp->xsize); -			for (f=0; f< messagelen; f++) -				savs[f] = scp->xpos + scp->ypos*scp->xsize; -			sc_vtb_putc(&scp->scr, savs[0], sc->scr_map[*save], -				    (FG_LIGHTGREY | BG_BLACK) << 8); -			blanked = 1; -		} -		if (blanked++ < 4) -			return 0; -		blanked = 1; -		sc_vtb_putc(&scp->scr, savs[messagelen - 1], sc->scr_map[0x20], -			    (FG_LIGHTGREY | BG_BLACK) << 8); -		for (f=messagelen-1; f > 0; f--) -			savs[f] = savs[f-1]; -		f = savs[0]; -		if ((f % scp->xsize) == 0 || -		    (f % scp->xsize) == scp->xsize - 1 || -		    (random() % 50) == 0) -			dirx = -dirx; -		if ((f / scp->xsize) == 0 || -		    (f / scp->xsize) == scp->ysize - 1 || -		    (random() % 20) == 0) -			diry = -diry; -		savs[0] += dirx + diry; -		for (f=messagelen-1; f>=0; f--) -			sc_vtb_putc(&scp->scr, savs[f], sc->scr_map[save[f]], -				    (FG_LIGHTGREY | BG_BLACK) << 8); -	} -	else { -#ifdef PC98 -		if (epson_machine_id == 0x20) { -			outb(0x43f, 0x42); -			outb(0x0c17, inb(0xc17) | 0x08); -			outb(0x43f, 0x40); -		} -#endif /* PC98 */ -		blanked = 0; -	} -	return 0; -} - -static int -snake_init(video_adapter_t *adp) -{ -	messagelen = strlen(ostype) + 1 + strlen(osrelease); -	message = malloc(messagelen + 1, M_DEVBUF, M_WAITOK); -	sprintf(message, "%s %s", ostype, osrelease); -	messagep = malloc(messagelen * sizeof *messagep, M_DEVBUF, M_WAITOK); -	return 0; -} - -static int -snake_term(video_adapter_t *adp) -{ -	free(message, M_DEVBUF); -	free(messagep, M_DEVBUF); -	return 0; -} - -static scrn_saver_t snake_module = { -	"snake_saver", snake_init, snake_term, snake_saver, NULL, -}; - -SAVER_MODULE(snake_saver, snake_module); diff --git a/sys/modules/syscons/star/Makefile b/sys/modules/syscons/star/Makefile index 99ce313dc7ae9..d3a66f5848576 100644 --- a/sys/modules/syscons/star/Makefile +++ b/sys/modules/syscons/star/Makefile @@ -1,11 +1,11 @@  # $FreeBSD$ +.PATH:	${.CURDIR}/../../../dev/syscons/star +  KMOD=	star_saver  SRCS=	star_saver.c  NOMAN= -CFLAGS+= -I${.CURDIR}/.. -  .if ${MACHINE} == "pc98"  CFLAGS+= -DPC98  .endif diff --git a/sys/modules/syscons/star/star_saver.c b/sys/modules/syscons/star/star_saver.c deleted file mode 100644 index a1f24b89fcc15..0000000000000 --- a/sys/modules/syscons/star/star_saver.c +++ /dev/null @@ -1,139 +0,0 @@ -/*- - * Copyright (c) 1995-1998 Søren Schmidt - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer, - *    without modification, immediately at the beginning of the file. - * 2. Redistributions in binary form must reproduce the above copyright - *    notice, this list of conditions and the following disclaimer in the - *    documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - *    derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include <sys/param.h> -#include <sys/systm.h> -#include <sys/kernel.h> -#include <sys/module.h> -#include <sys/consio.h> -#include <sys/fbio.h> - -#include <machine/pc/display.h> - -#include <dev/fb/fbreg.h> -#include <dev/fb/splashreg.h> -#include <dev/syscons/syscons.h> - -#ifdef PC98 -#include <pc98/pc98/pc98_machdep.h> -#endif - -#define NUM_STARS	50 - -static int blanked; - -/* - * Alternate saver that got its inspiration from a well known utility - * package for an inferior^H^H^H^H^H^Hfamous OS. - */ -static int -star_saver(video_adapter_t *adp, int blank) -{ -	sc_softc_t	*sc; -	scr_stat	*scp; -	int		cell, i; -	static u_char	pattern[] = {"...........++++***   "}; -#ifndef PC98 -	static char	colors[] = {FG_DARKGREY, FG_LIGHTGREY, -				    FG_WHITE, FG_LIGHTCYAN}; -#else -	static char	colors[] = {FG_BLUE, FG_LIGHTGREY, -				    FG_LIGHTGREY, FG_CYAN}; -#endif /* PC98 */ -	static u_short 	stars[NUM_STARS][2]; - -	sc = sc_find_softc(adp, NULL); -	if (sc == NULL) -		return EAGAIN; -	scp = sc->cur_scp; - -	if (blank) { -		if (adp->va_info.vi_flags & V_INFO_GRAPHICS) -			return EAGAIN; -		if (!blanked) { -#ifdef PC98 -			if (epson_machine_id == 0x20) { -				outb(0x43f, 0x42); -				outb(0x0c17, inb(0xc17) & ~0x08); -				outb(0x43f, 0x40); -			} -#endif /* PC98 */ -			/* clear the screen and set the border color */ -			sc_vtb_clear(&scp->scr, sc->scr_map[0x20], -				     (FG_LIGHTGREY | BG_BLACK) << 8); -			(*vidsw[adp->va_index]->set_hw_cursor)(adp, -1, -1); -			sc_set_border(scp, 0); -			blanked = TRUE; -			for(i=0; i<NUM_STARS; i++) { -				stars[i][0] = -					random() % (scp->xsize*scp->ysize); -				stars[i][1] = 0; -			} -		} -		cell = random() % NUM_STARS; -		sc_vtb_putc(&scp->scr, stars[cell][0],  -			    sc->scr_map[pattern[stars[cell][1]]], -			    colors[random()%sizeof(colors)] << 8); -		if ((stars[cell][1]+=(random()%4)) >= sizeof(pattern)-1) { -			stars[cell][0] = random() % (scp->xsize*scp->ysize); -			stars[cell][1] = 0; -		} -	} -	else { -#ifdef PC98 -		if (epson_machine_id == 0x20) { -			outb(0x43f, 0x42); -			outb(0x0c17, inb(0xc17) | 0x08); -			outb(0x43f, 0x40); -		} -#endif /* PC98 */ -		blanked = FALSE; -	} -	return 0; -} - -static int -star_init(video_adapter_t *adp) -{ -	blanked = FALSE; -	return 0; -} - -static int -star_term(video_adapter_t *adp) -{ -	return 0; -} - -static scrn_saver_t star_module = { -	"star_saver", star_init, star_term, star_saver, NULL, -}; - -SAVER_MODULE(star_saver, star_module); diff --git a/sys/modules/syscons/warp/Makefile b/sys/modules/syscons/warp/Makefile index 8dac3d69713d4..1186dc6c81720 100644 --- a/sys/modules/syscons/warp/Makefile +++ b/sys/modules/syscons/warp/Makefile @@ -1,10 +1,11 @@  # $FreeBSD$ +.PATH:	${.CURDIR}/../../../dev/syscons/warp +  KMOD=	warp_saver  SRCS=	warp_saver.c  NOMAN= -CFLAGS+= -I${.CURDIR}/..  CWARNFLAGS= -Wall -pedantic  .include <bsd.kmod.mk> diff --git a/sys/modules/syscons/warp/warp_saver.c b/sys/modules/syscons/warp/warp_saver.c deleted file mode 100644 index c775b28d2027f..0000000000000 --- a/sys/modules/syscons/warp/warp_saver.c +++ /dev/null @@ -1,137 +0,0 @@ -/*- - * Copyright (c) 1998 Dag-Erling Coïdan Smørgrav - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer - *    in this position and unchanged. - * 2. Redistributions in binary form must reproduce the above copyright - *    notice, this list of conditions and the following disclaimer in the - *    documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - *    derived from this software without specific prior written permission - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include <sys/param.h> -#include <sys/systm.h> -#include <sys/kernel.h> -#include <sys/module.h> -#include <sys/syslog.h> -#include <sys/consio.h> -#include <sys/fbio.h> - -#include <dev/fb/fbreg.h> -#include <dev/fb/splashreg.h> -#include <dev/syscons/syscons.h> - -static u_char *vid; -static int blanked; - -#define SCRW 320 -#define SCRH 200 -#define SPP 15 -#define STARS (SPP*(1+2+4+8)) - -static int star[STARS]; -static u_char warp_pal[768] = { -    0x00, 0x00, 0x00, -    0x66, 0x66, 0x66, -    0x99, 0x99, 0x99, -    0xcc, 0xcc, 0xcc, -    0xff, 0xff, 0xff -    /* the rest is zero-filled by the compiler */ -}; - -static void -warp_update(void) -{ -    int i, j, k, n; - -    for (i = 1, k = 0, n = SPP*8; i < 5; i++, n /= 2) -	for (j = 0; j < n; j++, k++) { -	    vid[star[k]] = 0; -	    star[k] += i; -	    if (star[k] > SCRW*SCRH) -		star[k] -= SCRW*SCRH; -	    vid[star[k]] = i; -	} -} - -static int -warp_saver(video_adapter_t *adp, int blank) -{ -    int pl; - -    if (blank) { -	/* switch to graphics mode */ -	if (blanked <= 0) { -	    pl = splhigh(); -	    set_video_mode(adp, M_VGA_CG320); -	    load_palette(adp, warp_pal); -#if 0 /* XXX conflict */ -	    set_border(adp, 0); -#endif -	    blanked++; -	    vid = (u_char *)adp->va_window; -	    splx(pl); -	    bzero(vid, SCRW*SCRH); -	} - -	/* update display */ -	warp_update(); -	 -    } else { -	blanked = 0; -    } -    return 0; -} - -static int -warp_init(video_adapter_t *adp) -{ -    video_info_t info; -    int i; - -    /* check that the console is capable of running in 320x200x256 */ -    if (get_mode_info(adp, M_VGA_CG320, &info)) { -        log(LOG_NOTICE, "warp_saver: the console does not support M_VGA_CG320\n"); -	return ENODEV; -    } - -    /* randomize the star field */ -    for (i = 0; i < STARS; i++) { -	star[i] = random() % (SCRW*SCRH); -    } -     -    blanked = 0; - -    return 0; -} - -static int -warp_term(video_adapter_t *adp) -{ -    return 0; -} - -static scrn_saver_t warp_module = { -    "warp_saver", warp_init, warp_term, warp_saver, NULL, -}; - -SAVER_MODULE(warp_saver, warp_module);  | 
