linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "cosmos" <cosmos@wired-net.gr>
To: "Linux Kernel Development" <linux-kernel@vger.kernel.org>
Subject: Re: Documentation/linux-logo-HOWTO.txt
Date: Tue, 13 May 2003 14:25:22 +0300	[thread overview]
Message-ID: <000e01c31942$b037aac0$871a05d5@carlos> (raw)
In-Reply-To: Pine.GSO.4.21.0305131156420.20323-100000@vervain.sonytel.be

[-- Attachment #1: Type: text/plain, Size: 1195 bytes --]

> On Tue, 13 May 2003, cosmos wrote:
> > i have written a doc for the hack of the bootup linux logo.The document
> > contains the main program that produces the linux-logo.h header file and
the
> > aquired measurements for the WIDTH & HEIGHT for the fbcon.c file.
> > Can this doc be included in the Documentation of the kernel.
>
> I guess this is for 2.4.x?
>
> Where are the patches?
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 --
geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker.
But
> when I'm talking to journalists I just say "programmer" or something like
that.
>     -- Linus Torvalds

I have included the doc in txt format as should be included in the
kernel.Yes the patch is for the 2.4.x kernel series. The C program supports
only PCX files but easily can adopt other formats.The patch can be included
also in the Kernel Hacking Section,in CONFIG_LINUX_LOGO_HACK,or sth like
that and retrieve the PCX information from the same directory which the
patch is included.
If the doc is going to be included in the kernel doc in any way please let
me know.
Thanks.

Best regards,
Chris.


[-- Attachment #2: linux-logo-HOWTO.txt --]
[-- Type: text/plain, Size: 32995 bytes --]

Linux-logo hack-HOWTO
======================
Nanakos Chrysostomos <cosmos@wired-net.gr>

This HOW-TO is written for those that want to hack the linux bootup logo.
The main files in the kernel for the vesa frame buffer bootup logo are:
[Kernel_TopDir]/drivers/video/fbcon.c & [Kernel_TopDir]/include/linux/linux_logo.h
Those two files are responsible for the bootup logo when the kernel starts in debug or quiet mode.
If we want to change this logo we have to modify the files,by using the program that is appended at the end
of this text.The image file that we have to use is a PCX image file with no more than 256 colors and not bigger
than 786432 pixels(1024x768).

For more information you can also read the [Kernel_TopDir]/Documentation/fb/vesafb.txt

--------logo.c-------------------------
/*Written by Kevin R. Sandy
* Changes to image manipulation by Nanakos Chrysostomos*/

#include <stdio.h>
#include <stdlib.h>
#include "fbcon.h"

#define COLORS	256
#define IMAGE_SIZE	786432   /*"1024x768"*/

typedef struct struct_palette
{
	unsigned char red[256];
	unsigned char green[256];
	unsigned char blue[256];
} struct_palette;

typedef struct struct_picture
{
	struct_palette palette;
	unsigned int height;
	unsigned int width;
	unsigned long int bytes_in_image;
	unsigned long int pixels_in_image;
	unsigned char image_data[IMAGE_SIZE];
} struct_logo;

struct_logo logo;

void print_usage(FILE *stream,int exit_code);
int load_image_file(const char *);
int write_logo_header(const char *);
int write_image_data(FILE *, unsigned char *);
int write_palette_info(FILE *, char *, unsigned char *);
int read_pcx_file(FILE *);

const char* program_name;
int errno;


int main(int argc,char **argv)
{
	char *image_file_name;
	char *header_file_name;
	program_name=argv[0];
	
	if( argc !=3 )
	{
		print_usage(stdout,0);
	}
	image_file_name=argv[1];
	header_file_name=argv[2];

	if ( !(load_image_file(image_file_name)) )
	{
		fprintf(stderr, "Exiting due to errors.\n\n");

		return 1;
	}
	else if ( !(write_logo_header(header_file_name)) )
	{
		fprintf(stderr, "Exiting due to errors.\n\n");

		return 1;
	}
	else
	{
		fprintf(stdout, "\n");
		fprintf(stdout, "#define LOGO_H %u\n", logo.height);
		fprintf(stdout, "#define LOGO_W %u\n", logo.width);
		fprintf(stdout, "\n");
		fprintf(stdout, "\n");

		return 0;
	}
}
void print_usage(FILE *stream,int exit_code)
{

	fprintf(stream, "Usage: %s <image>.pcx <linux-logo.h>\n",program_name);
	fprintf(stream,
	                "\n"
			"The image file should be in PCX format.     \n"
	                "It should use only 256 colors.               \n"
	                "\n");

	exit(exit_code);
}

int load_image_file(const char *image_file_name)
{
	FILE *image_file;

	image_file = fopen(image_file_name, "rb");

	if ( !image_file )
	{
		fprintf(stderr, "\n");
		fprintf(stderr, "Cannot open %s for reading:\n", image_file_name);
		fprintf(stderr, "\t%s\n", strerror(errno));
		fprintf(stderr, "\n");
		return 0;
	}

	read_pcx_file(image_file);

	fclose(image_file);				

	return 1;
}

int write_logo_header(const char *header_file_name)
{
	FILE *header_file;

	header_file = fopen(header_file_name, "wb");

	if ( !header_file )
	{
		fprintf(stderr, "\n");
		fprintf(stderr, "Cannot open %s for writing:\n", header_file_name);
		fprintf(stderr, "\t%s\n", strerror(errno));
		fprintf(stderr, "\n");
		return 0;
	}

	fprintf(header_file, "#ifndef __HAVE_ARCH_LINUX_LOGO\n");
	fprintf(header_file, "#define LINUX_LOGO_COLORS 214\n");
	fprintf(header_file, "#endif\n\n");
	fprintf(header_file, "#ifdef INCLUDE_LINUX_LOGO_DATA\n\n");
	fprintf(header_file, "#ifndef __HAVE_ARCH_LINUX_LOGO\n\n");

	write_palette_info(header_file, "red", (char *)logo.palette.red);
	write_palette_info(header_file, "green", (char *)logo.palette.green);
	write_palette_info(header_file, "blue", (char *)logo.palette.blue);
	write_image_data(header_file, (char *)logo.image_data);

	fprintf(header_file, "#endif\n\n");
	fprintf(header_file, "%s",color_logo);

	fclose(header_file);

	return 1;
}

int write_image_data(FILE *header_file, unsigned char *image_data)
{
	unsigned int ctr = 0;

	fprintf(header_file, "unsigned char linux_logo[] __initdata = {\n");

	while ( ctr < logo.pixels_in_image )
	{
		fprintf(header_file, "0x%2.2hx", image_data[ctr++] + 0x20);
		if ( ctr == logo.pixels_in_image )
		{
			fprintf(header_file, "\n};\n\n");
		}
		else if ( ctr % 8 == 0 )
		{
			fprintf(header_file, ",\n");
		}
		else
		{
			fprintf(header_file, ", ");
		}
	}

	return 1;
}

int write_palette_info(FILE *header_file, char *color, unsigned char *palette)
{
	unsigned int ctr;

	fprintf(header_file, "unsigned char linux_logo_%s[] __initdata = {\n", color);
	ctr = 0;
	while ( ctr < 256 )
	{
		fprintf(header_file, "0x%2.2hx", palette[ctr++]);
		if ( ctr == 256 )
		{
			fprintf(header_file, "\n};\n\n");
		}
		else if ( ctr % 8 == 0 )
		{
			fprintf(header_file, ",\n");
		}
		else
		{
			fprintf(header_file, ", ");
		}
	}

	return 1;
}

int read_pcx_file(FILE *pcx_file)
{
	unsigned char temp_buffer;
	unsigned int ctr, image_ctr;
	unsigned int rle_run_length;

	fseek(pcx_file, -768L, SEEK_END);			
	logo.bytes_in_image = ftell(pcx_file) - 128;		

	fseek(pcx_file, 8L, SEEK_SET);
	fscanf(pcx_file, "%2c", &logo.width);
	logo.width++;
	fscanf(pcx_file, "%2c", &logo.height);
	logo.height++;

	fseek(pcx_file, 128L, SEEK_SET);			

	for ( ctr = 0, image_ctr = 0; ctr < logo.bytes_in_image; ctr++)
	{
		temp_buffer = fgetc(pcx_file);

		if ( temp_buffer >= 192 )			
		{					
			rle_run_length = temp_buffer - 192;	
			temp_buffer = fgetc(pcx_file);
			ctr++;					
								
			while ( rle_run_length-- > 0 )
			{
				logo.image_data[image_ctr++] = temp_buffer;
			}
		}
		else						
		{
			logo.image_data[image_ctr++] = temp_buffer;
		}
	}

	logo.pixels_in_image = --image_ctr;

	for ( ctr = 0; ctr < 256; ctr++)			
	{
		logo.palette.red[ctr] = fgetc(pcx_file);
		logo.palette.green[ctr] = fgetc(pcx_file);
		logo.palette.blue[ctr] = fgetc(pcx_file);
	}

	return 1;
}

-------fbcon.h----------------------------------------
char* color_logo = "#ifndef __HAVE_ARCH_LINUX_LOGOBW

unsigned char linux_logo_bw[] __initdata = {
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0x00, 0x3F,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F,
	0xFE, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFE, 0x3F, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xC7, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, 0xC3,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFF,
	0xFB, 0xE3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFD, 0xFF, 0xFF, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFF, 0xFF, 0xF1,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xFF,
	0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	0xF9, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xF9, 0xCF, 0xC3, 0xF8, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x87, 0x81, 0xF9,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xA7,
	0x99, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	0xF9, 0xF3, 0xBC, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xF9, 0xE3, 0xBC, 0xF9, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xB0, 0x3C, 0xF9,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0xB0,
	0x19, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	0xF9, 0xC0, 0x03, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xF9, 0x80, 0x01, 0xF8, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x80, 0x01, 0xF8,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9, 0x80,
	0x01, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	0xF9, 0xC0, 0x21, 0xD8, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xF9, 0xB1, 0x80, 0xEC, 0xC0, 0x1F,
	0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x90, 0x00, 0xE4,
	0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0x8C,
	0xC0, 0x7C, 0x04, 0x81, 0xFF, 0xFF, 0xFF, 0xFF,
	0xE3, 0x80, 0x00, 0x7C, 0x40, 0x11, 0xFF, 0xFF,
	0xFF, 0xFF, 0xE3, 0x80, 0x00, 0x7F, 0xD2, 0x29,
	0xFF, 0xFF, 0xFF, 0xFF, 0x87, 0x00, 0x00, 0x3F,
	0x80, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0x0E, 0x00,
	0x00, 0x3F, 0x80, 0x19, 0xFF, 0xFF, 0xFF, 0xFF,
	0x1E, 0x00, 0x00, 0x1F, 0x80, 0x19, 0xFF, 0xFF,
	0xFF, 0xFE, 0x1C, 0x00, 0x00, 0x1E, 0x80, 0x19,
	0xFF, 0xFF, 0xFF, 0xFE, 0x3C, 0x00, 0x00, 0x1E,
	0x80, 0x11, 0xFF, 0xFF, 0xFF, 0xFC, 0x7C, 0x00,
	0x00, 0x0F, 0x80, 0x11, 0xFF, 0xFF, 0xFF, 0xFC,
	0xF8, 0x00, 0x00, 0x0E, 0x80, 0x11, 0xFF, 0xFF,
	0xFF, 0xFC, 0xF8, 0x00, 0x00, 0x06, 0x00, 0x11,
	0xFF, 0xFF, 0xFF, 0xF8, 0xF8, 0x00, 0x00, 0x06,
	0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xF9, 0xF0, 0x00,
	0x00, 0x02, 0x00, 0x09, 0xFF, 0xFF, 0xFF, 0xF1,
	0xF0, 0x00, 0x00, 0x02, 0x80, 0x10, 0xFF, 0xFF,
	0xFF, 0xF1, 0xE0, 0x00, 0x00, 0x00, 0x97, 0x10,
	0xFF, 0xFF, 0xFF, 0xE3, 0xE0, 0x00, 0x00, 0x00,
	0xDF, 0xF0, 0xFF, 0xFF, 0xFF, 0xE3, 0xC0, 0x00,
	0x00, 0x00, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xC7,
	0xC0, 0x00, 0x00, 0x01, 0xFF, 0xF8, 0xFF, 0xFF,
	0xFF, 0xC7, 0x80, 0x00, 0x00, 0x01, 0xFF, 0xF8,
	0xFF, 0xFF, 0xFF, 0x8F, 0x80, 0x00, 0x00, 0x01,
	0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0x8F, 0x80, 0x00,
	0x00, 0x01, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0x9F,
	0x80, 0x00, 0x00, 0x01, 0xFF, 0xF8, 0xFF, 0xFF,
	0xFF, 0x9F, 0x80, 0x00, 0x00, 0x01, 0x80, 0x18,
	0xFF, 0xFF, 0xFF, 0x9E, 0x80, 0x00, 0x00, 0x03,
	0xA8, 0x11, 0xFF, 0xFF, 0xFF, 0x9F, 0x80, 0x00,
	0x00, 0x02, 0x00, 0x01, 0xFF, 0xFF, 0xFF, 0x99,
	0x80, 0x00, 0x00, 0x00, 0x00, 0x09, 0xFF, 0xFF,
	0xFF, 0x00, 0x80, 0x00, 0x00, 0x01, 0xC0, 0x01,
	0xFF, 0xFF, 0xFE, 0x20, 0x60, 0x00, 0x00, 0x00,
	0xFF, 0xC3, 0xFF, 0xFF, 0xF8, 0x00, 0x30, 0x00,
	0x00, 0x00, 0xFF, 0x0F, 0xFF, 0xFF, 0xC0, 0x40,
	0x38, 0x00, 0x00, 0x00, 0xFE, 0x47, 0xFF, 0xFF,
	0x81, 0x00, 0x1C, 0x00, 0x00, 0x00, 0xFC, 0x23,
	0xFF, 0xFF, 0x90, 0x00, 0x1E, 0x00, 0x00, 0x00,
	0x78, 0x11, 0xFF, 0xFF, 0x80, 0x00, 0x0F, 0x80,
	0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x80, 0x00,
	0x07, 0xC0, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF,
	0xC0, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x00, 0x04,
	0x7F, 0xFF, 0x80, 0x00, 0x03, 0xC0, 0x00, 0x10,
	0x00, 0x00, 0x1F, 0xFF, 0x80, 0x00, 0x01, 0x80,
	0x00, 0x30, 0x00, 0x00, 0x0F, 0xFF, 0x80, 0x00,
	0x00, 0x00, 0x00, 0x70, 0x00, 0x01, 0x4F, 0xFF,
	0x80, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00,
	0x0F, 0xFF, 0xC0, 0x00, 0x00, 0x80, 0x03, 0xF0,
	0x00, 0x00, 0x8F, 0xFF, 0x80, 0x00, 0x00, 0x40,
	0x0F, 0xF0, 0x00, 0x04, 0x1F, 0xFF, 0x80, 0x00,
	0x00, 0x7F, 0xFF, 0xF0, 0x00, 0x10, 0x1F, 0xFF,
	0xC0, 0x00, 0x00, 0x7F, 0xFF, 0xF0, 0x00, 0x40,
	0xFF, 0xFF, 0x98, 0x00, 0x00, 0xFF, 0xFF, 0xF0,
	0x00, 0x83, 0xFF, 0xFF, 0x81, 0xE0, 0x01, 0xFF,
	0xFF, 0xF8, 0x02, 0x07, 0xFF, 0xFF, 0x80, 0x3F,
	0x07, 0xE0, 0x00, 0x1C, 0x0C, 0x1F, 0xFF, 0xFF,
	0xF8, 0x03, 0xFF, 0x80, 0x00, 0x1F, 0x78, 0x1F,
	0xFF, 0xFF, 0xFF, 0x80, 0x7F, 0x00, 0x07, 0x0F,
	0xF0, 0x7F, 0xFF, 0xFF, 0xFF, 0xFE, 0x0C, 0x07,
	0xFF, 0x83, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	0x00, 0x1F, 0xFF, 0xC0, 0x03, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0x07, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
};

#endif

#ifndef __HAVE_ARCH_LINUX_LOGO16_RED

unsigned char linux_logo16_red[] __initdata = {
	0x00, 0x90, 0xb0, 0x9c, 0xf7, 0x35, 0x83, 0xa5,
	0x65, 0x8f, 0x98, 0xc9, 0xdb, 0xe1, 0xe7, 0xf8
};

#endif
#ifndef __HAVE_ARCH_LINUX_LOGO16_GREEN

unsigned char linux_logo16_green[] __initdata = {
	0x00, 0x90, 0xb0, 0x9c, 0xf7, 0x2e, 0x83, 0xa5,
	0x65, 0x6e, 0x98, 0x89, 0xbf, 0xac, 0xda, 0xf8
};

#endif
#ifndef __HAVE_ARCH_LINUX_LOGO16_BLUE

unsigned char linux_logo16_blue[] __initdata = {
	0x00, 0x90, 0xaf, 0x9c, 0xf7, 0x2b, 0x82, 0xa5,
	0x65, 0x41, 0x97, 0x1e, 0x60, 0x29, 0xa5, 0xf8
};

#endif
#ifndef __HAVE_ARCH_LINUX_LOGO16

unsigned char linux_logo16[] __initdata = {
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xa1, 0x11, 0x11,
	0x61, 0x16, 0x66, 0x66, 0x11, 0x11, 0x11, 0x11,
	0x11, 0x11, 0x1a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0x33, 0xa8, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x87, 0x77, 0x77, 0x77, 0x77,
	0x77, 0x77, 0x73, 0x33, 0x33, 0x3a, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
	0xaa, 0xaa, 0xa3, 0x33, 0x33, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x77, 0x77, 0x77, 0x77,
	0x77, 0x27, 0x77, 0x77, 0x77, 0x33, 0x3a, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
	0xaa, 0xa3, 0x33, 0x33, 0x30, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x55, 0x50, 0x08, 0x33, 0x77, 0x77,
	0x77, 0x72, 0x72, 0x27, 0x77, 0x77, 0x33, 0x33,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
	0xa3, 0x33, 0x33, 0x77, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x58, 0x85, 0x00, 0x11, 0x11, 0xaa,
	0xa3, 0x37, 0x77, 0x72, 0x22, 0x22, 0x77, 0x73,
	0x33, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xa3,
	0x33, 0x37, 0x77, 0x33, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x56, 0x85, 0x00, 0x06, 0x66, 0x11,
	0x11, 0x1a, 0xa3, 0x37, 0x77, 0x72, 0x22, 0x77,
	0x73, 0x33, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x33,
	0x33, 0x33, 0x33, 0x30, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x55, 0x00, 0x00, 0x06, 0x66, 0x66,
	0x66, 0x66, 0x11, 0x1a, 0xa3, 0x77, 0x72, 0x22,
	0x77, 0x73, 0x3a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x33, 0x33,
	0x33, 0x33, 0x33, 0xa0, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11,
	0x66, 0x66, 0x66, 0x66, 0x11, 0xa3, 0x77, 0x22,
	0x22, 0x77, 0x33, 0x33, 0xaa, 0xaa, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x33, 0x33, 0x33,
	0x33, 0x3a, 0xa1, 0x10, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x33,
	0xaa, 0x11, 0x16, 0x66, 0x66, 0x61, 0x1a, 0x37,
	0x22, 0x22, 0x77, 0x33, 0x3a, 0xaa, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0xa3, 0x33, 0x33, 0x33,
	0x3a, 0xa1, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x22,
	0x22, 0x77, 0x3a, 0x11, 0x66, 0x66, 0x66, 0x1a,
	0x37, 0x22, 0x22, 0x77, 0x33, 0x3a, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0x33, 0x33, 0x33, 0x3a,
	0xa1, 0x11, 0x11, 0x10, 0x00, 0x00, 0x50, 0x00,
	0x00, 0x05, 0x80, 0x50, 0x00, 0x00, 0x07, 0x72,
	0x22, 0x22, 0x22, 0x73, 0xa1, 0x66, 0x66, 0x61,
	0x1a, 0x77, 0x22, 0x27, 0x73, 0x33, 0xaa, 0xaa,
	0xaa, 0xaa, 0xaa, 0xaa, 0x33, 0x33, 0x3a, 0xaa,
	0x11, 0x11, 0x1a, 0xa0, 0x08, 0x71, 0x05, 0x00,
	0x00, 0x12, 0x22, 0x50, 0x00, 0x00, 0x07, 0x77,
	0x77, 0x72, 0x22, 0x22, 0x27, 0x31, 0x16, 0x66,
	0x61, 0x13, 0x77, 0x22, 0x77, 0x33, 0x3a, 0xaa,
	0xaa, 0xaa, 0xaa, 0xa3, 0x33, 0x33, 0xaa, 0xa1,
	0x11, 0x1a, 0x33, 0x70, 0x07, 0x2e, 0x70, 0x00,
	0x01, 0x44, 0x42, 0x60, 0x00, 0x00, 0x02, 0x22,
	0x22, 0x22, 0x22, 0x22, 0x22, 0x27, 0x31, 0x66,
	0x66, 0x61, 0xa3, 0x72, 0x22, 0x77, 0x33, 0xaa,
	0xaa, 0xaa, 0xa3, 0x33, 0x33, 0xaa, 0xaa, 0x11,
	0x1a, 0x33, 0x77, 0x30, 0x04, 0x82, 0x40, 0x00,
	0x54, 0x48, 0x54, 0x40, 0x00, 0x00, 0x01, 0xaa,
	0x32, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x31,
	0x66, 0x66, 0x11, 0x37, 0x22, 0x27, 0x73, 0x3a,
	0xaa, 0xaa, 0xa3, 0x33, 0x3a, 0xaa, 0xaa, 0xaa,
	0xa3, 0x77, 0xaa, 0x10, 0x50, 0x08, 0x46, 0x05,
	0x54, 0x80, 0x50, 0x42, 0x00, 0x00, 0x08, 0x66,
	0x66, 0x1a, 0x32, 0x22, 0x22, 0x22, 0x22, 0x27,
	0x31, 0x66, 0x66, 0x13, 0x72, 0x22, 0x77, 0x33,
	0xaa, 0xaa, 0xaa, 0x33, 0xaa, 0xa1, 0xaa, 0xa3,
	0x37, 0xa1, 0x1a, 0x30, 0x50, 0x06, 0x26, 0x00,
	0x54, 0x00, 0x00, 0x44, 0x00, 0x00, 0x08, 0xe2,
	0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x22, 0x22,
	0x27, 0xa6, 0x66, 0x61, 0xa7, 0x72, 0x27, 0x73,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x33,
	0x31, 0x11, 0x37, 0x70, 0x02, 0x00, 0xab, 0xbb,
	0xb6, 0x00, 0x00, 0xf4, 0x00, 0x00, 0xee, 0xee,
	0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x22,
	0x22, 0x23, 0x16, 0x66, 0x1a, 0x37, 0x22, 0x77,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xa3, 0x3a,
	0x11, 0xa7, 0x33, 0x10, 0x04, 0x09, 0xbd, 0xdd,
	0xbd, 0xd0, 0x04, 0x45, 0x00, 0x0e, 0xee, 0xee,
	0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x22,
	0x22, 0x22, 0x71, 0x66, 0x66, 0x13, 0x72, 0x27,
	0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x33, 0x11,
	0xa3, 0x73, 0xa1, 0x60, 0x08, 0xbd, 0xdd, 0xdd,
	0xdd, 0xdd, 0xdb, 0x90, 0x00, 0x02, 0xec, 0xee,
	0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xce, 0x22,
	0x22, 0x22, 0x27, 0xa6, 0x66, 0x61, 0x37, 0x27,
	0x1a, 0xaa, 0xaa, 0xaa, 0xaa, 0xa3, 0xa1, 0x1a,
	0x33, 0xa1, 0x16, 0x60, 0x0b, 0xbd, 0xdd, 0xdd,
	0xcd, 0xdd, 0xdd, 0xd9, 0x00, 0x00, 0xec, 0xcc,
	0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xce, 0xa2,
	0x22, 0x22, 0x22, 0x7a, 0x66, 0x66, 0x13, 0x77,
	0x1a, 0xaa, 0xaa, 0xaa, 0xaa, 0x3a, 0x11, 0x33,
	0xaa, 0x11, 0x66, 0x60, 0x9b, 0xdd, 0xdd, 0xdd,
	0xcd, 0xdd, 0xdb, 0xb9, 0x00, 0x00, 0xec, 0xcc,
	0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xee, 0x61,
	0x72, 0x22, 0x22, 0x22, 0xa1, 0x66, 0x61, 0x37,
	0x1a, 0xaa, 0xaa, 0xaa, 0xa3, 0xa1, 0x13, 0x3a,
	0x11, 0x11, 0x11, 0x10, 0x5b, 0xdd, 0xdd, 0xdc,
	0xdd, 0xdd, 0xbd, 0xd9, 0x00, 0x00, 0xec, 0xcc,
	0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xee, 0x86,
	0x17, 0x22, 0x22, 0x22, 0x23, 0x16, 0x66, 0xaa,
	0xaa, 0xa3, 0x3a, 0xaa, 0xaa, 0x1a, 0x3a, 0xa1,
	0x11, 0x11, 0x1a, 0x70, 0x05, 0xbd, 0xdd, 0xdd,
	0xdb, 0x5b, 0xdd, 0xb0, 0x00, 0x60, 0x2e, 0xcc,
	0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xe6, 0x88,
	0x66, 0x32, 0x22, 0x22, 0x22, 0x36, 0x66, 0x11,
	0x33, 0x33, 0x3a, 0xaa, 0x11, 0xaa, 0xaa, 0xa1,
	0x11, 0x1a, 0x3a, 0x60, 0x02, 0x99, 0xbb, 0xb9,
	0x9b, 0xbb, 0xbc, 0x22, 0x00, 0x86, 0x5e, 0xcc,
	0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xe1, 0x68,
	0x86, 0x63, 0x22, 0x22, 0x22, 0x2a, 0x66, 0x66,
	0x33, 0x33, 0xaa, 0xaa, 0x1a, 0xaa, 0xaa, 0x11,
	0x1a, 0xa7, 0x68, 0x80, 0x02, 0x2b, 0xbd, 0xbb,
	0xbb, 0xb9, 0x22, 0x22, 0x00, 0x06, 0x6e, 0xcc,
	0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xc7, 0xa6,
	0x88, 0x86, 0x32, 0x22, 0x22, 0x27, 0xa6, 0x66,
	0x33, 0x3a, 0xaa, 0xa1, 0xaa, 0xaa, 0xa1, 0x11,
	0xa3, 0xa6, 0x88, 0x80, 0x02, 0x22, 0x9b, 0xbb,
	0xbb, 0x22, 0x24, 0xf4, 0x60, 0x00, 0x0c, 0xcc,
	0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xc2, 0x21,
	0x68, 0x88, 0x63, 0x22, 0x22, 0x22, 0x71, 0x66,
	0x33, 0x3a, 0x11, 0x11, 0xaa, 0xaa, 0x11, 0xaa,
	0x71, 0x88, 0x88, 0x00, 0x02, 0xe2, 0x26, 0x99,
	0x22, 0x22, 0x4f, 0xf4, 0x40, 0x00, 0x0c, 0xcc,
	0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x22, 0x22,
	0x16, 0x88, 0x86, 0xa2, 0x22, 0x22, 0x27, 0x11,
	0x33, 0xa1, 0x11, 0x11, 0xaa, 0x31, 0x1a, 0xa3,
	0x68, 0x88, 0x81, 0x00, 0x54, 0x42, 0x22, 0x22,
	0x22, 0x44, 0xff, 0xff, 0x48, 0x00, 0x00, 0x99,
	0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x22, 0x22,
	0x21, 0x88, 0x88, 0x6a, 0x22, 0x22, 0x22, 0x31,
	0x3a, 0xa1, 0x11, 0x1a, 0xa3, 0x11, 0x33, 0x36,
	0x88, 0x86, 0x30, 0x00, 0x4f, 0x44, 0x22, 0x22,
	0x24, 0xff, 0xff, 0xff, 0x44, 0x00, 0x00, 0x99,
	0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x95, 0x22, 0x72,
	0x22, 0x18, 0x88, 0x86, 0x32, 0x22, 0x22, 0x27,
	0xaa, 0x11, 0x11, 0x1a, 0x31, 0x13, 0x33, 0x68,
	0x88, 0x6a, 0x00, 0x02, 0x4f, 0x4f, 0x42, 0x24,
	0x4f, 0xff, 0xff, 0xff, 0xf4, 0x50, 0x00, 0x99,
	0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x22, 0x73,
	0x72, 0x26, 0x88, 0x88, 0x63, 0x22, 0x22, 0x22,
	0x11, 0x11, 0x11, 0xa3, 0xa1, 0x73, 0xa6, 0x88,
	0x81, 0xa5, 0x00, 0x04, 0x4f, 0x4f, 0x44, 0x4f,
	0xff, 0xff, 0xff, 0xff, 0xf4, 0x40, 0x00, 0x99,
	0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x12, 0x27,
	0xaa, 0x22, 0x68, 0x55, 0x86, 0x72, 0x22, 0x22,
	0x11, 0x11, 0x1a, 0x33, 0x13, 0x3a, 0x18, 0x88,
	0x1a, 0x10, 0x00, 0x44, 0x4f, 0x4f, 0xff, 0x4f,
	0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x99,
	0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x61, 0x22,
	0x3a, 0xa2, 0x26, 0x85, 0x58, 0x67, 0x22, 0x22,
	0x61, 0x61, 0x1a, 0x7a, 0x37, 0x31, 0x88, 0x81,
	0x11, 0x00, 0x05, 0xe4, 0x44, 0xff, 0xff, 0xff,
	0x4f, 0xf4, 0x44, 0xff, 0xff, 0xf5, 0x00, 0x99,
	0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x88, 0x12,
	0x2a, 0xaa, 0x72, 0x68, 0x55, 0x81, 0x22, 0x22,
	0x66, 0x61, 0xa3, 0x33, 0x73, 0x16, 0x88, 0x11,
	0x10, 0x00, 0x08, 0x74, 0x44, 0x4f, 0x44, 0x44,
	0xf4, 0xf4, 0x44, 0x44, 0xe2, 0x44, 0x00, 0x99,
	0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x88, 0x81,
	0x22, 0xaa, 0xa7, 0x26, 0x85, 0x88, 0x12, 0x22,
	0x66, 0x61, 0x37, 0xa7, 0x3a, 0x66, 0x66, 0x11,
	0x80, 0x00, 0x0a, 0x72, 0x44, 0x4f, 0x44, 0x4f,
	0xff, 0x44, 0x44, 0x22, 0x22, 0x24, 0x00, 0x99,
	0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0x85, 0x88,
	0x12, 0x2a, 0xaa, 0x22, 0x68, 0x58, 0x63, 0x22,
	0x66, 0x1a, 0x73, 0x77, 0x31, 0x66, 0x61, 0x11,
	0x00, 0x00, 0x07, 0x44, 0xff, 0x4f, 0xf4, 0x4f,
	0xff, 0x4f, 0x44, 0xf4, 0x42, 0x22, 0x40, 0x9b,
	0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb9, 0x85, 0x55,
	0x81, 0x27, 0xaa, 0xa2, 0x78, 0x88, 0x86, 0x72,
	0x66, 0x13, 0x77, 0x73, 0x11, 0x66, 0x61, 0x76,
	0x00, 0x50, 0x84, 0xf4, 0xff, 0x4f, 0xf4, 0xff,
	0xff, 0x4f, 0x44, 0xff, 0x4f, 0x42, 0x40, 0x9b,
	0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb9, 0x68, 0x55,
	0x58, 0x12, 0x3a, 0xaa, 0x23, 0x88, 0x88, 0xa7,
	0x66, 0xa7, 0x77, 0x7a, 0x16, 0x66, 0x1a, 0x15,
	0x05, 0x00, 0x4f, 0xf4, 0xff, 0x4f, 0xf4, 0xff,
	0xff, 0x4f, 0x44, 0xff, 0x4f, 0x44, 0x24, 0x9b,
	0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xb9, 0x26, 0x55,
	0x55, 0x81, 0x23, 0xaa, 0x32, 0x18, 0x88, 0x6a,
	0x61, 0x37, 0x77, 0x31, 0x66, 0x66, 0x17, 0x60,
	0x05, 0x08, 0x4f, 0xf4, 0xff, 0x4f, 0xf4, 0xff,
	0xff, 0x4f, 0x44, 0xff, 0x4f, 0x4f, 0x4e, 0x99,
	0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x99, 0xa2, 0x65,
	0x55, 0x58, 0xa2, 0x7a, 0xa2, 0x26, 0x88, 0x61,
	0x61, 0x32, 0x27, 0xa1, 0x66, 0x61, 0x31, 0x60,
	0x00, 0x04, 0x4f, 0xf4, 0xff, 0x44, 0x44, 0xff,
	0xff, 0x4f, 0x44, 0xff, 0x4f, 0x44, 0xf4, 0x99,
	0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x9b, 0xaa, 0x26,
	0x55, 0x55, 0x87, 0x27, 0x33, 0x27, 0x68, 0x61,
	0x1a, 0x72, 0x27, 0xa6, 0x66, 0x6a, 0x71, 0x00,
	0x80, 0x84, 0xff, 0xf4, 0xff, 0x44, 0x44, 0xff,
	0xff, 0x4f, 0x44, 0xff, 0x4f, 0x44, 0xf4, 0x99,
	0x9b, 0x9b, 0x99, 0xb9, 0xb9, 0x99, 0xaa, 0xa2,
	0x85, 0x55, 0x56, 0x22, 0x27, 0x22, 0x36, 0x66,
	0x13, 0x22, 0x23, 0x16, 0x86, 0x63, 0x73, 0x00,
	0x00, 0x44, 0xf4, 0xf4, 0xff, 0x44, 0x44, 0xff,
	0xff, 0x4f, 0x44, 0xff, 0x4f, 0x4f, 0x4f, 0x99,
	0x9b, 0x99, 0x99, 0x99, 0xb9, 0x99, 0xaa, 0xaa,
	0x28, 0x55, 0x58, 0x12, 0x22, 0x22, 0x21, 0x11,
	0xa3, 0x27, 0x7a, 0x66, 0x86, 0x17, 0x75, 0x05,
	0x05, 0xff, 0xf4, 0xf4, 0xff, 0x44, 0x44, 0xff,
	0xff, 0x4f, 0x44, 0x4f, 0x4f, 0x44, 0x4f, 0x99,
	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x3a, 0xaa,
	0xa2, 0x85, 0x58, 0x67, 0x72, 0x22, 0x27, 0xa1,
	0x37, 0x27, 0x7a, 0x68, 0x86, 0xa2, 0x70, 0x00,
	0x02, 0xff, 0xf4, 0xf4, 0xff, 0x44, 0x44, 0x4f,
	0xff, 0x4f, 0x44, 0xf4, 0xf4, 0xf4, 0xf4, 0x99,
	0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x23, 0xaa,
	0xa7, 0x78, 0x88, 0x81, 0x77, 0x22, 0x27, 0x3a,
	0x72, 0x73, 0x71, 0x68, 0x66, 0x32, 0x50, 0x00,
	0x04, 0x4f, 0xf4, 0xf4, 0xff, 0x44, 0x44, 0x4f,
	0xff, 0x4f, 0x44, 0xf4, 0xf4, 0xf4, 0x44, 0x95,
	0x99, 0x99, 0x99, 0x99, 0x99, 0x55, 0x12, 0x3a,
	0xaa, 0x21, 0x88, 0x81, 0x77, 0x27, 0x73, 0x73,
	0x72, 0x33, 0x36, 0x86, 0x61, 0x72, 0x00, 0x00,
	0x04, 0x44, 0xf4, 0xf4, 0xf4, 0x44, 0x44, 0x4f,
	0xff, 0x4f, 0x44, 0xff, 0x4f, 0x4f, 0x44, 0x55,
	0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x8a, 0x27,
	0xaa, 0x77, 0x68, 0x61, 0x23, 0x71, 0x11, 0x3a,
	0x27, 0xa3, 0x36, 0x86, 0x61, 0x20, 0x00, 0x00,
	0x04, 0xf4, 0xf4, 0xf4, 0xf4, 0x44, 0x44, 0x4f,
	0xff, 0x4f, 0x44, 0xff, 0x4f, 0x4f, 0x41, 0x59,
	0x99, 0x99, 0x99, 0x99, 0x99, 0x95, 0x58, 0x77,
	0x27, 0x32, 0x36, 0x63, 0x23, 0x71, 0x66, 0x11,
	0x27, 0x13, 0xa6, 0x86, 0x6a, 0x20, 0x00, 0x50,
	0x04, 0x4f, 0x4f, 0x4f, 0x4f, 0x44, 0x44, 0x4f,
	0xff, 0x4f, 0x44, 0xff, 0x4f, 0x4f, 0x41, 0x99,
	0x9b, 0xbb, 0xbb, 0xbb, 0xb9, 0x99, 0x68, 0x13,
	0x32, 0x22, 0x73, 0xa7, 0x2a, 0x31, 0x88, 0x66,
	0x7a, 0x13, 0x18, 0x66, 0x63, 0x20, 0x00, 0x06,
	0x0f, 0x4f, 0x4f, 0x4f, 0x4f, 0x44, 0x44, 0x4f,
	0xff, 0x4f, 0x44, 0xff, 0x4f, 0x4f, 0x49, 0x95,
	0xa9, 0xa9, 0x99, 0x97, 0x92, 0x99, 0x65, 0x6a,
	0x17, 0x22, 0x23, 0x72, 0x27, 0xaa, 0x88, 0x88,
	0xa1, 0x17, 0x68, 0x66, 0x67, 0x70, 0x00, 0x05,
	0x0f, 0x4f, 0x4f, 0x4f, 0x4f, 0x44, 0x44, 0x4f,
	0xff, 0x4f, 0x44, 0xff, 0xf4, 0xf4, 0x49, 0x9c,
	0x2e, 0xee, 0xee, 0xee, 0xee, 0xa9, 0x65, 0x8a,
	0x1a, 0xaa, 0x37, 0x72, 0x27, 0x37, 0x88, 0x88,
	0x11, 0x17, 0x68, 0x66, 0x67, 0x10, 0x9d, 0xd0,
	0x84, 0x44, 0xff, 0x4f, 0x4f, 0x44, 0xf4, 0x4f,
	0xff, 0x4f, 0x44, 0xff, 0xf4, 0xf4, 0x4f, 0x69,
	0xcc, 0xee, 0xee, 0xee, 0xec, 0x99, 0x88, 0x63,
	0x61, 0x68, 0x61, 0x72, 0x22, 0x7a, 0x68, 0x88,
	0x11, 0x17, 0x88, 0x66, 0x12, 0x1b, 0xdd, 0xdd,
	0x02, 0x44, 0x4f, 0x4f, 0x4f, 0x44, 0x44, 0x4f,
	0xff, 0x4f, 0x44, 0xff, 0xff, 0x4f, 0x4c, 0xc5,
	0x0c, 0xc1, 0x11, 0x1c, 0xc0, 0x26, 0x66, 0x17,
	0x66, 0x88, 0x88, 0x12, 0x22, 0x23, 0xa8, 0x88,
	0x11, 0x13, 0x88, 0x66, 0x17, 0xbb, 0xdd, 0xdd,
	0xd0, 0x8f, 0xff, 0xf4, 0xf4, 0x44, 0xf4, 0x4f,
	0xff, 0x4f, 0x44, 0xf4, 0x4f, 0x44, 0xdd, 0xdd,
	0x00, 0x00, 0x00, 0x05, 0x9d, 0x21, 0x66, 0x27,
	0xa6, 0x65, 0x58, 0x67, 0x22, 0x27, 0x28, 0x88,
	0x11, 0xaa, 0x86, 0x68, 0x1a, 0xbb, 0xdd, 0xdd,
	0xdb, 0x05, 0xf4, 0xf4, 0xf4, 0xf4, 0x44, 0x4f,
	0xff, 0x4f, 0x44, 0xf4, 0xf4, 0xf4, 0xdd, 0xdb,
	0x00, 0x00, 0x00, 0x00, 0xdd, 0xda, 0x66, 0x22,
	0x71, 0x15, 0x55, 0x81, 0x22, 0x22, 0x76, 0x88,
	0x11, 0x31, 0x88, 0x88, 0xab, 0xbd, 0xdd, 0xdd,
	0xdd, 0x00, 0x04, 0x44, 0xff, 0xff, 0x4f, 0x4f,
	0xff, 0x4f, 0x44, 0xf4, 0xf4, 0x44, 0xdd, 0xdb,
	0x00, 0x00, 0x00, 0x0b, 0xdd, 0xda, 0x11, 0x22,
	0x23, 0x68, 0x55, 0x86, 0x22, 0x22, 0x7a, 0x88,
	0x1a, 0x71, 0x88, 0x89, 0xbb, 0xdd, 0xdd, 0xdd,
	0xdd, 0xd0, 0x00, 0x4f, 0x44, 0xff, 0x4f, 0x4f,
	0xff, 0x4f, 0x44, 0xf4, 0xff, 0xe2, 0xdd, 0xdb,
	0x90, 0x00, 0x05, 0xbd, 0xdd, 0xb8, 0x63, 0x22,
	0x27, 0xa6, 0x55, 0x88, 0x77, 0x22, 0x22, 0x88,
	0x1a, 0x28, 0xbd, 0xdb, 0xdd, 0xdd, 0xdd, 0xdd,
	0xdd, 0xdb, 0x00, 0x07, 0x44, 0x4f, 0x4f, 0x4f,
	0xff, 0x4f, 0x44, 0x4f, 0x4f, 0x22, 0xdd, 0xdb,
	0xbb, 0x9b, 0xbb, 0xbd, 0xdd, 0xd5, 0x86, 0x22,
	0x22, 0x77, 0x85, 0x88, 0x17, 0x22, 0x22, 0x88,
	0xaa, 0x2b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
	0xdd, 0xdd, 0x00, 0x00, 0x54, 0x4f, 0x4f, 0x4f,
	0xff, 0x4f, 0x44, 0xf4, 0x44, 0x22, 0xbd, 0xdd,
	0xbb, 0xbb, 0xbb, 0xdd, 0xdd, 0xdd, 0x88, 0x72,
	0x27, 0x22, 0x88, 0x88, 0x67, 0x72, 0x22, 0x18,
	0x33, 0x2d, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
	0xdd, 0xdd, 0xd0, 0x00, 0x05, 0x4f, 0x4f, 0x4f,
	0xff, 0x4f, 0x44, 0x44, 0x4f, 0x22, 0xbd, 0xdd,
	0xdb, 0xbb, 0xdd, 0xdd, 0xdd, 0xdd, 0x88, 0x17,
	0x27, 0x72, 0x68, 0x88, 0x87, 0x32, 0x22, 0x36,
	0x37, 0x2d, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
	0xdd, 0xdd, 0xd5, 0x00, 0x00, 0x4f, 0x4f, 0x4f,
	0xff, 0xf4, 0xf4, 0xf4, 0xf4, 0x22, 0xbb, 0xdd,
	0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd8, 0x67,
	0x72, 0x77, 0x38, 0x88, 0x83, 0x37, 0x22, 0x26,
	0x72, 0x2b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
	0xdd, 0xdd, 0xdd, 0x00, 0x00, 0x4f, 0x4f, 0x4f,
	0xff, 0xf4, 0xf4, 0xf4, 0x44, 0x25, 0xbb, 0xdd,
	0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd3,
	0x32, 0x73, 0x76, 0x88, 0x81, 0x33, 0x22, 0x2a,
	0x22, 0x2b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
	0xdd, 0xdd, 0xdd, 0xb0, 0x54, 0x4f, 0x4f, 0x4f,
	0xff, 0xf4, 0xf4, 0xff, 0x44, 0x00, 0xbb, 0xdd,
	0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
	0xa7, 0x73, 0x26, 0x88, 0x86, 0x7a, 0x72, 0x27,
	0x22, 0x2b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
	0xdd, 0xdd, 0xdd, 0xdb, 0x44, 0xff, 0x4f, 0x4f,
	0xff, 0xf4, 0xf4, 0x44, 0x40, 0x05, 0xbb, 0xdd,
	0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
	0x13, 0x23, 0x21, 0x68, 0x86, 0x17, 0x72, 0x22,
	0x22, 0x2b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
	0xdd, 0xdd, 0xdd, 0xdd, 0x94, 0x44, 0x44, 0x44,
	0x44, 0x44, 0x44, 0x00, 0x00, 0x05, 0xbb, 0xdd,
	0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xb8,
	0x86, 0x22, 0x22, 0x7a, 0x68, 0x81, 0x22, 0x22,
	0x37, 0x7b, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
	0xdd, 0xdd, 0xdd, 0xdb, 0xb5, 0x44, 0x44, 0x44,
	0x44, 0x47, 0x00, 0x00, 0x00, 0x05, 0xbd, 0xdd,
	0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xd8, 0x68,
	0x58, 0x72, 0x22, 0x27, 0x18, 0x86, 0x72, 0x22,
	0x1a, 0xbb, 0xbd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
	0xdd, 0xdd, 0xdd, 0xdb, 0xb5, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xbb, 0xdd,
	0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xb9, 0x18, 0x85,
	0x58, 0x12, 0x22, 0x36, 0x18, 0x88, 0x32, 0x22,
	0x61, 0x3b, 0xbb, 0xbb, 0xbd, 0xdd, 0xdd, 0xdd,
	0xdd, 0xdd, 0xdd, 0xdb, 0xb9, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xbb, 0xdd,
	0xdd, 0xdd, 0xdd, 0xdd, 0xb9, 0x7a, 0x68, 0x85,
	0x88, 0x62, 0x27, 0x16, 0x18, 0x88, 0x12, 0x27,
	0x86, 0x18, 0x9b, 0xbb, 0xbb, 0xbb, 0xbb, 0xbd,
	0xdd, 0xdd, 0xdd, 0xbb, 0xb5, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xbb, 0xbd,
	0xdd, 0xdd, 0xdb, 0xbb, 0x87, 0x31, 0x68, 0x65,
	0x88, 0x82, 0x23, 0x16, 0x18, 0x88, 0x12, 0x23,
	0x88, 0x67, 0x27, 0xa8, 0x9b, 0xbb, 0xbb, 0xbb,
	0xbd, 0xdd, 0xbb, 0xbb, 0x95, 0x00, 0x00, 0x00,
	0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x9b, 0xbb,
	0xbb, 0xbb, 0xbb, 0x96, 0x87, 0x16, 0x68, 0x18,
	0x88, 0x62, 0x31, 0x66, 0x18, 0x88, 0x62, 0x73,
	0x88, 0x63, 0x27, 0x33, 0x65, 0x55, 0x99, 0x9b,
	0xbb, 0xbb, 0xbb, 0x99, 0x55, 0x0a, 0xa1, 0x86,
	0x81, 0x68, 0x88, 0x55, 0x58, 0x85, 0x9b, 0xbb,
	0xbb, 0xbb, 0x95, 0x88, 0x83, 0x66, 0x66, 0x18,
	0x66, 0x82, 0xa1, 0x66, 0x18, 0x88, 0x62, 0x33,
	0x88, 0x81, 0x27, 0x7a, 0x18, 0x58, 0x86, 0x85,
	0x99, 0x99, 0x99, 0x95, 0x53, 0x2a, 0xaa, 0x88,
	0x67, 0x31, 0x68, 0x55, 0x58, 0x85, 0x59, 0xbb,
	0xbb, 0xb9, 0x58, 0x68, 0x83, 0x66, 0x61, 0x16,
	0x66, 0x62, 0x16, 0x66, 0x68, 0x88, 0x62, 0xaa,
	0x88, 0x86, 0x27, 0x77, 0x78, 0x55, 0x88, 0x22,
	0x25, 0x55, 0x95, 0x55, 0x6a, 0xa2, 0x2a, 0x88,
	0x62, 0x27, 0x37, 0x38, 0x88, 0x87, 0x55, 0x59,
	0x95, 0x58, 0x16, 0x88, 0x8a, 0x66, 0x63, 0x68,
	0x86, 0x67, 0x66, 0x66, 0x68, 0x88, 0x12, 0x11,
	0x88, 0x88, 0x72, 0x77, 0x78, 0x85, 0x58, 0x17,
	0x23, 0x32, 0x55, 0x55, 0x81, 0x13, 0x73, 0x66,
	0x62, 0x7a, 0xaa, 0x38, 0x88, 0x58, 0x27, 0x55,
	0x58, 0x32, 0x38, 0x88, 0x81, 0x66, 0xa2, 0x88,
	0x86, 0x61, 0x66, 0x61, 0x66, 0x68, 0x13, 0x11,
	0x88, 0x88, 0x12, 0x22, 0x71, 0x85, 0x58, 0x62,
	0x23, 0xa2, 0x68, 0x88, 0x81, 0x66, 0x88, 0x88,
	0x63, 0x2a, 0xaa, 0x28, 0x88, 0x55, 0x86, 0x61,
	0x66, 0x66, 0x68, 0x88, 0x66, 0x66, 0x77, 0x88,
	0x68, 0x16, 0x66, 0x62, 0x66, 0x68, 0xa1, 0x61,
	0x88, 0x88, 0x62, 0x22, 0x22, 0x85, 0x55, 0x83,
	0x72, 0x37, 0xa8, 0x88, 0x61, 0x66, 0x85, 0x55,
	0x86, 0x23, 0xaa, 0x71, 0x88, 0x85, 0x88, 0x66,
	0x88, 0x86, 0x88, 0x88, 0x16, 0x61, 0x21, 0x88,
	0x66, 0xa6, 0x86, 0x17, 0x66, 0x66, 0x31, 0x61,
	0x88, 0x88, 0x87, 0x72, 0x22, 0x68, 0x55, 0x86,
	0x77, 0x77, 0x36, 0x88, 0x13, 0x68, 0x85, 0x55,
	0x58, 0x12, 0x73, 0x72, 0x76, 0x88, 0x88, 0x68,
	0x88, 0x88, 0x88, 0x66, 0x36, 0x63, 0x26, 0x86,
	0x86, 0x36, 0x86, 0x11, 0x66, 0x66, 0x76, 0x61,
	0x88, 0x88, 0x81, 0x22, 0x22, 0x38, 0x85, 0x58,
	0x37, 0x22, 0x21, 0x68, 0xa2, 0x31, 0x68, 0x55,
	0x55, 0x81, 0x22, 0x22, 0xa8, 0x88, 0x88, 0x68,
	0x86, 0x88, 0x68, 0x81, 0x36, 0x17, 0x21, 0x68,
	0x86, 0x16, 0x66, 0x26, 0x66, 0x61, 0x36, 0x66,
	0x68, 0x88, 0x86, 0x27, 0x22, 0x28, 0x88, 0x88,
	0x17, 0x72, 0x2a, 0x66, 0xa2, 0x22, 0x36, 0x55,
	0x55, 0x58, 0x37, 0x3a, 0x16, 0x66, 0x66, 0x66,
	0x66, 0x18, 0x88, 0x67, 0x16, 0x12, 0x71, 0x68,
	0x81, 0x68, 0x61, 0x76, 0x66, 0x6a, 0x16, 0x66,
	0x88, 0x88, 0x86, 0x77, 0x22, 0x26, 0x88, 0x88,
	0x13, 0x37, 0x71, 0x66, 0xa2, 0x33, 0x2a, 0x85,
	0x55, 0x55, 0x17, 0x73, 0x16, 0x66, 0x66, 0x68,
	0x63, 0x88, 0x88, 0xa2, 0x66, 0xa2, 0xa6, 0x88,
	0x61, 0x68, 0x6a, 0x76, 0x66, 0x6a, 0x66, 0x6a
};

#endif

#else

extern unsigned char linux_logo_red[];
extern unsigned char linux_logo_green[];
extern unsigned char linux_logo_blue[];
extern unsigned char linux_logo[];
extern unsigned char linux_logo_bw[];
extern unsigned char linux_logo16[];

#endif
";
-------------------------------------------------------------

  reply	other threads:[~2003-05-13 11:15 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-13  3:03 [PATCH] Early init for security modules Chris Wright
2003-05-13  3:07 ` Chris Wright
2003-05-13  3:08 ` Chris Wright
2003-05-13  9:03   ` Russell King
2003-05-13  9:20     ` Documentation/linu-logo-HOWTO.txt cosmos
2003-05-13  9:57       ` Documentation/linu-logo-HOWTO.txt Geert Uytterhoeven
2003-05-13 11:25         ` cosmos [this message]
2003-05-13 13:16       ` Documentation/linu-logo-HOWTO.txt Alan Cox
2003-05-13  3:08 ` [PATCH] Early init for security modules Chris Wright
2003-05-13  3:09 ` Chris Wright
2003-05-13  3:09 ` Chris Wright
2003-05-13  5:56   ` David Mosberger
2003-05-13  3:10 ` Chris Wright
2003-05-13  3:10 ` Chris Wright
2003-05-14  0:10   ` Greg Ungerer
2003-05-13  3:11 ` Chris Wright
2003-05-13  3:12 ` Chris Wright
2003-05-13  3:13 ` Chris Wright
2003-05-13  3:13 ` Chris Wright
2003-05-13  4:45   ` Paul Mackerras
2003-05-13  3:13 ` Chris Wright
2003-05-13  3:14 ` Chris Wright
2003-05-13  3:14 ` Chris Wright
2003-05-13  3:15 ` Chris Wright
2003-05-13  5:03   ` Andi Kleen
2003-05-13  5:20     ` Chris Wright
2003-05-13  5:27       ` Christoph Hellwig
2003-05-20  0:57         ` Chris Wright
2003-05-13  5:28       ` Andi Kleen
2003-05-13  6:16         ` Chris Wright
2003-05-13  6:29           ` Andi Kleen
2003-05-13 18:07 ` Sam Ravnborg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='000e01c31942$b037aac0$871a05d5@carlos' \
    --to=cosmos@wired-net.gr \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).