mcgrew@dartagnan.rutgers.edu (Charles Mcgrew) (10/20/89)
Submitted-by: kelvin@acad.uu.net (John Walker) Posting-number: Volume 1, Issue 79 Archive-name: sunclock #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # README # Makefile # sunclock.c # sunclock.h # sunclock.1 # This archive created: Wed Aug 23 20:26:38 1989 export PATH; PATH=/bin:$PATH echo shar: extracting "'README'" '(951 characters)' if test -f 'README' then echo shar: will not over-write existing file "'README'" else cat << \SHAR_EOF > 'README' Sunclock is a SunView program that displays a map of the Earth, showing the portion illuminated by the Sun at the current time, properly corrected for the season. The program initially comes up iconic (126x63) and can be opened into a larger (640x320) pixel map. A SunView menu allows animated displays that show the passage of day and night, the changes in the seasons, and even the precession of the equinoxes as year follows year. I saw a program like this running under NeWS, and couldn't sleep until I had one for my SunView screen. It seems to work on Sun 3, 4, and 386i architectures, on any SunView later than 3.5. It's been tested most recently on a Sun 3/260 running SunOS 4.0.3. Enjoy! Author: John Walker Autodesk, Inc. 2320 Marinship Way Sausalito, CA 94965 USA {sun,well,uunet}!acad!kelvin or: kelvin@acad.uu.net Fax: (415) 389-9418 Voice: (415) 332-2344 Ext. 2829 SHAR_EOF fi # end of overwriting check echo shar: extracting "'Makefile'" '(432 characters)' if test -f 'Makefile' then echo shar: will not over-write existing file "'Makefile'" else cat << \SHAR_EOF > 'Makefile' # Make instructions for the Sun clock program RELFILES = README Makefile sunclock.c sunclock.h sunclock.1 LIBRARIES = -lsuntool -lsunwindow -lpixrect -lm sunclock: sunclock.c sunclock.h cc -O sunclock.c -o sunclock $(LIBRARIES) strip sunclock clean: rm -f sunclock rm -f *.bak rm -f core cscope.out manpage: nroff -man sunclock.1 | more lint: lint sunclock.c $(LIBRARIES) shar: shar -b -v $(RELFILES) >sunclock.shar SHAR_EOF fi # end of overwriting check echo shar: extracting "'sunclock.c'" '(19862 characters)' if test -f 'sunclock.c' then echo shar: will not over-write existing file "'sunclock.c'" else cat << \SHAR_EOF > 'sunclock.c' /* Sun clock Designed and implemented by John Walker in November of 1988. Version for the Sun Workstation. The algorithm used to calculate the position of the Sun is given in Chapter 18 of: "Astronomical Formulae for Calculators" by Jean Meeus, Third Edition, Richmond: Willmann-Bell, 1985. This book can be obtained from: Willmann-Bell P.O. Box 35025 Richmond, VA 23235 USA Phone: (804) 320-7016 This program was written by: John Walker Autodesk, Inc. 2320 Marinship Way Sausalito, CA 94965 USA Fax: (415) 389-9418 Voice: (415) 332-2344 Ext. 2829 Usenet: {sun,well,uunet}!acad!kelvin or: kelvin@acad.uu.net This program is in the public domain: "Do what thou wilt shall be the whole of the law". I'd appreciate receiving any bug fixes and/or enhancements, which I'll incorporate in future versions of the program. Please leave the original attribution information intact so that credit and blame may be properly apportioned. Revision history: 1.0 12/21/89 Initial version. 8/24/89 Finally got around to submitting. */ #include <stdio.h> #include <ctype.h> #include <math.h> #include <sys/types.h> #include <sys/timeb.h> #include <assert.h> #include <suntool/sunview.h> #include <suntool/canvas.h> #include <suntool/scrollbar.h> #include <pixrect/pixrect_hs.h> #define abs(x) ((x) < 0 ? (-(x)) : x) /* Absolute value */ #define sgn(x) (((x) < 0) ? -1 : ((x) > 0 ? 1 : 0)) /* Extract sign */ #define dtr(x) ((x) * (PI / 180.0)) /* Degree->Radian */ #define rtd(x) ((x) / (PI / 180.0)) /* Radian->Degree */ #define fixangle(a) ((a) - 360.0 * (floor((a) / 360.0))) /* Fix angle */ #define V (void) #define PI 3.14159265358979323846 #define TERMINC 100 /* Circle segments for terminator */ #define PROJINT (60 * 10) /* Frequency of seasonal recalculation in seconds. */ #define CXDOTS 126 /* Closed window width */ #define CYDOTS 63 /* Closed window height */ #define IXDOTS 128 /* Total icon width */ #define IYDOTS 74 /* Total icon height */ #define OXDOTS 640 /* Open window width */ #define OYDOTS 320 /* Open window height */ /* Globals imported */ extern char *getenv(), *timezone(), *malloc(), *sprintf(); extern time_t time(); #ifdef lint extern void pw_batch(); #endif /* Local variables */ static int xdots, ydots; /* Screen size */ #include "sunclock.h" /* Icon and open window bitmaps */ static char *wdname[] = { /* Week day names */ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; static Frame bf; static Pixwin *fpw, *cpw, *apw; static Pixfont *tinyfont; static Pixfont *regfont; static int onoon = -1; static short *wtab, *wtab1, *wtabs; static struct timeb tbtp; static struct itimerval notif_timer = {{1, 0}, {1, 0}}; static struct itimerval quick_timer = {{0, 500000}, {0, 500000}}; static Menu actmenu; static int fdate = FALSE, idir = 1, animate = FALSE; static long lincr = 60; static long cctime; /* Forward procedures */ double jtime(), gmst(); void drawterm(), sunpos(), projillum(), moveterm(), outdiff(), usage(); /* UPDIMAGE -- Update current displayed image. */ static void updimage(istimer) int istimer; { int i, xl, isclosed; struct tm *ct; char tbuf[80]; double jt, sunra, sundec, sunrv, sunlong, gt; struct tm lt; static int lisec = 61; /* Last iconic seconds */ static long lctime = 0; /* Last full calculation time */ isclosed = (int) window_get(bf, FRAME_CLOSED); if (!istimer) { if (isclosed) { xdots = CXDOTS; ydots = CYDOTS; V pw_writebackground(fpw, 0, 0, IXDOTS, IYDOTS, PIX_SRC); V pw_vector(fpw, 0, 0, IXDOTS - 1, 0, PIX_SRC, 1); V pw_vector(fpw, IXDOTS - 1, 0, IXDOTS - 1, IYDOTS - 1, PIX_SRC, 1); V pw_vector(fpw, IXDOTS - 1, IYDOTS - 1, 0, IYDOTS - 1, PIX_SRC, 1); V pw_vector(fpw, 0, IYDOTS - 1, 0, 0, PIX_SRC, 1); V pw_rop(fpw, 1, 1, micon.pr_size.x, micon.pr_size.y, PIX_NOT(PIX_SRC), &micon, 0, 0); } else { xdots = OXDOTS; ydots = OYDOTS; V pw_rop(cpw, 0, 0, bimage.pr_size.x, bimage.pr_size.y, PIX_NOT(PIX_SRC), &bimage, 0, 0); } } /* If this is a full repaint of the window, force complete recalculation. */ if (!istimer) { lctime = 0; onoon = -1; lisec = 61; for (i = 0; i < OYDOTS; i++) { wtab1[i] = -1; } } if (fdate) { if (animate) cctime += lincr; if (cctime < 0) cctime = 0; } else { V time(&cctime); } lt = *localtime(&cctime); /* Special case to reduce overhead whilst iconic: if we're only showing the icon, update the display only once per minute, detected by the fact that the current seconds reading is less than that of the last update. The icon shows only hours and minutes, and is sufficiently small that once-a-minute updates are plenty to keep the picture in sync. */ if (isclosed && !fdate && (lt.tm_sec > lisec)) return; ct = gmtime(&cctime); jt = jtime(ct); sunpos(jt, FALSE, &sunra, &sundec, &sunrv, &sunlong); gt = gmst(jt); /* Projecting the illumination curve for the current seasonal instant is costly. If we're running in real time, only do it every PROJINT seconds. */ if (fdate || !istimer || ((cctime - lctime) > PROJINT)) { projillum(wtab, xdots, ydots, sundec); wtabs = wtab; wtab = wtab1; wtab1 = wtabs; lctime = cctime; } sunlong = fixangle(180.0 + (sunra - (gt * 15))); xl = sunlong * (xdots / 360.0); /* If the subsolar point has moved at least one pixel, update the illuminated area on the screen. */ if (fdate || !istimer || (onoon != xl)) { apw = isclosed ? fpw : cpw; pw_batch_on(apw); moveterm(wtab1, xl, wtab, onoon, xdots, ydots); pw_batch_off(apw); onoon = xl; } if (isclosed) { /* Display time in closed window */ V sprintf(tbuf, "%02d:%02d %s %s %02d/%02d", lt.tm_hour, lt.tm_min, timezone(tbtp.timezone, lt.tm_isdst), wdname[lt.tm_wday], lt.tm_mon + 1, lt.tm_mday); V pw_text(fpw, 8, IYDOTS - 3, PIX_SRC, tinyfont, tbuf); lisec = lt.tm_sec; } else { /* Display time in open window */ V sprintf(tbuf, " %02d:%02d:%02d %s %s %02d/%02d/%02d %02d:%02d:%02d UTC %02d/%02d/%02d ", lt.tm_hour, lt.tm_min, lt.tm_sec, timezone(tbtp.timezone, lt.tm_isdst), wdname[lt.tm_wday], lt.tm_mon + 1, lt.tm_mday, (lt.tm_year % 100), ct->tm_hour, ct->tm_min, ct->tm_sec, ct->tm_mon + 1, ct->tm_mday, (ct->tm_year % 100)); V pw_text(cpw, 85, ydots - 6, PIX_SRC, regfont, tbuf); } } /* Frame event processor */ static frame_event_proc(frame, event, arg, type) Frame frame; Event *event; Notify_arg arg; Notify_event_type type; { switch (event_id(event)) { case WIN_REPAINT: if (window_get(bf, FRAME_CLOSED)) { updimage(FALSE); } else { xdots = OXDOTS; ydots = OYDOTS; updimage(FALSE); } break; default: window_default_event_func(frame, event, arg, type); break; } } /* Timer notification procedure. */ /*ARGSUSED*/ static Notify_value timer_proc(frame, which) Notify_client frame; int which; { updimage(TRUE); return(NOTIFY_DONE); } /* CEVENT -- Canvas event handler */ /*ARGSUSED*/ static void cevent(window, event, arg) Window window; Event *event; caddr_t arg; { #define mdis(x,y) V menu_set(menu_get(actmenu,MENU_NTH_ITEM,x),\ MENU_INACTIVE,y,0) mdis(1, idir > 0); mdis(2, idir < 0); mdis(11, !fdate); switch (event_id(event)) { case MS_RIGHT: switch (menu_show(actmenu, window, event, 0)) { case 1: /* Forward */ if (idir < 0) lincr = -lincr; idir = 1; break; case 2: /* Backward */ if (idir > 0) lincr = -lincr; idir = -1; break; case 4: /* Hour */ cctime += (lincr = 3600L * idir); fdate = TRUE; break; case 5: /* Day */ cctime += (lincr = 86400L * idir); fdate = TRUE; break; case 6: /* Week */ cctime += (lincr = 86400L * 7 * idir); fdate = TRUE; break; case 7: /* Month */ cctime += (lincr = 86400L * 30 * idir); fdate = TRUE; break; case 8: /* Year */ cctime += (lincr = 86400L * 365L * idir); fdate = TRUE; break; case 10: /* Animate */ animate = fdate = TRUE; V notify_set_itimer_func(bf, timer_proc, ITIMER_REAL, &quick_timer, (struct itimerval *) NULL); break; case 11: /* Real time */ animate = fdate = FALSE; V notify_set_itimer_func(bf, timer_proc, ITIMER_REAL, ¬if_timer, (struct itimerval *) NULL); updimage(FALSE); break; case 13: /* Quit */ V window_done(window); break; } } } /* MAIN -- Main program */ void main(argc, argv) int argc; char *argv[]; { int i; char *op, opt; Icon icon; Canvas canvas; if (getenv("WINDOW_PARENT") == NULL) { V fprintf(stderr, "%s must be run from within Suntools\n", argv[0]); exit(1); } /* Process command line options. */ for (i = 1; i < argc; i++) { op = argv[i]; if (*op == '-') { opt = *(++op); if (islower(opt)) opt = toupper(opt); switch (opt) { case 'U': case '?': usage(); exit(0); } } } icon = icon_create(ICON_WIDTH, IXDOTS, ICON_HEIGHT, IYDOTS, ICON_LABEL, "", 0); bf = window_create((Window) NULL, FRAME, FRAME_LABEL, "Sun Clock by John Walker, Autodesk, Inc. v1.0", FRAME_NO_CONFIRM, TRUE, FRAME_ARGC_PTR_ARGV, &argc, argv, FRAME_ICON, icon, FRAME_CLOSED, TRUE, WIN_EVENT_PROC, frame_event_proc, 0); canvas = window_create(bf, CANVAS, WIN_EVENT_PROC, cevent, 0); V window_set(bf, WIN_CONSUME_PICK_EVENTS, WIN_NO_EVENTS, WIN_MOUSE_BUTTONS, LOC_DRAG, 0, WIN_CONSUME_KBD_EVENT, WIN_LEFT_KEYS, 0); V window_set(canvas, CANVAS_AUTO_EXPAND, FALSE, CANVAS_AUTO_SHRINK, FALSE, CANVAS_HEIGHT, OYDOTS, CANVAS_WIDTH, OXDOTS, WIN_HEIGHT, OYDOTS, WIN_WIDTH, OXDOTS, 0); window_fit(canvas); window_fit(bf); fpw = (Pixwin *) window_get(bf, WIN_PIXWIN); cpw = canvas_pixwin(canvas); tinyfont = pf_open("/usr/lib/fonts/fixedwidthfonts/screen.r.7"); regfont = pf_open("/usr/lib/fonts/fixedwidthfonts/screen.b.14"); actmenu = menu_create(MENU_STRINGS, "Forward", "Backward", "", "Hour", "Day", "Week", "Month", "Year", "", "Animate", "Real time", "", "Quit", 0, 0); mdis(3, TRUE); /* Disable blank slots in menu */ mdis(9, TRUE); mdis(12, TRUE); xdots = OXDOTS; ydots = OYDOTS; wtab = (short *) malloc((unsigned int) ydots * sizeof(short)); wtab1 = (short *) malloc((unsigned int) ydots * sizeof(short)); ftime(&tbtp); V notify_set_itimer_func(bf, timer_proc, ITIMER_REAL, ¬if_timer, (struct itimerval *) NULL); window_main_loop(bf); exit(0); } /* JDATE -- Convert internal GMT date and time to Julian day and fraction. */ static long jdate(t) struct tm *t; { long c, m, y; y = t->tm_year + 1900; m = t->tm_mon + 1; if (m > 2) m = m - 3; else { m = m + 9; y--; } c = y / 100L; /* Compute century */ y -= 100L * c; return t->tm_mday + (c * 146097L) / 4 + (y * 1461L) / 4 + (m * 153L + 2) / 5 + 1721119L; } /* JTIME -- Convert internal GMT date and time to astronomical Julian time (i.e. Julian date plus day fraction, expressed as a double). */ static double jtime(t) struct tm *t; { return (jdate(t) - 0.5) + (((long) t->tm_sec) + 60L * (t->tm_min + 60L * t->tm_hour)) / 86400.0; } /* KEPLER -- Solve the equation of Kepler. */ static double kepler(m, ecc) double m, ecc; { double e, delta; #define EPSILON 1E-6 e = m = dtr(m); do { delta = e - ecc * sin(e) - m; e -= delta / (1 - ecc * cos(e)); } while (abs(delta) > EPSILON); return e; } /* SUNPOS -- Calculate position of the Sun. JD is the Julian date of the instant for which the position is desired and APPARENT should be nonzero if the apparent position (corrected for nutation and aberration) is desired. The Sun's co-ordinates are returned in RA and DEC, both specified in degrees (divide RA by 15 to obtain hours). The radius vector to the Sun in astronomical units is returned in RV and the Sun's longitude (true or apparent, as desired) is returned as degrees in SLONG. */ static void sunpos(jd, apparent, ra, dec, rv, slong) double jd; int apparent; double *ra, *dec, *rv, *slong; { double t, t2, t3, l, m, e, ea, v, theta, omega, eps; /* Time, in Julian centuries of 36525 ephemeris days, measured from the epoch 1900 January 0.5 ET. */ t = (jd - 2415020.0) / 36525.0; t2 = t * t; t3 = t2 * t; /* Geometric mean longitude of the Sun, referred to the mean equinox of the date. */ l = fixangle(279.69668 + 36000.76892 * t + 0.0003025 * t2); /* Sun's mean anomaly. */ m = fixangle(358.47583 + 35999.04975*t - 0.000150*t2 - 0.0000033*t3); /* Eccentricity of the Earth's orbit. */ e = 0.01675104 - 0.0000418 * t - 0.000000126 * t2; /* Eccentric anomaly. */ ea = kepler(m, e); /* True anomaly */ v = fixangle(2 * rtd(atan(sqrt((1 + e) / (1 - e)) * tan(ea / 2)))); /* Sun's true longitude. */ theta = l + v - m; /* Obliquity of the ecliptic. */ eps = 23.452294 - 0.0130125 * t - 0.00000164 * t2 + 0.000000503 * t3; /* Corrections for Sun's apparent longitude, if desired. */ if (apparent) { omega = fixangle(259.18 - 1934.142 * t); theta = theta - 0.00569 - 0.00479 * sin(dtr(omega)); eps += 0.00256 * cos(dtr(omega)); } /* Return Sun's longitude and radius vector */ *slong = theta; *rv = (1.0000002 * (1 - e * e)) / (1 + e * cos(dtr(v))); /* Determine solar co-ordinates. */ *ra = fixangle(rtd(atan2(cos(dtr(eps)) * sin(dtr(theta)), cos(dtr(theta))))); *dec = rtd(asin(sin(dtr(eps)) * sin(dtr(theta)))); } /* GMST -- Calculate Greenwich Mean Siderial Time for a given instant expressed as a Julian date and fraction. */ static double gmst(jd) double jd; { double t, theta0; /* Time, in Julian centuries of 36525 ephemeris days, measured from the epoch 1900 January 0.5 ET. */ t = ((floor(jd + 0.5) - 0.5) - 2415020.0) / 36525.0; theta0 = 6.6460656 + 2400.051262 * t + 0.00002581 * t * t; t = (jd + 0.5) - (floor(jd + 0.5)); theta0 += (t * 24.0) * 1.002737908; theta0 = (theta0 - 24.0 * (floor(theta0 / 24.0))); return theta0; } /* PROJILLUM -- Project illuminated area on the map. */ static void projillum(wtab, xdots, ydots, dec) short *wtab; int xdots, ydots; double dec; { int i, ftf = TRUE, ilon, ilat, lilon, lilat, xt; double m, x, y, z, th, lon, lat, s, c; /* Clear unoccupied cells in width table */ for (i = 0; i < ydots; i++) wtab[i] = -1; /* Build transformation for declination */ s = sin(-dtr(dec)); c = cos(-dtr(dec)); /* Increment over a semicircle of illumination */ for (th = -(PI / 2); th <= PI / 2 + 0.001; th += PI / TERMINC) { /* Transform the point through the declination rotation. */ x = -s * sin(th); y = cos(th); z = c * sin(th); /* Transform the resulting co-ordinate through the map projection to obtain screen co-ordinates. */ lon = (y == 0 && x == 0) ? 0.0 : rtd(atan2(y, x)); lat = rtd(asin(z)); ilat = ydots - (lat + 90) * (ydots / 180.0); ilon = lon * (xdots / 360.0); if (ftf) { /* First time. Just save start co-ordinate. */ lilon = ilon; lilat = ilat; ftf = FALSE; } else { /* Trace out the line and set the width table. */ if (lilat == ilat) { wtab[(ydots - 1) - ilat] = ilon == 0 ? 1 : ilon; } else { m = ((double) (ilon - lilon)) / (ilat - lilat); for (i = lilat; i != ilat; i += sgn(ilat - lilat)) { xt = lilon + floor((m * (i - lilat)) + 0.5); wtab[(ydots - 1) - i] = xt == 0 ? 1 : xt; } } lilon = ilon; lilat = ilat; } } /* Now tweak the widths to generate full illumination for the correct pole. */ if (dec < 0.0) { ilat = ydots - 1; lilat = -1; } else { ilat = 0; lilat = 1; } for (i = ilat; i != ydots / 2; i += lilat) { if (wtab[i] != -1) { while (TRUE) { wtab[i] = xdots / 2; if (i == ilat) break; i -= lilat; } break; } } } /* XSPAN -- Complement a span of pixels. Called with line in which pixels are contained, leftmost pixel in the line, and the number of pixels to complement. Handles wrap-around at the right edge of the screen. */ static void xspan(pline, leftp, npix) int pline, leftp, npix; { int xo, yo; if (window_get(bf, FRAME_CLOSED)) { xo = 1; yo = 1; } else { xo = yo = 0; } leftp = leftp % xdots; pline += yo; if ((leftp + npix) > xdots) { V pw_vector(apw, leftp + xo, pline, xo + (xdots - 1), pline, PIX_SRC ^ PIX_DST, 1); V pw_vector(apw, xo, pline, xo + ((leftp + npix) - (xdots + 1)), pline, PIX_SRC ^ PIX_DST, 1); } else { V pw_vector(apw, xo + leftp, pline, xo + leftp + (npix - 1), pline, PIX_SRC ^ PIX_DST, 1); } } /* MOVETERM -- Update illuminated portion of the globe. */ static void moveterm(wtab, noon, otab, onoon, xdots, ydots) short *wtab, *otab; int noon, onoon, xdots, ydots; { int i, ol, oh, nl, nh; for (i = 0; i < ydots; i++) { /* If line is off in new width table but is set in the old table, clear it. */ if (wtab[i] < 0) { if (otab[i] >= 0) { xspan(i, ((onoon - otab[i]) + xdots) % xdots, otab[i] * 2); } } else { /* Line is on in new width table. If it was off in the old width table, just draw it. */ if (otab[i] < 0) { xspan(i, ((noon - wtab[i]) + xdots) % xdots, wtab[i] * 2); } else { /* If both the old and new spans were the entire screen, they're equivalent. */ if ((otab[i] == wtab[i]) && (wtab[i] == (xdots / 2))) continue; /* The line was on in both the old and new width tables. We must adjust the difference in the span. */ ol = ((onoon - otab[i]) + xdots) % xdots; oh = (ol + otab[i] * 2) - 1; nl = ((noon - wtab[i]) + xdots) % xdots; nh = (nl + wtab[i] * 2) - 1; /* If spans are disjoint, erase old span and set new span. */ if (oh < nl || nh < ol) { xspan(i, ol, (oh - ol) + 1); xspan(i, nl, (nh - nl) + 1); } else { /* Clear portion(s) of old span that extend beyond end of new span. */ if (ol < nl) { xspan(i, ol, nl - ol); ol = nl; } if (oh > nh) { xspan(i, nh + 1, oh - nh); oh = nh; } /* Extend existing (possibly trimmed) span to correct new length. */ if (nl < ol) { xspan(i, nl, ol - nl); } if (nh > oh) { xspan(i, oh + 1, nh - oh); } } } } otab[i] = wtab[i]; } } /* USAGE -- Print how-to-call information. */ static void usage() { V fprintf(stderr, "sunclock -- The Sun clock. By John Walker, Autodesk, Inc.\n"); } SHAR_EOF fi # end of overwriting check echo shar: extracting "'sunclock.h'" '(41456 characters)' if test -f 'sunclock.h' then echo shar: will not over-write existing file "'sunclock.h'" else cat << \SHAR_EOF > 'sunclock.h' /* Small icon definition. */ short micn[] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0xFFFF, 0xFFE0,0,0x400,0,0,0,0x7F,0xFFC0,0x7E0,0x3F87, 0xFE01,0xF800,0,0,0x1FFF,0xFFE0,0x180,0x3F00,0x1F01, 0xFE03,0xC000,0,0x1FFF,0xF830,0x780,0,0x7FDF,0x6FFB, 0xF000,0x83F8,0x7FFF,0xFF1C,0xF18,0x7E0,0x7BF8,0x2FF, 0xFF34,0xCE0F,0xFFFF,0xFFDC,0x1E00,0x1EFF,0xFFE0, 0x3000,0x33FC,0xFE00,0x1DDF,0xFFCC,0xF3E0,0x3FFF,0x1F8, 0,12,0x3E60,0xFCF,0xFF8F,0x83C0,0xF7FC,0,0,0x39C, 0xFFF,0x87E6,0x1787,14,0xFFF8,0,0,0xFFF0,0x3C3, 0xC1B3,0xBDC0,14,0x7FE8,0,0x3003,0x8780,0x1F00,0xE018, 0xF470,0x1F,0xFE01,0x8060,0x3C03,0xC700,0xF800,0xF01D, 0xB1F0,0x1F,0x8003,0x20,0x1800,0xC600,0,0x3871,0xFBF8, 7,10,0xC00,1,0xCC00,0,0x1013,0xF7D8,2,0x7879,0xD8F8, 3,0xF800,0,0x1010,0xFF80,0x1F,0xFCBD,0xD860,14, 0xE000,0,0x1000,0xEE00,0x813,0xFFDE,0xE000,0xF9, 0x8000,0,0x1800,0x800,0xE1F,0xFBF6,0xC000,0xFB,0x8000, 0,0xE00,0x3800,0x1E,0x7190,0,0xDF,0x8000,0,0x301, 0xE000,0xD0,0x1FF1,0x8000,0xCC,0,0,0x38F,0x6000,0x70, 0x31,0xE000,0x40,0,0,0x3C8,0x3000,0x60,0x38,0xFE00, 0xC0,0,0x100,0xE8,0xF000,0xC0,0x78,0x7387,0xFC0,0, 0x180,0x2F,0xFF00,0xC0,0x1C,0x318D,0x8C40,0,0,0x3F, 0xDF80,0x40,12,0x6098,0xCCC0,0,0,7,0xC000,0xC0, 0x180F,0xC0D1,0xECE0,0,0,0x80,0xCFC0,0x60,0x1803, 0x8071,0x7CE0,0x120,0,0x80,0xFFE0,0x22,0,0x8071, 0x78F0,0x120,0,0,0x3038,0x3F,0xE011,0x8031,0xFBB0,0, 0,0,0x100C,0,0x6073,0,0xFFB8,0,0,3,0x300F,0, 0x6476,0,0xF5FD,8,0,2,0x300D,0xC000,0x246C,0,0x7FFF, 0xD808,0,0,0x2000,0x6000,0x3048,0,0x3FC3,0x7C00,2,0, 0x3000,0x2060,0x10C8,0,0xFF1,0xF700,2,0,0x1800, 0x6000,0x104E,0x8000,0xEE,0xF000,0,0,0xA00,0x4000, 0x1067,0x8000,0x3A,0xC040,4,0,0xE00,0x400C,0x19FF, 0x8000,0x63,0xE060,4,0,0x200,0xC000,0x1913,0xA000, 0x1C0,0x30E0,0,0,0x203,0x8000,0x1813,0x2000,0x300, 0x1840,0,0,0x206,0,0x833,0,0x300,0x800,0,0,0x606, 0,0xC60,0,0x3C3,0x8800,0,0,0x40C,0,0x4C0,0,0x1BF, 0x8800,0,0,0x438,0,0x780,0,0x1E3,0x1818,0,0,0x430, 0,0,0,3,0xF01C,0,0,0x4E0,0,0,0,0,0x601C,0,0, 0xC80,0,0,0,0,0x6078,0,0,0xD80,0,0,0,0,0x70,0, 0,0xD00,0,0,0,0,0x40,0,0,0xF60,0,0,0,0,0,0,0, 0xF80,0x6000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0x60,0,0,0,0,0,0,0,0x1C0,0,0, 0x7C1F,0xFFFF,0xC000,0,0,0x1FC0,0,0x87F,0xC3F0,0, 0x7F00,0,0x1F,0xDF40,0x1F,0xFFC0,0,0,0x1E0,7,0xFFFC, 0xFEC0,0x3F0,0,0,0,0x1E0,0x1FC,0x6000,0x1F8,0x3E00, 0,0,0,0x1C0,0x6F0,0,7,0xC000,0,0,0,0x3C0,0x180,0, 0,0,0,0,0,0x3FC,0xE060,0,0,0,0,0,0,0xE0,0,0,0, 0,0,0,0,0 }; mpr_static(micon, 126, 63, 1, micn); /* Big image definition. */ short bimg[] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0x1E,0x3FFF,0xFFFF, 0xF000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0xFFFF,0xFFFF, 0,0xFFF,0xFF80,0x3F,0xDFF0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0x3FC,0,3,0xF0FF,0xFFFC,0,0x7F,0xFFF0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,15,0xFF80,0,0x21F,0xFFB0,0xFC00,0, 0x1FFF,0xFFEF,0xFFC0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x7F, 0xC000,0,0x3FFF,0xF600,0x6000,0,0,0x1FF8,0x7E0,0,0, 0,0,0,0,0x7C00,0x7FFE,0xFC00,0,0,0x1FC,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x1CF,0xFFFF, 0xFF00,0x7FFB,0x8000,0,0,0,0xFE01,0xFE00,0,0,0, 0x7FFF,0,0x1F,0xFFF8,0xFFFF,0x6000,0,0,0x30C,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0x8380,0x7BFE, 0x3D,0xF0F8,0,0,0,1,0xC03F,0xE000,0,0,0x7AF,0xFD81, 0xE000,0,0xFC0,0x380,0,0,0,0x1FF,0xE000,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0x1FF7,0x80E0,0x1F87, 0xFFF,0x8008,0,0,0,0,0x1F,0,0,0,0xFFE,0xFFFF,0,0, 0,0,0,0,0,0xE1,0xEF00,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0x1FDE,0x3078,0x6FFE,0x1FF8,0x3FF0,0,0, 0,0,0x7F,0,0,0,0x1E3F,0xF00,0,0,0,0,0,0,0,0x1F, 0x99F0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x7FC, 0x3FF,0x6C71,0xFF80,0xF3,0xE000,0,0,0,0,0xCE,0,0, 0,0x1FFE,0x7FC0,0,0,0,0,0,0,0,0,0x3FFF,0x8000,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0x7FEC,0xE66,0x7F9F, 0xFFD8,0x1FC3,0xFFE0,0,0,0,0,0xFD,0x8000,0,0,0x4FC, 0xCFF8,0,0,0,0,0,0,0,0,0x7807,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0x3F,0xEFF8,0xF00,0x3F86,0x3FF8, 0x3C01,0xFFF0,0,0,0,0,0xFF,0,0,0,0x79,0x85C0,0,0, 0,0,0,0,0,0,0x7FC,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0x1DF,0xDC1E,0xFBF,0xDFFF,0xEA70,0xC00,0x3F00,0, 0,0,0,0x7F,0,0,0,0x1F,0,0,0,0,0,0xFF0,0,0,0, 0x1C0C,0x300,0,0,0,0x60,0x1A0,0,0,0,0,0,0,0,0, 0x1FFF,0xFF9F,0xF7FF,0x47FF,0xFFFF,0xF800,0xFFF,0xFE00, 0,0,0,0xFF,0,0,0,0,0,0,0,0,0x1F,0xF8E0,0,0, 0x7F8,0xF81F,0xFDE0,0,0,0x798,0,0x20,0,0,0,0,0,0, 0,0,0xDFF,0xE4FC,0x9FF8,0xFFDB,0xFFFF,0xFC00,0,0x3E0, 0,0,0,0x1FF,0,0,0,0,0,0,0,0,0x1F0,0xFF80,0,1, 0xFF0F,0xF000,0x60,0,0,0x6CFF,0xFE00,0,0,0,0,0,0, 0,0,0,1,0xFFFF,0xF70F,0xEC58,0,0xF000,0,0x30,0,0, 0,0x7F,0x8000,0,0,0,0,0,0,0,0x1F1F,0x8000,0,0xFF, 0,0x7000,0x1C0,0,0,0xCCF,0xBFE0,0,0,0,0,0,0,0,0, 0,0xFFE,0xFF0,0,0x37CF,0xFFFF,0xE000,0,0x78,0,0,0, 0xFF,0,0,0,0,0,0,0,0,0x38F0,0,0,0x180,0,0x3000, 0x3FC0,0,0,0x7C0,0x380,0,0,0,0,0,0,0,0,0,0x383F, 0xC000,15,0xF3FF,0xFFF,0xFF00,0,0x38,0,0,0,0x1FF8, 0,0,0,0,0,0,0,1,0xF780,0,0,0x380,0,0xFC07, 0xFF80,0x1E,0,0xC0FE,0,0,0,0,0,0,0,0,0,0,0x1801, 0xFE00,0x6C,0x7E06,0x70FD,0x8180,0,0x3E,0,0,3, 0xFFF0,0,0,0,0,0,0,0,1,0xFF00,7,0x101,0xFE00,0, 3,0xE0FF,0xF83F,0xF000,0x7E,0,0,0,0,0,0,0,0,0,0, 0x380F,0xCAFF,0xF07E,0x7EFC,0xC0F1,0xFFC0,0,7,0,0,1, 0xFF80,0,0,0,0,0,0,0,7,0x1800,0x3F,0xCF01,0,0, 15,0x70,0xFF8,0x1E00,0x3F,0xC000,0,0,0,0,0,0,0,0, 0,0xE01E,0x3C3,0x983E,0xFE0,0x81F3,0xFC38,0,15, 0xC000,0,0,0x7F80,0,0,0,0,0,0,0,14,0x1000,0x20, 0xCFFF,0xE000,0,0,0,0,0xFE00,0x60,0xFFE0,0,0,0,0, 0,0x60,0,0,0,0xF8BF,0xF000,0xE03,0x7FE0,0xC0F2, 0x200F,0xC000,15,0xF000,0,7,0xFBC0,0,0x6000,0,0,0, 0,0,14,0x1000,0x61,0xBFC1,0xFC00,0,0,0,0,0xEE0F, 0xFFE0,0x7870,0,0,0,0xF0C0,0,0xFFC,0,0,0,0xFE3, 0xE200,0x601,0xCF38,0x3E70,0,0xF000,7,0x7E00,0,7, 0xF9C0,1,0xE000,0,0,0x1FF,0xF000,0,3,0x8E00,0x181, 0xB000,0x3C00,0,0,0,0,0x3D3,0xF80,0x1E,0x3FE4,0,7, 0,0,0x7807,0xFF00,0,0x1E,1,0xFFE0,0x3EC,0x180E, 0xE08,0x3C01,0xBF00,1,0xFE00,0,0x1F,0xFF80,0,0,0,0, 0x7FF,0xFF00,0,0,0xFEC0,0x100,0xD800,0x7800,0,0,0, 0,0xE0,0,3,0xE81E,0,0,0,1,0xC000,0x1FF,0xF000, 0x1FF,0x9F01,0xFFC0,0xF8,0x7E1F,0x3FF,0xFF80,0xF80,3, 0xFE00,0,0x17,0xCF00,0,0,0,3,0xFFD8,0x3FE0,0,0, 0xFF,0x8300,0xF000,0xC00,0,0,0,0,0,0,0,8,0x3C, 0xFFC0,0,6,0,0,0x1FE0,0xFE18,0xFCFC,0xFE00,0x71FE, 0xDDCF,0x60FF,0x19D0,0x7C0,3,0xFC00,0,0,0x3800,0,0, 0,0x3F,0xF000,0x60FF,0xC000,0x380,0x18,0xFB80,0xB7E0, 0,0,0,0,0,0,0,0xD80,15,0xFFFC,0xC0FE,0xC000,0xFC, 0,0,0x3F,0xE800,7,0xFB7F,0xFFF7,0xE7E1,0xF8E3,0xF8, 0x3C0,0,0x7800,0,7,0xE000,0,0,0,0x7F,1,0xE078, 0x7806,0x383,0x81F8,0x3FE0,0xDFA0,0,0,0,0,0,0,0,0, 3,0x1C,0xC003,0x7800,0x1C0,0,0,3,0,0,0x3DEF,0xFF80, 0xFFE1,0xB78E,0x1BFC,0x3F0,0,0xFE00,0,0x1FE,0,0,0, 0,0x3E,0,0,0xF03,0xE07F,0xFE70,0xE0,0x6FF0,0,0, 0x300,0,0,0,0,0x10,1,3,0xC000,0x180,0x78,0,0,0, 0,0x400,0x3FFF,0x80FF,0x9E00,0x1F03,0x27E,0x3E,1, 0xFE00,0,0xF00,0,0,0,0,0x38,0,0x70,0x1C2,0xE3CF, 0xC000,0x40,0x6CB0,0,0,0,0,0,0,0,0x10,0,0,0, 0xFF,15,0x8000,0,0,0,0xEFC,15,0,0xF00,0xEE3,0x3C6, 15,0xE001,0xFC00,0,0x3800,0,0x1000,0,0,0x1F0,0, 0xF0,0x43,0xE60E,0,1,0x98BF,0,0,0,0,0,0,0,0,0, 0,0,0x6061,0xC03B,0xE000,0,0,0,0x1F3F,3,0xC007, 0x8600,0x7FC,15,0xC0C9,0xE000,0xFC00,12,0xE000,0x7DF, 0xFC00,0,0,0x183,0,0x13F,0x81DB,0x3C00,0,0x3F, 0xF38F,0,0,0,0,0,0,0,0,0,0,0,0x7060,0xE3EF, 0xE000,0,0,0,0x1FDF,0,0xC03F,0xE017,0x83F0,0x18, 0xF3FD,0xF000,0xF000,0x1F,0x8000,0x1FFD,0x8700,0,0, 0x303,0x81F8,0x33E,0x7FE6,0,0,15,0xE37E,0,0,0,0,0, 0,0,0,0,0,0,0x7F87,0xC780,0,0,0,0,0x6F8,0,0, 0x3F,0xFFF8,0x7BC,0xC3CF,0x8000,0xF000,0xFC,0,0xFE0, 0x100,0,0,0x601,0x8704,6,0x300,0,0,0,0xE1EF,0xE000, 0,0,0,0,0,0,0,0,0,0,0xC0F6,0x181,0xE000,0,0,0, 0x7E0,0x78,15,0xF000,0x90E,0x6E1,0xF073,0,0x3F00, 0x380,0,0xFC0,0xF00,0,0,0x1C00,0x61C,0x7C4,0xFD80,0, 0,0,0x60,0xF000,0,0,0,0,0,0,0,0,0,0x7F,0x1E, 0xFF,0xE000,0x6000,0,0,0,0x7F,0xE00F,0x8FC1,0xF91F, 0x87FE,0xE018,0,0x1F80,0x380,0,0x3E0,0xFC00,0,0, 0x3800,0x671,0xC007,0xF3E0,0,0,0,0x40,0x3800,0,0,0, 0,0,0,0,0,0,0x3E,3,0xE003,0x6000,0x6000,0,0,0, 0x61,0xE018,0x1FF,0xB613,0xCF83,0x860C,0,0xF80,0x300, 0,0x13F,0x8000,0,1,0xF800,0x7DC1,0x980E,0xF060,0,0, 0,0,0x60,0,0,0,0,0,0,0,0,0,4,3,0xF01F,0xC000, 0,0,0,0x7C,0x6039,0x8038,0x303B,0x7E7,0x8F80,0xC7FC, 0,0x780,0xF00,0,0,0,0,15,0x7001,0xC704,0xFE1F,0,0, 0,0,0,0x60,0,0,0,0,0,0,0,0,0,0xE07,0,0x203C,0, 0,0,0,0x7C,0x7DFE,0x38,0x701F,0x1F,0xEFFC,0x7CFC,0, 0x380,0x1C00,0,0,0,0,0x5F,3,0x60E,0xFE07,0x4000,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0x1B,0,0x70,0,0,0, 0,0,0xFF8,0,0x78,0x1C,0xEC07,0x7F8,0,0x3C0,0x1800, 0,0,0,0x1800,0x78,2,0x636,0x7807,0x4000,0,0,0,0, 0,0,0,0,0,0,0,0,0,0xF000,0x3FE,0,0xC0,0,0x1800, 0,0,0,0xFFC0,0,0x60,0,0x4401,0xC078,0,0x1E6,0x1800, 0,0,0,0x1800,0x7C,2,0x2EC,0xFF87,0x8C00,0,0,0,0, 0,0,0,0,0,0,0,0,0x7C,0xA000,0x1E00,0,0x78,1, 0x7FF8,0,0,1,0xFC00,0,0xC0,0,0xC00,0x7B0C,0,0x7F, 0x3000,0,0,0,6,0x7C,3,0x2CE,0xF663,0x8400,0,0,0, 0,0,0,0,0,0,0,0,0,0x1CF,0x6000,0xF000,14,0x1DB, 7,0xF1FF,0,0xD800,0,0,0,0x80,0,0x60F,0xBF0C,0,1, 0xF000,0,0,0,3,0x78,1,0xC3DF,0xFEE0,0x3C00,0,0,0, 0,0,0,0,0,0,0,0,0,0x70E,0xC37F,0x8000,6,0x3DF, 0x8001,0x3FF3,0xFF80,0xEE00,0,0,0,0x80,0,0x60F, 0xB83E,0,1,0xE000,0,0,0,0,0x70,5,0xC07A,0x7F80, 0x3600,0,0,0,0,0,0,0,0,0,0,0,0xF0,0x1C03,0x1FC3, 0,0,4,0xC047,0x7C00,0x1C1,0x2600,0,0x1F,0xFC00,0x80, 0,0x1C00,0x1C27,0,0,0,0,0,0,0x30,0x70,0xFB8F, 0x81BF,0xC000,0x600,0,0,0,0,0,0,0,0,0,0,15, 0xFFDE,0xFC0E,0x7C00,0,0,0,0xFFC7,0xE000,0x7F,0,0, 0xF8,0x180,0xF0,0,0x1800,0xFE3,0,0,0,0,0,0,0x1BF0, 0x31,0x8FE3,0x1E0,0xC000,0x1800,0,0,0,0,0,0,0,0, 0,0,0x18,0x1F,0xE038,0x5800,0,0,0,0x58D,0xC000, 0x1F,0xE000,0,0x40,0x1E0,0x10,0,0xC00,0x183,0x8000, 0,0,0,0,0,0x1FE0,0x1E,0xE66,0x41F0,0xE180,0x1C00,0, 0,0,0,0,0,0,0,0,0,0x30,0,0x60,0xF000,0,0,0, 0x1BF,0xC000,7,0xE000,0,0,0x71,0x8010,0,0x63C,0, 0xE000,0,0,0,0,0,0x1CFC,1,0xF604,0xC390,0x6000,0, 0,0,0,0,0,0,0,0,0,0,0xE0,0,0x1C0,0xE000,0,0, 0xC000,0x3E7,0x8000,3,0xF000,0,0,0x61,0x801F,0xE000, 0x82F0,0,0xF000,0,0,0,0,0,0xE08,1,0xE20E,0xC670,0, 0,0,0,0,0,0,0,0,0,0,0,0x300,0,0x700,0xC000,0, 0,0x6000,0x1F00,0,1,0xFC00,0,0,0xC0,0,0x3801, 0xF260,0,0x7000,0,0,0,0,0,0xF78,3,0xB21E,0x400,0, 0,0,0,0,0,0,0,0,0,0,0,0x600,0,0x400,0xE000,0, 0,0,0xFE00,0,0,0xFF80,0,0,0x80,0,0xE01,0xE660,0, 0x7000,0,0,0,0,0,0x77C,2,0x7F30,0x400,0,0,0,0,0, 0,0,0,0xE00,0x2000,0,0,0x1C00,0,0x400,0xE000,0,0, 7,0xF800,0,0,0x3FC0,0,0,0,0,0x3E0,0xAC36,0,0x1C00, 0,0,0,0,0,0xFF04,3,0x7FE0,0x400,0,0,0x300,0,0,0, 0,0,0x1F00,0x6000,0,0,0x7C00,0,0x800,0x8100,0,0, 0x1F,0x3000,0,0,0x3DC0,0,0,0,0x6000,0x1C,0x380C,0, 0xF80,0,0,0,0,0,0xC7E7,1,0xFF83,0x9C00,0,0,0x300, 0,0,0xE0,0,0,0x300,0xE000,0,0,0xFC00,0,0x80C, 0x81A0,0,0,0x18,0,0,0,0x1C0,0,0,0,0xE000,4, 0x3000,6,0x3C0,0,0,0,0,7,0x8471,1,0xB79E,0xF000,0, 0,0x200,0,0,0x1E0,0,0,0x301,0xE000,0,0,0x7FC6,0, 0xC0F,0x8020,0,0,0x3C0,0,0,0,0x1DF8,0,0,3,0xE000, 4,0x1000,6,0x1FF0,0,0,0,0,6,0x5E0,0x8031,0xDDE0,0, 0,0,0x300,0,0,0,0,0,0x303,0xC000,0,0,0x1F7E,0, 0x408,0,0,0,0xF00,0,0,0,0x1EFC,0,0,15,0xA000,7, 0x1800,0,0x1C78,0,0,0,0,3,0x5C1,0xE07F,0,0,0,0, 0x300,0,0,4,0,0,0x10E,0xC000,0,0,0x23B,0,0x438,0, 0,1,0xF800,0,0,0,0xE3E,0,0,14,0xF000,7,0x800,0, 0x18,0,0,0,0,2,0xD80,0xB1C0,0,0,0,0,0,0,0,4,0, 0,0x11F,0x8000,0,0,0x3B,0,0x660,0,0x3800,0xEF9, 0x8000,0,0,0,0x70E,0,0,3,0x7800,3,0x8800,0,0x18, 0,0,0,0,2,0xFB90,0x6100,0,0,0,0,0x1800,0,0,0,0, 0,0x3E,0,0,0,0x3A,0,0x760,0,0xCD0,0x1E80,0,0,0, 0,12,0,0,3,0xD800,0,0xF806,0,0x1F8,0,0,0,0,3, 0x81F0,0xE300,0,0,0,0,0x7800,0,0,0,0,0,0x1F8,0, 0,0,0x2B,0,0x3C0,0,0x1E,0,0,0,0,0,0x1F,0x8000,0, 0,0xD800,0,0xB00E,0,0x378,0,0,0,0,0,0x1F7,0xFC00, 0,0,0,0,0x6000,0,0,0,0,0,0x70,0,0,0,0x3029,0, 0x700,0,6,0,0,0,0,0,0x1F,0xE000,0,0,0x5800, 0x2000,12,0xFF,0xFC70,0,0,0,0,0,0x7FC,0x7000,0,0, 0,0,0xE000,0,0,0,0,0x1C00,0,0,0,0,0x3029,0, 0x1E00,0,0,0,0,0,0,0,15,0xF800,0,0,0,0x6000, 0x700,0x8F,0xF8,0,0,0,0,0,0x20C,0xE000,0,0,0,0, 0x8000,0,0,0,0,0,0,0,0,0,0x6048,0x8000,0x7800,0, 0,0,0,0,0,0,1,0xFA00,0,0,0,0x6000,0,0x77F, 0xC1AF,0,0,0,0,0,15,0x8000,0,0,0,1,0x8000,0,0, 0,0,0,0,0,0,0,0x604B,0xC000,0x2000,0,0,0,0,0,0, 0,0,0xFE00,0,0,0,0x3E00,0x7000,0xF88,0x301,0xC000, 0,0,0,0,0x1FC,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0x4E,0xC000,0,0,0,0,0,0,0,0,0,0x3E00,0,0xF8E0, 1,0xE380,0,0x1EFC,0x309,0x8000,0,0,0,0,0x1D0,0,0, 0,0,0,0,1,0xC000,0,0x1C00,0,0,0,0,0,0xCC,0,0, 0,0,0,0,0,0,0,0,0x1600,0,0xF878,3,0x30C0,0, 0x3078,0x3FF,0xE000,0,0,0,0,0x70,0,0,0,0,0x1C00, 0,1,0x8000,0,0xC00,0,0,0,0,0,0x18E,0,0,0,0,0, 0,0,0,0,0,0x1A00,0,0,14,0xF060,0,0x7014,0x180D, 0xE000,0,0,0,0,0x18,0,0,0,0x3C3,0xFC00,0x7E,0x16, 0,0xE00,0,0,0,0,0,0,0x30F,6,0,0,0,0,0,0,0,0, 0,0x800,0,4,15,0x3FE0,0x6000,0x1F,0xB800,0x8000,0, 0,0,0,14,0,0,0,0x7FF,0x3000,0x3C2,0x7E,0,0x3FF9, 0xC000,0,0,0,0,0,0x60F,0x30,0,0,0,0,0,0,0,0,0, 0x1800,0,4,0,0x7FF,0xE000,7,0xFC00,0,0,0,0,0,2, 0,0x780,0,0xC7E,0xB000,0x1E02,0xEC,0,0x3800,0xC000, 0,0,0,0,0,0xC09,0x70,0,0,0,0,0,0,0,0,0,0x1000, 0,4,0,0x8F7,0xC000,0x1FE,0xF000,0,0,0,0,0,3,0, 0x4E0,0,0x1873,0xE000,0x101E,0x18C,0,0x3800,0x2000,0, 0,0,0,0x30,0x1818,0x780,0,0,0,0,0,0,0,0,0, 0x1000,0,0x1C,0,0x1991,0xE004,0x7BF,0xC000,0,0,0,0, 0,7,0,0x4E0,0,0x301E,0x3800,0x1014,0x104,0,0x1800, 0x3000,0,0,0,0,0x30,0x601E,0x1600,0,0,0,0,0,0,0, 0,0,0x1000,0,0x1C,0,0x1A13,0xF3C4,0xC6C,0,0,0,0, 0,0,4,7,0xE630,0,0x2018,0x600,0x1070,0x108,0,0,0, 0,0,0,0,0x20,0xC013,0xF800,0,0,0,0,0,0,0,0,0, 0x1000,0,0,0,0x163A,0x3F80,0x3878,0,0,0,0,0,1, 0xFFFC,0x7FC,0x219E,0,0x6000,0x380,0x820,0x1D8,0,0, 0,0,0,0,0,3,0x8010,0xF000,0,0,0,0,0,0,0,0,0, 0x3000,0,0,0,0x161C,0x7F80,0x6000,0,0,0,0,0,1,0, 0x431,0xB083,0,0xC000,0xC0,0x830,0x30,0,0,0,0,0,0, 0,0xFE,0x71,0xE000,0,0,0,0,0,0,0,0,0,0x3000,0, 0,0,0x120B,0xF000,0x6000,0,0,0,0,0,1,0x8000,0x403, 0x9CE1,0xC000,0xC000,0x60,0xC1C,0,0,0x1F0,0,0,0,0, 0,0x180,0x5F,0,0,0,0,0,0,0,0,0,0,0x1000,0,0,0, 0x1E1C,0xF000,0x3000,0,0,0,0,0,1,0x8000,0xC03, 0x8638,0x6000,0x40FF,0x60,0x607,0,0,0xC0,0,0,0,0, 0,0x300,0x56,0,0,0,0,0,0,0,0,0,0,0x1000,0x380, 0,0,0xC1B,0x8007,0xF000,0,0,0,0,0,0,0x8000,0x7001, 0x838E,0x2018,0x7F81,0xFDC0,0x307,0x8000,0,0,0,0,0, 0,0x180,0x200,0xF0,0,0,0,0,0,0,0,0,0,0,0x1000, 0x1C0,0,0,14,0x1C,0,0,0,0,0,0,0,0x8000,0xC003, 0xC0C3,0x20BF,0xF000,0x3F00,0x106,0x8000,0,0,0,0,0, 0,0x3C0,0xE00,0xF0,0,0,0,0,0,0,0,0,0,0,0x1000, 0x180,0,0,0,0x18,0,0,0,0,0,0,1,0x8001,0x8F02, 0xC037,0xB0FB,0x8000,0,0x187,0x8000,0,0,0,0,0,0, 0xCC8,0x1800,0x98,0,0,0,0,0,0,0,0,0,0,0x1800,0, 0,0,0,0xD0,0,0,0,0,0,0,1,1,0xD02,0x801F,0xB88B, 0,0,0x107,0,0,0,0,0,0,0,0x18FF,0x3000,0x88,0,0, 0,0,0,0,0,0,0,0,0x800,0,0,0,0,0x1F0,0,0,0,0, 3,0,1,0x8001,0xE003,0x800E,0x1C81,0,0,0x303,0,0,0, 0,0,0,0,0x71C3,0x3800,0x88,0,0,0,0,0,0,0,0,0, 0,0xC00,0,0,0,0,0x1E0,0,0,0,0,0x1F,0,0,0x8003, 0x8000,0x7FC,0x7C3,0x8000,0x3C,0x301,0,0,0,0,0,0, 0,0x4003,0x800,0xB8,0,0,0,0,0,0,0,0,0,0,0x700, 0,0,0,0,0x1C0,0,0,0,0,0,0x6000,0,0x8006,0,0x7B8, 0x7E1,0x8000,0x19,0xC201,0x8000,0,0,0,0,0,0,0x7703, 0xCC00,0x130,0,0,0,0,0,0,0,0,0,0,0x300,0,0,0, 0,0x100,0,0,0,0,0,0,1,0xB80C,0,0xC1A0,0x2E1, 0xC000,1,0xC301,0x8000,0,0,0,0,0,0,0x3DE0,0x4400, 0x1B20,0,0,0,0,0,0,0,0,0,0,0x300,0,0,0,0, 0x180,0,0,0,0,0,0,1,0xE9F8,0x7FFF,0x30E0,0x3C0, 0xE387,0x8000,0x81C1,0x8000,0,0,0,0,0,0,0x3C0, 0xC400,0x1E20,0,0,0,0,0,0,0,0,0,0,0x180,0,0,0, 0,0xC0,0,0,0,0,0,0,0,0xF01,0xC000,0x3000,0x80, 0x5EFD,0,0x7F,0,0,0,0,0,0,0,0x600,0xC60C,0x3820, 0,0,0,0,0,0,0,0,0,0,0x80,0,0,0,0,0x1C0,0,0, 0,0,0,0,0,0x707,0,0x3000,0x60,0x4001,0,0,0,0,0, 0,0,0,0,0xC00,0x461F,0xE020,0,0,0,0,0,0,0,0,0, 0,0xC0,0,0,0,0,0x3C0,0,0,0,0,0,0,0,0xDFC,0x180, 0x1000,0x7E,0x71,0,0,0,0,0,0,0,0,0,0x1800,0xFC10, 0x33E0,0,0,0,0,0,0,0,0,0,0,0x78,0,0,0,0,0x300, 0,0,0,0,0,0,0,0x1800,0,0x3000,0,0x71,0,0,0,0, 0,0,0,0,0,0x1C00,0xF869,0xBF00,0,0,0,0,0,0,0,0, 0,0,0x3C,0,0,0,0,0xE00,0,0,0,0,0,0,0,0x3000, 0x3F,0xE000,0,3,0,0,0,0,0,0,0,0,0,0x400,0x1FF, 0xEC00,0,0,0,0,0,0,0,0,0,0,0x23,0,0,0,0, 0x3800,0,0,0,0,0,0,0x3000,0xE00C,0x37,0xF000,0,2, 0,0,0,0,0,0,0,0,0,0x3E00,0xC3FF,0xC000,0,0,0,0, 0,0,0,0,0,0,7,0,0,0,0,0xE000,0,0,0,0,0,0, 0x7001,0x8000,0,0x1F80,0xF80,2,0,0,0,0,0,0,0,0, 0,0x7B00,0x338,0,0,0,0,0,0,0,0,0,0,0,1,0x8000, 0,0,1,0x8000,8,0,0,0,0,0,0x6001,0,0,0x60,0x18E0, 4,0,0,0,0,0,0,0,0,0,0x1180,0x320,0,0,0,0,0,0, 0,0,0,0,0,0,0x9E00,0,0,3,0,0x18,0,0,0,0,0,3, 0,0,0x10,0x101C,12,0,0,0,0,0,0,0,0,0,0x80, 0x1E0,0,0,0,0,0,0,0,0,0,0,0,0,0x5600,0,0,2,0, 0,0,0,0,0,0,2,0,0,0x1E,0x1007,0xEFF8,0,0,0,0, 0,0,0,0,0,0x80,0x3C0,0,0,0,0,0,0,0,0,0,0,0, 0,0x7B00,0,0,0x7602,0,0,0,0,0,0,0,2,0,0,1, 0xF000,0x3800,0,0x3C0,0,0,0,0,0,0,0,0x80,0x100,0, 0,0,0,0,0,0,0,0,0,0,0,0x3900,0,0x60,0xFFF2,0, 0,0,0,0,0,0,6,0,0,0,0,0x20,0,0x6C0,0,0,0,0, 0,0,0,0x80,0x100,0,0,0,0,0,0,0,0,0,0,0,0, 0x3880,0,0x3FF,0xC011,0,0,0,0,0,0,0,0x184,0,0,0, 0,0x76,0,0x467,0,0,0,0,0,0,0,0x180,0,0,0,0,0, 0,0,0,0,0,0,0,0,0x1EC0,0,0x380,0x19,0,0,0,0,0, 0,0,0x8398,0,0,0,0,0x76,0,0x421,0,0,0,0,0,0,0, 0x180,0x200,0,0,0,0,0,0x1980,0,0,0,0,0,0,0xB60, 0,0x1E00,9,0x8000,0,0,0,0,0,0,0xBB70,0,0,0,0, 0x3F,0,0x630,0,0,0,0,0,0,0,0x300,0x600,0,0,0,0, 0,0,0,0,0,0,0,0,0x19B0,0,0x3800,8,0x8000,0,0,0, 0,0,1,0x99C0,0,0,0,0,0x1D,0,0x31C,0,0,0,0,0,0, 0,0x600,0x400,0,0,0,0,0,0,0,0,0,0,0,0,0x898,0, 0x2000,8,0xC000,0,0,0,0,0,0,0x100,0,0,0,0,0x19, 0x8000,0x87,0x3C00,0,0,0,0,0,0,0xC00,0,0,0,0,0, 0,0,0,0,0,0,0,0,0x7CC,0,0x3000,7,0x5E00,0,0,0, 0,0,0,0x300,0,0,0,0,8,0xC000,0xF1,0xFC00,0,0,0, 0,0,0,0x800,0x1800,0,0,0,0,0,8,0,0,0,0,0,0, 0x1E4,0,0x3000,3,0x4200,0,0,0,0,0,0,0x600,0,0,0, 0,4,0x4000,0x70,0x1F00,0,0,0,0,0,0,0x1800,0,0,0, 0,0,0,8,0,0,0,0,0,0,0xA7,0,0x3000,3,0xF300,0, 0,0,0,0,0,0x400,0,0,0,0,4,0x6000,0x70,0x3BFF, 0xFE00,0,0,0,0,0,0x1080,0,0,0,0,0,0,0,0,0,0, 0,0,0,0xE1,0x8000,0x2000,1,0x8D80,0,0,0,0,0,0, 0xC00,0,0,0,0,6,0x2000,0x10,0x4808,0x200,0,0,0,0, 0,0x3380,0,0,0,0,0,0,0,0,0,0,0,0,0,0x70, 0xC000,0x6000,0,0xC00,0,0,0,0,0,0,0x1800,0,0,0, 0,2,0x3000,0x1F,0x8C00,0x300,0,0,0,0,0,0x6280,0, 0,0,0,0,0,0,0,0,0,0,0,0,0x38,0x6000,0x6000,0, 0x400,0,0,0,0,0,0,0x1000,0,0,0,0,0x61,0x800,0, 0x780,0x1E0,0,0,0,0,1,0xCE80,0,0,0,0,0,0,0,0, 0,0,0,0,0,0x1C,0x2000,0x2000,0,0,0,0,0,0,0,0, 0x1000,0,0,0,0,0x61,0xC00,0,0xC0,0x67,0,0,0,0,3, 0x1D00,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0x1800, 0x2000,0x1F,0xE0C8,0,0,0,0,0,0,0x2000,0,0,0,0, 0xE1,0x8400,0,0x60,0x1C,0,0,0xE000,0,0x7E,0xD00,0, 0,0,0,0,0,0,0,0x1800,0,0,0,0,0,0x800,0x2000, 0x3F,0xB0C8,0,0,0,0,0,0,0x4000,0,0,0,0,0x180, 0xC400,0,0x60,0x38,0xC000,9,0xB000,0,0xF0,0x600,0, 0,0,0,0,0,0,0,0x1B00,0,0,0,0,0,0xC00,0x2000, 0x1C7C,0xFE00,0,0,0,0,0,0,0x4000,0,0,0,0,0x300, 0x4400,0,0xC0,0x19,0xC000,0x3F,0x9000,1,0xFF80,0x200, 0,0,0,0,0,0,0,0,0x3E0,0,0,0,0,0,0x800,0x3001, 0xFC1C,0x3B80,0,0,0,0,0,0,0x6000,0,0,0,0,0, 0x6600,0,0x80,15,0x4000,0x20,0x1800,2,0x1800,0,0,0, 0,0,0,0,0,0,0xF0,0,0,0,0,0,0x800,0x1001,0xC00, 0xEF0,0,0,0,0,0,0,0x6000,0,0,0,0,0,0x4300,0, 0x380,6,0x4000,0x20,0xC00,4,0x1800,0,0,0,0,0,0,0, 0,0,0x38,0,0,0,0,0,0x800,0x1803,0x800,0x7F6, 0xC000,0,0,0,0,0,0x2000,0,0,0,0,0,0x4180,0, 0x280,0,0x4000,0x1C0,0x600,12,0x3C00,0,0,0,0,0,0, 0,0,0,0x38,0,0,0,0,0x30,0xE00,0xC02,0x1800,0x207, 0xBC00,0,0,0,0,0,0x2000,0,0,0,0,0,0x20C0,0, 0x200,0,0x4000,0x180,0x700,0x18,0x6C00,0,0,0,0,0, 0,0,0,0,0x30,0,0,0,0,0x30,0x380,0x71E,0x1803,6, 0x600,0,0,0,0,0,0x2000,0,0,0,0,0,0x2040,0,0xE00, 0,0x4000,0x600,0x300,0x18,0x5800,0x300,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0xE0,0x5FE,0x3000,0xF9E,0x7EFC, 0,0,0,0,0,0x1000,0,0,0,0,0,0x1860,0,0x1800,0, 0x4000,0xC00,0x100,12,0x7000,0x7C0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0x30,0xC0,0x1000,0x79F,0xC0FC, 0x2000,0,0,0,0x2000,0x1000,0,0,0,0,0,0x830,0, 0x2000,0,0x6000,0x1800,0x180,4,0,0x480,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0x1C,0,0x3000,0,0,0x6000,0, 0,0,0x3000,0x1000,0,0,0,0,0,0xC10,3,0xE000,0, 0x2000,0x2000,0x98,6,0,0x480,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,3,0x8380,0x3000,0,0,0x6000,0,0,0, 0x3000,0x2000,0,0,0,0,0,0x410,6,0,0,0x2000,0xC000, 0x9C,3,0,0x480,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0xFEC0,0x61C0,0,0,0x6000,0,0,0,0x300,0x2000,0,0, 0,0,0,0x410,12,0,0,0x2001,0x8000,0x1E4,1,0x8000, 0x580,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x1860, 0x3F70,0,0,0x2000,0,0,0,0x400,0x2000,0,0,0,0,0, 0x610,0x38,0,0,0x3003,0,0x44,0,0xC000,0x500,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0x38,0x30,0,0,0x3000, 0,0,0,0x400,0xC000,0,0,0,0,0,0x318,0x1C0,0,0, 0x1002,0,4,0,0x6000,0x580,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,14,0x10,0,0,0x3000,0,0,0,0,0xE000,0, 0,0,0,0,0x88,0xF00,0,0,0x1802,0,6,0,0x2000,0x640, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0x10,0,0, 0x3000,0,0,0,0,0x2000,0,0,0x80,0,0,0x6C,0x3800,0, 0,0x802,0,0xC02,0x3000,0x2000,0x3F0,0,0,0xC000,0,0, 0,0,0,0,0,0,0,0,0,0,1,0xF810,0,0,0x3600,0,0, 0,0,0x2000,0,0,0x1E0,0,0,0x35,0xC000,0,0,0x802,0, 0xC03,0x7000,0x2000,0x7F8,0,0,0xC000,0,0,0,0,0,0, 0,0,0,0,0,0,0,0x1C31,0,0x3000,0,0,0,0,0,0x2000, 0,0,0xE0,0,0,0x1F,0,0,1,0xC02,0,0xC01,0x7C00, 0x2000,0x33E,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x523,1,0xF000,0x6000,0,0,0,0,0x3000,0,0,0xC0,0, 0,8,0x40,0,1,0x406,0,0x801,0x6700,0x2000,0x1BE,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x7F0,7,0xF800, 0x6000,0,0,0,0,0x1800,0,0,0,0,0,8,0x3F0,0,0, 0x4604,0,0x801,0x4110,0x6000,0x18EF,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0x3F0,0x3D,0xF706,0x2000,0,0, 0,0,0xC00,0,0,0,0,0,12,0x5E20,0,0,0xC204,0, 0x801,0xC199,0x8000,0x18FE,0,0,0,0,0,0,0,0,0,0, 0,0,0,4,0,0,0x130,0x60,0xC1EF,0xF000,0,0,0,0, 0x600,0,0,0,0,0,7,0xE020,0,0,0xC104,0,0x801, 0x80FF,0,0x38FE,0,0,0,0,0,0,0,0,0,0,0,0,0,4, 0,0,0x1D8,0x41,0x4038,0xF000,0,0,0,0,0x100,0,0,0, 0,0,0,0x20,0,0,0x18C,0,1,0x803C,0,0x306F,0,0,0, 0,14,0,0,0,0,0,0,0,0,0,0,0,0x66,0x78C1,0xC000, 0x3000,0,0,0,0,0x180,4,0,0,0,0,0,0x60,0,0, 0x19F,0,1,0xC038,0,0xE067,0x8000,0,0,0,2,0,0,0, 0,0,0,0,0,0,0,0,0x37,0xFF80,0xC000,0x3C00,0,0,0, 0,0x80,7,0,0,0,0,0,0x40,0,0,0xF4,0x8000,3, 0x6030,0,0xC03F,0x8000,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0x1E,0x6B00,0,0x400,0,0,0,0,0xC0,3,0,0,0, 0,0,0xC0,0,0,0x64,0xC000,3,0x2000,0,0x60,0x8000,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0xC900,0,0x300, 0,0,0,0,0xE0,1,0,0,0,0,0,0x80,0,0,4,0x4000,1, 0xB000,0,0xF9,0x8000,0,0,0,6,0,0,0,0,0,0,0,0, 0,0,0,0,0xC400,0,0x180,0,0,0,0,0x70,7,0,0,0,0, 0,0x180,0,0,4,0x4000,0,0xDC00,1,0x80EB,0x8000,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x600,0,0xC0,0, 0,0,0,0x1C,1,0x3F80,0,0,0,0,0x100,0,0,6,0xC000, 0,0x6600,2,0x400B,0x8000,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0x200,0,0x7F,0,0,0,0,6,1,0xE060,0,0, 0,0,0x300,0,0,3,0x8000,0x70,0x2300,6,0x600F,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x200,0,1, 0xC000,0,0,0,3,0x7FE,0x60,0,0,0,0,0x600,0,0,0, 0,0x7C,0x2180,4,0x3000,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0x200,0,0,0x3000,0,0,0,1,0xFC08, 0x3F,0,0,1,0,0x400,0,0,0,0,0x26,0x2080,0x3C, 0x6000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x200,0,0,0x1800,0,0,0,0,0x6000,1,0xC000,0,1,0, 0x800,0,0,0,0,0x33,0x2081,0x8060,0xE000,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0x200,0,0,0x800,0, 0,0,0,0,1,0x4000,0,1,0x8000,0x1000,0,0,0,0,0x19, 0x9080,0x8040,0xC000,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0x200,0,0,0xC00,0,0,0,0,0,1,0x4000,0, 1,0x8000,0x3000,0,0,0,0,0x24,0xD880,0x380,0x8000,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xC00,0,0, 0x400,0,0,0,0,0,0,0x4000,0,0x101,0xC000,0x6000,0, 0,0,0,0x36,0x6CC0,0x700,0x4000,0x1000,0,0,0,0,0, 0,0,0x180,0,0,0,0,0,0,0,0,0x800,0,0,0x600,0,0, 0,0,0,0,0xC000,0,0x340,1,0x8000,0,0,0,0,0x33, 0x3E40,0x3C00,0x6000,0x3000,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0x1800,0,0,0x300,0,0,0,0,0,0, 0x8000,0,0x760,3,0,0,0,0,0,13,0x8FC0,0x2400, 0x220E,0x3800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0x3000,0,0,0x300,0,0,0,0,0,0,0x8000,0,0x20,6, 0,0,0,0,0,12,0x8780,0x4000,0x77FE,0x3800,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0xC000,0,0,0xE00,0,0, 0,0,0,0x18,0x8000,0,0xCF0,12,0,0,0,0,0,0,0xC380, 0x6000,0xCFF8,0x3000,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,14,0,0xC000,0,0,0x1FC0,0,0,0,0,0,0,0x8000,0, 0xC9C,0x10,0,0,0,0,0,3,0x4080,0x2000,0x8C00,0x31D8, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0x8000,0,0, 0x1C7C,0,0,0,0,0,1,0xC000,0,0x88,0x20,0,0,0,0, 0,3,0x20C0,0x2000,0x8CF0,0x31F6,0x6000,0,0,0,0x600, 0,0,0,0,0,0,0,0,0,14,0,0x8000,0,0,0x3CC7,0,0, 0,0,0,0,0x8001,0x8000,0x98,0x60,0,0,0,0,0,1, 0x3040,0x3001,0x9FF0,0x30E2,0xFC00,0,0,0,0x300,0,0, 0,0,0,0,0,0,0,0,0,0x8000,0,0,0xFC0,0x8000,0,0, 0,0,0,0x8001,0x8000,0x10B0,0xC0,0,0,0,0,0,1, 0x9840,0x1003,0x986,0x3332,0x7F80,0xE00,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0xC000,0,0,0x80,0xF800,0,0, 0,0,0,0x4001,0x8000,0x10F0,0x180,0,0,0,0,0,0, 0x871,0x802,0x1380,0x1F,0x30E0,8,0,0,0x40,0,0,0,0, 0,0,0,0,0,0,0,0xC000,0,0,0,0x4FC0,0,0,0,0,0, 0x6000,0,0xE0,0x300,0,0,0,0,0,0,0x2819,0x9E41, 0x13C0,0x1F99,0xE01C,14,0,0,0x40,0,0,0,0,0,0,0, 0,0,0,0,0xC000,0,0,0,0x70,0,0,0,0,0,0x3000,0, 0x1800,0x200,0,0,0,0,0,0,0x2C08,0x3F3,0x1740, 0xDF0E,0xC007,0xC007,0,0,0,0,0,0,0,0,0,0,0,0,0, 1,0x8000,0,0,0,0x18,0,0,0,0,0,0x3800,0,0x1800, 0x600,0,0,0,0,0,0,0x608,0x1E,0xDC0,0xC00D,0x8000, 0x6003,0x8000,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, 0,0,14,0x8000,0,0,0,0,0x800,0,0x1800,0x400,0,0, 0,0,0,0,0x308,0,0xCC0,0,0x7000,0x3037,0x8000,0,0, 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,3,0xC000,0,0, 0,0,0x400,0,0x1800,0x400,0,0,0,0,0,0,0x7C8,0, 0xC80,0,0x1C00,0x103E,0,0,0,0,0,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0x4000,0,0,0,0,0x400,0,0x1800, 0x600,0,0,0,0,0,0,0x670,0,0xE00,0,0x600,0x1EFE, 0x1800,0,0,0,0,0,0,0,0,0,0,0,0,1,0x8000,0,0, 0,0,0x6000,0,0,0,0,0x700,0,0x1C00,0x200,0,0,0,0, 0,0,0x7F,0x8600,0,0,0x300,0x730,0x1C00,0,0x60,0,0, 0,0,0,0,0,0,0,0,0,0xC000,0,0,0,0,0x2000,0,0, 0,0,0x600,0,0xC00,0x200,0,0,0,0x8000,0,0,0x18, 0x7F80,0,0,0x300,0x400,0xB00,0,0,0,0,0,0,0,0,0, 0,0,0,0,0x6000,0,0,0,0,0x2000,0,0,0,0,0x200,0, 0xE00,0x400,0,0,1,0x8000,0,0,14,0x80,0,0,0x301, 0xF600,0x360,0,0,0,0,0,0,0x600,0,0,0,0,0,0, 0x3000,0,0,0,0,0x2000,0,0x200,0,0,0x300,0,0x600, 0x400,0,0,0,0,0,0,1,0xFEF0,0x3027,0xC000,0x7C3, 0x1B00,0x1F8,0,0,0,0,0,0,0,0,0,0,0,0,0,0x1000, 0,0,0,0,0x4000,0,0x200,0,0,0x100,0,0x3300,0x400, 0,0,0,0,0,0,0,0x3F7,0xFFE7,0xE000,0x62,0x9C0, 0x19E,0,0,0,0,0x300,0,0,0,0,0,0,0,0,0x1800,0, 0,0,0,0x4000,0,0,0,0,0x300,0,0x3100,0x200,0,0,0, 0,0,0,0,7,0xD987,0x8000,0x1E,0xCD8,0x1E,0,0,0,0, 0,0,0x80,0,0,0,0,0,0,0x800,0,0,0,0,0x8000,0,0, 0,0,0x300,0,0x2000,0x200,0,0,0,0,0,0,0,0,0x1E0E, 0,0,0x738,14,0,0,0,0,0,0,0xC0,0,0,0,0,0,0, 0xC00,0,0,0,1,0,0,0,0,0,0x100,0,0xC00,0x380,0, 0,0,0,0,0,0,0,0xE18,0,0,0x1F0,3,0x8100,0,0,0, 0,0,0,0,0,0,0,0,0,0x400,0,0,0,3,0,0,0,0,0, 0x180,0,0xC00,0x80,0,0,0,0,0,0,0,0,0x70,0x30,6, 0,1,0x8100,0,0,0,0,0,0,0,0,0,0,0,0,0x600,0,0, 0,6,0,0,0,0,0,0x80,0,0xC00,0x18C,0,0,0,0,0,0, 0,0,0,0x1FC,0x600A,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0x200,0,0,0,4,0,0,0,0,0,0x180,0,0x200, 0x18C,0x100,0,0,0,0,0,0,0,0,0x1DF,0xF00A,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0x300,0,0,0,0x1C,0, 0,0,0,0,0x300,0,0x200,0x100,0x8380,0,0,0,0,0,0, 0,0,0xE0,0x700B,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0x180,0,0,0,0x38,0,0,0,0,0,0x200,0,0x100, 0x180,0x82C0,0,0,0,0,0,0,0,0,0x100,0x6009,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0x80,0,0,0,0x20,0,0, 0,0,0,0x200,0,0x100,0x80,0xC40,0,0,0,0,0,0,0,0, 0x6300,0x4019,0xC00,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0x80,0,0,0,0x20,0,0,0,0,0,0x400,0,0x80,0x80, 0xC40,0,0,0,0,0,0,0,1,0xFA00,0x4019,0xCC00,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0xC0,0,0,0,0x20,0,0, 0,0,0,0x400,0,0x80,0x80,0x1840,0,0,0,0,0,0,0,3, 0x1E00,0xC010,0x6000,0,0x180,0,0,0,0,0xC0,0,0,0, 0,0,0,0,0x70,0x1C00,0,0,0x20,0,0,0,0,0,0x400,0, 0x7C0,0x180,0x30C0,0,0,0,0,0,0,0,6,0x1A00,0x6010, 0x2000,0,0xF0,0,0,0,0,0,0x2000,0,0,0,0,0,0, 0x18,0x1C00,0,0,0x20,0,0,0,0x600,0,0xC00,0,0x380, 0x101,0xE0C0,0,0,0,0,0,0,0,0x3C,0,0x3C90,0x2000, 0,0x70,3,0,0,0,1,0xA000,0,0,0,0,0,0,15,0xC00, 0,0,0x20,0,0,0,0,0,0x800,0,0x6000,0x603,0x80,0, 0,0,0,0,0,0,0x78,0,0x7B0,0x3000,0,0x60,7,0,0,0, 0x606,0xC000,0,0,0,0,0,0,1,0x8000,0,0,0x20,0,0, 0,0,0,0x800,0,0x4000,0x1C02,0x100,0,0,0,0,0,0,0, 0x58,0,0x120,0x1000,0,0,0x1C,0,0,0,0x600,0xC00,0, 0,0,0,0,0,0,0xC000,0,0,0x20,0,0,0,0,0,0x800, 0x30,0,0x3004,0x100,0,0,0,0,0,0,0,0x40,0,0xE0, 0x1000,0,0,0x14,0,0,0,0,0xC00,0,0,0,0,0,0,0, 0x6000,0,0,0x60,0,0,0,0,0,0x80E,0x70,0,0x4006, 0x100,0,0,0,0,0,0,0,0xC0,0,0,0x1000,0,8,0x1C,0, 0,0,0,0xC00,0,0,0,0,0,0,0,0x2180,0,0,0x40,0,0, 0,0,0,0x41E,0x40,1,0x8002,0x100,0,0,0,0,0,0,0, 0x180,0,0,0x1800,0,8,0,0,0,0x600,0,0,0,0,0,0, 0,0,0,0x3080,0,0,0x40,0,0,0,0,0,0x608,0,3,2, 0x300,0,0,0,0,0,0,0,0x300,0,0,0xE00,0,0,0,0,0, 0x200,0,0,0,0,0,0,0,0,0,0x1000,0,0,0xC0,0,0,0, 0,0,0x300,0,6,2,0x200,0,0,0,0,0,0,0,0x7E00,0, 0,0x380,0,0x1C80,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x1000,0,0,0x80,0,0,0,0,0,0x100,0,4,2,0x200, 0x2000,0,0,0,0,0,7,0xC000,0,0,0x80,0,0x1EC0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0x1000,0,0,0x180,0,0,0, 0,0,0x180,0,2,4,0x200,0x7000,0,0,0,0,0,6,0,0, 0,0xC0,0,0xFC0,0,0,0,0x300,0,0,0,0,0,0,0,0,0, 0x1000,0,0,0x100,0,0,0,0,0,0x80,0,2,4,0x600, 0x3000,0,0,0,0,0,0x1C,0,0,0,0x40,0,0x780,0,0,0, 0x300,0,0,0,0,0,0,0,0,0,0x3000,0,0,0x300,0,0, 0,0,0,0xC0,0,3,8,0x400,0,0,0,0,0,0,0x38,0,0, 0,0x30,0,0x80,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x3000,0,0,0x1E00,0,0,0,0,0,0x40,0,1,8,0x400,0, 0,0,0,0,0,0x20,0,0,0,0x18,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0x2000,0,1,0xFC00,0,0,0,0,0,0x40, 0,2,8,0x800,0,0,0,0,0,0,0x20,0x30,0,0,8,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0x2000,0,7,0,0,0, 0,0,0,0x40,0,3,12,0x800,0,0,0,0,0,0,0x20,0x30, 0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x2000, 0,0x1C,0,0,0,0,0,0,0x40,0,2,4,0x1800,0,0,0,0, 0,0,0x20,0,0x1C0,0,2,0x8000,0,0,0,0,0,0,0, 0x100,0,0,0,0,0,0,0x2000,0,0x10,0,0,0,0,0,0, 0x60,0,0x1E,6,0x3000,0,0,0,0,0,0,0x20,0,0x1C0,0, 3,0x8000,0,0,0,0,0,0,0,0x100,0,0,0,0,0,0, 0x2000,0,0x60,0,0,0,0,0,0,0x20,0,0x30,3,0xE000, 0,0,0,0,0,0,0xF0,0x700,0,0,1,0x8000,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0x2000,0,0x40,0,0,0,0,0,0, 0x20,0,0x20,0,0,0,0,0,0,0,0,0x70,0x700,0,0,0, 0x8000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x2000,0, 0x40,0,0,0,0,0,0,0x30,0,0x20,0,0,0,0,0,0,0,0, 0x60,0,0,0,0,0x8000,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0x6000,0,0x40,0,0,0,0,0,0,0x10,0,0x60,0,0, 0,0,0,0,0,0,0x30,0x8000,0,0,1,0xC000,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0x4000,0,0x40,0,0,0,0,0, 0,0x10,0,0x40,0,0,0,0,0,0,0,0,0x10,0xC000,0, 0x1800,0,0xC000,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0xC000,0,0xC0,0,0,0,0,0,0,8,0,0x40,0,0,0,0,0, 0,0,0,0x18,0x4D00,0,0x1C00,0,0xC000,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0x8000,0,0x180,0,0,0,0,0,0,6, 0,0x1C0,0,0,0,0,0,0,0,0,8,0x1F80,0,0x1D80,0, 0xC000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xC000,0, 0x300,0,0,0,0,0,0,2,0,0x100,0,0,0,0,0,0,0,0, 8,0xDF80,0,0x18C0,0,0x8000,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0x8000,0,0xE00,0,0,0,0,0,0,2,0,0x300, 0,0,0,0,0,0,0,0,8,0xCF00,0,0x40,0,0x8000,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0x8000,0,0xE00,0,0,0, 0,0,0,1,0,0x200,0,0,0,0,0,0,0,0,8,0x8000,0, 0x8C0,0,0x8000,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x8000,0,0x1C00,0,0,0,0,0,0,1,0,0x400,0,0,0,0, 0,0,0,0,4,0,0x41,0xCCC0,1,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0x8000,0,0x1C00,0,0,0,0,0,0,0, 0x8000,0xC00,0,0,0,0,0,0,0,0,6,0x80,0x1FF9, 0xEC00,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x8000,0,0x7000,0,0,0,0,0,0,0,0x8000,0x3000,0,0, 0,0,0,0,0,0,2,0x83,0xE00E,0x6C00,2,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0x8000,0,0xF000,0,0,0,0, 0,0,1,0x8000,0x6000,0,0,0,0,0,0,0,0,6,12,3, 0xC00,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x8000, 0x180,0xE000,0,0,0,0,0,0,0,0x8000,0xC000,0,0,0, 0,0,0,0,0,12,0x7F8,1,0x9C00,12,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,1,0x8000,0x180,0xC000,0,0,0,0,0, 0,0,0xC1FF,0,0,0,0,0,0,0,0,0,6,0x1CF0,0,0xAE00, 8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0x1F1, 0x8000,0,0,0,0,0,0,0,0x7F50,0,0,0,0,0,0,0,0, 0,3,0xF800,0,0xFE00,0x18,0,0,0x1C00,0,0,0,0,0,0, 0,0,0,0,0,1,0,0xFE,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0x1F00,0x30,0,0,0x1E00,0,0, 0,0,0,0,0,0,0,0,0,3,0,0x20,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0x3E80,0x30,0,0, 0xE00,0,0,0,0,0,0,0,0,0,0,0,6,0,0x70,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x80, 0x30,0,0,0x780,0,0,0,0,0,0,0,0,0,0,0,4,0, 0x10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0xC0,0x20,0,0,0x380,0,0,0,0,0,0,0,0,0,0, 0,4,0,0x30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0x40,0x2E0,0,0,0x2CC,0,0,0,0,0,0,0, 0,0,0,0,4,0,0x60,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0x78,0xE7C0,0,0,0x274,0,0,0,0, 0,0,0,0,0,0,0,4,0,0x1C0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,7,0xFC00,0,0,0x20C,0, 0,0,0,0,0,0,0,0,0,0,4,0,0x7F00,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x1800,0,0, 0x618,0,0,0,0,0,0,0,0,0,0,0,4,0,0x4000,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 0x8300,0,0,0x730,0,0,0,0,0,0,0,0,0,0,0,4,0, 0x4000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,1,0x8300,0,0,0x120,0,0,0,0,0,0,0,0,0,0, 0,12,12,0xC000,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0x7300,0,0,0x3F40,0,0,0,0,0, 0,0,0,0,0,0,12,15,0x8000,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0x5D00,0,0,0x7DC0, 0,0,0,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x2100,0,0, 0xC400,0,0,0,0,0,0,0,0,0,0,0,14,14,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x3100,0,0,0x8C00,0,0,0,0,0,0,0,0,0,0,0,0x1E, 14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0x1F00,0,1,0x9800,0x180,0,0,0,0,0,0,0, 0,0,0,0x1A,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0xC00,0,14,0x3000,0x100,0,0,0, 0,0,0,0,0,0,0,2,0x18,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x38,0xD000,0,0, 0,0,0,0,0,0,0,0,0,0x1F,0x10,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x60, 0x8000,0,0,0,0,0,0,0,0,0,0,0,0x1E,0x70,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0x41,0x8000,0,0,0,0,0,0,0,0,0,0,0,0x34,0x180, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0xC1,0x8000,0,0,0,0,0,0,0,0,0,0,0, 0x7F,0x8100,0,0,0,0,0,0,0,0,0,0,0,0x3000,0,0, 0,0,0,0,0,0,0,0,0,0,0,0xFE,0,0,0,0,0,0,0,0, 0,0,0,0,0x7A,0xE0,0,0,0,0,0,0,0,0,0,0,0, 0x3000,0,0,0,0,0,0,0,0,0,0,0,0,0,0x60,0,0,0, 0,0,0,0,0,0,0,0,0,0x3C,0x30,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0x7C,0x60,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0x78,0x80,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0x30,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0x78,0x180,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0x3C,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0x78,0x300,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0x38,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x78,0x600,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0x100,0,0,0,0,0,0,0,0,0,0,0,0,0x3C,0xC00, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0x100,0,0,0,0,0,0,0,0,0,0,0,0,0x3E, 0x400,0xFC0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x3E,0x600,0x1FC0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0x3F,0xFE00,0x200,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0x1F,0xF300,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0x3000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,15,0xF380,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,3,0xFEE0,0,0,15,0,0,0,0,0x100, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0xFFFE,0,0,3,0,0,0,0, 0x100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0x3F80,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0x100,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,13,0x8000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 14,7,0xC000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x700,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x7E0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x7B00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, 0xFE00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 14,0xF800,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0x3F0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0x19,0x8000,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0x1FFC,0x7FF,0x8C0F,0,0x3FF,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0x33,0,0,0,0,0,0,0,0,0,0, 0,0,1,0xFFC0,0,0,0xFF,0xF006,0xFC00,0xF000,0xFC03, 0xFC00,0xFC00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0xEE,0,0,0,0,0,0,0,0,0,0,0,0,7,0x7F,0xE000, 0,0x1F00,1,0x8000,0x4000,0x7FC,0,0x3FF,0x8000,0,0, 6,0,0,0,0,0,0,0,0,0,0,0,0,0x86,0,0,0,0,0,0, 0,0,0,0,0,0,4,0,0x1FF8,1,0xF000,0,0,0,0,0,0, 0x7000,0,0,6,0,0,0,0,0,0,0,0,0,6,0,0,0x186,0, 0,0,0,0,0,0,0,0,0,0,6,0x7FC,0,12,15,0,0,0,0, 0,0,0,0x1C00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x410F,0x8000,0,0,0,0,0,0,0,0,0,0,0x7D,0xF800,0, 3,0x38,0,0,0,0,0,0,0,0x1FFF,0xE000,0,0,0,0,0, 0,0,0,0,0,0,0,0,1,0xF60D,0xA000,0,0,0,0,0,0, 0,0,0,0x7E,0x180,0,0,1,0x87E0,0,0,0,0,0,0,0, 0xC00,0x6F80,0,0,0,0,0,0,0,0,0,0,0,0,0,0x1E1, 0x9401,0xF800,0,0,0,0,0,0,0,0x18,0,0xFE3,0xFE00, 0,0,0,0xDC00,0,0,0,0,0,0,0,0,0x7C70,0,0,0,0, 0,0,0,0,0,0,0,0,0,0x3F0,0x8E00,0xF000,0,0,0,0, 0,0x1E,0,0x1FF,0x8023,0xF800,0xC00,0,0,0,0x6000,0, 0,0,0,0,0,0,0,0x340F,0xE000,0,0,0,0,0,0,0,0, 0,0,0,0,0,0x4700,0x2000,0,0,0,0,0,0x33,15, 0xFF00,0xFFFE,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7, 0x1FC0,0,0,0,0,0,0,0,0,0,1,0,0,0xFF,0x8580, 0x3000,0,0,0,0,0,0x1FF3,0x1F0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,2,0x7E,0,0,0,0,0,0,0,0,0,3, 0xFF00,0,0xC0,0x580,0x3000,0,0,0,0,7,0xA001,0xFE00, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0, 0,0,0,0,0,0,0,0x61FF,0,0x3F,0x9980,0x1800,0,0,0, 0,4,0xE000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,6,0,0,0,0,0,0,0,0x780,0,0x1F,0xB000,0xFFFE, 0x3FE0,0x7E00,0x1800,0,0,0,0,0x1FC,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0, 0,0x1CFF,0xC1F0,0x19,0xF000,3,0xFFFF,0xF000,0xC00,0, 0,0,15,0xFE00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0xF8,0,0,0,0,0,0,0,0x7001,0xC1A0,0x3C, 0x2000,0,0,0,0xC00,0,0,0,0x70,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0x700,0,0,0,0,0,0, 0x3801,0xC001,0x8199,0xE3FC,0,0,0,12,0x800,0,0,0, 0x1E0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0x3C00,0,0,0,0,0,0x1DF,0xC701,0,0xFE06,0x3C04, 0,0,0,15,0xF800,0,0,0,0xE00,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0x4000,0,0,0,0,0, 0xFE20,0xF6,0,0,0,0,0,0,6,0x800,0,0,0,0x7800,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0xC000,0,0,0,0,0x3F,0,12,0,0,0,0,0,0,14,0,0, 0,1,0xC000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,1,0x8000,0,0,0,0x3FF,0xFFFC,0,0,0,0,0,0, 0,0,0x78,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,1,0x8000,0,0,0,0x3F8,0,0,0,0, 0,0,0,0,0,7,0xFFF0,0,0,0x3F0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,1,0x8000,0,0,0,0x7E0, 0,0,0,0,0,0,0,0,0,0,15,0x8000,0,0x3E00,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x7C00, 0,0,3,0x87F8,0,0,0,0,0,0,0,0,0,0,0,0x7E00,7, 0xC000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,7,0xFFE0,0,0,3,0xC01F,0,0,0,0,0,0,0,0,0, 0,0,0x1FF,0xFFF8,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0xF8,0,0,0,3,0xE001,0xC000,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0xC0,0,0,0,0,0x1F,0x7FF8, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0xE0,0,0,0,0,0x7F, 0xFF80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x20,0,0,0,0, 0x78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x60,0,0,0,0, 0xC0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xFF,0xC000,0, 0,0,0x180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x3C00,0,0,0,0x80,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0x3C0,0,0,0,0x80,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0x3FF,0xF800,0xF000,0,0x7C,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0xF60,0x7FF,0xFFE,0,3,0xFE00,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0x3870,0,0,0,0,0xF800,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0x408,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; mpr_static(bimage, 640, 320, 1, bimg); SHAR_EOF fi # end of overwriting check echo shar: extracting "'sunclock.1'" '(2108 characters)' if test -f 'sunclock.1' then echo shar: will not over-write existing file "'sunclock.1'" else cat << \SHAR_EOF > 'sunclock.1' .TH SUNCLOCK 1 "21 DEC 1988" .UC 4 .SH NAME sunclock \- Show illuminated portion of Earth .SH SYNOPSIS .B sunclock .SH DESCRIPTION .I sunclock is a SunView application that displays a map of the Earth and indicates the illuminated portion of the globe by drawing sunlit areas dark on light, night areas as light on dark. .PP The program initially appears iconic, showing a small map in a 126 by 63 pixel double-sized icon with the local date and time at the bottom. If opened, a 640 by 320 pixel map is displayed which shows both the local and Universal (GMT) time to the second. While the window is open, pressing the right mouse button displays a menu which lets you step the clock from the present time forward or backward in increments of one hour, day, week, month, or year. If you select ``Animate'' from this menu, the program steps continuously every half second. Try selecting ``Week'' then ``Animate'' to watch the seasons pass. Select ``Year'' and ``Animate'' and you can see the (ever so subtle) precession of the equinoxes. Selecting ``Real time'' restores the current time display. .SH HOW IT WORKS .I sunclock calculates the position of the Sun using the algorithm in chapter 18 of: .PP .I Astronomical Formulae for Calculators by Jean Meeus, Third Edition, Richmond: Willmann-Bell, 1985. .PP and Mercator projects the illuminated area onto map image. The Sun's position is calculated to better than one arc-second in accuracy. .SH BUGS The map isn't rescaled if you resize the open window. (I don't want to have to store a vector database for the map.) .PP The illuminated area shown is the area which would be sunlit if the Earth had no atmosphere. The actual illuminated area is larger because of atmospheric refraction and twilight. .PP Only works for dates between 1970 and 2034 due to limited range of Unix time representation. .SH AUTHOR John Walker .br Autodesk, Inc. .br 2320 Marinship Way .br Sausalito, CA 94965 .br USA .br {sun,well,uunet}!acad!kelvin .br or: kelvin@acad.uu.net .br Fax: (415) 389-9418 .br Voice: (415) 332-2344 Ext. 2829 SHAR_EOF fi # end of overwriting check # End of shell archive exit 0