summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
Diffstat (limited to 'render')
-rw-r--r--render/font.c17
-rw-r--r--render/gradient.c259
-rw-r--r--render/icon.h795
-rw-r--r--render/test.c24
-rw-r--r--render/theme.c11
-rw-r--r--render/theme.h3
6 files changed, 616 insertions, 493 deletions
diff --git a/render/font.c b/render/font.c
index 5ccfb8fd..583c9f7d 100644
--- a/render/font.c
+++ b/render/font.c
@@ -285,9 +285,20 @@ void RrFontDraw(XftDraw *d, RrTextureText *t, RrRect *area)
}
if (t->shadow_offset_x || t->shadow_offset_y) {
- c.color.red = t->shadow_color->r | t->shadow_color->r << 8;
- c.color.green = t->shadow_color->g | t->shadow_color->g << 8;
- c.color.blue = t->shadow_color->b | t->shadow_color->b << 8;
+ /* From nvidia's readme (chapter 23):
+
+ When rendering to a 32-bit window, keep in mind that the X RENDER
+ extension, used by most composite managers, expects "premultiplied
+ alpha" colors. This means that if your color has components (r,g,b)
+ and alpha value a, then you must render (a*r, a*g, a*b, a) into the
+ target window.
+ */
+ c.color.red = (t->shadow_color->r | t->shadow_color->r << 8) *
+ t->shadow_alpha / 255;
+ c.color.green = (t->shadow_color->g | t->shadow_color->g << 8) *
+ t->shadow_alpha / 255;
+ c.color.blue = (t->shadow_color->b | t->shadow_color->b << 8) *
+ t->shadow_alpha / 255;
c.color.alpha = 0xffff * t->shadow_alpha / 255;
c.pixel = t->shadow_color->pixel;
diff --git a/render/gradient.c b/render/gradient.c
index 6439b301..fc75047f 100644
--- a/render/gradient.c
+++ b/render/gradient.c
@@ -197,6 +197,74 @@ static void create_bevel_colors(RrAppearance *l)
l->surface.bevel_dark = RrColorNew(l->inst, r, g, b);
}
+/*! Repeat the first pixel over the entire block of memory
+ @param start The block of memory. start[0] will be copied
+ to the rest of the block.
+ @param w The width of the block of memory (including the already-set first
+ element
+*/
+static inline void repeat_pixel(RrPixel32 *start, gint w)
+{
+ gint x;
+ RrPixel32 *dest;
+
+ dest = start + 1;
+
+ /* for really small things, just copy ourselves */
+ if (w < 8) {
+ for (x = w-1; x > 0; --x)
+ *(dest++) = *start;
+ }
+
+ /* for >= 8, then use O(log n) memcpy's... */
+ else {
+ gchar *cdest;
+ gint lenbytes;
+
+ /* copy the first 3 * 32 bits (3 words) ourselves - then we have
+ 3 + the original 1 = 4 words to make copies of at a time
+
+ this is faster than doing memcpy for 1 or 2 words at a time
+ */
+ for (x = 3; x > 0; --x)
+ *(dest++) = *start;
+
+ /* cdest is a pointer to the pixel data that is typed char* so that
+ adding 1 to its position moves it only one byte
+
+ lenbytes is the amount of bytes that we will be copying each
+ iteration. this doubles each time through the loop.
+
+ x is the number of bytes left to copy into. lenbytes will alwaysa
+ be bounded by x
+
+ this loop will run O(log n) times (n is the number of bytes we
+ need to copy into), since the size of the copy is doubled each
+ iteration. it seems that gcc does some nice optimizations to make
+ this memcpy very fast on hardware with support for vector operations
+ such as mmx or see. here is an idea of the kind of speed up we are
+ getting by doing this (splitvertical3 switches from doing
+ "*(data++) = color" n times to doing this memcpy thing log n times:
+
+ % cumulative self self total
+ time seconds seconds calls ms/call ms/call name
+ 49.44 0.88 0.88 1063 0.83 0.83 splitvertical1
+ 47.19 1.72 0.84 1063 0.79 0.79 splitvertical2
+ 2.81 1.77 0.05 1063 0.05 0.05 splitvertical3
+ */
+ cdest = (gchar*)dest;
+ lenbytes = 4 * sizeof(RrPixel32);
+ for (x = (w - 4) * sizeof(RrPixel32); x > 0;) {
+ memcpy(cdest, start, lenbytes);
+ x -= lenbytes;
+ cdest += lenbytes;
+ lenbytes <<= 1;
+ if (lenbytes > x)
+ lenbytes = x;
+ }
+ }
+}
+
static void gradient_parentrelative(RrAppearance *a, gint w, gint h)
{
RrPixel32 *source, *dest;
@@ -423,10 +491,9 @@ static void gradient_solid(RrAppearance *l, gint w, gint h)
static void gradient_splitvertical(RrAppearance *a, gint w, gint h)
{
- gint x, y1, y2, y3;
+ gint y1, y2, y3;
RrSurface *sf = &a->surface;
- RrPixel32 *data = sf->pixel_data;
- RrPixel32 current;
+ RrPixel32 *data;
gint y1sz, y2sz, y3sz;
VARS(y1);
@@ -455,39 +522,48 @@ static void gradient_splitvertical(RrAppearance *a, gint w, gint h)
}
SETUP(y3, sf->secondary, sf->split_secondary, y3sz);
- for (y1 = y1sz; y1 > 0; --y1) {
- current = COLOR(y1);
- for (x = w - 1; x >= 0; --x)
- *(data++) = current;
+ /* find the color for the first pixel of each row first */
+ data = sf->pixel_data;
+ for (y1 = y1sz-1; y1 > 0; --y1) {
+ *data = COLOR(y1);
+ data += w;
NEXT(y1);
}
-
- for (y2 = y2sz; y2 > 0; --y2) {
- current = COLOR(y2);
- for (x = w - 1; x >= 0; --x)
- *(data++) = current;
-
+ *data = COLOR(y1);
+ data += w;
+ for (y2 = y2sz-1; y2 > 0; --y2) {
+ *data = COLOR(y2);
+ data += w;
NEXT(y2);
}
-
- for (y3 = y3sz; y3 > 0; --y3) {
- current = COLOR(y3);
- for (x = w - 1; x >= 0; --x)
- *(data++) = current;
-
+ *data = COLOR(y2);
+ data += w;
+ for (y3 = y3sz-1; y3 > 0; --y3) {
+ *data = COLOR(y3);
+ data += w;
NEXT(y3);
}
+ *data = COLOR(y3);
+
+ /* copy the first pixels into the whole rows */
+ data = sf->pixel_data;
+ for (y1 = h; y1 > 0; --y1) {
+ repeat_pixel(data, w);
+ data += w;
+ }
}
static void gradient_horizontal(RrSurface *sf, gint w, gint h)
{
- gint x, y;
+ gint x, y, cpbytes;
RrPixel32 *data = sf->pixel_data, *datav;
+ gchar *datac;
VARS(x);
SETUP(x, sf->primary, sf->secondary, w);
+ /* set the color values for the first row */
datav = data;
for (x = w - 1; x > 0; --x) { /* 0 -> w - 1 */
*datav = COLOR(x);
@@ -497,22 +573,32 @@ static void gradient_horizontal(RrSurface *sf, gint w, gint h)
*datav = COLOR(x);
++datav;
- for (y = h - 1; y > 0; --y) { /* 1 -> h */
- memcpy(datav, data, w * sizeof(RrPixel32));
- datav += w;
+ /* copy the first row to the rest in O(logn) copies */
+ datac = (gchar*)datav;
+ cpbytes = 1 * w * sizeof(RrPixel32);
+ for (y = (h - 1) * w * sizeof(RrPixel32); y > 0;) {
+ memcpy(datac, data, cpbytes);
+ y -= cpbytes;
+ datac += cpbytes;
+ cpbytes <<= 1;
+ if (cpbytes > y)
+ cpbytes = y;
}
}
static void gradient_mirrorhorizontal(RrSurface *sf, gint w, gint h)
{
- gint x, y, half1, half2;
+ gint x, y, half1, half2, cpbytes;
RrPixel32 *data = sf->pixel_data, *datav;
+ gchar *datac;
VARS(x);
half1 = (w + 1) / 2;
half2 = w / 2;
+ /* set the color values for the first row */
+
SETUP(x, sf->primary, sf->secondary, half1);
datav = data;
for (x = half1 - 1; x > 0; --x) { /* 0 -> half1 - 1 */
@@ -534,31 +620,43 @@ static void gradient_mirrorhorizontal(RrSurface *sf, gint w, gint h)
++datav;
}
- for (y = h - 1; y > 0; --y) { /* 1 -> h */
- memcpy(datav, data, w * sizeof(RrPixel32));
- datav += w;
+ /* copy the first row to the rest in O(logn) copies */
+ datac = (gchar*)datav;
+ cpbytes = 1 * w * sizeof(RrPixel32);
+ for (y = (h - 1) * w * sizeof(RrPixel32); y > 0;) {
+ memcpy(datac, data, cpbytes);
+ y -= cpbytes;
+ datac += cpbytes;
+ cpbytes <<= 1;
+ if (cpbytes > y)
+ cpbytes = y;
}
}
static void gradient_vertical(RrSurface *sf, gint w, gint h)
{
- gint x, y;
- RrPixel32 *data = sf->pixel_data;
- RrPixel32 current;
+ gint y;
+ RrPixel32 *data;
VARS(y);
SETUP(y, sf->primary, sf->secondary, h);
- for (y = h - 1; y > 0; --y) { /* 0 -> h-1 */
- current = COLOR(y);
- for (x = w - 1; x >= 0; --x) /* 0 -> w */
- *(data++) = current;
+ /* find the color for the first pixel of each row first */
+ data = sf->pixel_data;
+ for (y = h - 1; y > 0; --y) { /* 0 -> h-1 */
+ *data = COLOR(y);
+ data += w;
NEXT(y);
}
- current = COLOR(y);
- for (x = w - 1; x >= 0; --x) /* 0 -> w */
- *(data++) = current;
+ *data = COLOR(y);
+
+ /* copy the first pixels into the whole rows */
+ data = sf->pixel_data;
+ for (y = h; y > 0; --y) {
+ repeat_pixel(data, w);
+ data += w;
+ }
}
@@ -656,14 +754,13 @@ static void gradient_crossdiagonal(RrSurface *sf, gint w, gint h)
*data = COLOR(x);
}
-static void gradient_pyramid(RrSurface *sf, gint inw, gint inh)
+static void gradient_pyramid(RrSurface *sf, gint w, gint h)
{
- gint x, y, w = (inw >> 1) + 1, h = (inh >> 1) + 1;
- RrPixel32 *data = sf->pixel_data;
- RrPixel32 *end = data + inw*inh - 1;
- RrPixel32 current;
+ RrPixel32 *ldata, *rdata;
+ RrPixel32 *cp;
RrColor left, right;
RrColor extracorner;
+ gint x, y, halfw, halfh, midx, midy;
VARS(lefty);
VARS(righty);
@@ -673,54 +770,64 @@ static void gradient_pyramid(RrSurface *sf, gint inw, gint inh)
extracorner.g = (sf->primary->g + sf->secondary->g) / 2;
extracorner.b = (sf->primary->b + sf->secondary->b) / 2;
- SETUP(lefty, (&extracorner), sf->secondary, h);
- SETUP(righty, sf->primary, (&extracorner), h);
+ halfw = w >> 1;
+ halfh = h >> 1;
+ midx = w - halfw - halfw; /* 0 or 1, depending if w is even or odd */
+ midy = h - halfh - halfh; /* 0 or 1, depending if h is even or odd */
+
+ SETUP(lefty, sf->primary, (&extracorner), halfh + midy);
+ SETUP(righty, (&extracorner), sf->secondary, halfh + midy);
+
+ /* draw the top half
+
+ it is faster to draw both top quarters together than to draw one and
+ then copy it over to the other side.
+ */
+
+ ldata = sf->pixel_data;
+ rdata = ldata + w - 1;
+ for (y = halfh + midy; y > 0; --y) { /* 0 -> (h+1)/2 */
+ RrPixel32 c;
- for (y = h - 1; y > 0; --y) { /* 0 -> h-1 */
COLOR_RR(lefty, (&left));
COLOR_RR(righty, (&right));
- SETUP(x, (&left), (&right), w);
+ SETUP(x, (&left), (&right), halfw + midx);
- for (x = w - 1; x > 0; --x) { /* 0 -> w-1 */
- current = COLOR(x);
- *(data+x) = current;
- *(data+inw-x) = current;
- *(end-x) = current;
- *(end-(inw-x)) = current;
+ for (x = halfw + midx - 1; x > 0; --x) { /* 0 -> (w+1)/2 */
+ c = COLOR(x);
+ *(ldata++) = *(rdata--) = c;
NEXT(x);
}
- current = COLOR(x);
- *(data+x) = current;
- *(data+inw-x) = current;
- *(end-x) = current;
- *(end-(inw-x)) = current;
-
- data+=inw;
- end-=inw;
+ c = COLOR(x);
+ *ldata = *rdata = c;
+ ldata += halfw + 1;
+ rdata += halfw - 1 + midx + w;
NEXT(lefty);
NEXT(righty);
}
- COLOR_RR(lefty, (&left));
- COLOR_RR(righty, (&right));
- SETUP(x, (&left), (&right), w);
+ /* copy the top half into the bottom half, mirroring it, so we can only
+ copy one row at a time
- for (x = w - 1; x > 0; --x) { /* 0 -> w-1 */
- current = COLOR(x);
- *(data+x) = current;
- *(data+inw-x) = current;
- *(end-x) = current;
- *(end-(inw-x)) = current;
+ it is faster, to move the writing pointer forward, and the reading
+ pointer backward
- NEXT(x);
+ this is the current code, moving the write pointer forward and read
+ pointer backward
+ 41.78 4.26 1.78 504 3.53 3.53 gradient_pyramid2
+ this is the opposite, moving the read pointer forward and the write
+ pointer backward
+ 42.27 4.40 1.86 504 3.69 3.69 gradient_pyramid2
+
+ */
+ ldata = sf->pixel_data + (halfh - 1) * w;
+ cp = ldata + (midy + 1) * w;
+ for (y = halfh; y > 0; --y) {
+ memcpy(cp, ldata, w * sizeof(RrPixel32));
+ ldata -= w;
+ cp += w;
}
- current = COLOR(x);
- *(data+x) = current;
- *(data+inw-x) = current;
- *(end-x) = current;
- *(end-(inw-x)) = current;
}
-
diff --git a/render/icon.h b/render/icon.h
index 13eff847..f0b2d267 100644
--- a/render/icon.h
+++ b/render/icon.h
@@ -1,3 +1,5 @@
+/* GIMP RGBA C-Source image dump (icon.h) */
+
/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
icon.h for the Openbox window manager
@@ -16,17 +18,14 @@
See the COPYING file for a copy of the GNU General Public License.
*/
-/* GIMP RGBA C-Source image dump (icon.h) */
-
#define OB_DEFAULT_ICON_WIDTH (48)
#define OB_DEFAULT_ICON_HEIGHT (48)
#define OB_DEFAULT_ICON_BYTES_PER_PIXEL (4) /* 3:RGB, 4:RGBA */
#define OB_DEFAULT_ICON_COMMENT \
- "To recreate this file, save an image as \"C-Source\" in The Gimp. " \
- "Use \"ob_default_icon\" as the Prefixed Name. Enable Glib Types. " \
- "Enable Save Alpha Channel. Enable Use Macros instead of Struct."
+ "To recreate this file, save an image as \"C-Source\" in The Gimp. Use \"ob_default_icon\" as the Prefixed Name. Enable Glib Types. Enable Save Alpha Channel. Enable Use Macros instead of Struct."
#define OB_DEFAULT_ICON_PIXEL_DATA ((guint8*) OB_DEFAULT_ICON_pixel_data)
static const guint8 OB_DEFAULT_ICON_pixel_data[48 * 48 * 4 + 1] =
+("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
@@ -36,406 +35,388 @@ static const guint8 OB_DEFAULT_ICON_pixel_data[48 * 48 * 4 + 1] =
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\10"
- "\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373"
- "\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10"
- "\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10"
- "\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10"
- "\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373"
- "\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10"
- "\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10"
- "\10\373\10\10\10\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10"
- "\373\10\10\10\373\20\22\24\373\20\22\24\373\20\22\24\373\20\22\24\373\20\22"
- "\24\373\20\22\24\373\20\22\24\373\20\22\24\373\20\22\24\373\20\22\24\373\20"
- "\22\24\373\20\22\24\373\20\22\24\373\20\22\24\373\20\22\24\373\20\22\24\373"
- "\20\22\24\373\20\22\24\373\20\22\24\373\20\22\24\373\20\22\24\373\20\22\24"
- "\373\20\22\24\373\20\22\24\373\20\22\24\373\20\22\24\373\20\22\24\373\20\22"
- "\24\373\20\22\24\373\20\22\24\373\20\22\24\373\20\22\24\373\20\22\24\373\20"
- "\22\24\373\20\22\24\373\20\22\24\373\20\22\24\373\20\22\24\373\20\22\24\373"
- "\20\22\24\373\23\26\32\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10"
- "\10\10\373\20\22\24\373\277\324\347\373\277\325\347\373\277\324\347\373\277"
- "\324\347\373\277\324\347\373\277\324\347\373\277\324\347\373\277\324\347\373"
- "\277\324\347\373\277\324\347\373\277\324\347\373\277\324\347\373\277\324\347"
- "\373\277\325\347\373\277\324\347\373\300\324\347\373\277\324\347\373\277\324"
- "\347\373\277\324\347\373\277\324\347\373\300\324\347\373\277\324\347\373\277"
- "\324\347\373\277\324\347\373\277\324\347\373\277\324\347\373\277\324\347\373"
- "\277\324\347\373\277\324\347\373\277\324\347\373\277\324\347\373\300\324\347"
- "\373\277\324\347\373\277\324\347\373\277\324\347\373\277\324\347\373\277\325"
- "\347\373\277\324\347\373\277\324\347\373\277\324\347\373\20\22\24\373\10\10"
- "\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\20\22\24\373\277\323"
- "\347\373l\232\277\373n\232\277\373n\232\300\373n\232\300\373o\233\300\373"
- "o\233\300\373o\233\301\373o\235\301\373q\235\303\373q\235\303\373q\235\303"
- "\373r\236\304\373r\236\304\373t\236\304\373t\237\304\373t\237\305\373t\237"
- "\305\373u\237\305\373u\237\306\373u\241\306\373u\241\306\373w\241\307\373"
- "w\242\307\373y\242\307\373y\242\307\373y\242\310\373y\245\310\373z\245\311"
- "\373z\244\311\373z\245\311\373|\245\311\373|\245\313\373|\245\313\373}\247"
- "\313\373}\247\314\373}\247\314\373}\250\314\373\177\251\315\373t\232\277\373"
- "\20\22\24\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\20"
- "\22\24\373\277\323\346\373l\232\276\373l\230\277\373l\230\277\373n\232\277"
- "\373n\232\300\373n\233\300\373o\233\300\373o\233\301\373o\233\301\373o\233"
- "\301\373q\235\301\373q\235\303\373q\236\303\373r\236\303\373r\236\304\373"
- "r\237\304\373t\236\304\373t\237\305\373t\237\305\373t\241\305\373u\241\306"
- "\373u\241\306\373u\242\306\373w\241\306\373w\241\307\373w\242\307\373y\244"
- "\307\373y\244\310\373y\244\310\373y\245\310\373z\245\311\373z\244\311\373"
- "z\245\311\373|\247\313\373|\247\313\373|\245\313\373}\250\313\373}\250\314"
- "\373q\230\276\373\20\22\24\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\10\10\10\373\20\22\24\373\275\322\345\373l\227\276\373k\230\276\373l\230"
- "\276\373l\232\277\373l\230\277\373n\232\277\373n\233\300\373n\232\300\373"
- "n\232\300\373o\233\300\373o\233\301\373o\233\301\373q\233\301\373q\235\303"
- "\373q\235\303\373r\235\303\373r\236\304\373r\237\304\373r\237\304\373t\236"
- "\304\373t\237\305\373t\237\305\373u\237\305\373u\241\306\373u\241\306\373"
- "u\241\306\373w\242\307\373y\241\307\373w\244\307\373y\242\307\373y\244\310"
- "\373z\244\310\373y\244\310\373z\244\311\373z\245\311\373z\245\311\373|\245"
- "\313\373|\245\313\373o\230\275\373\20\22\24\373\10\10\10\373\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\10\10\10\373\17\22\24\373\273\322\344\373k\227\275\373"
- "k\227\275\373k\230\276\373k\227\276\373l\230\276\373l\232\277\373l\232\277"
- "\373n\232\277\373n\232\277\373n\232\300\373n\233\300\373o\232\300\373o\233"
- "\301\373o\233\301\373o\233\301\373q\235\303\373r\236\303\373q\235\303\373"
- "r\235\303\373r\236\304\373r\237\304\373r\237\304\373u\237\305\373t\237\305"
- "\373t\241\305\373u\237\306\373u\237\306\373w\241\306\373w\241\306\373w\242"
- "\307\373w\242\307\373w\242\307\373z\242\310\373y\244\310\373z\244\310\373"
- "y\244\310\373|\244\311\373z\245\311\373n\225\273\373\17\22\24\373\10\10\10"
- "\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\17\22\24\373\273\321\344"
- "\373k\227\275\373i\227\275\373k\227\275\373k\230\276\373k\227\276\373l\230"
- "\276\373l\230\276\373l\232\277\373l\232\277\373l\230\277\373n\232\277\373"
- "n\232\300\373n\233\300\373o\233\300\373o\233\301\373o\235\301\373o\235\301"
- "\373q\235\301\373r\235\303\373q\236\303\373r\235\303\373r\236\304\373r\236"
- "\304\373r\236\304\373t\237\304\373t\236\305\373t\237\305\373t\237\305\373"
- "w\241\306\373u\241\306\373u\241\306\373w\242\306\373w\242\307\373w\242\307"
- "\373w\244\307\373y\244\310\373y\244\310\373z\244\310\373l\225\272\373\17\22"
- "\24\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\17\22\24"
- "\373\272\321\343\373i\225\273\373i\225\273\373i\227\275\373k\225\275\373i"
- "\227\275\373k\227\275\373k\230\276\373l\230\276\373l\230\276\373l\230\276"
- "\373n\232\277\373l\230\277\373n\232\277\373n\232\300\373o\233\300\373o\233"
- "\300\373o\233\300\373o\233\301\373o\235\301\373o\233\301\373q\235\303\373"
- "r\235\303\373q\236\303\373r\236\303\373t\236\304\373r\236\304\373r\237\304"
- "\373t\237\304\373u\237\305\373t\237\305\373t\241\305\373u\241\306\373u\241"
- "\306\373w\241\306\373u\242\306\373w\242\307\373w\242\307\373w\242\307\373"
- "k\224\271\373\17\22\24\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10"
- "\10\10\373\17\22\24\373\271\320\343\373h\224\272\373_\212\260\373_\212\260"
- "\373`\212\261\373`\212\261\373`\212\261\373`\212\261\373`\212\261\373`\214"
- "\261\373b\214\263\373b\214\263\373b\214\263\373b\214\263\373b\214\263\373"
- "c\214\263\373c\216\264\373e\216\264\373e\216\264\373c\216\264\373e\216\264"
- "\373e\216\264\373f\217\265\373f\217\265\373e\217\265\373f\217\265\373f\217"
- "\265\373f\217\265\373f\221\265\373f\217\266\373f\221\266\373h\221\266\373"
- "i\221\266\373h\221\266\373h\222\266\373h\222\270\373i\221\270\373i\222\270"
- "\373i\222\270\373i\222\270\373\17\22\24\373\10\10\10\373\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\10\10\10\373\17\21\24\373T\201\250\373T\201\250\373T\201\250"
- "\373T\201\250\373T\201\250\373T\201\250\373T\201\250\373T\201\250\373T\201"
- "\250\373T\201\250\373T\201\250\373T\201\250\373T\201\250\373T\201\250\373"
- "T\201\250\373T\201\250\373T\201\250\373T\201\250\373T\201\250\373T\201\250"
- "\373T\201\250\373T\201\250\373T\201\250\373T\201\250\373T\201\250\373T\201"
- "\250\373T\201\250\373T\201\250\373T\201\250\373T\201\250\373T\201\250\373"
- "T\201\250\373T\201\250\373T\201\250\373T\201\250\373T\201\250\373T\201\250"
- "\373T\201\250\373T\201\250\373T\201\250\373\17\21\24\373\10\10\10\373\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\17\21\24\373T\201\250\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373T\201"
- "\250\373\17\21\24\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10"
- "\373\17\21\24\373T\201\250\373\375\376\376\373\375\376\376\373\375\376\376"
- "\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376"
- "\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375"
- "\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373"
- "\375\376\376\373\375\376\376\373\375\375\376\373\375\375\376\373\375\375\376"
- "\373\375\376\376\373\375\375\376\373\375\375\376\373\375\376\376\373\375\375"
- "\376\373\375\375\376\373\375\376\376\373\375\375\376\373\375\375\376\373\375"
- "\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373"
- "\375\375\376\373\375\375\376\373T\201\250\373\17\21\24\373\10\10\10\373\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\17\21\24\373T\201\250\373\373"
- "\375\376\373\373\375\376\373\373\375\376\373\373\375\376\373\373\375\376\373"
- "\373\375\376\373\373\375\376\373\373\375\376\373\373\375\376\373\373\375\376"
- "\373\373\375\376\373\373\375\376\373\373\375\376\373\373\375\376\373\373\375"
- "\376\373\373\375\376\373\373\375\376\373\373\375\376\373\373\375\376\373\373"
- "\375\376\373\373\375\376\373\373\375\376\373\373\375\376\373\373\375\376\373"
- "\373\375\376\373\373\375\376\373\373\375\376\373\373\375\376\373\373\375\376"
- "\373\373\375\376\373\373\375\376\373\373\375\376\373\373\375\376\373\373\375"
- "\376\373\373\375\376\373\373\375\376\373\373\375\376\373\373\375\376\373T"
- "\201\250\373\17\21\24\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10"
- "\10\10\373\17\21\24\373T\201\250\373\375\376\376\373\375\376\376\373\375\376"
- "\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375"
- "\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373"
- "\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376"
- "\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376"
- "\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375"
- "\376\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373"
- "\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373T\201\250\373\17\21\24\373\10\10\10\373"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\17\21\23\373T\201\250\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373T"
- "\201\250\373\17\21\23\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10"
- "\10\10\373\17\21\23\373T\201\250\373\375\376\376\373\375\376\376\373\375\376"
- "\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375"
- "\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373"
- "\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376"
- "\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376"
- "\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\375\376\373\375"
- "\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373"
- "\375\375\376\373\375\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373T\201\250\373\17\21\23\373\10\10\10\373"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\17\21\23\373T\201\250\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373T"
- "\201\250\373\17\21\23\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10"
- "\10\10\373\17\21\23\373T\201\250\373\375\376\376\373\375\376\376\373\375\376"
- "\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375"
- "\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373"
- "\375\376\376\373\375\376\376\373\375\375\376\373\375\375\376\373\375\376\376"
- "\373\375\375\376\373\375\376\376\373\375\375\376\373\375\376\376\373\375\375"
- "\376\373\375\376\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375"
- "\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373T\201\250\373\17\21\23\373\10\10\10\373"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\17\20\23\373T\201\250\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373T"
- "\201\250\373\17\20\23\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10"
- "\10\10\373\17\20\23\373T\201\250\373\375\376\376\373\375\376\376\373\375\376"
- "\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375"
- "\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\375\376\373"
- "\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376"
- "\373\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375\375"
- "\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375"
- "\375\376\373\375\375\376\373\375\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373T\201\250\373\17\20\23\373\10\10\10\373"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\17\20\23\373T\201\250\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373T"
- "\201\250\373\17\20\23\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10"
- "\10\10\373\16\20\23\373T\201\250\373\375\376\376\373\375\376\376\373\375\376"
- "\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375"
- "\376\376\373\375\376\376\373\375\375\376\373\375\375\376\373\375\375\376\373"
- "\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376"
- "\373\375\375\376\373\375\375\376\373\375\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\375\375\376\373\374\375\376\373\375\375\376\373\375"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373T\201\250\373\17\20\23\373\10\10\10\373"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\16\20\22\373T\201\250\373\373"
- "\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373"
- "\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375"
- "\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375"
- "\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373"
- "\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373"
- "\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375"
- "\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375"
- "\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373T"
- "\201\250\373\16\20\22\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10"
- "\10\10\373\16\20\22\373T\201\250\373\375\376\376\373\375\376\376\373\375\376"
- "\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375\376\376\373\375"
- "\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373"
- "\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376"
- "\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373T\201\250\373\16\20\22\373\10\10\10\373"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\16\20\22\373T\201\250\373\373"
- "\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373"
- "\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375"
- "\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375"
- "\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373"
- "\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373"
- "\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375"
- "\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375"
- "\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373T"
- "\201\250\373\16\20\22\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10"
- "\10\10\373\16\20\22\373T\201\250\373\375\376\376\373\375\376\376\373\375\376"
- "\376\373\375\376\376\373\375\376\376\373\375\375\376\373\375\375\376\373\375"
- "\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373"
- "\375\375\376\373\375\375\376\373\375\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373T\201\250\373\16\20\22\373\10\10\10\373"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\16\20\22\373T\201\250\373\373"
- "\375\375\373\373\374\375\373\373\374\375\373\373\375\375\373\373\375\375\373"
- "\373\374\375\373\373\375\375\373\373\374\375\373\373\374\375\373\373\374\375"
- "\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374"
- "\375\373\373\375\375\373\373\374\375\373\373\375\375\373\373\374\375\373\373"
- "\375\375\373\373\374\375\373\373\374\375\373\373\375\375\373\373\375\375\373"
- "\373\374\375\373\373\374\375\373\373\375\375\373\373\375\375\373\373\374\375"
- "\373\373\374\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375"
- "\375\373\373\375\375\373\373\375\375\373\373\374\375\373\373\374\375\373T"
- "\201\250\373\16\20\22\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10"
- "\10\10\373\16\20\22\373T\201\250\373\375\375\376\373\375\375\376\373\375\375"
- "\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375"
- "\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373"
- "\375\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373T\201\250\373\16\20\22\373\10\10\10\373"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\16\20\22\373T\201\250\373\373"
- "\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373"
- "\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375"
- "\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374"
- "\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373"
- "\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373"
- "\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375"
- "\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374"
- "\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373]"
- "\211\261\373\16\20\22\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10"
- "\10\10\373\16\20\22\373T\201\250\373\375\375\376\373\375\375\376\373\375\375"
- "\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373\375"
- "\375\376\373\375\375\376\373\375\375\376\373\375\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\373\375\375\373\\\211\260\373\15\20\22\373\10\10\10\373"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\15\20\22\373T\201\250\373\373"
- "\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373"
- "\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375"
- "\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374"
- "\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373"
- "\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373"
- "\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375"
- "\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374"
- "\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373["
- "\207\257\373\15\20\22\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10"
- "\10\10\373\15\20\22\373T\201\250\373\375\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\375\373\374\375\375\373\374\375\375\373\374\375\375\373\374"
- "\375\375\373\374\375\375\373\374\375\375\373\374\375\375\373\374\375\375\373"
- "\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375"
- "\373\373\375\375\373\373\375\375\373Y\206\255\373\15\20\22\373\10\10\10\373"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\15\20\22\373T\201\250\373\373"
- "\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373"
- "\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375"
- "\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374"
- "\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373"
- "\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373"
- "\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375"
- "\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374"
- "\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373V"
- "\204\254\373\15\20\22\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10"
- "\10\10\373\15\20\22\373T\201\250\373\374\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\375\373\374\375"
- "\375\373\374\375\375\373\374\375\375\373\374\375\375\373\374\375\375\373\374"
- "\375\375\373\374\375\375\373\374\375\375\373\373\375\375\373\373\375\375\373"
- "\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375"
- "\373\373\375\375\373\373\374\375\373V\202\253\373\15\20\22\373\10\10\10\373"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\15\20\22\373T\201\250\373\373"
- "\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373"
- "\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375"
- "\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374"
- "\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373"
- "\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373"
- "\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375"
- "\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374"
- "\375\373\373\374\375\373\373\374\375\373\373\374\375\373\373\374\375\373V"
- "\202\253\373\15\20\22\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10"
- "\10\10\373\15\17\22\373T\201\250\373\374\375\376\373\374\375\376\373\374\375"
- "\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374"
- "\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373"
- "\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376\373\374\375\376"
- "\373\374\375\376\373\374\375\375\373\374\375\375\373\374\375\375\373\374\375"
- "\375\373\374\375\375\373\374\375\375\373\374\375\375\373\374\375\375\373\374"
- "\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373"
- "\373\375\375\373\373\375\375\373\373\375\375\373\373\375\375\373\373\374\375"
- "\373\373\374\375\373\373\374\375\373U\201\251\373\15\20\22\373\10\10\10\373"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\15\17\22\373T\201\250\373T\201"
- "\250\373T\177\250\373T\177\250\373T\177\250\373T\177\250\373T\177\250\373"
- "T\177\250\373T\177\250\373T\201\250\373T\177\250\373T\201\250\373T\177\250"
- "\373R\177\250\373T\201\250\373R\177\250\373T\177\250\373T\201\250\373T\177"
- "\250\373R\177\250\373T\201\250\373T\177\250\373T\177\250\373T\177\250\373"
- "T\177\250\373T\201\250\373T\177\250\373T\177\250\373T\201\250\373T\177\250"
- "\373T\177\250\373T\177\250\373T\177\250\373R\177\250\373R\177\250\373T\177"
- "\250\373T\177\250\373T\177\250\373T\177\250\373T\177\250\373\15\17\22\373"
- "\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\15\17\22\373\202"
- "\247\300\373\201\244\300\373}\242\277\373\177\244\277\373\201\245\300\373"
- "\202\247\301\373\204\247\303\373\206\250\303\373Ju\236\373\212\254\305\373"
- "\214\255\306\373\216\257\307\373\217\260\307\373\221\261\310\373\222\261\311"
- "\373\224\263\311\373\225\264\313\373\227\265\314\373\230\266\315\373\233\266"
- "\315\373\235\270\316\373\236\272\317\373\237\273\320\373\237\272\320\373\237"
- "\272\320\373\237\273\320\373\237\273\320\373\237\273\320\373\237\273\320\373"
- "\237\273\320\373\237\273\320\373Ju\236\373\236\273\320\373\237\272\320\373"
- "\237\272\320\373\237\272\320\373\237\273\320\373\236\272\320\373\237\273\320"
- "\373\237\273\320\373\15\17\22\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\10\10\10\373\15\17\21\373\201\245\277\373My\241\373My\241\373Ly\241\373"
- "My\241\373My\241\373My\241\373My\241\3733V\202\373Ny\242\373Nz\242\373Ny\242"
- "\373Nz\242\373Mz\242\373Ny\242\373Nz\242\373Mz\242\373Nz\242\373Nz\242\373"
- "Nz\242\373Nz\242\373Nz\242\373P|\244\373Pz\244\373N|\244\373Pz\244\373P|\244"
- "\373Pz\244\373Pz\244\373P|\244\373P|\244\373-Nz\373Nz\244\373P|\244\373P|"
- "\244\373P|\244\373P|\244\373P|\244\373P|\244\373P|\244\373\15\17\21\373\10"
- "\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\10\10\10\373\15\17"
- "\21\373\15\17\21\373\15\17\21\373\15\17\21\373\15\17\21\373\15\17\21\373\15"
- "\17\21\373\15\17\21\373\15\17\21\373\15\17\21\373\15\17\21\373\15\17\21\373"
- "\15\17\21\373\15\17\21\373\15\17\21\373\15\17\21\373\15\17\21\373\15\17\21"
- "\373\15\17\21\373\15\17\21\373\15\17\21\373\15\17\21\373\15\17\21\373\15\17"
- "\21\373\15\17\21\373\15\17\21\373\15\17\21\373\15\17\21\373\15\17\21\373\15"
- "\17\21\373\15\17\21\373\15\17\21\373\15\17\21\373\15\17\21\373\15\17\21\373"
- "\15\17\21\373\15\17\21\373\15\17\21\373\15\17\21\373\15\17\21\373\10\10\10"
- "\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\10\10\10\373\10\10\10\373"
- "\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10"
- "\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10"
- "\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10"
- "\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373"
- "\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10"
- "\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10"
- "\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10\10\10\373\10"
- "\10\10\373\10\10\10\373\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
- "\0\0\0\0";
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\40J\207\15\40J\207\23\40J\207"
+ "\23\40J\207\23\40J\207\23\40J\207\23\40J\207\23\40J\207\23\40J\207\23\40J"
+ "\207\23\40J\207\23\40J\207\23\40J\207\23\40J\207\23\40J\207\23\40J\207\23"
+ "\40J\207\23\40J\207\23\40J\207\23\40J\207\23\40J\207\23\40J\207\23\40J\207"
+ "\23\40J\207\23\40J\207\23\40J\207\23\40J\207\23\40J\207\23\40J\207\23\40J"
+ "\207\23\40J\207\23\40J\207\23\40J\207\23\40J\207\23\40J\207\23\40J\207\23"
+ "\40J\207\23\40J\207\23\40J\207\23\40J\207\23\40J\207\23\40J\207\23\40J\207"
+ "\23\40J\207\15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0'P\213\267'Q\214\275'Q\214\275"
+ "'Q\214\275'Q\214\275'Q\214\275'Q\214\275'Q\214\275'Q\214\275'Q\214\275'Q\214"
+ "\275'Q\214\275'Q\214\275'Q\214\275'Q\214\275'Q\214\275'Q\214\275'Q\214\275"
+ "'Q\214\275'Q\214\275'Q\214\275'Q\214\275'Q\214\275(R\215\275'Q\214\275'Q\214"
+ "\275'Q\214\275'Q\214\275'Q\214\275'Q\214\275'Q\214\275'Q\214\275'Q\214\275"
+ "'Q\214\275'Q\214\275'Q\214\275'Q\214\275'Q\214\275'Q\214\275'Q\214\275(R\215"
+ "\275(R\215\275(R\215\275&P\213\267\40J\207\20\0\0\0\0\0\0\0\0\40J\207+Y{\252"
+ "\377\216\253\320\377\204\243\314\377\204\243\314\377\204\243\314\377\204\243"
+ "\314\377\204\243\314\377\204\243\314\377\204\243\314\377\204\243\314\377\204"
+ "\243\314\377\204\243\314\377\204\243\314\377\204\243\314\377\204\243\314\377"
+ "\204\243\314\377\204\243\314\377\204\243\314\377\204\243\314\377\204\243\314"
+ "\377\204\243\314\377\204\243\314\377\204\243\314\377\204\243\314\377\204\243"
+ "\314\377\204\243\314\377\203\243\314\377\203\243\313\377\203\243\313\377\203"
+ "\243\313\377\203\242\313\377\202\242\313\377\202\242\313\377\202\241\313\377"
+ "\201\241\312\377\201\241\312\377\201\240\312\377\201\240\312\377\200\240\312"
+ "\377\200\240\312\377\200\240\312\377\200\240\312\377\211\247\316\377Jn\241"
+ "\377\40J\207+\0\0\0\0\0\0\0\0\40J\207+Wy\251\377]\207\275\377>o\260\377>o"
+ "\260\377>o\260\377>o\260\377>o\260\377>o\260\377>o\260\377>o\260\377>o\260"
+ "\377>o\260\377>o\260\377>o\260\377>o\260\377>o\260\377>o\260\377>o\260\377"
+ ">o\260\377>o\260\377>o\260\377>o\260\377>o\260\377>o\260\377>o\260\377>o\260"
+ "\377>o\260\377>o\260\377>o\260\377>o\260\377=o\260\377=o\260\377=o\260\377"
+ "=o\260\377=o\260\377=o\260\377=o\260\377=o\260\377=o\260\377=o\260\377=o\260"
+ "\377=o\260\377_\210\275\377Hm\241\377\40J\207+\0\0\0\0\0\0\0\0\40J\207+Tw"
+ "\251\377]\207\276\377?r\263\377?r\263\377?r\263\377?r\263\377?r\263\377?r"
+ "\263\377?r\263\377?r\263\377?r\263\377?r\263\377?r\263\377?r\263\377?r\263"
+ "\377?r\263\377?r\263\377?r\263\377?r\263\377?r\263\377?r\263\377?r\263\377"
+ "?r\263\377?r\263\377?r\263\377?r\263\377?r\263\377?r\263\377?r\263\377?r\263"
+ "\377?r\263\377?r\263\377?r\263\377?r\263\377?r\263\377?r\263\377?r\263\377"
+ "?r\263\377?r\263\377?r\263\377?r\263\377?r\263\377]\210\277\377Fl\241\377"
+ "\40J\207+\0\0\0\0\0\0\0\0\40J\207+Rv\250\377\\\210\300\377At\265\377At\265"
+ "\377At\265\377At\265\377At\265\377At\265\377At\265\377At\265\377At\265\377"
+ "At\265\377At\265\377At\265\377At\265\377At\265\377At\265\377At\265\377At\265"
+ "\377At\265\377At\265\377At\265\377At\265\377At\265\377At\265\377At\265\377"
+ "At\265\377At\265\377At\265\377At\265\377At\265\377At\265\377At\265\377At\265"
+ "\377At\265\377At\265\377At\265\377At\265\377At\265\377At\265\377At\265\377"
+ "At\265\377\\\210\300\377Dj\240\377\40J\207+\0\0\0\0\0\0\0\0\40J\207+Ot\247"
+ "\377\\\211\302\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377Dw\271"
+ "\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377"
+ "Dw\271\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377Dw\271"
+ "\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377"
+ "Dw\271\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377Dw\271"
+ "\377Dw\271\377Dw\271\377Dw\271\377Dw\271\377[\211\302\377Bi\240\377\40J\207"
+ "+\0\0\0\0\0\0\0\0\40J\207+Ls\247\377\\\211\303\377Fy\273\377Fy\273\377Fy\273"
+ "\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377"
+ "Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273"
+ "\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377"
+ "Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273"
+ "\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377Fy\273\377"
+ "\\\211\303\377Ah\240\377\40J\207+\0\0\0\0\0\0\0\0\40J\207+Jq\246\377\\\212"
+ "\305\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277"
+ "\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377"
+ "I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277"
+ "\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377"
+ "I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277"
+ "\377I}\277\377I}\277\377I}\277\377[\212\305\377?g\237\377\40J\207+\0\0\0\0"
+ "\0\0\0\0\40J\207+Jq\246\377\\\212\305\377I}\277\377I}\277\377I}\277\377I}"
+ "\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277"
+ "\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377I}\277\377"
+ "I}\277\377I}\277\377I}\277\377J~\300\377K\177\301\377K\177\301\377K\177\301"
+ "\377K\177\301\377K\177\301\377K\177\301\377K\177\301\377K\177\301\377K\177"
+ "\301\377K\177\301\377K\177\301\377K\177\301\377K\177\301\377K\177\301\377"
+ "K\177\301\377K\177\301\377K\177\301\377K\177\301\377Z\212\307\377=f\237\377"
+ "\40J\207+\0\0\0\0\0\0\0\0\40J\207+Ip\247\377\\\213\307\377J\177\301\377J\177"
+ "\301\377J\177\301\377J\177\301\377J\177\301\377J\177\301\377J\177\301\377"
+ "J\177\301\377J\177\301\377J\177\301\377J\177\301\377J\177\301\377J\177\301"
+ "\377J\177\301\377J\177\301\377J\177\301\377J\177\301\377J\177\301\377J\177"
+ "\301\377J\177\301\377J\177\301\377K\200\302\377K\200\302\377K\200\302\377"
+ "K\200\302\377K\200\302\377K\200\302\377K\200\302\377K\200\302\377K\200\302"
+ "\377K\200\302\377K\200\302\377K\200\302\377K\200\302\377K\200\302\377K\200"
+ "\302\377K\200\302\377K\200\302\377K\200\302\377K\200\302\377Z\212\307\377"
+ "=f\237\377\40J\207+\0\0\0\0\0\0\0\0\40J\207+Ho\247\377e\223\314\377Z\213\310"
+ "\377Z\213\310\377Z\213\310\377Z\213\310\377Z\213\307\377Z\213\307\377Z\213"
+ "\307\377Z\213\307\377Z\213\307\377Y\212\307\377Y\212\307\377Y\212\307\377"
+ "Y\212\307\377Y\212\307\377X\212\307\377X\212\307\377X\212\307\377X\211\307"
+ "\377X\212\307\377X\212\307\377X\211\307\377X\211\307\377X\211\307\377X\211"
+ "\307\377X\211\307\377X\211\307\377X\211\307\377X\211\307\377X\211\307\377"
+ "X\211\307\377W\211\307\377W\211\307\377W\211\307\377W\211\307\377W\211\307"
+ "\377W\211\307\377V\211\307\377V\211\307\377V\210\307\377V\210\307\377`\217"
+ "\312\377<e\237\377\40J\207+\0\0\0\0\0\0\0\0\40J\207+<b\231\377i\212\267\377"
+ "i\211\266\377i\211\266\377i\211\266\377i\211\266\377i\211\266\377h\211\266"
+ "\377h\211\266\377h\211\266\377h\211\266\377h\211\266\377h\211\266\377h\211"
+ "\266\377g\211\266\377g\211\266\377g\211\266\377g\211\266\377g\210\266\377"
+ "g\210\266\377g\211\266\377g\211\266\377g\210\266\377g\210\266\377g\210\265"
+ "\377g\210\265\377g\210\265\377g\210\265\377g\210\265\377g\210\265\377g\210"
+ "\265\377g\210\265\377g\210\265\377f\210\265\377f\210\264\377f\210\264\377"
+ "f\210\264\377f\210\264\377f\210\264\377f\210\264\377f\210\264\377f\207\264"
+ "\377f\207\264\3778^\226\377\40J\207+\0\0\0\0\0\0\0\0\40J\207+b\177\251\377"
+ "\340\344\351\377\337\342\350\377\337\342\350\377\336\342\350\377\336\342\347"
+ "\377\336\342\347\377\336\342\347\377\336\342\347\377\335\341\347\377\335\341"
+ "\346\377\335\341\346\377\335\341\346\377\335\341\346\377\335\341\346\377\335"
+ "\341\346\377\335\341\346\377\335\341\346\377\334\340\346\377\334\340\346\377"
+ "\335\341\346\377\335\341\346\377\334\340\346\377\334\340\346\377\334\340\345"
+ "\377\334\340\345\377\334\340\345\377\333\337\345\377\333\337\345\377\333\337"
+ "\344\377\333\337\344\377\333\337\344\377\333\336\344\377\332\336\344\377\332"
+ "\336\344\377\332\336\344\377\332\336\343\377\332\336\343\377\332\336\343\377"
+ "\332\336\343\377\332\336\343\377\332\336\343\377\333\337\345\377a}\247\377"
+ "\40J\207+\0\0\0\0\0\0\0\0\40J\207+h\204\254\377\355\355\355\377\351\351\351"
+ "\377\351\351\352\377\351\351\351\377\351\351\351\377\351\351\351\377\351\351"
+ "\350\377\351\350\350\377\351\351\351\377\350\350\350\377\350\350\350\377\350"
+ "\350\350\377\350\350\350\377\350\350\350\377\350\350\350\377\350\350\350\377"
+ "\350\347\350\377\350\347\347\377\347\347\347\377\347\347\347\377\347\347\347"
+ "\377\347\347\347\377\347\347\347\377\347\347\347\377\346\347\347\377\347\346"
+ "\347\377\347\346\347\377\346\346\347\377\346\346\346\377\346\346\346\377\346"
+ "\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377"
+ "\346\345\345\377\345\345\346\377\345\346\345\377\345\346\345\377\345\346\345"
+ "\377\345\345\345\377\351\351\351\377g\202\252\377\40J\207+\0\0\0\0\0\0\0\0"
+ "\40J\207+h\203\253\377\354\354\354\377\350\350\350\377\347\350\350\377\347"
+ "\347\350\377\347\347\350\377\347\347\347\377\347\347\347\377\347\347\347\377"
+ "\347\347\347\377\347\346\347\377\347\346\346\377\347\346\346\377\347\347\347"
+ "\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346\346\377\346\346"
+ "\346\377\346\346\346\377\345\345\346\377\345\345\345\377\345\345\346\377\345"
+ "\346\346\377\345\345\345\377\345\345\345\377\345\345\345\377\345\345\345\377"
+ "\345\345\345\377\345\344\344\377\345\345\344\377\345\345\345\377\345\344\344"
+ "\377\344\344\344\377\344\344\344\377\344\344\344\377\344\344\344\377\343\344"
+ "\344\377\343\344\344\377\344\344\344\377\344\344\343\377\344\343\343\377\350"
+ "\350\350\377g\202\252\377\40J\207+\0\0\0\0\0\0\0\0\40J\207+h\203\253\377\353"
+ "\352\352\377\346\346\346\377\346\345\345\377\345\346\346\377\345\346\345\377"
+ "\345\345\345\377\345\345\345\377\345\345\345\377\345\345\346\377\345\345\345"
+ "\377\345\345\345\377\345\345\345\377\345\345\345\377\345\345\345\377\345\345"
+ "\345\377\344\345\345\377\344\344\344\377\344\345\344\377\344\344\344\377\344"
+ "\344\344\377\344\344\344\377\344\344\344\377\344\344\344\377\343\343\344\377"
+ "\343\343\343\377\344\343\343\377\343\343\343\377\343\343\343\377\343\343\343"
+ "\377\343\343\343\377\343\343\343\377\342\343\343\377\342\343\343\377\343\342"
+ "\343\377\343\342\342\377\342\342\342\377\342\342\342\377\342\342\342\377\342"
+ "\342\342\377\342\342\342\377\342\342\342\377\346\346\346\377g\202\252\377"
+ "\40J\207+\0\0\0\0\0\0\0\0\40J\207+h\203\253\377\351\351\351\377\345\344\344"
+ "\377\344\344\344\377\344\344\344\377\344\344\344\377\344\344\344\377\343\344"
+ "\344\377\343\344\344\377\343\343\344\377\343\343\343\377\343\343\343\377\343"
+ "\343\343\377\343\343\343\377\343\343\343\377\343\343\343\377\343\343\343\377"
+ "\343\343\343\377\343\343\343\377\343\342\342\377\342\342\342\377\342\342\342"
+ "\377\342\342\342\377\342\342\342\377\342\341\342\377\342\342\342\377\342\342"
+ "\341\377\342\341\342\377\341\341\342\377\341\341\341\377\341\341\341\377\341"
+ "\341\341\377\341\341\341\377\341\341\341\377\341\340\341\377\341\341\341\377"
+ "\340\341\341\377\341\341\341\377\340\340\340\377\340\340\340\377\340\340\340"
+ "\377\340\340\340\377\346\345\346\377g\202\252\377\40J\207+\0\0\0\0\0\0\0\0"
+ "\40J\207+h\203\253\377\350\350\350\377\342\342\343\377\342\342\342\377\342"
+ "\342\342\377\342\342\342\377\342\342\342\377\342\342\342\377\342\342\342\377"
+ "\342\342\342\377\342\342\341\377\342\341\342\377\341\341\341\377\341\341\341"
+ "\377\341\341\341\377\341\341\341\377\341\341\341\377\341\341\341\377\341\341"
+ "\341\377\340\341\341\377\341\340\340\377\341\340\340\377\340\340\340\377\340"
+ "\340\340\377\340\340\340\377\340\340\340\377\340\340\340\377\340\340\340\377"
+ "\340\340\337\377\340\340\340\377\337\337\337\377\340\340\337\377\337\337\337"
+ "\377\337\337\337\377\337\337\337\377\337\337\337\377\337\337\337\377\337\337"
+ "\337\377\337\337\337\377\337\337\336\377\336\337\336\377\336\336\336\377\344"
+ "\344\344\377g\202\252\377\40J\207+\0\0\0\0\0\0\0\0\40J\207+h\203\253\377\347"
+ "\347\347\377\341\341\341\377\341\341\341\377\341\341\341\377\341\341\341\377"
+ "\341\341\341\377\340\341\340\377\340\340\340\377\340\340\340\377\340\340\337"
+ "\377\340\340\340\377\340\340\340\377\340\340\337\377\337\340\337\377\337\340"
+ "\337\377\337\337\340\377\337\337\337\377\337\337\337\377\337\337\337\377\337"
+ "\337\337\377\337\337\337\377\337\337\337\377\336\337\337\377\336\337\336\377"
+ "\337\336\336\377\336\336\336\377\336\336\336\377\336\336\336\377\336\336\336"
+ "\377\336\336\336\377\336\336\336\377\336\336\335\377\336\335\335\377\336\335"
+ "\335\377\336\335\335\377\335\335\335\377\335\335\335\377\335\335\335\377\335"
+ "\335\335\377\335\335\335\377\335\335\335\377\343\343\343\377g\202\252\377"
+ "\40J\207+\0\0\0\0\0\0\0\0\40J\207+h\203\253\377\345\346\346\377\337\337\340"
+ "\377\340\337\337\377\337\337\337\377\337\337\337\377\337\337\337\377\337\337"
+ "\337\377\337\337\336\377\337\336\336\377\336\336\337\377\336\336\337\377\336"
+ "\336\336\377\336\336\336\377\336\336\336\377\336\336\335\377\336\336\336\377"
+ "\336\335\336\377\336\336\336\377\335\335\336\377\335\335\335\377\335\335\335"
+ "\377\335\335\335\377\335\335\335\377\335\335\335\377\335\335\335\377\335\335"
+ "\334\377\334\335\335\377\334\334\334\377\334\334\334\377\334\334\334\377\334"
+ "\334\334\377\334\334\334\377\334\334\334\377\334\334\334\377\334\334\334\377"
+ "\334\333\334\377\333\333\333\377\333\333\333\377\333\333\333\377\333\333\333"
+ "\377\333\333\333\377\341\341\342\377f\202\252\377\40J\207+\0\0\0\0\0\0\0\0"
+ "\40J\207+h\203\253\377\345\345\345\377\336\335\336\377\336\335\335\377\335"
+ "\335\335\377\336\335\335\377\335\335\335\377\335\335\335\377\335\335\335\377"
+ "\335\334\335\377\335\335\335\377\335\335\335\377\334\335\334\377\334\334\335"
+ "\377\334\335\334\377\334\334\334\377\334\334\334\377\334\334\334\377\334\334"
+ "\334\377\334\334\334\377\334\334\334\377\334\333\334\377\334\333\333\377\333"
+ "\333\333\377\333\333\333\377\333\333\333\377\333\333\333\377\333\333\333\377"
+ "\333\332\333\377\333\333\333\377\333\333\333\377\332\333\333\377\332\333\332"
+ "\377\332\332\332\377\332\332\332\377\332\332\332\377\332\332\332\377\332\332"
+ "\332\377\332\332\332\377\331\332\331\377\331\332\331\377\331\331\332\377\341"
+ "\341\341\377f\202\252\377\40J\207+\0\0\0\0\0\0\0\0\40J\207+g\203\253\377\343"
+ "\343\344\377\334\334\334\377\334\333\334\377\334\334\334\377\333\333\334\377"
+ "\333\333\333\377\333\334\333\377\333\333\333\377\333\333\333\377\333\333\333"
+ "\377\333\333\333\377\333\333\333\377\333\332\333\377\333\332\333\377\333\332"
+ "\332\377\332\332\333\377\332\332\333\377\332\332\332\377\333\332\332\377\332"
+ "\332\332\377\332\332\332\377\331\332\332\377\331\332\331\377\331\332\331\377"
+ "\331\332\331\377\331\331\331\377\331\331\331\377\332\331\331\377\331\331\331"
+ "\377\331\331\331\377\331\331\331\377\330\330\331\377\330\330\330\377\331\330"
+ "\330\377\330\330\330\377\330\330\330\377\331\330\330\377\330\330\330\377\330"
+ "\330\330\377\330\330\330\377\330\330\330\377\337\337\337\377f\202\252\377"
+ "\40J\207+\0\0\0\0\0\0\0\0\40J\207+g\203\253\377\342\342\343\377\332\332\332"
+ "\377\332\332\332\377\332\332\332\377\332\332\332\377\331\332\332\377\331\332"
+ "\332\377\332\332\331\377\332\331\331\377\331\331\331\377\331\331\331\377\331"
+ "\331\331\377\331\331\331\377\331\331\331\377\331\331\331\377\331\331\331\377"
+ "\331\331\331\377\330\330\330\377\331\330\331\377\330\331\330\377\330\330\330"
+ "\377\330\330\330\377\330\330\330\377\330\330\327\377\327\330\330\377\330\330"
+ "\327\377\327\330\330\377\330\330\327\377\327\327\327\377\327\327\327\377\327"
+ "\327\327\377\327\327\327\377\327\327\327\377\327\327\327\377\327\327\327\377"
+ "\326\327\327\377\327\326\326\377\326\327\326\377\326\326\326\377\326\326\326"
+ "\377\326\326\326\377\336\336\337\377f\202\252\377\40J\207+\0\0\0\0\0\0\0\0"
+ "\40J\207+g\203\253\377\341\341\341\377\331\331\331\377\330\331\331\377\330"
+ "\330\330\377\330\330\330\377\330\330\330\377\330\330\330\377\330\330\330\377"
+ "\327\330\330\377\330\330\327\377\330\330\330\377\330\327\330\377\327\327\327"
+ "\377\327\330\327\377\327\330\327\377\327\327\327\377\327\327\327\377\327\327"
+ "\327\377\327\327\327\377\326\327\326\377\326\327\326\377\326\326\326\377\326"
+ "\326\326\377\326\326\326\377\326\326\326\377\326\326\326\377\326\326\326\377"
+ "\326\326\326\377\325\325\326\377\325\326\326\377\326\325\325\377\325\325\325"
+ "\377\325\326\325\377\325\325\325\377\325\325\325\377\325\325\325\377\325\325"
+ "\325\377\325\325\325\377\325\324\325\377\324\324\324\377\324\324\324\377\335"
+ "\335\335\377f\202\252\377\40J\207+\0\0\0\0\0\0\0\0\40J\207+g\203\253\377\340"
+ "\340\340\377\327\327\327\377\327\327\327\377\326\327\327\377\327\326\327\377"
+ "\326\326\326\377\326\326\327\377\326\326\326\377\326\326\326\377\326\326\326"
+ "\377\326\326\326\377\326\326\326\377\326\326\325\377\325\326\325\377\325\326"
+ "\326\377\325\325\325\377\325\325\325\377\325\325\325\377\325\325\325\377\325"
+ "\325\325\377\325\325\325\377\324\325\325\377\325\325\325\377\324\325\325\377"
+ "\324\324\324\377\325\324\324\377\324\324\324\377\324\324\324\377\324\324\324"
+ "\377\323\324\324\377\324\323\324\377\323\324\324\377\323\324\324\377\323\324"
+ "\323\377\323\323\324\377\323\323\323\377\323\323\323\377\323\323\323\377\323"
+ "\323\323\377\323\323\323\377\323\323\323\377\334\334\334\377f\202\252\377"
+ "\40J\207+\0\0\0\0\0\0\0\0\40J\207+g\203\253\377\337\336\337\377\325\325\325"
+ "\377\325\325\325\377\325\325\325\377\325\325\325\377\325\325\325\377\325\325"
+ "\325\377\325\325\324\377\325\325\325\377\324\325\324\377\324\324\324\377\324"
+ "\324\324\377\324\324\324\377\324\324\324\377\324\324\324\377\324\324\324\377"
+ "\324\324\324\377\324\323\323\377\323\323\323\377\324\323\323\377\323\323\323"
+ "\377\323\323\323\377\324\323\323\377\323\323\323\377\323\323\323\377\323\322"
+ "\323\377\323\322\322\377\322\322\322\377\322\322\322\377\322\322\322\377\322"
+ "\322\322\377\322\322\322\377\322\322\322\377\322\322\322\377\321\322\321\377"
+ "\321\321\322\377\321\321\321\377\321\321\321\377\321\321\321\377\321\321\321"
+ "\377\321\321\321\377\334\333\334\377g\202\252\377\40J\207+\0\0\0\0\0\0\0\0"
+ "\40J\207+h\203\253\377\336\336\336\377\323\324\323\377\324\323\324\377\324"
+ "\323\323\377\323\324\323\377\323\323\323\377\323\323\323\377\323\323\323\377"
+ "\323\323\323\377\323\323\323\377\323\323\323\377\322\323\323\377\323\322\323"
+ "\377\322\322\323\377\322\322\322\377\322\322\322\377\322\322\322\377\322\322"
+ "\322\377\322\322\322\377\322\322\322\377\322\322\322\377\321\321\321\377\322"
+ "\321\321\377\321\321\321\377\321\321\321\377\321\321\321\377\321\321\321\377"
+ "\321\321\320\377\321\321\321\377\321\321\321\377\321\321\321\377\320\320\320"
+ "\377\320\320\320\377\320\320\320\377\320\320\320\377\320\317\320\377\317\320"
+ "\320\377\320\320\320\377\320\320\320\377\320\320\320\377\320\317\317\377\332"
+ "\332\332\377g\202\252\377\40J\207+\0\0\0\0\0\0\0\0\40J\207+h\203\253\377\335"
+ "\335\335\377\322\322\322\377\322\322\322\377\322\322\322\377\321\322\322\377"
+ "\321\321\321\377\321\321\321\377\322\321\321\377\321\321\321\377\321\321\321"
+ "\377\321\321\321\377\321\321\321\377\321\320\321\377\320\321\320\377\320\320"
+ "\320\377\320\320\320\377\320\320\320\377\320\320\320\377\320\320\320\377\320"
+ "\320\320\377\320\320\320\377\320\320\320\377\320\320\320\377\317\320\320\377"
+ "\317\320\317\377\317\317\317\377\317\317\317\377\317\317\317\377\317\317\317"
+ "\377\317\317\317\377\316\317\317\377\317\317\317\377\317\316\316\377\316\316"
+ "\316\377\317\316\316\377\316\316\316\377\316\316\316\377\316\316\316\377\316"
+ "\316\316\377\316\316\316\377\316\316\316\377\331\331\331\377f\202\252\377"
+ "\40J\207+\0\0\0\0\0\0\0\0\40J\207+h\203\253\377\334\334\334\377\320\320\320"
+ "\377\320\320\320\377\320\320\320\377\320\320\320\377\320\320\320\377\320\320"
+ "\320\377\320\320\317\377\317\317\320\377\320\317\317\377\317\317\317\377\317"
+ "\317\317\377\317\317\317\377\317\317\317\377\317\317\317\377\317\317\317\377"
+ "\317\316\317\377\317\317\316\377\316\317\317\377\316\316\316\377\316\316\316"
+ "\377\316\316\316\377\316\316\316\377\316\316\316\377\316\316\316\377\316\315"
+ "\315\377\316\316\315\377\315\316\315\377\315\316\316\377\315\315\315\377\315"
+ "\315\315\377\315\315\315\377\315\315\315\377\315\314\315\377\315\315\315\377"
+ "\315\315\314\377\314\314\314\377\314\314\314\377\314\314\314\377\314\314\314"
+ "\377\314\314\314\377\331\330\331\377f\202\252\377\40J\207+\0\0\0\0\0\0\0\0"
+ "\40J\207+h\203\253\377\333\333\333\377\317\317\316\377\316\317\316\377\317"
+ "\316\316\377\317\316\316\377\316\317\316\377\316\316\316\377\316\316\316\377"
+ "\316\316\316\377\316\316\316\377\316\315\316\377\315\315\315\377\315\315\316"
+ "\377\315\315\315\377\315\315\315\377\315\315\315\377\315\315\315\377\315\315"
+ "\315\377\315\315\315\377\315\315\314\377\315\314\314\377\314\314\314\377\314"
+ "\315\314\377\314\314\314\377\314\314\314\377\314\314\314\377\314\314\314\377"
+ "\314\314\314\377\314\314\313\377\313\313\313\377\314\314\313\377\313\313\313"
+ "\377\313\313\313\377\313\313\313\377\313\313\313\377\313\313\313\377\313\313"
+ "\313\377\312\313\313\377\312\312\313\377\312\312\313\377\312\312\313\377\327"
+ "\327\327\377g\203\253\377\40J\207+\0\0\0\0\0\0\0\0\40J\207+h\203\253\377\332"
+ "\332\332\377\315\315\315\377\314\315\315\377\315\315\315\377\315\315\315\377"
+ "\314\315\315\377\314\314\315\377\314\314\314\377\314\314\314\377\314\314\314"
+ "\377\314\314\314\377\314\314\314\377\314\314\314\377\313\314\314\377\313\314"
+ "\313\377\313\313\313\377\313\313\313\377\313\313\313\377\313\313\313\377\313"
+ "\313\313\377\313\313\313\377\313\312\313\377\313\313\313\377\312\313\313\377"
+ "\313\313\313\377\312\312\312\377\312\312\312\377\312\312\312\377\312\312\312"
+ "\377\312\312\312\377\312\312\312\377\312\312\311\377\312\311\311\377\312\312"
+ "\311\377\311\311\311\377\311\311\311\377\311\311\311\377\311\311\311\377\311"
+ "\311\311\377\311\311\311\377\311\311\311\377\327\326\327\377g\203\253\377"
+ "\40J\207+\0\0\0\0\0\0\0\0\40J\207+g\203\253\377\331\331\331\377\313\313\313"
+ "\377\313\313\313\377\313\313\313\377\313\313\313\377\313\313\313\377\313\313"
+ "\313\377\312\312\313\377\312\313\313\377\312\312\312\377\312\312\312\377\312"
+ "\312\312\377\312\312\312\377\312\312\312\377\312\312\312\377\311\311\311\377"
+ "\312\312\312\377\311\311\311\377\311\311\311\377\311\312\311\377\311\311\311"
+ "\377\311\311\311\377\311\311\311\377\311\311\311\377\311\311\311\377\311\310"
+ "\311\377\310\310\310\377\310\310\310\377\310\310\310\377\310\310\310\377\310"
+ "\310\310\377\310\310\310\377\310\310\310\377\310\310\310\377\310\310\310\377"
+ "\307\307\310\377\310\307\310\377\307\307\307\377\307\307\307\377\307\307\307"
+ "\377\307\307\307\377\325\325\325\377g\203\253\377\40J\207+\0\0\0\0\0\0\0\0"
+ "\40J\207+h\204\254\377\330\330\331\377\312\312\311\377\312\312\311\377\312"
+ "\311\311\377\311\311\311\377\311\311\311\377\311\311\311\377\310\311\311\377"
+ "\311\311\311\377\311\311\311\377\311\310\311\377\311\310\310\377\311\311\311"
+ "\377\310\310\311\377\310\310\310\377\310\310\310\377\310\310\310\377\310\310"
+ "\310\377\310\310\310\377\307\310\307\377\310\310\310\377\307\307\307\377\307"
+ "\307\310\377\307\307\307\377\307\307\307\377\307\307\307\377\307\307\307\377"
+ "\307\307\307\377\307\307\307\377\306\306\307\377\306\307\307\377\306\306\306"
+ "\377\306\306\306\377\306\306\306\377\306\306\306\377\306\306\306\377\306\306"
+ "\306\377\305\306\306\377\305\306\305\377\305\306\306\377\305\306\306\377\325"
+ "\325\325\377g\203\253\377\40J\207+\0\0\0\0\0\0\0\0\40J\207+h\204\254\377\327"
+ "\327\327\377\310\310\310\377\310\310\310\377\310\310\310\377\310\307\307\377"
+ "\307\307\310\377\307\307\307\377\307\307\307\377\307\307\307\377\307\307\307"
+ "\377\307\307\307\377\307\307\307\377\307\307\307\377\307\306\306\377\307\306"
+ "\306\377\306\307\306\377\307\306\306\377\306\306\306\377\306\306\306\377\306"
+ "\306\306\377\306\306\306\377\306\306\306\377\306\306\306\377\305\305\305\377"
+ "\305\305\306\377\306\305\305\377\305\305\305\377\305\305\306\377\305\305\305"
+ "\377\305\305\305\377\305\305\305\377\305\304\305\377\304\304\304\377\304\304"
+ "\305\377\304\304\305\377\304\304\304\377\304\304\304\377\304\304\304\377\304"
+ "\304\304\377\304\304\304\377\304\304\304\377\324\324\324\377g\203\253\377"
+ "\40J\207+\0\0\0\0\0\0\0\0\40J\207+h\204\254\377\326\326\326\377\307\306\306"
+ "\377\306\306\306\377\306\306\306\377\306\306\306\377\306\306\306\377\306\305"
+ "\306\377\306\306\305\377\305\305\306\377\305\306\306\377\305\305\305\377\305"
+ "\305\305\377\305\305\305\377\305\305\305\377\305\305\305\377\305\305\305\377"
+ "\305\304\305\377\305\305\305\377\304\304\305\377\304\304\304\377\304\304\304"
+ "\377\304\304\304\377\304\304\304\377\304\304\304\377\304\304\304\377\304\304"
+ "\303\377\304\303\304\377\303\303\304\377\303\303\304\377\303\303\303\377\303"
+ "\303\303\377\303\302\303\377\303\303\303\377\303\303\303\377\303\302\303\377"
+ "\303\302\303\377\303\302\303\377\302\302\302\377\302\302\302\377\302\302\302"
+ "\377\302\302\302\377\323\323\323\377h\204\254\377\40J\207+\0\0\0\0\0\0\0\0"
+ "\40J\206+h\204\254\377\325\325\325\377\304\305\305\377\305\305\305\377\305"
+ "\304\304\377\304\304\305\377\304\305\305\377\304\304\304\377\305\304\305\377"
+ "\304\305\304\377\304\304\304\377\304\304\304\377\304\304\303\377\304\304\304"
+ "\377\304\304\303\377\303\303\304\377\303\303\303\377\304\303\303\377\303\303"
+ "\303\377\303\303\303\377\303\303\303\377\303\302\303\377\303\302\303\377\302"
+ "\303\303\377\302\302\303\377\302\303\303\377\302\303\302\377\302\302\302\377"
+ "\302\302\302\377\301\301\301\377\301\301\301\377\301\301\301\377\301\301\301"
+ "\377\301\301\301\377\301\301\301\377\301\301\301\377\301\301\301\377\301\301"
+ "\301\377\301\301\301\377\301\301\301\377\301\301\301\377\301\301\301\377\322"
+ "\322\322\377g\203\253\377\37H\204,\0\0\0\0\0\0\0\1\35Cy0f\202\252\377\350"
+ "\350\350\377\344\344\344\377\344\344\344\377\344\344\344\377\344\344\344\377"
+ "\344\344\344\377\344\344\344\377\344\344\344\377\344\344\344\377\344\344\344"
+ "\377\344\344\344\377\344\344\344\377\344\344\344\377\344\344\344\377\344\344"
+ "\344\377\344\344\344\377\344\344\344\377\343\343\343\377\343\343\343\377\344"
+ "\344\344\377\344\343\344\377\343\343\343\377\343\343\343\377\343\343\343\377"
+ "\343\343\343\377\343\343\343\377\343\343\343\377\343\343\343\377\342\342\342"
+ "\377\342\342\342\377\342\342\342\377\342\342\342\377\342\342\342\377\342\342"
+ "\342\377\342\342\342\377\342\342\342\377\342\342\342\377\342\342\342\377\342"
+ "\342\342\377\342\342\342\377\342\342\342\377\347\347\347\377f\202\252\377"
+ "\33=p3\0\0\0\5\0\0\0\14\27""5`<+T\216\377<d\233\377<d\233\377<d\233\377<d"
+ "\233\377<d\233\377<d\233\377<c\233\377:b\232\377-U\217\377<c\233\377;c\233"
+ "\377:c\233\377:c\233\377:c\233\377:c\233\377:c\233\377:c\232\377:c\232\377"
+ ":b\232\377:c\232\377:c\232\377:b\232\377:b\232\377:b\232\3779b\232\3779b\232"
+ "\3779b\232\3779b\232\3779b\232\3779b\232\3779b\232\3779b\232\3778b\232\377"
+ "+U\217\3778a\231\3778a\232\3778a\232\3778a\232\3778a\232\3778a\232\3778a\232"
+ "\3777`\231\377)R\216\377\25""1YA\0\0\0\23\0\0\0\25\24.UD4_\234\377R\202\277"
+ "\377R\202\277\377R\202\277\377R\202\277\377R\202\277\377R\202\277\377R\202"
+ "\277\377N\177\273\3771^\232\377R\202\277\377Q\202\277\377Q\202\277\377Q\202"
+ "\277\377Q\202\277\377Q\202\277\377Q\202\277\377Q\201\276\377Q\201\276\377"
+ "P\201\276\377Q\201\276\377Q\201\276\377P\201\276\377P\201\276\377P\201\276"
+ "\377P\201\276\377P\201\276\377P\201\276\377P\201\276\377P\201\276\377P\201"
+ "\276\377O\200\276\377O\200\276\377O\200\276\3770]\232\377N\177\274\377O\200"
+ "\276\377O\200\276\377O\200\276\377N\200\276\377N\200\276\377N\200\276\377"
+ "N\177\275\3771]\233\377\22+OI\0\0\0\34\0\0\0\33\20%C@*S\214\377<b\227\377"
+ "<a\227\377<a\227\377<a\227\377<a\227\377<a\227\377<a\227\377;_\226\377-T\216"
+ "\377;`\226\377<a\227\377<a\227\377<a\227\377<a\227\377<a\227\377<a\227\377"
+ "<a\227\377<a\227\377<a\227\377;`\226\377;`\226\377;`\226\377;`\226\377;`\226"
+ "\377;`\226\377;`\226\377;`\226\377;`\226\377;`\226\377;`\226\377;`\226\377"
+ ";`\226\377;`\226\377-T\215\377;`\226\377;`\226\377;`\226\377;`\226\377;a\226"
+ "\377;a\226\377;a\226\377<a\227\377*R\214\377\17!=G\0\0\0#\0\0\0\33\3\7\14"
+ ")\31""6bw\30""4\\}\26""0W\205\25.S\214\25.R\215\25.R\215\25.R\215\25.R\215"
+ "\25.R\215\25.R\215\25.R\215\25.R\215\25.R\215\25.R\215\25.R\215\25.R\215\25"
+ ".R\215\25.R\215\25.R\215\25.R\215\25.R\215\25.R\215\25.R\215\25.R\215\25."
+ "R\215\25.R\215\25.R\215\25.R\215\25.R\215\25.R\215\25.R\215\25.R\215\25.R"
+ "\215\25.R\215\25.R\215\25.R\215\25.R\215\25.R\215\25.R\215\25.R\215\25-Q\217"
+ "\26/T\212\27""2Y\202\30""4^{\2\5\12""1\0\0\0#\0\0\0\25\0\0\0\37\0\0\0+\0\0"
+ "\0""4\0\0\0=\0\0\0C\0\0\0D\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0"
+ "C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0"
+ "\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0"
+ "C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0C\0\0\0D\0\0\0F\0\0\0B\0\0\0:\0"
+ "\0\0""2\0\0\0&\0\0\0\35\0\0\0\15\0\0\0\26\0\0\0\40\0\0\0'\0\0\0/\0\0\0""3"
+ "\0\0\0""3\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0"
+ "\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0"
+ "\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0"
+ """2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2\0\0\0""2"
+ "\0\0\0""2\0\0\0""2\0\0\0""3\0\0\0""5\0\0\0""2\0\0\0,\0\0\0%\0\0\0\34\0\0\0"
+ "\23\0\0\0\1\0\0\0\7\0\0\0\16\0\0\0\25\0\0\0\32\0\0\0\35\0\0\0\35\0\0\0\34"
+ "\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0"
+ "\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0"
+ "\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0"
+ "\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34\0\0\0\34"
+ "\0\0\0\35\0\0\0\36\0\0\0\35\0\0\0\30\0\0\0\23\0\0\0\12\0\0\0\3\0\0\0\0\0\0"
+ "\0\0\0\0\0\2\0\0\0\5\0\0\0\10\0\0\0\13\0\0\0\14\0\0\0\13\0\0\0\13\0\0\0\13"
+ "\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0"
+ "\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0"
+ "\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0"
+ "\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\13\0\0\0\14\0\0\0\14"
+ "\0\0\0\12\0\0\0\6\0\0\0\3\0\0\0\0\0\0\0\0");
diff --git a/render/test.c b/render/test.c
index 307e2629..36c962da 100644
--- a/render/test.c
+++ b/render/test.c
@@ -44,6 +44,7 @@ gint main()
Window win;
RrInstance *inst;
RrAppearance *look;
+ int done;
Window root;
XEvent report;
@@ -67,8 +68,10 @@ gint main()
inst = RrInstanceNew(ob_display, ob_screen);
look = RrAppearanceNew(inst, 0);
- look->surface.grad = RR_SURFACE_PYRAMID;
+ look->surface.grad = RR_SURFACE_MIRROR_HORIZONTAL;
look->surface.secondary = RrColorParse(inst, "Yellow");
+ look->surface.split_secondary = RrColorParse(inst, "Red");
+ look->surface.split_primary = RrColorParse(inst, "Green");
look->surface.primary = RrColorParse(inst, "Blue");
look->surface.interlaced = FALSE;
if (ob_display == NULL) {
@@ -76,8 +79,21 @@ gint main()
return 0;
}
+#if BIGTEST
+ int i;
+ look->surface.pixel_data = g_new(RrPixel32, w*h);
+ for (i = 0; i < 10000; ++i) {
+ printf("\r%d", i);
+ fflush(stdout);
+ RrRender(look, w, h);
+ }
+ exit (0);
+#endif
+
+
RrPaint(look, win, w, h);
- while (1) {
+ done = 0;
+ while (!done) {
XNextEvent(ob_display, &report);
switch (report.type) {
case Expose:
@@ -87,8 +103,10 @@ gint main()
report.xconfigure.width,
report.xconfigure.height);
break;
+ case UnmapNotify:
+ done = 1;
+ break;
}
-
}
RrAppearanceFree (look);
diff --git a/render/theme.c b/render/theme.c
index e1cff0cd..ec12dafb 100644
--- a/render/theme.c
+++ b/render/theme.c
@@ -177,9 +177,14 @@ RrTheme* RrThemeNew(const RrInstance *inst, const gchar *name,
theme->osd_font = RrFontOpenDefault(inst);
/* load direct dimensions */
- if (!read_int(db, "menu.overlap", &theme->menu_overlap) ||
- theme->menu_overlap < -100 || theme->menu_overlap > 100)
- theme->menu_overlap = 0;
+ if ((!read_int(db, "menu.overlap.x", &theme->menu_overlap_x) &&
+ !read_int(db, "menu.overlap", &theme->menu_overlap_x)) ||
+ theme->menu_overlap_x < -100 || theme->menu_overlap_x > 100)
+ theme->menu_overlap_x = 0;
+ if ((!read_int(db, "menu.overlap.y", &theme->menu_overlap_y) &&
+ !read_int(db, "menu.overlap", &theme->menu_overlap_y)) ||
+ theme->menu_overlap_y < -100 || theme->menu_overlap_y > 100)
+ theme->menu_overlap_y = 0;
if (!read_int(db, "window.handle.width", &theme->handle_height) ||
theme->handle_height < 0 || theme->handle_height > 100)
theme->handle_height = 6;
diff --git a/render/theme.h b/render/theme.h
index 5b4e785e..9b2d663e 100644
--- a/render/theme.h
+++ b/render/theme.h
@@ -45,7 +45,8 @@ struct _RrTheme {
gint obwidth; /*!< osd border width */
gint cbwidthx;
gint cbwidthy;
- gint menu_overlap;
+ gint menu_overlap_x;
+ gint menu_overlap_y;
/* these ones are calculated, not set directly by the theme file */
gint win_font_height;
gint menu_title_font_height;