Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) // SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3)  * Procedures for drawing on the screen early on in the boot process.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5)  * Benjamin Herrenschmidt <benh@kernel.crashing.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) #include <linux/kernel.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) #include <linux/string.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) #include <linux/init.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) #include <linux/console.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) #include <asm/btext.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) #include <asm/oplib.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) #include <asm/io.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) #define NO_SCROLL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) #ifndef NO_SCROLL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) static void scrollscreen(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) static void draw_byte(unsigned char c, long locX, long locY);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) static void draw_byte_32(unsigned char *bits, unsigned int *base, int rb);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) static void draw_byte_16(unsigned char *bits, unsigned int *base, int rb);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) static void draw_byte_8(unsigned char *bits, unsigned int *base, int rb);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) #define __force_data __section(".data")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) static int g_loc_X __force_data;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) static int g_loc_Y __force_data;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) static int g_max_loc_X __force_data;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) static int g_max_loc_Y __force_data;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) static int dispDeviceRowBytes __force_data;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) static int dispDeviceDepth  __force_data;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) static int dispDeviceRect[4] __force_data;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) static unsigned char *dispDeviceBase __force_data;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) #define cmapsz	(16*256)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) static unsigned char vga_font[cmapsz];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) static int __init btext_initialize(phandle node)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 	unsigned int width, height, depth, pitch;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 	unsigned long address = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 	u32 prop;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 	if (prom_getproperty(node, "width", (char *)&width, 4) < 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 		return -EINVAL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 	if (prom_getproperty(node, "height", (char *)&height, 4) < 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 		return -EINVAL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 	if (prom_getproperty(node, "depth", (char *)&depth, 4) < 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 		return -EINVAL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 	pitch = width * ((depth + 7) / 8);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 	if (prom_getproperty(node, "linebytes", (char *)&prop, 4) >= 0 &&
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	    prop != 0xffffffffu)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 		pitch = prop;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 	if (pitch == 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 		pitch = 0x1000;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 	if (prom_getproperty(node, "address", (char *)&prop, 4) >= 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 		address = prop;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	/* FIXME: Add support for PCI reg properties. Right now, only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 	 * reliable on macs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 	 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 	if (address == 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 		return -EINVAL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	g_loc_X = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	g_loc_Y = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 	g_max_loc_X = width / 8;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 	g_max_loc_Y = height / 16;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 	dispDeviceBase = (unsigned char *)address;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 	dispDeviceRowBytes = pitch;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 	dispDeviceDepth = depth == 15 ? 16 : depth;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 	dispDeviceRect[0] = dispDeviceRect[1] = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 	dispDeviceRect[2] = width;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 	dispDeviceRect[3] = height;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 	return 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) /* Calc the base address of a given point (x,y) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) static unsigned char * calc_base(int x, int y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 	unsigned char *base = dispDeviceBase;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 	base += (x + dispDeviceRect[0]) * (dispDeviceDepth >> 3);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 	base += (y + dispDeviceRect[1]) * dispDeviceRowBytes;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 	return base;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) static void btext_clearscreen(void)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 	unsigned int *base	= (unsigned int *)calc_base(0, 0);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 	unsigned long width 	= ((dispDeviceRect[2] - dispDeviceRect[0]) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 					(dispDeviceDepth >> 3)) >> 2;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 	int i,j;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 	for (i=0; i<(dispDeviceRect[3] - dispDeviceRect[1]); i++)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 		unsigned int *ptr = base;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 		for(j=width; j; --j)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 			*(ptr++) = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 		base += (dispDeviceRowBytes >> 2);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) #ifndef NO_SCROLL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) static void scrollscreen(void)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 	unsigned int *src     	= (unsigned int *)calc_base(0,16);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 	unsigned int *dst     	= (unsigned int *)calc_base(0,0);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 	unsigned long width    	= ((dispDeviceRect[2] - dispDeviceRect[0]) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 				   (dispDeviceDepth >> 3)) >> 2;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 	int i,j;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 	for (i=0; i<(dispDeviceRect[3] - dispDeviceRect[1] - 16); i++)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 		unsigned int *src_ptr = src;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 		unsigned int *dst_ptr = dst;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 		for(j=width; j; --j)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 			*(dst_ptr++) = *(src_ptr++);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 		src += (dispDeviceRowBytes >> 2);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 		dst += (dispDeviceRowBytes >> 2);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 	for (i=0; i<16; i++)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 		unsigned int *dst_ptr = dst;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 		for(j=width; j; --j)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 			*(dst_ptr++) = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 		dst += (dispDeviceRowBytes >> 2);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) #endif /* ndef NO_SCROLL */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) static void btext_drawchar(char c)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 	int cline = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) #ifdef NO_SCROLL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 	int x;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 	switch (c) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) 	case '\b':
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 		if (g_loc_X > 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) 			--g_loc_X;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 	case '\t':
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 		g_loc_X = (g_loc_X & -8) + 8;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) 	case '\r':
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) 		g_loc_X = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) 	case '\n':
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 		g_loc_X = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) 		g_loc_Y++;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 		cline = 1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 	default:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) 		draw_byte(c, g_loc_X++, g_loc_Y);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) 	if (g_loc_X >= g_max_loc_X) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 		g_loc_X = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 		g_loc_Y++;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 		cline = 1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) #ifndef NO_SCROLL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 	while (g_loc_Y >= g_max_loc_Y) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) 		scrollscreen();
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) 		g_loc_Y--;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 	/* wrap around from bottom to top of screen so we don't
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) 	   waste time scrolling each line.  -- paulus. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) 	if (g_loc_Y >= g_max_loc_Y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) 		g_loc_Y = 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 	if (cline) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) 		for (x = 0; x < g_max_loc_X; ++x)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) 			draw_byte(' ', x, g_loc_Y);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) static void btext_drawtext(const char *c, unsigned int len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) 	while (len--)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) 		btext_drawchar(*c++);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) static void draw_byte(unsigned char c, long locX, long locY)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) 	unsigned char *base	= calc_base(locX << 3, locY << 4);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) 	unsigned char *font	= &vga_font[((unsigned int)c) * 16];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) 	int rb			= dispDeviceRowBytes;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) 	switch(dispDeviceDepth) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) 	case 24:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) 	case 32:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) 		draw_byte_32(font, (unsigned int *)base, rb);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) 	case 15:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) 	case 16:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) 		draw_byte_16(font, (unsigned int *)base, rb);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) 	case 8:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) 		draw_byte_8(font, (unsigned int *)base, rb);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) 		break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) static unsigned int expand_bits_8[16] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) 	0x00000000,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) 	0x000000ff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) 	0x0000ff00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 	0x0000ffff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) 	0x00ff0000,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) 	0x00ff00ff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) 	0x00ffff00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) 	0x00ffffff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) 	0xff000000,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) 	0xff0000ff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) 	0xff00ff00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) 	0xff00ffff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) 	0xffff0000,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) 	0xffff00ff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) 	0xffffff00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) 	0xffffffff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) static unsigned int expand_bits_16[4] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) 	0x00000000,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) 	0x0000ffff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) 	0xffff0000,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) 	0xffffffff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) static void draw_byte_32(unsigned char *font, unsigned int *base, int rb)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) 	int l, bits;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) 	int fg = 0xFFFFFFFFUL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) 	int bg = 0x00000000UL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) 	for (l = 0; l < 16; ++l)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) 		bits = *font++;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) 		base[0] = (-(bits >> 7) & fg) ^ bg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) 		base[1] = (-((bits >> 6) & 1) & fg) ^ bg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) 		base[2] = (-((bits >> 5) & 1) & fg) ^ bg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) 		base[3] = (-((bits >> 4) & 1) & fg) ^ bg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) 		base[4] = (-((bits >> 3) & 1) & fg) ^ bg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) 		base[5] = (-((bits >> 2) & 1) & fg) ^ bg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) 		base[6] = (-((bits >> 1) & 1) & fg) ^ bg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) 		base[7] = (-(bits & 1) & fg) ^ bg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) 		base = (unsigned int *) ((char *)base + rb);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) static void draw_byte_16(unsigned char *font, unsigned int *base, int rb)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) 	int l, bits;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) 	int fg = 0xFFFFFFFFUL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) 	int bg = 0x00000000UL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) 	unsigned int *eb = (int *)expand_bits_16;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) 	for (l = 0; l < 16; ++l)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) 		bits = *font++;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) 		base[0] = (eb[bits >> 6] & fg) ^ bg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) 		base[1] = (eb[(bits >> 4) & 3] & fg) ^ bg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) 		base[2] = (eb[(bits >> 2) & 3] & fg) ^ bg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) 		base[3] = (eb[bits & 3] & fg) ^ bg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) 		base = (unsigned int *) ((char *)base + rb);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) static void draw_byte_8(unsigned char *font, unsigned int *base, int rb)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) 	int l, bits;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) 	int fg = 0x0F0F0F0FUL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) 	int bg = 0x00000000UL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) 	unsigned int *eb = (int *)expand_bits_8;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) 	for (l = 0; l < 16; ++l)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) 	{
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) 		bits = *font++;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) 		base[0] = (eb[bits >> 4] & fg) ^ bg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) 		base[1] = (eb[bits & 0xf] & fg) ^ bg;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) 		base = (unsigned int *) ((char *)base + rb);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) static void btext_console_write(struct console *con, const char *s,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) 				unsigned int n)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) 	btext_drawtext(s, n);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) static struct console btext_console = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) 	.name	= "btext",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) 	.write	= btext_console_write,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) 	.flags	= CON_PRINTBUFFER | CON_ENABLED | CON_BOOT | CON_ANYTIME,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) 	.index	= 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) int __init btext_find_display(void)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) 	phandle node;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) 	char type[32];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) 	int ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) 	node = prom_inst2pkg(prom_stdout);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) 	if (prom_getproperty(node, "device_type", type, 32) < 0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) 		return -ENODEV;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) 	if (strcmp(type, "display"))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) 		return -ENODEV;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) 	ret = btext_initialize(node);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) 	if (!ret) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) 		btext_clearscreen();
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) 		register_console(&btext_console);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) 	}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) 	return ret;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) static unsigned char vga_font[cmapsz] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x81, 0xa5, 0x81, 0x81, 0xbd,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) 0x99, 0x81, 0x81, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) 0xdb, 0xff, 0xff, 0xc3, 0xe7, 0xff, 0xff, 0x7e, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) 0x00, 0x00, 0x00, 0x00, 0x6c, 0xfe, 0xfe, 0xfe, 0xfe, 0x7c, 0x38, 0x10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x7c, 0xfe,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) 0x7c, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) 0x3c, 0x3c, 0xe7, 0xe7, 0xe7, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) 0x00, 0x00, 0x00, 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x18, 0x18, 0x3c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) 0xff, 0xff, 0xe7, 0xc3, 0xc3, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x42, 0x42, 0x66, 0x3c, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x99, 0xbd,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) 0xbd, 0x99, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x1e, 0x0e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) 0x1a, 0x32, 0x78, 0xcc, 0xcc, 0xcc, 0xcc, 0x78, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x7e, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x33, 0x3f, 0x30, 0x30, 0x30,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) 0x30, 0x70, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x63,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) 0x7f, 0x63, 0x63, 0x63, 0x63, 0x67, 0xe7, 0xe6, 0xc0, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) 0x00, 0x00, 0x00, 0x18, 0x18, 0xdb, 0x3c, 0xe7, 0x3c, 0xdb, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0xf8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x0e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) 0x1e, 0x3e, 0xfe, 0x3e, 0x1e, 0x0e, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) 0x00, 0x00, 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x7e, 0x3c, 0x18, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) 0x66, 0x00, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xdb,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) 0xdb, 0xdb, 0x7b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) 0x00, 0x7c, 0xc6, 0x60, 0x38, 0x6c, 0xc6, 0xc6, 0x6c, 0x38, 0x0c, 0xc6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) 0x7e, 0x18, 0x18, 0x18, 0x7e, 0x3c, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) 0x00, 0x00, 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) 0x18, 0x7e, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) 0x00, 0x18, 0x0c, 0xfe, 0x0c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367) 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x60, 0xfe, 0x60, 0x30, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) 0xc0, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) 0x00, 0x24, 0x66, 0xff, 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x38, 0x7c, 0x7c, 0xfe, 0xfe, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x7c, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) 0x38, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375) 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x3c, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376) 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x24, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378) 0x6c, 0xfe, 0x6c, 0x6c, 0x6c, 0xfe, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) 0x18, 0x18, 0x7c, 0xc6, 0xc2, 0xc0, 0x7c, 0x06, 0x06, 0x86, 0xc6, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380) 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0xc6, 0x0c, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381) 0x30, 0x60, 0xc6, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) 0x6c, 0x38, 0x76, 0xdc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383) 0x00, 0x30, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) 0x30, 0x30, 0x18, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387) 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390) 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393) 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394) 0x02, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395) 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xce, 0xde, 0xf6, 0xe6, 0xc6, 0xc6, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397) 0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398) 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) 0x00, 0x00, 0x7c, 0xc6, 0x06, 0x06, 0x3c, 0x06, 0x06, 0x06, 0xc6, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1c, 0x3c, 0x6c, 0xcc, 0xfe,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) 0x0c, 0x0c, 0x0c, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xc0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) 0xc0, 0xc0, 0xfc, 0x06, 0x06, 0x06, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403) 0x00, 0x00, 0x38, 0x60, 0xc0, 0xc0, 0xfc, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xc6, 0x06, 0x06, 0x0c, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406) 0xc6, 0xc6, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x06, 0x06, 0x0c, 0x78,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409) 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411) 0x00, 0x00, 0x00, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0c, 0x06,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413) 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414) 0x30, 0x18, 0x0c, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0x0c, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xde, 0xde,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) 0xde, 0xdc, 0xc0, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 419) 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x66, 0x66, 0xfc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 420) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0xc2, 0xc0, 0xc0, 0xc0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 421) 0xc0, 0xc2, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x6c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 422) 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6c, 0xf8, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 423) 0x00, 0x00, 0xfe, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xfe,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 424) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x62, 0x68, 0x78, 0x68,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 425) 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 426) 0xc2, 0xc0, 0xc0, 0xde, 0xc6, 0xc6, 0x66, 0x3a, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 427) 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 428) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 429) 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x0c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 430) 0x0c, 0x0c, 0x0c, 0x0c, 0xcc, 0xcc, 0xcc, 0x78, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 431) 0x00, 0x00, 0xe6, 0x66, 0x66, 0x6c, 0x78, 0x78, 0x6c, 0x66, 0x66, 0xe6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 432) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 433) 0x60, 0x62, 0x66, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xe7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 434) 0xff, 0xff, 0xdb, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 435) 0x00, 0x00, 0xc6, 0xe6, 0xf6, 0xfe, 0xde, 0xce, 0xc6, 0xc6, 0xc6, 0xc6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 436) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 437) 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x66,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 438) 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 439) 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xd6, 0xde, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 440) 0x0c, 0x0e, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x6c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 441) 0x66, 0x66, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 442) 0xc6, 0x60, 0x38, 0x0c, 0x06, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 443) 0x00, 0x00, 0xff, 0xdb, 0x99, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 444) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 445) 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 446) 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 447) 0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xdb, 0xdb, 0xff, 0x66, 0x66,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 448) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 449) 0x3c, 0x66, 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 450) 0xc3, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 451) 0x00, 0x00, 0xff, 0xc3, 0x86, 0x0c, 0x18, 0x30, 0x60, 0xc1, 0xc3, 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 452) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x30, 0x30, 0x30, 0x30, 0x30,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 453) 0x30, 0x30, 0x30, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 454) 0xc0, 0xe0, 0x70, 0x38, 0x1c, 0x0e, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 455) 0x00, 0x00, 0x3c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x3c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 456) 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 457) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 458) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 459) 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 460) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0c, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 461) 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x60,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 462) 0x60, 0x78, 0x6c, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 463) 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc0, 0xc0, 0xc0, 0xc6, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 464) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x0c, 0x0c, 0x3c, 0x6c, 0xcc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 465) 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 466) 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 467) 0x00, 0x00, 0x38, 0x6c, 0x64, 0x60, 0xf0, 0x60, 0x60, 0x60, 0x60, 0xf0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 468) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xcc, 0xcc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 469) 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0xcc, 0x78, 0x00, 0x00, 0x00, 0xe0, 0x60,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 470) 0x60, 0x6c, 0x76, 0x66, 0x66, 0x66, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 471) 0x00, 0x00, 0x18, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 472) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x0e, 0x06, 0x06,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 473) 0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0xe0, 0x60,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 474) 0x60, 0x66, 0x6c, 0x78, 0x78, 0x6c, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 475) 0x00, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 476) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe6, 0xff, 0xdb,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 477) 0xdb, 0xdb, 0xdb, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 478) 0x00, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 479) 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 480) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x66, 0x66,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 481) 0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 482) 0x00, 0x76, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0x0c, 0x1e, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 483) 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x76, 0x66, 0x60, 0x60, 0x60, 0xf0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 484) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0x60,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 485) 0x38, 0x0c, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 486) 0x30, 0xfc, 0x30, 0x30, 0x30, 0x30, 0x36, 0x1c, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 487) 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 488) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3, 0xc3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 489) 0xc3, 0x66, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 490) 0x00, 0xc3, 0xc3, 0xc3, 0xdb, 0xdb, 0xff, 0x66, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 491) 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0xc3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 492) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 493) 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x0c, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 494) 0x00, 0xfe, 0xcc, 0x18, 0x30, 0x60, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 495) 0x00, 0x00, 0x0e, 0x18, 0x18, 0x18, 0x70, 0x18, 0x18, 0x18, 0x18, 0x0e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 496) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 497) 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 498) 0x18, 0x18, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x70, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 499) 0x00, 0x00, 0x76, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 500) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 0xc6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 501) 0xc6, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 502) 0xc2, 0xc0, 0xc0, 0xc0, 0xc2, 0x66, 0x3c, 0x0c, 0x06, 0x7c, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 503) 0x00, 0x00, 0xcc, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 504) 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x18, 0x30, 0x00, 0x7c, 0xc6, 0xfe,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 505) 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 506) 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 507) 0x00, 0x00, 0xcc, 0x00, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x76,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 508) 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x00, 0x78, 0x0c, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 509) 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6c, 0x38,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 510) 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 511) 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x60, 0x60, 0x66, 0x3c, 0x0c, 0x06,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 512) 0x3c, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 0x00, 0x7c, 0xc6, 0xfe,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 513) 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 514) 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 515) 0x00, 0x60, 0x30, 0x18, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc0, 0xc6, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 516) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x38, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 517) 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c, 0x66,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 518) 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 519) 0x00, 0x60, 0x30, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 520) 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 521) 0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6c, 0x38, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 522) 0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 523) 0x18, 0x30, 0x60, 0x00, 0xfe, 0x66, 0x60, 0x7c, 0x60, 0x60, 0x66, 0xfe,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 524) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x3b, 0x1b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 525) 0x7e, 0xd8, 0xdc, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x6c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 526) 0xcc, 0xcc, 0xfe, 0xcc, 0xcc, 0xcc, 0xcc, 0xce, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 527) 0x00, 0x10, 0x38, 0x6c, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 528) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x7c, 0xc6, 0xc6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 529) 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 530) 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 531) 0x00, 0x30, 0x78, 0xcc, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 532) 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x00, 0xcc, 0xcc, 0xcc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 533) 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 534) 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x0c, 0x78, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 535) 0x00, 0xc6, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 536) 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 537) 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 538) 0xc3, 0xc0, 0xc0, 0xc0, 0xc3, 0x7e, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 539) 0x00, 0x38, 0x6c, 0x64, 0x60, 0xf0, 0x60, 0x60, 0x60, 0x60, 0xe6, 0xfc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 540) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x66, 0x3c, 0x18, 0xff, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 541) 0xff, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x66, 0x66,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 542) 0x7c, 0x62, 0x66, 0x6f, 0x66, 0x66, 0x66, 0xf3, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 543) 0x00, 0x0e, 0x1b, 0x18, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 544) 0xd8, 0x70, 0x00, 0x00, 0x00, 0x18, 0x30, 0x60, 0x00, 0x78, 0x0c, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 545) 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x18, 0x30,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 546) 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 547) 0x00, 0x18, 0x30, 0x60, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 548) 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x30, 0x60, 0x00, 0xcc, 0xcc, 0xcc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 549) 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xdc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 550) 0x00, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 551) 0x76, 0xdc, 0x00, 0xc6, 0xe6, 0xf6, 0xfe, 0xde, 0xce, 0xc6, 0xc6, 0xc6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 552) 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x6c, 0x6c, 0x3e, 0x00, 0x7e, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 553) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6c, 0x6c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 554) 0x38, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 555) 0x00, 0x00, 0x30, 0x30, 0x00, 0x30, 0x30, 0x60, 0xc0, 0xc6, 0xc6, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 556) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xc0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 557) 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 558) 0x00, 0x00, 0xfe, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 559) 0x00, 0xc0, 0xc0, 0xc2, 0xc6, 0xcc, 0x18, 0x30, 0x60, 0xce, 0x9b, 0x06,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 560) 0x0c, 0x1f, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc2, 0xc6, 0xcc, 0x18, 0x30,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 561) 0x66, 0xce, 0x96, 0x3e, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 562) 0x00, 0x18, 0x18, 0x18, 0x3c, 0x3c, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 563) 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x6c, 0xd8, 0x6c, 0x36, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 564) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0x6c, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 565) 0x6c, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x44, 0x11, 0x44,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 566) 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 567) 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 568) 0x55, 0xaa, 0x55, 0xaa, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 569) 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 570) 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 571) 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 572) 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0xf8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 573) 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x36, 0x36, 0x36, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 574) 0x36, 0x36, 0x36, 0xf6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 575) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x36, 0x36, 0x36, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 576) 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x18, 0xf8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 577) 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x36, 0x36, 0x36, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 578) 0x36, 0xf6, 0x06, 0xf6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 579) 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 580) 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x06, 0xf6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 581) 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 582) 0x36, 0xf6, 0x06, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 583) 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xfe, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 584) 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0xf8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 585) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 586) 0x00, 0x00, 0x00, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 587) 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 588) 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 589) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 590) 0x00, 0x00, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 591) 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 592) 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 593) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 594) 0x18, 0x18, 0x18, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 595) 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 596) 0x18, 0x18, 0x18, 0x18, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x37,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 597) 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 598) 0x36, 0x37, 0x30, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 599) 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x30, 0x37, 0x36, 0x36, 0x36, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 600) 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xf7, 0x00, 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 601) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 602) 0x00, 0xff, 0x00, 0xf7, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 603) 0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x30, 0x37, 0x36, 0x36, 0x36, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 604) 0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 605) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x36, 0x36, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 606) 0x36, 0xf7, 0x00, 0xf7, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 607) 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 608) 0x00, 0x00, 0x00, 0x00, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 609) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 610) 0x00, 0xff, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 611) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x36, 0x36, 0x36, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 612) 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x3f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 613) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 614) 0x18, 0x1f, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 615) 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 616) 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 617) 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 618) 0x36, 0x36, 0x36, 0xff, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 619) 0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0x18, 0xff, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 620) 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 621) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 622) 0x00, 0x00, 0x00, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 623) 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 624) 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 625) 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 626) 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 627) 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 628) 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 629) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 630) 0x00, 0x76, 0xdc, 0xd8, 0xd8, 0xd8, 0xdc, 0x76, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 631) 0x00, 0x00, 0x78, 0xcc, 0xcc, 0xcc, 0xd8, 0xcc, 0xc6, 0xc6, 0xc6, 0xcc,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 632) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xc6, 0xc6, 0xc0, 0xc0, 0xc0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 633) 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 634) 0xfe, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 635) 0x00, 0x00, 0x00, 0xfe, 0xc6, 0x60, 0x30, 0x18, 0x30, 0x60, 0xc6, 0xfe,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 636) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xd8, 0xd8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 637) 0xd8, 0xd8, 0xd8, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 638) 0x66, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xc0, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 639) 0x00, 0x00, 0x00, 0x00, 0x76, 0xdc, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 640) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x18, 0x3c, 0x66, 0x66,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 641) 0x66, 0x3c, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 642) 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0x6c, 0x38, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 643) 0x00, 0x00, 0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0x6c, 0x6c, 0x6c, 0x6c, 0xee,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 644) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x30, 0x18, 0x0c, 0x3e, 0x66,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 645) 0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 646) 0x00, 0x7e, 0xdb, 0xdb, 0xdb, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 647) 0x00, 0x00, 0x00, 0x03, 0x06, 0x7e, 0xdb, 0xdb, 0xf3, 0x7e, 0x60, 0xc0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 648) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x30, 0x60, 0x60, 0x7c, 0x60,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 649) 0x60, 0x60, 0x30, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 650) 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 651) 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0xfe, 0x00, 0x00, 0xfe, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 652) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 653) 0x18, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 654) 0x18, 0x0c, 0x06, 0x0c, 0x18, 0x30, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 655) 0x00, 0x00, 0x00, 0x0c, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0c, 0x00, 0x7e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 656) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x1b, 0x1b, 0x1b, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 657) 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 658) 0x18, 0x18, 0x18, 0x18, 0xd8, 0xd8, 0xd8, 0x70, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 659) 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x7e, 0x00, 0x18, 0x18, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 660) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xdc, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 661) 0x76, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6c, 0x6c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 662) 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 663) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 664) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 665) 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0c, 0x0c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 666) 0x0c, 0x0c, 0x0c, 0xec, 0x6c, 0x6c, 0x3c, 0x1c, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 667) 0x00, 0xd8, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 668) 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xd8, 0x30, 0x60, 0xc8, 0xf8, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 669) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 670) 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 671) 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 672) 0x00, 0x00, 0x00, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 673) };