xref: /kernel/linux/linux-6.6/arch/sparc/kernel/btext.c (revision 62306a36)
162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Procedures for drawing on the screen early on in the boot process.
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Benjamin Herrenschmidt <benh@kernel.crashing.org>
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci#include <linux/kernel.h>
862306a36Sopenharmony_ci#include <linux/string.h>
962306a36Sopenharmony_ci#include <linux/init.h>
1062306a36Sopenharmony_ci#include <linux/console.h>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#include <asm/btext.h>
1362306a36Sopenharmony_ci#include <asm/oplib.h>
1462306a36Sopenharmony_ci#include <asm/io.h>
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#define NO_SCROLL
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci#ifndef NO_SCROLL
1962306a36Sopenharmony_cistatic void scrollscreen(void);
2062306a36Sopenharmony_ci#endif
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_cistatic void draw_byte(unsigned char c, long locX, long locY);
2362306a36Sopenharmony_cistatic void draw_byte_32(unsigned char *bits, unsigned int *base, int rb);
2462306a36Sopenharmony_cistatic void draw_byte_16(unsigned char *bits, unsigned int *base, int rb);
2562306a36Sopenharmony_cistatic void draw_byte_8(unsigned char *bits, unsigned int *base, int rb);
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci#define __force_data __section(".data")
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_cistatic int g_loc_X __force_data;
3062306a36Sopenharmony_cistatic int g_loc_Y __force_data;
3162306a36Sopenharmony_cistatic int g_max_loc_X __force_data;
3262306a36Sopenharmony_cistatic int g_max_loc_Y __force_data;
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_cistatic int dispDeviceRowBytes __force_data;
3562306a36Sopenharmony_cistatic int dispDeviceDepth  __force_data;
3662306a36Sopenharmony_cistatic int dispDeviceRect[4] __force_data;
3762306a36Sopenharmony_cistatic unsigned char *dispDeviceBase __force_data;
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci#define cmapsz	(16*256)
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_cistatic unsigned char vga_font[cmapsz];
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_cistatic int __init btext_initialize(phandle node)
4462306a36Sopenharmony_ci{
4562306a36Sopenharmony_ci	unsigned int width, height, depth, pitch;
4662306a36Sopenharmony_ci	unsigned long address = 0;
4762306a36Sopenharmony_ci	u32 prop;
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci	if (prom_getproperty(node, "width", (char *)&width, 4) < 0)
5062306a36Sopenharmony_ci		return -EINVAL;
5162306a36Sopenharmony_ci	if (prom_getproperty(node, "height", (char *)&height, 4) < 0)
5262306a36Sopenharmony_ci		return -EINVAL;
5362306a36Sopenharmony_ci	if (prom_getproperty(node, "depth", (char *)&depth, 4) < 0)
5462306a36Sopenharmony_ci		return -EINVAL;
5562306a36Sopenharmony_ci	pitch = width * ((depth + 7) / 8);
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	if (prom_getproperty(node, "linebytes", (char *)&prop, 4) >= 0 &&
5862306a36Sopenharmony_ci	    prop != 0xffffffffu)
5962306a36Sopenharmony_ci		pitch = prop;
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci	if (pitch == 1)
6262306a36Sopenharmony_ci		pitch = 0x1000;
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci	if (prom_getproperty(node, "address", (char *)&prop, 4) >= 0)
6562306a36Sopenharmony_ci		address = prop;
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci	/* FIXME: Add support for PCI reg properties. Right now, only
6862306a36Sopenharmony_ci	 * reliable on macs
6962306a36Sopenharmony_ci	 */
7062306a36Sopenharmony_ci	if (address == 0)
7162306a36Sopenharmony_ci		return -EINVAL;
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci	g_loc_X = 0;
7462306a36Sopenharmony_ci	g_loc_Y = 0;
7562306a36Sopenharmony_ci	g_max_loc_X = width / 8;
7662306a36Sopenharmony_ci	g_max_loc_Y = height / 16;
7762306a36Sopenharmony_ci	dispDeviceBase = (unsigned char *)address;
7862306a36Sopenharmony_ci	dispDeviceRowBytes = pitch;
7962306a36Sopenharmony_ci	dispDeviceDepth = depth == 15 ? 16 : depth;
8062306a36Sopenharmony_ci	dispDeviceRect[0] = dispDeviceRect[1] = 0;
8162306a36Sopenharmony_ci	dispDeviceRect[2] = width;
8262306a36Sopenharmony_ci	dispDeviceRect[3] = height;
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci	return 0;
8562306a36Sopenharmony_ci}
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci/* Calc the base address of a given point (x,y) */
8862306a36Sopenharmony_cistatic unsigned char * calc_base(int x, int y)
8962306a36Sopenharmony_ci{
9062306a36Sopenharmony_ci	unsigned char *base = dispDeviceBase;
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci	base += (x + dispDeviceRect[0]) * (dispDeviceDepth >> 3);
9362306a36Sopenharmony_ci	base += (y + dispDeviceRect[1]) * dispDeviceRowBytes;
9462306a36Sopenharmony_ci	return base;
9562306a36Sopenharmony_ci}
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_cistatic void btext_clearscreen(void)
9862306a36Sopenharmony_ci{
9962306a36Sopenharmony_ci	unsigned int *base	= (unsigned int *)calc_base(0, 0);
10062306a36Sopenharmony_ci	unsigned long width 	= ((dispDeviceRect[2] - dispDeviceRect[0]) *
10162306a36Sopenharmony_ci					(dispDeviceDepth >> 3)) >> 2;
10262306a36Sopenharmony_ci	int i,j;
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci	for (i=0; i<(dispDeviceRect[3] - dispDeviceRect[1]); i++)
10562306a36Sopenharmony_ci	{
10662306a36Sopenharmony_ci		unsigned int *ptr = base;
10762306a36Sopenharmony_ci		for(j=width; j; --j)
10862306a36Sopenharmony_ci			*(ptr++) = 0;
10962306a36Sopenharmony_ci		base += (dispDeviceRowBytes >> 2);
11062306a36Sopenharmony_ci	}
11162306a36Sopenharmony_ci}
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci#ifndef NO_SCROLL
11462306a36Sopenharmony_cistatic void scrollscreen(void)
11562306a36Sopenharmony_ci{
11662306a36Sopenharmony_ci	unsigned int *src     	= (unsigned int *)calc_base(0,16);
11762306a36Sopenharmony_ci	unsigned int *dst     	= (unsigned int *)calc_base(0,0);
11862306a36Sopenharmony_ci	unsigned long width    	= ((dispDeviceRect[2] - dispDeviceRect[0]) *
11962306a36Sopenharmony_ci				   (dispDeviceDepth >> 3)) >> 2;
12062306a36Sopenharmony_ci	int i,j;
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci	for (i=0; i<(dispDeviceRect[3] - dispDeviceRect[1] - 16); i++)
12362306a36Sopenharmony_ci	{
12462306a36Sopenharmony_ci		unsigned int *src_ptr = src;
12562306a36Sopenharmony_ci		unsigned int *dst_ptr = dst;
12662306a36Sopenharmony_ci		for(j=width; j; --j)
12762306a36Sopenharmony_ci			*(dst_ptr++) = *(src_ptr++);
12862306a36Sopenharmony_ci		src += (dispDeviceRowBytes >> 2);
12962306a36Sopenharmony_ci		dst += (dispDeviceRowBytes >> 2);
13062306a36Sopenharmony_ci	}
13162306a36Sopenharmony_ci	for (i=0; i<16; i++)
13262306a36Sopenharmony_ci	{
13362306a36Sopenharmony_ci		unsigned int *dst_ptr = dst;
13462306a36Sopenharmony_ci		for(j=width; j; --j)
13562306a36Sopenharmony_ci			*(dst_ptr++) = 0;
13662306a36Sopenharmony_ci		dst += (dispDeviceRowBytes >> 2);
13762306a36Sopenharmony_ci	}
13862306a36Sopenharmony_ci}
13962306a36Sopenharmony_ci#endif /* ndef NO_SCROLL */
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_cistatic void btext_drawchar(char c)
14262306a36Sopenharmony_ci{
14362306a36Sopenharmony_ci	int cline = 0;
14462306a36Sopenharmony_ci#ifdef NO_SCROLL
14562306a36Sopenharmony_ci	int x;
14662306a36Sopenharmony_ci#endif
14762306a36Sopenharmony_ci	switch (c) {
14862306a36Sopenharmony_ci	case '\b':
14962306a36Sopenharmony_ci		if (g_loc_X > 0)
15062306a36Sopenharmony_ci			--g_loc_X;
15162306a36Sopenharmony_ci		break;
15262306a36Sopenharmony_ci	case '\t':
15362306a36Sopenharmony_ci		g_loc_X = (g_loc_X & -8) + 8;
15462306a36Sopenharmony_ci		break;
15562306a36Sopenharmony_ci	case '\r':
15662306a36Sopenharmony_ci		g_loc_X = 0;
15762306a36Sopenharmony_ci		break;
15862306a36Sopenharmony_ci	case '\n':
15962306a36Sopenharmony_ci		g_loc_X = 0;
16062306a36Sopenharmony_ci		g_loc_Y++;
16162306a36Sopenharmony_ci		cline = 1;
16262306a36Sopenharmony_ci		break;
16362306a36Sopenharmony_ci	default:
16462306a36Sopenharmony_ci		draw_byte(c, g_loc_X++, g_loc_Y);
16562306a36Sopenharmony_ci	}
16662306a36Sopenharmony_ci	if (g_loc_X >= g_max_loc_X) {
16762306a36Sopenharmony_ci		g_loc_X = 0;
16862306a36Sopenharmony_ci		g_loc_Y++;
16962306a36Sopenharmony_ci		cline = 1;
17062306a36Sopenharmony_ci	}
17162306a36Sopenharmony_ci#ifndef NO_SCROLL
17262306a36Sopenharmony_ci	while (g_loc_Y >= g_max_loc_Y) {
17362306a36Sopenharmony_ci		scrollscreen();
17462306a36Sopenharmony_ci		g_loc_Y--;
17562306a36Sopenharmony_ci	}
17662306a36Sopenharmony_ci#else
17762306a36Sopenharmony_ci	/* wrap around from bottom to top of screen so we don't
17862306a36Sopenharmony_ci	   waste time scrolling each line.  -- paulus. */
17962306a36Sopenharmony_ci	if (g_loc_Y >= g_max_loc_Y)
18062306a36Sopenharmony_ci		g_loc_Y = 0;
18162306a36Sopenharmony_ci	if (cline) {
18262306a36Sopenharmony_ci		for (x = 0; x < g_max_loc_X; ++x)
18362306a36Sopenharmony_ci			draw_byte(' ', x, g_loc_Y);
18462306a36Sopenharmony_ci	}
18562306a36Sopenharmony_ci#endif
18662306a36Sopenharmony_ci}
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_cistatic void btext_drawtext(const char *c, unsigned int len)
18962306a36Sopenharmony_ci{
19062306a36Sopenharmony_ci	while (len--)
19162306a36Sopenharmony_ci		btext_drawchar(*c++);
19262306a36Sopenharmony_ci}
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_cistatic void draw_byte(unsigned char c, long locX, long locY)
19562306a36Sopenharmony_ci{
19662306a36Sopenharmony_ci	unsigned char *base	= calc_base(locX << 3, locY << 4);
19762306a36Sopenharmony_ci	unsigned char *font	= &vga_font[((unsigned int)c) * 16];
19862306a36Sopenharmony_ci	int rb			= dispDeviceRowBytes;
19962306a36Sopenharmony_ci
20062306a36Sopenharmony_ci	switch(dispDeviceDepth) {
20162306a36Sopenharmony_ci	case 24:
20262306a36Sopenharmony_ci	case 32:
20362306a36Sopenharmony_ci		draw_byte_32(font, (unsigned int *)base, rb);
20462306a36Sopenharmony_ci		break;
20562306a36Sopenharmony_ci	case 15:
20662306a36Sopenharmony_ci	case 16:
20762306a36Sopenharmony_ci		draw_byte_16(font, (unsigned int *)base, rb);
20862306a36Sopenharmony_ci		break;
20962306a36Sopenharmony_ci	case 8:
21062306a36Sopenharmony_ci		draw_byte_8(font, (unsigned int *)base, rb);
21162306a36Sopenharmony_ci		break;
21262306a36Sopenharmony_ci	}
21362306a36Sopenharmony_ci}
21462306a36Sopenharmony_ci
21562306a36Sopenharmony_cistatic unsigned int expand_bits_8[16] = {
21662306a36Sopenharmony_ci	0x00000000,
21762306a36Sopenharmony_ci	0x000000ff,
21862306a36Sopenharmony_ci	0x0000ff00,
21962306a36Sopenharmony_ci	0x0000ffff,
22062306a36Sopenharmony_ci	0x00ff0000,
22162306a36Sopenharmony_ci	0x00ff00ff,
22262306a36Sopenharmony_ci	0x00ffff00,
22362306a36Sopenharmony_ci	0x00ffffff,
22462306a36Sopenharmony_ci	0xff000000,
22562306a36Sopenharmony_ci	0xff0000ff,
22662306a36Sopenharmony_ci	0xff00ff00,
22762306a36Sopenharmony_ci	0xff00ffff,
22862306a36Sopenharmony_ci	0xffff0000,
22962306a36Sopenharmony_ci	0xffff00ff,
23062306a36Sopenharmony_ci	0xffffff00,
23162306a36Sopenharmony_ci	0xffffffff
23262306a36Sopenharmony_ci};
23362306a36Sopenharmony_ci
23462306a36Sopenharmony_cistatic unsigned int expand_bits_16[4] = {
23562306a36Sopenharmony_ci	0x00000000,
23662306a36Sopenharmony_ci	0x0000ffff,
23762306a36Sopenharmony_ci	0xffff0000,
23862306a36Sopenharmony_ci	0xffffffff
23962306a36Sopenharmony_ci};
24062306a36Sopenharmony_ci
24162306a36Sopenharmony_ci
24262306a36Sopenharmony_cistatic void draw_byte_32(unsigned char *font, unsigned int *base, int rb)
24362306a36Sopenharmony_ci{
24462306a36Sopenharmony_ci	int l, bits;
24562306a36Sopenharmony_ci	int fg = 0xFFFFFFFFUL;
24662306a36Sopenharmony_ci	int bg = 0x00000000UL;
24762306a36Sopenharmony_ci
24862306a36Sopenharmony_ci	for (l = 0; l < 16; ++l)
24962306a36Sopenharmony_ci	{
25062306a36Sopenharmony_ci		bits = *font++;
25162306a36Sopenharmony_ci		base[0] = (-(bits >> 7) & fg) ^ bg;
25262306a36Sopenharmony_ci		base[1] = (-((bits >> 6) & 1) & fg) ^ bg;
25362306a36Sopenharmony_ci		base[2] = (-((bits >> 5) & 1) & fg) ^ bg;
25462306a36Sopenharmony_ci		base[3] = (-((bits >> 4) & 1) & fg) ^ bg;
25562306a36Sopenharmony_ci		base[4] = (-((bits >> 3) & 1) & fg) ^ bg;
25662306a36Sopenharmony_ci		base[5] = (-((bits >> 2) & 1) & fg) ^ bg;
25762306a36Sopenharmony_ci		base[6] = (-((bits >> 1) & 1) & fg) ^ bg;
25862306a36Sopenharmony_ci		base[7] = (-(bits & 1) & fg) ^ bg;
25962306a36Sopenharmony_ci		base = (unsigned int *) ((char *)base + rb);
26062306a36Sopenharmony_ci	}
26162306a36Sopenharmony_ci}
26262306a36Sopenharmony_ci
26362306a36Sopenharmony_cistatic void draw_byte_16(unsigned char *font, unsigned int *base, int rb)
26462306a36Sopenharmony_ci{
26562306a36Sopenharmony_ci	int l, bits;
26662306a36Sopenharmony_ci	int fg = 0xFFFFFFFFUL;
26762306a36Sopenharmony_ci	int bg = 0x00000000UL;
26862306a36Sopenharmony_ci	unsigned int *eb = (int *)expand_bits_16;
26962306a36Sopenharmony_ci
27062306a36Sopenharmony_ci	for (l = 0; l < 16; ++l)
27162306a36Sopenharmony_ci	{
27262306a36Sopenharmony_ci		bits = *font++;
27362306a36Sopenharmony_ci		base[0] = (eb[bits >> 6] & fg) ^ bg;
27462306a36Sopenharmony_ci		base[1] = (eb[(bits >> 4) & 3] & fg) ^ bg;
27562306a36Sopenharmony_ci		base[2] = (eb[(bits >> 2) & 3] & fg) ^ bg;
27662306a36Sopenharmony_ci		base[3] = (eb[bits & 3] & fg) ^ bg;
27762306a36Sopenharmony_ci		base = (unsigned int *) ((char *)base + rb);
27862306a36Sopenharmony_ci	}
27962306a36Sopenharmony_ci}
28062306a36Sopenharmony_ci
28162306a36Sopenharmony_cistatic void draw_byte_8(unsigned char *font, unsigned int *base, int rb)
28262306a36Sopenharmony_ci{
28362306a36Sopenharmony_ci	int l, bits;
28462306a36Sopenharmony_ci	int fg = 0x0F0F0F0FUL;
28562306a36Sopenharmony_ci	int bg = 0x00000000UL;
28662306a36Sopenharmony_ci	unsigned int *eb = (int *)expand_bits_8;
28762306a36Sopenharmony_ci
28862306a36Sopenharmony_ci	for (l = 0; l < 16; ++l)
28962306a36Sopenharmony_ci	{
29062306a36Sopenharmony_ci		bits = *font++;
29162306a36Sopenharmony_ci		base[0] = (eb[bits >> 4] & fg) ^ bg;
29262306a36Sopenharmony_ci		base[1] = (eb[bits & 0xf] & fg) ^ bg;
29362306a36Sopenharmony_ci		base = (unsigned int *) ((char *)base + rb);
29462306a36Sopenharmony_ci	}
29562306a36Sopenharmony_ci}
29662306a36Sopenharmony_ci
29762306a36Sopenharmony_cistatic void btext_console_write(struct console *con, const char *s,
29862306a36Sopenharmony_ci				unsigned int n)
29962306a36Sopenharmony_ci{
30062306a36Sopenharmony_ci	btext_drawtext(s, n);
30162306a36Sopenharmony_ci}
30262306a36Sopenharmony_ci
30362306a36Sopenharmony_cistatic struct console btext_console = {
30462306a36Sopenharmony_ci	.name	= "btext",
30562306a36Sopenharmony_ci	.write	= btext_console_write,
30662306a36Sopenharmony_ci	.flags	= CON_PRINTBUFFER | CON_ENABLED | CON_BOOT | CON_ANYTIME,
30762306a36Sopenharmony_ci	.index	= 0,
30862306a36Sopenharmony_ci};
30962306a36Sopenharmony_ci
31062306a36Sopenharmony_ciint __init btext_find_display(void)
31162306a36Sopenharmony_ci{
31262306a36Sopenharmony_ci	phandle node;
31362306a36Sopenharmony_ci	char type[32];
31462306a36Sopenharmony_ci	int ret;
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ci	node = prom_inst2pkg(prom_stdout);
31762306a36Sopenharmony_ci	if (prom_getproperty(node, "device_type", type, 32) < 0)
31862306a36Sopenharmony_ci		return -ENODEV;
31962306a36Sopenharmony_ci	if (strcmp(type, "display"))
32062306a36Sopenharmony_ci		return -ENODEV;
32162306a36Sopenharmony_ci
32262306a36Sopenharmony_ci	ret = btext_initialize(node);
32362306a36Sopenharmony_ci	if (!ret) {
32462306a36Sopenharmony_ci		btext_clearscreen();
32562306a36Sopenharmony_ci		register_console(&btext_console);
32662306a36Sopenharmony_ci	}
32762306a36Sopenharmony_ci	return ret;
32862306a36Sopenharmony_ci}
32962306a36Sopenharmony_ci
33062306a36Sopenharmony_cistatic unsigned char vga_font[cmapsz] = {
33162306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
33262306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x81, 0xa5, 0x81, 0x81, 0xbd,
33362306a36Sopenharmony_ci0x99, 0x81, 0x81, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xff,
33462306a36Sopenharmony_ci0xdb, 0xff, 0xff, 0xc3, 0xe7, 0xff, 0xff, 0x7e, 0x00, 0x00, 0x00, 0x00,
33562306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x6c, 0xfe, 0xfe, 0xfe, 0xfe, 0x7c, 0x38, 0x10,
33662306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x7c, 0xfe,
33762306a36Sopenharmony_ci0x7c, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18,
33862306a36Sopenharmony_ci0x3c, 0x3c, 0xe7, 0xe7, 0xe7, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
33962306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x7e, 0x18, 0x18, 0x3c,
34062306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c,
34162306a36Sopenharmony_ci0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
34262306a36Sopenharmony_ci0xff, 0xff, 0xe7, 0xc3, 0xc3, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
34362306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x42, 0x42, 0x66, 0x3c, 0x00,
34462306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x99, 0xbd,
34562306a36Sopenharmony_ci0xbd, 0x99, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x1e, 0x0e,
34662306a36Sopenharmony_ci0x1a, 0x32, 0x78, 0xcc, 0xcc, 0xcc, 0xcc, 0x78, 0x00, 0x00, 0x00, 0x00,
34762306a36Sopenharmony_ci0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18, 0x7e, 0x18, 0x18,
34862306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x33, 0x3f, 0x30, 0x30, 0x30,
34962306a36Sopenharmony_ci0x30, 0x70, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x63,
35062306a36Sopenharmony_ci0x7f, 0x63, 0x63, 0x63, 0x63, 0x67, 0xe7, 0xe6, 0xc0, 0x00, 0x00, 0x00,
35162306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x18, 0x18, 0xdb, 0x3c, 0xe7, 0x3c, 0xdb, 0x18, 0x18,
35262306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfe, 0xf8,
35362306a36Sopenharmony_ci0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x0e,
35462306a36Sopenharmony_ci0x1e, 0x3e, 0xfe, 0x3e, 0x1e, 0x0e, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00,
35562306a36Sopenharmony_ci0x00, 0x00, 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x7e, 0x3c, 0x18, 0x00,
35662306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
35762306a36Sopenharmony_ci0x66, 0x00, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xdb,
35862306a36Sopenharmony_ci0xdb, 0xdb, 0x7b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x00, 0x00, 0x00, 0x00,
35962306a36Sopenharmony_ci0x00, 0x7c, 0xc6, 0x60, 0x38, 0x6c, 0xc6, 0xc6, 0x6c, 0x38, 0x0c, 0xc6,
36062306a36Sopenharmony_ci0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
36162306a36Sopenharmony_ci0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c,
36262306a36Sopenharmony_ci0x7e, 0x18, 0x18, 0x18, 0x7e, 0x3c, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00,
36362306a36Sopenharmony_ci0x00, 0x00, 0x18, 0x3c, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
36462306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
36562306a36Sopenharmony_ci0x18, 0x7e, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
36662306a36Sopenharmony_ci0x00, 0x18, 0x0c, 0xfe, 0x0c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
36762306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x60, 0xfe, 0x60, 0x30, 0x00, 0x00,
36862306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0,
36962306a36Sopenharmony_ci0xc0, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
37062306a36Sopenharmony_ci0x00, 0x24, 0x66, 0xff, 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
37162306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x38, 0x7c, 0x7c, 0xfe, 0xfe, 0x00,
37262306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x7c, 0x7c,
37362306a36Sopenharmony_ci0x38, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
37462306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
37562306a36Sopenharmony_ci0x00, 0x00, 0x18, 0x3c, 0x3c, 0x3c, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18,
37662306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x24, 0x00, 0x00, 0x00,
37762306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c,
37862306a36Sopenharmony_ci0x6c, 0xfe, 0x6c, 0x6c, 0x6c, 0xfe, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00,
37962306a36Sopenharmony_ci0x18, 0x18, 0x7c, 0xc6, 0xc2, 0xc0, 0x7c, 0x06, 0x06, 0x86, 0xc6, 0x7c,
38062306a36Sopenharmony_ci0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc2, 0xc6, 0x0c, 0x18,
38162306a36Sopenharmony_ci0x30, 0x60, 0xc6, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6c,
38262306a36Sopenharmony_ci0x6c, 0x38, 0x76, 0xdc, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
38362306a36Sopenharmony_ci0x00, 0x30, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
38462306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30,
38562306a36Sopenharmony_ci0x30, 0x30, 0x18, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x18,
38662306a36Sopenharmony_ci0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00,
38762306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3c, 0xff, 0x3c, 0x66, 0x00, 0x00,
38862306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e,
38962306a36Sopenharmony_ci0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
39062306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00,
39162306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
39262306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
39362306a36Sopenharmony_ci0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
39462306a36Sopenharmony_ci0x02, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00,
39562306a36Sopenharmony_ci0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xce, 0xde, 0xf6, 0xe6, 0xc6, 0xc6, 0x7c,
39662306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18,
39762306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6,
39862306a36Sopenharmony_ci0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00,
39962306a36Sopenharmony_ci0x00, 0x00, 0x7c, 0xc6, 0x06, 0x06, 0x3c, 0x06, 0x06, 0x06, 0xc6, 0x7c,
40062306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1c, 0x3c, 0x6c, 0xcc, 0xfe,
40162306a36Sopenharmony_ci0x0c, 0x0c, 0x0c, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xc0,
40262306a36Sopenharmony_ci0xc0, 0xc0, 0xfc, 0x06, 0x06, 0x06, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
40362306a36Sopenharmony_ci0x00, 0x00, 0x38, 0x60, 0xc0, 0xc0, 0xfc, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c,
40462306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xc6, 0x06, 0x06, 0x0c, 0x18,
40562306a36Sopenharmony_ci0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6,
40662306a36Sopenharmony_ci0xc6, 0xc6, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
40762306a36Sopenharmony_ci0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x06, 0x06, 0x0c, 0x78,
40862306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
40962306a36Sopenharmony_ci0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
41062306a36Sopenharmony_ci0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00,
41162306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0c, 0x06,
41262306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00,
41362306a36Sopenharmony_ci0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
41462306a36Sopenharmony_ci0x30, 0x18, 0x0c, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00,
41562306a36Sopenharmony_ci0x00, 0x00, 0x7c, 0xc6, 0xc6, 0x0c, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18,
41662306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xde, 0xde,
41762306a36Sopenharmony_ci0xde, 0xdc, 0xc0, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38,
41862306a36Sopenharmony_ci0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
41962306a36Sopenharmony_ci0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x66, 0x66, 0xfc,
42062306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0xc2, 0xc0, 0xc0, 0xc0,
42162306a36Sopenharmony_ci0xc0, 0xc2, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x6c,
42262306a36Sopenharmony_ci0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6c, 0xf8, 0x00, 0x00, 0x00, 0x00,
42362306a36Sopenharmony_ci0x00, 0x00, 0xfe, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xfe,
42462306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x66, 0x62, 0x68, 0x78, 0x68,
42562306a36Sopenharmony_ci0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66,
42662306a36Sopenharmony_ci0xc2, 0xc0, 0xc0, 0xde, 0xc6, 0xc6, 0x66, 0x3a, 0x00, 0x00, 0x00, 0x00,
42762306a36Sopenharmony_ci0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
42862306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18,
42962306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x0c,
43062306a36Sopenharmony_ci0x0c, 0x0c, 0x0c, 0x0c, 0xcc, 0xcc, 0xcc, 0x78, 0x00, 0x00, 0x00, 0x00,
43162306a36Sopenharmony_ci0x00, 0x00, 0xe6, 0x66, 0x66, 0x6c, 0x78, 0x78, 0x6c, 0x66, 0x66, 0xe6,
43262306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60,
43362306a36Sopenharmony_ci0x60, 0x62, 0x66, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xe7,
43462306a36Sopenharmony_ci0xff, 0xff, 0xdb, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00,
43562306a36Sopenharmony_ci0x00, 0x00, 0xc6, 0xe6, 0xf6, 0xfe, 0xde, 0xce, 0xc6, 0xc6, 0xc6, 0xc6,
43662306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
43762306a36Sopenharmony_ci0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x66,
43862306a36Sopenharmony_ci0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
43962306a36Sopenharmony_ci0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xd6, 0xde, 0x7c,
44062306a36Sopenharmony_ci0x0c, 0x0e, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x6c,
44162306a36Sopenharmony_ci0x66, 0x66, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6,
44262306a36Sopenharmony_ci0xc6, 0x60, 0x38, 0x0c, 0x06, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
44362306a36Sopenharmony_ci0x00, 0x00, 0xff, 0xdb, 0x99, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c,
44462306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
44562306a36Sopenharmony_ci0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3,
44662306a36Sopenharmony_ci0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00,
44762306a36Sopenharmony_ci0x00, 0x00, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xdb, 0xdb, 0xff, 0x66, 0x66,
44862306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3, 0x66, 0x3c, 0x18, 0x18,
44962306a36Sopenharmony_ci0x3c, 0x66, 0xc3, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3,
45062306a36Sopenharmony_ci0xc3, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
45162306a36Sopenharmony_ci0x00, 0x00, 0xff, 0xc3, 0x86, 0x0c, 0x18, 0x30, 0x60, 0xc1, 0xc3, 0xff,
45262306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x30, 0x30, 0x30, 0x30, 0x30,
45362306a36Sopenharmony_ci0x30, 0x30, 0x30, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
45462306a36Sopenharmony_ci0xc0, 0xe0, 0x70, 0x38, 0x1c, 0x0e, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00,
45562306a36Sopenharmony_ci0x00, 0x00, 0x3c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x3c,
45662306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0x00,
45762306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
45862306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00,
45962306a36Sopenharmony_ci0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
46062306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0c, 0x7c,
46162306a36Sopenharmony_ci0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x60,
46262306a36Sopenharmony_ci0x60, 0x78, 0x6c, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x00, 0x00,
46362306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc0, 0xc0, 0xc0, 0xc6, 0x7c,
46462306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x0c, 0x0c, 0x3c, 0x6c, 0xcc,
46562306a36Sopenharmony_ci0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
46662306a36Sopenharmony_ci0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
46762306a36Sopenharmony_ci0x00, 0x00, 0x38, 0x6c, 0x64, 0x60, 0xf0, 0x60, 0x60, 0x60, 0x60, 0xf0,
46862306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xcc, 0xcc,
46962306a36Sopenharmony_ci0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0xcc, 0x78, 0x00, 0x00, 0x00, 0xe0, 0x60,
47062306a36Sopenharmony_ci0x60, 0x6c, 0x76, 0x66, 0x66, 0x66, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00,
47162306a36Sopenharmony_ci0x00, 0x00, 0x18, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c,
47262306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x0e, 0x06, 0x06,
47362306a36Sopenharmony_ci0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0xe0, 0x60,
47462306a36Sopenharmony_ci0x60, 0x66, 0x6c, 0x78, 0x78, 0x6c, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00,
47562306a36Sopenharmony_ci0x00, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c,
47662306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe6, 0xff, 0xdb,
47762306a36Sopenharmony_ci0xdb, 0xdb, 0xdb, 0xdb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
47862306a36Sopenharmony_ci0x00, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
47962306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c,
48062306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x66, 0x66,
48162306a36Sopenharmony_ci0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
48262306a36Sopenharmony_ci0x00, 0x76, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0x0c, 0x1e, 0x00,
48362306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x76, 0x66, 0x60, 0x60, 0x60, 0xf0,
48462306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0x60,
48562306a36Sopenharmony_ci0x38, 0x0c, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30,
48662306a36Sopenharmony_ci0x30, 0xfc, 0x30, 0x30, 0x30, 0x30, 0x36, 0x1c, 0x00, 0x00, 0x00, 0x00,
48762306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76,
48862306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0xc3, 0xc3,
48962306a36Sopenharmony_ci0xc3, 0x66, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
49062306a36Sopenharmony_ci0x00, 0xc3, 0xc3, 0xc3, 0xdb, 0xdb, 0xff, 0x66, 0x00, 0x00, 0x00, 0x00,
49162306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x66, 0x3c, 0x18, 0x3c, 0x66, 0xc3,
49262306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6,
49362306a36Sopenharmony_ci0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x0c, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00,
49462306a36Sopenharmony_ci0x00, 0xfe, 0xcc, 0x18, 0x30, 0x60, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00,
49562306a36Sopenharmony_ci0x00, 0x00, 0x0e, 0x18, 0x18, 0x18, 0x70, 0x18, 0x18, 0x18, 0x18, 0x0e,
49662306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18,
49762306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x18,
49862306a36Sopenharmony_ci0x18, 0x18, 0x0e, 0x18, 0x18, 0x18, 0x18, 0x70, 0x00, 0x00, 0x00, 0x00,
49962306a36Sopenharmony_ci0x00, 0x00, 0x76, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
50062306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 0xc6,
50162306a36Sopenharmony_ci0xc6, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66,
50262306a36Sopenharmony_ci0xc2, 0xc0, 0xc0, 0xc0, 0xc2, 0x66, 0x3c, 0x0c, 0x06, 0x7c, 0x00, 0x00,
50362306a36Sopenharmony_ci0x00, 0x00, 0xcc, 0x00, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76,
50462306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x18, 0x30, 0x00, 0x7c, 0xc6, 0xfe,
50562306a36Sopenharmony_ci0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c,
50662306a36Sopenharmony_ci0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
50762306a36Sopenharmony_ci0x00, 0x00, 0xcc, 0x00, 0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x76,
50862306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x00, 0x78, 0x0c, 0x7c,
50962306a36Sopenharmony_ci0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6c, 0x38,
51062306a36Sopenharmony_ci0x00, 0x78, 0x0c, 0x7c, 0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
51162306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x60, 0x60, 0x66, 0x3c, 0x0c, 0x06,
51262306a36Sopenharmony_ci0x3c, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 0x00, 0x7c, 0xc6, 0xfe,
51362306a36Sopenharmony_ci0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00,
51462306a36Sopenharmony_ci0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
51562306a36Sopenharmony_ci0x00, 0x60, 0x30, 0x18, 0x00, 0x7c, 0xc6, 0xfe, 0xc0, 0xc0, 0xc6, 0x7c,
51662306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x38, 0x18, 0x18,
51762306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3c, 0x66,
51862306a36Sopenharmony_ci0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
51962306a36Sopenharmony_ci0x00, 0x60, 0x30, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c,
52062306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6,
52162306a36Sopenharmony_ci0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6c, 0x38, 0x00,
52262306a36Sopenharmony_ci0x38, 0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
52362306a36Sopenharmony_ci0x18, 0x30, 0x60, 0x00, 0xfe, 0x66, 0x60, 0x7c, 0x60, 0x60, 0x66, 0xfe,
52462306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x3b, 0x1b,
52562306a36Sopenharmony_ci0x7e, 0xd8, 0xdc, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x6c,
52662306a36Sopenharmony_ci0xcc, 0xcc, 0xfe, 0xcc, 0xcc, 0xcc, 0xcc, 0xce, 0x00, 0x00, 0x00, 0x00,
52762306a36Sopenharmony_ci0x00, 0x10, 0x38, 0x6c, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c,
52862306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x7c, 0xc6, 0xc6,
52962306a36Sopenharmony_ci0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18,
53062306a36Sopenharmony_ci0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
53162306a36Sopenharmony_ci0x00, 0x30, 0x78, 0xcc, 0x00, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x76,
53262306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x00, 0xcc, 0xcc, 0xcc,
53362306a36Sopenharmony_ci0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00,
53462306a36Sopenharmony_ci0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x0c, 0x78, 0x00,
53562306a36Sopenharmony_ci0x00, 0xc6, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c,
53662306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
53762306a36Sopenharmony_ci0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e,
53862306a36Sopenharmony_ci0xc3, 0xc0, 0xc0, 0xc0, 0xc3, 0x7e, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
53962306a36Sopenharmony_ci0x00, 0x38, 0x6c, 0x64, 0x60, 0xf0, 0x60, 0x60, 0x60, 0x60, 0xe6, 0xfc,
54062306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x66, 0x3c, 0x18, 0xff, 0x18,
54162306a36Sopenharmony_ci0xff, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x66, 0x66,
54262306a36Sopenharmony_ci0x7c, 0x62, 0x66, 0x6f, 0x66, 0x66, 0x66, 0xf3, 0x00, 0x00, 0x00, 0x00,
54362306a36Sopenharmony_ci0x00, 0x0e, 0x1b, 0x18, 0x18, 0x18, 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18,
54462306a36Sopenharmony_ci0xd8, 0x70, 0x00, 0x00, 0x00, 0x18, 0x30, 0x60, 0x00, 0x78, 0x0c, 0x7c,
54562306a36Sopenharmony_ci0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x18, 0x30,
54662306a36Sopenharmony_ci0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
54762306a36Sopenharmony_ci0x00, 0x18, 0x30, 0x60, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x7c,
54862306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x30, 0x60, 0x00, 0xcc, 0xcc, 0xcc,
54962306a36Sopenharmony_ci0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xdc,
55062306a36Sopenharmony_ci0x00, 0xdc, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
55162306a36Sopenharmony_ci0x76, 0xdc, 0x00, 0xc6, 0xe6, 0xf6, 0xfe, 0xde, 0xce, 0xc6, 0xc6, 0xc6,
55262306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x6c, 0x6c, 0x3e, 0x00, 0x7e, 0x00,
55362306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6c, 0x6c,
55462306a36Sopenharmony_ci0x38, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
55562306a36Sopenharmony_ci0x00, 0x00, 0x30, 0x30, 0x00, 0x30, 0x30, 0x60, 0xc0, 0xc6, 0xc6, 0x7c,
55662306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xc0,
55762306a36Sopenharmony_ci0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
55862306a36Sopenharmony_ci0x00, 0x00, 0xfe, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
55962306a36Sopenharmony_ci0x00, 0xc0, 0xc0, 0xc2, 0xc6, 0xcc, 0x18, 0x30, 0x60, 0xce, 0x9b, 0x06,
56062306a36Sopenharmony_ci0x0c, 0x1f, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc2, 0xc6, 0xcc, 0x18, 0x30,
56162306a36Sopenharmony_ci0x66, 0xce, 0x96, 0x3e, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18,
56262306a36Sopenharmony_ci0x00, 0x18, 0x18, 0x18, 0x3c, 0x3c, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00,
56362306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x6c, 0xd8, 0x6c, 0x36, 0x00, 0x00,
56462306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0x6c, 0x36,
56562306a36Sopenharmony_ci0x6c, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x44, 0x11, 0x44,
56662306a36Sopenharmony_ci0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44,
56762306a36Sopenharmony_ci0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa,
56862306a36Sopenharmony_ci0x55, 0xaa, 0x55, 0xaa, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77,
56962306a36Sopenharmony_ci0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0xdd, 0x77, 0x18, 0x18, 0x18, 0x18,
57062306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
57162306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0x18, 0x18, 0x18,
57262306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0xf8,
57362306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x36, 0x36, 0x36, 0x36,
57462306a36Sopenharmony_ci0x36, 0x36, 0x36, 0xf6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
57562306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x36, 0x36, 0x36, 0x36,
57662306a36Sopenharmony_ci0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x18, 0xf8,
57762306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x36, 0x36, 0x36, 0x36,
57862306a36Sopenharmony_ci0x36, 0xf6, 0x06, 0xf6, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
57962306a36Sopenharmony_ci0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
58062306a36Sopenharmony_ci0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x06, 0xf6,
58162306a36Sopenharmony_ci0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
58262306a36Sopenharmony_ci0x36, 0xf6, 0x06, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
58362306a36Sopenharmony_ci0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xfe, 0x00, 0x00, 0x00, 0x00,
58462306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8, 0x18, 0xf8,
58562306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
58662306a36Sopenharmony_ci0x00, 0x00, 0x00, 0xf8, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
58762306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00,
58862306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xff,
58962306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
59062306a36Sopenharmony_ci0x00, 0x00, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
59162306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18,
59262306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
59362306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18,
59462306a36Sopenharmony_ci0x18, 0x18, 0x18, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
59562306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0x18, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18,
59662306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x37,
59762306a36Sopenharmony_ci0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
59862306a36Sopenharmony_ci0x36, 0x37, 0x30, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
59962306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x30, 0x37, 0x36, 0x36, 0x36, 0x36,
60062306a36Sopenharmony_ci0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xf7, 0x00, 0xff,
60162306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
60262306a36Sopenharmony_ci0x00, 0xff, 0x00, 0xf7, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
60362306a36Sopenharmony_ci0x36, 0x36, 0x36, 0x36, 0x36, 0x37, 0x30, 0x37, 0x36, 0x36, 0x36, 0x36,
60462306a36Sopenharmony_ci0x36, 0x36, 0x36, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff,
60562306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x36, 0x36, 0x36,
60662306a36Sopenharmony_ci0x36, 0xf7, 0x00, 0xf7, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
60762306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
60862306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0xff,
60962306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
61062306a36Sopenharmony_ci0x00, 0xff, 0x00, 0xff, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
61162306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x36, 0x36, 0x36, 0x36,
61262306a36Sopenharmony_ci0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x3f,
61362306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18,
61462306a36Sopenharmony_ci0x18, 0x1f, 0x18, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
61562306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x18, 0x1f, 0x18, 0x18, 0x18, 0x18,
61662306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f,
61762306a36Sopenharmony_ci0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
61862306a36Sopenharmony_ci0x36, 0x36, 0x36, 0xff, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
61962306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0x18, 0xff, 0x18, 0xff, 0x18, 0x18, 0x18, 0x18,
62062306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8,
62162306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
62262306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x1f, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
62362306a36Sopenharmony_ci0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
62462306a36Sopenharmony_ci0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
62562306a36Sopenharmony_ci0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0,
62662306a36Sopenharmony_ci0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
62762306a36Sopenharmony_ci0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f,
62862306a36Sopenharmony_ci0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
62962306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
63062306a36Sopenharmony_ci0x00, 0x76, 0xdc, 0xd8, 0xd8, 0xd8, 0xdc, 0x76, 0x00, 0x00, 0x00, 0x00,
63162306a36Sopenharmony_ci0x00, 0x00, 0x78, 0xcc, 0xcc, 0xcc, 0xd8, 0xcc, 0xc6, 0xc6, 0xc6, 0xcc,
63262306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xc6, 0xc6, 0xc0, 0xc0, 0xc0,
63362306a36Sopenharmony_ci0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
63462306a36Sopenharmony_ci0xfe, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00,
63562306a36Sopenharmony_ci0x00, 0x00, 0x00, 0xfe, 0xc6, 0x60, 0x30, 0x18, 0x30, 0x60, 0xc6, 0xfe,
63662306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xd8, 0xd8,
63762306a36Sopenharmony_ci0xd8, 0xd8, 0xd8, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
63862306a36Sopenharmony_ci0x66, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xc0, 0x00, 0x00, 0x00,
63962306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x76, 0xdc, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
64062306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x18, 0x3c, 0x66, 0x66,
64162306a36Sopenharmony_ci0x66, 0x3c, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38,
64262306a36Sopenharmony_ci0x6c, 0xc6, 0xc6, 0xfe, 0xc6, 0xc6, 0x6c, 0x38, 0x00, 0x00, 0x00, 0x00,
64362306a36Sopenharmony_ci0x00, 0x00, 0x38, 0x6c, 0xc6, 0xc6, 0xc6, 0x6c, 0x6c, 0x6c, 0x6c, 0xee,
64462306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x30, 0x18, 0x0c, 0x3e, 0x66,
64562306a36Sopenharmony_ci0x66, 0x66, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
64662306a36Sopenharmony_ci0x00, 0x7e, 0xdb, 0xdb, 0xdb, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
64762306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x03, 0x06, 0x7e, 0xdb, 0xdb, 0xf3, 0x7e, 0x60, 0xc0,
64862306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x30, 0x60, 0x60, 0x7c, 0x60,
64962306a36Sopenharmony_ci0x60, 0x60, 0x30, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c,
65062306a36Sopenharmony_ci0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
65162306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0xfe, 0x00, 0x00, 0xfe, 0x00,
65262306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, 0x18,
65362306a36Sopenharmony_ci0x18, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
65462306a36Sopenharmony_ci0x18, 0x0c, 0x06, 0x0c, 0x18, 0x30, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00,
65562306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x0c, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0c, 0x00, 0x7e,
65662306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x1b, 0x1b, 0x1b, 0x18, 0x18,
65762306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
65862306a36Sopenharmony_ci0x18, 0x18, 0x18, 0x18, 0xd8, 0xd8, 0xd8, 0x70, 0x00, 0x00, 0x00, 0x00,
65962306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x7e, 0x00, 0x18, 0x18, 0x00,
66062306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xdc, 0x00,
66162306a36Sopenharmony_ci0x76, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6c, 0x6c,
66262306a36Sopenharmony_ci0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
66362306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,
66462306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
66562306a36Sopenharmony_ci0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0c, 0x0c,
66662306a36Sopenharmony_ci0x0c, 0x0c, 0x0c, 0xec, 0x6c, 0x6c, 0x3c, 0x1c, 0x00, 0x00, 0x00, 0x00,
66762306a36Sopenharmony_ci0x00, 0xd8, 0x6c, 0x6c, 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00,
66862306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xd8, 0x30, 0x60, 0xc8, 0xf8, 0x00,
66962306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
67062306a36Sopenharmony_ci0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00,
67162306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
67262306a36Sopenharmony_ci0x00, 0x00, 0x00, 0x00,
67362306a36Sopenharmony_ci};
674