shithub: ft²

Download patch

ref: f9123a09ec984317770daf59ffc342409ba47c2d
parent: 95112aa96abb49f3cd58750e36897236f834e4b7
author: Olav Sørensen <olav.sorensen@live.no>
date: Fri Aug 28 15:44:04 EDT 2020

Pushed v1.31 code

- The audio channel mixer is floating-point based now, for a theoretical precision improvement
- Windows: The 32-bit version now has the same mixer as the 64-bit version (e.g. you can use >48kHz rates)
- Fixed an issue where the channel panning could overflow if pan was close to 255 ($80) and you had a panning envelope going upwards
- Fixed another issue with dithering in 16-bit audio output mode (d'oh)
- Dithering is now always enabled for 16-bit audio output mode, and the "dithering" checkbox has been removed from the config screen
- Disk op.: When listing modules, only list .wav files if "Save as:" is set to "WAV"
- Fixed a misplaced pixel on the "Usable" mouse pointer type graphics =)
- Code cleanup (more sensible variable names in the audio mixer)

--- a/src/ft2_about.c
+++ b/src/ft2_about.c
@@ -34,7 +34,6 @@
 } matrix_t;
 
 static const uint8_t starColConv[24] = { 2,2,2,2,2,2,2,2, 2,2,2,1,1,1,3,3, 3,3,3,3,3,3,3,3 };
-static const int16_t *sin32767 = sinusTables, *cos32767 = &sinusTables[256];
 static int16_t hastighet;
 static int32_t lastStarScreenPos[NUM_STARS];
 static uint32_t randSeed;
@@ -60,26 +59,27 @@
 
 static void fixaMatris(rotate_t a, matrix_t *mat)
 {
-	int16_t sa, sb, sc, ca, cb, cc;
+	int32_t sa, sb, sc, ca, cb, cc;
 
-	sa = sin32767[a.x >> 6];
-	ca = cos32767[a.x >> 6];
-	sb = sin32767[a.y >> 6];
-	cb = cos32767[a.y >> 6];
-	sc = sin32767[a.z >> 6];
-	cc = cos32767[a.z >> 6];
+	// original code used a cos/sin table, but this only runs once per frame, no need...
+	sa = (int32_t)round(32767.0 * sin(a.x * (2.0 * M_PI / 65536.0)));
+	ca = (int32_t)round(32767.0 * cos(a.x * (2.0 * M_PI / 65536.0)));
+	sb = (int32_t)round(32767.0 * sin(a.y * (2.0 * M_PI / 65536.0)));
+	cb = (int32_t)round(32767.0 * cos(a.y * (2.0 * M_PI / 65536.0)));
+	sc = (int32_t)round(32767.0 * sin(a.z * (2.0 * M_PI / 65536.0)));
+	cc = (int32_t)round(32767.0 * cos(a.z * (2.0 * M_PI / 65536.0)));
 
-	mat->x.x = ((ca * cc) >> 16) + ((sc * ((sa * sb) >> 16)) >> (16-1));
-	mat->y.x = (sa * cb) >> 16;
-	mat->z.x = ((cc * ((sa * sb) >> 16)) >> (16-1)) - ((ca * sc) >> 16);
+	mat->x.x = (int16_t)(((ca * cc) >> 16) + ((sc * ((sa * sb) >> 16)) >> (16-1)));
+	mat->y.x = (int16_t)((sa * cb) >> 16);
+	mat->z.x = (int16_t)(((cc * ((sa * sb) >> 16)) >> (16-1)) - ((ca * sc) >> 16));
 
-	mat->x.y = ((sc * ((ca * sb) >> 16)) >> (16-1)) - ((sa * cc) >> 16);
-	mat->y.y = (ca * cb) >> 16;
-	mat->z.y = ((sa * sc) >> 16) + ((cc * ((ca * sb) >> 16)) >> (16-1));
+	mat->x.y = (int16_t)(((sc * ((ca * sb) >> 16)) >> (16-1)) - ((sa * cc) >> 16));
+	mat->y.y = (int16_t)((ca * cb) >> 16);
+	mat->z.y = (int16_t)(((sa * sc) >> 16) + ((cc * ((ca * sb) >> 16)) >> (16-1)));
 
-	mat->x.z = (cb * sc) >> 16;
-	mat->y.z = 0 - (sb >> 1);
-	mat->z.z = (cb * cc) >> 16;
+	mat->x.z = (int16_t)((cb * sc) >> 16);
+	mat->y.z = (int16_t)(0 - (sb >> 1));
+	mat->z.z = (int16_t)((cb * cc) >> 16);
 }
 
 static inline int32_t sqr(int32_t x)
@@ -144,11 +144,15 @@
 			{
 				r = (int32_t)round(sqrt(random32(500) * 500));
 				w = random32(3000);
-				h = cos32767[(((w * 8) + r) / 16) & 1023] / 4;
+				ww = ((w * 8) + r) / 16.0;
 
-				starcrd[i].z = (int16_t)((cos32767[w & 1023] * (w + r)) / 3500);
-				starcrd[i].y = (int16_t)((sin32767[w & 1023] * (w + r)) / 3500);
-				starcrd[i].x = (int16_t)((h * r) / 500);
+				const int32_t z = (int32_t)round(32767.0 * cos(w * (2.0 * M_PI / 1024.0)));
+				const int32_t y = (int32_t)round(32767.0 * sin(w * (2.0 * M_PI / 1024.0)));
+				const int32_t x = (int32_t)round(32767.0 * cos(ww * (2.0 * M_PI / 1024.0))) / 4;
+
+				starcrd[i].z = (int16_t)((z * (w + r)) / 3500);
+				starcrd[i].y = (int16_t)((y * (w + r)) / 3500);
+				starcrd[i].x = (int16_t)((x * r) / 500);
 			}
 		}
 		break;
@@ -169,7 +173,7 @@
 {
 	uint8_t col;
 	int16_t z, xx, xy, xz, yx, yy, yz, zx, zy, zz;
-	int32_t x, y, zMul, screenBufferPos;
+	int32_t x, y, screenBufferPos;
 	vector_t *star;
 
 	xx = starmat.x.x; xy = starmat.x.y; xz = starmat.x.z;
@@ -189,21 +193,20 @@
 		}
 
 		star = &starcrd[i];
-		star->z += hastighet;
+		star->z += hastighet; // this intentionally overflows int16_t
 
 		z = ((xz * star->x) + (yz * star->y) + (zz * star->z)) >> 16;
 		z += 9000;
 		if (z <= 100) continue;
-		zMul = 0xFFFFFFFF / z; // 8bitbubsy: optimization
 		
 		y = ((xy * star->x) + (yy * star->y) + (zy * star->z)) >> (16-7);
-		y = ((int64_t)y * zMul) >> 32;
+		y /= z;
 		y += (2+ABOUT_SCREEN_H)/2;
 		if ((uint32_t)y > 2+ABOUT_SCREEN_H) continue;
 
 		x = ((xx * star->x) + (yx * star->y) + (zx * star->z)) >> (16-7);
 		x += x >> 2; // x *= 1.25
-		x = ((int64_t)x * zMul) >> 32;
+		x /= z;
 		x += (2+ABOUT_SCREEN_W)/2;
 		if ((uint32_t)x > 2+ABOUT_SCREEN_W) continue;
 
@@ -264,7 +267,6 @@
 	textOutBorder(x, y, PAL_FORGRND, PAL_CUSTOM, verText);
 
 	aboutInit();
-
 	ui.aboutScreenShown = true;
 }
 
--- a/src/ft2_audio.c
+++ b/src/ft2_audio.c
@@ -24,19 +24,15 @@
 
 static int8_t pmpCountDiv, pmpChannels = 2;
 static uint16_t smpBuffSize;
-static int32_t oldAudioFreq, randSeed = INITIAL_DITHER_SEED;
-static uint32_t tickTimeLen, tickTimeLenFrac;
-static double dAudioNormalizeMul, dPanningTab[256+1], dPrngStateL, dPrngStateR;
+static int32_t randSeed = INITIAL_DITHER_SEED;
+static uint32_t oldAudioFreq, tickTimeLen, tickTimeLenFrac;
+static float fAudioNormalizeMul, fPrngStateL, fPrngStateR, fPanningTab[256+1];
 static voice_t voice[MAX_VOICES * 2];
 static void (*sendAudSamplesFunc)(uint8_t *, uint32_t, uint8_t); // "send mixed samples" routines
 
 static int32_t oldPeriod;
-static uint32_t oldSFrqRev;
-#if !defined __amd64__ && !defined _WIN64
-static uint32_t oldSFrq;
-#else
-static uint64_t oldSFrq;
-#endif
+static uint32_t oldRevDelta;
+static uint64_t oldDelta;
 
 // globalized
 audio_t audio;
@@ -49,8 +45,8 @@
 void resetCachedMixerVars(void)
 {
 	oldPeriod = -1;
-	oldSFrq = 0;
-	oldSFrqRev = 0xFFFFFFFF;
+	oldDelta = 0;
+	oldRevDelta = UINT32_MAX;
 }
 
 void stopVoice(int32_t i)
@@ -59,13 +55,13 @@
 
 	v = &voice[i];
 	memset(v, 0, sizeof (voice_t));
-	v->SPan = 128;
+	v->pan = 128;
 
 	// clear "fade out" voice too
 
 	v = &voice[MAX_VOICES + i];
 	memset(v, 0, sizeof (voice_t));
-	v->SPan = 128;
+	v->pan = 128;
 }
 
 bool setNewAudioSettings(void) // only call this from the main input/video thread
@@ -112,6 +108,7 @@
 		return false;
 	}
 
+	calcRevMixDeltaTable();
 	resumeAudio();
 
 	setWavRenderFrequency(audio.freq);
@@ -125,16 +122,14 @@
 	amp = CLAMP(amp, 1, 32);
 	masterVol = CLAMP(masterVol, 0, 256);
 
-	const double dAmp = (amp * masterVol) / (32.0 * 256.0);
-
-	int32_t normalizeBits = 25; // 2^25 = mixing bits per voice
+	float fAmp = (amp * masterVol) / (32.0f * 256.0f);
 	if (!bitDepth32Flag)
-		normalizeBits -= 16-1; // change scale from -1.0..1.0 to signed 16-bit
+		fAmp *= 32768.0f;
 
-	dAudioNormalizeMul = dAmp / (1UL << normalizeBits);
+	fAudioNormalizeMul = fAmp;
 }
 
-void setNewAudioFreq(uint32_t freq) // for song to WAV rendering
+void setNewAudioFreq(uint32_t freq) // for song-to-WAV rendering
 {
 	if (freq == 0)
 		return;
@@ -142,13 +137,25 @@
 	oldAudioFreq = audio.freq;
 	audio.freq = freq;
 
-	calcReplayRate(audio.freq);
+	const bool mustRecalcTables = audio.freq != oldAudioFreq;
+	if (mustRecalcTables)
+	{
+		calcReplayRate(audio.freq);
+		calcRevMixDeltaTable();
+	}
 }
 
-void setBackOldAudioFreq(void) // for song to WAV rendering
+void setBackOldAudioFreq(void) // for song-to-WAV rendering
 {
+	const bool mustRecalcTables = audio.freq != oldAudioFreq;
+
 	audio.freq = oldAudioFreq;
-	calcReplayRate(audio.freq);
+
+	if (mustRecalcTables)
+	{
+		calcReplayRate(audio.freq);
+		calcRevMixDeltaTable();
+	}
 }
 
 void setSpeed(uint16_t bpm)
@@ -160,16 +167,16 @@
 	if (bpm > MAX_BPM)
 		return;
 
-	audio.dSamplesPerTick = audio.dSpeedValTab[bpm];
+	audio.dSamplesPerTick = audio.dSamplesPerTickTab[bpm];
 	audio.samplesPerTick = (int32_t)(audio.dSamplesPerTick + 0.5);
 
 	// get tick time length for audio/video sync timestamp
 	const uint64_t tickTimeLen64 = audio.tickTimeLengthTab[bpm];
 	tickTimeLen = tickTimeLen64 >> 32;
-	tickTimeLenFrac = tickTimeLen64 & 0xFFFFFFFF;
+	tickTimeLenFrac = tickTimeLen64 & UINT32_MAX;
 
 	// used for calculating volume ramp length for "ticks" ramps
-	audio.rampSpeedValMul = audio.rampSpeedValMulTab[bpm];
+	audio.fRampTickMul = audio.fRampTickMulTab[bpm];
 }
 
 void audioSetVolRamp(bool volRamp)
@@ -188,87 +195,88 @@
 
 void calcPanningTable(void)
 {
-	// same formula as FT2's panning table (with 0.0..1.0 range)
+	// same formula as FT2's panning table (with 0.0f..1.0f range)
 	for (int32_t i = 0; i <= 256; i++)
-		dPanningTab[i] = sqrt(i * (1.0 / 256.0));
+		fPanningTab[i] = sqrtf(i * (1.0f / 256.0f)); // i / 256.0f
 }
 
 static void voiceUpdateVolumes(int32_t i, uint8_t status)
 {
-	int32_t destVolL, destVolR;
+	float fDestVolL, fDestVolR;
 
 	voice_t *v = &voice[i];
 
-	const int32_t volR = (int32_t)((v->SVol * dPanningTab[    v->SPan]) + 0.5);
-	const int32_t volL = (int32_t)((v->SVol * dPanningTab[256-v->SPan]) + 0.5);
+	const float fVolL = v->fVol * fPanningTab[256-v->pan];
+	const float fVolR = v->fVol * fPanningTab[    v->pan];
 
-	if (!audio.volumeRampingFlag) // is volume ramping disabled?
+	if (!audio.volumeRampingFlag)
 	{
-		v->SVolIPLen = 0; // reset volume ramp length
-		v->SLVol2 = volL;
-		v->SRVol2 = volR;
+		// volume ramping is disabled
+		v->fVolL = fVolL;
+		v->fVolR = fVolR;
+		v->volRampSamples = 0;
+		return;
 	}
-	else
+
+	v->fDestVolL = fVolL;
+	v->fDestVolR = fVolR;
+
+	if (status & IS_NyTon)
 	{
-		v->SLVol1 = volL; // ramp destination volumes
-		v->SRVol1 = volR;
+		// sample is about to start, ramp out/in at the same time
 
-		if (status & IS_NyTon)
+		// setup "fade out" voice (only if current voice volume > 0)
+		if (v->fVolL > 0.0f || v->fVolR > 0.0f)
 		{
-			// sample is about to start, ramp out/in at the same time
+			voice_t *f = &voice[MAX_VOICES+i];
 
-			// setup "fade out" voice (only if current voice volume>0)
-			if (v->SLVol2 > 0 || v->SRVol2 > 0)
-			{
-				voice_t *f = &voice[MAX_VOICES + i];
+			*f = *v; // copy voice
 
-				*f = *v; // copy voice
+			f->volRampSamples = audio.quickVolRampSamples;
 
-				f->SVolIPLen = audio.quickVolSizeVal;
+			fDestVolL = -f->fVolL;
+			fDestVolR = -f->fVolR;
 
-				destVolL = -f->SLVol2;
-				destVolR = -f->SRVol2;
+			f->fVolDeltaL = fDestVolL * audio.fRampQuickVolMul;
+			f->fVolDeltaR = fDestVolR * audio.fRampQuickVolMul;
 
-				f->SLVolIP = ((int64_t)destVolL * audio.rampQuickVolMul) >> 32; // x = a / b
-				f->SRVolIP = ((int64_t)destVolR * audio.rampQuickVolMul) >> 32;
+			f->isFadeOutVoice = true;
+		}
 
-				f->isFadeOutVoice = true;
-			}
+		// make current voice fade in from zero when it starts
+		v->fVolL = 0.0f;
+		v->fVolR = 0.0f;
+	}
 
-			// make current voice fade in from zero when it starts
-			v->SLVol2 = 0;
-			v->SRVol2 = 0;
-		}
+	// ramp volume changes
 
-		// ramp volume changes
+	/* FT2 has two internal volume ramping lengths:
+	** IS_QuickVol: 5ms
+	** Normal: The duration of a tick (samplesPerTick)
+	*/
 
-		/* FT2 has two internal volume ramping lengths:
-		** IS_QuickVol: 5ms (audioFreq / 200)
-		** Normal: The duration of a tick (speedVal)
-		*/
+	// if destination volume and current volume is the same (and we have no sample trigger), don't do ramp
+	if (fVolL == v->fVolL && fVolR == v->fVolR && !(status & IS_NyTon))
+	{
+		// there is no volume change
+		v->volRampSamples = 0;
+	}
+	else
+	{
+		fDestVolL = fVolL - v->fVolL;
+		fDestVolR = fVolR - v->fVolR;
 
-		// if destination volume and current volume is the same (and we have no sample trigger), don't do ramp
-		if (volL == v->SLVol2 && volR == v->SRVol2 && !(status & IS_NyTon))
+		if (status & IS_QuickVol)
 		{
-			v->SVolIPLen = 0; // there is no volume change
+			v->volRampSamples = audio.quickVolRampSamples;
+			v->fVolDeltaL = fDestVolL * audio.fRampQuickVolMul;
+			v->fVolDeltaR = fDestVolR * audio.fRampQuickVolMul;
 		}
 		else
 		{
-			destVolL = volL - v->SLVol2;
-			destVolR = volR - v->SRVol2;
-
-			if (status & IS_QuickVol)
-			{
-				v->SVolIPLen = audio.quickVolSizeVal;
-				v->SLVolIP = ((int64_t)destVolL * audio.rampQuickVolMul) >> 32; // x = a / b
-				v->SRVolIP = ((int64_t)destVolR * audio.rampQuickVolMul) >> 32;
-			}
-			else
-			{
-				v->SVolIPLen = audio.samplesPerTick;
-				v->SLVolIP = ((int64_t)destVolL * audio.rampSpeedValMul) >> 32; // x = a / b
-				v->SRVolIP = ((int64_t)destVolR * audio.rampSpeedValMul) >> 32;
-			}
+			v->volRampSamples = audio.samplesPerTick;
+			v->fVolDeltaL = fDestVolL * audio.fRampTickMul;
+			v->fVolDeltaR = fDestVolR * audio.fRampTickMul;
 		}
 	}
 }
@@ -277,14 +285,13 @@
 {
 	bool sampleIs16Bit;
 	uint8_t loopType;
-	int32_t oldSLen, length, loopBegin, loopLength;
-	voice_t *v;
+	int32_t length, loopStart, loopLength, loopEnd;
 
-	v = &voice[i];
-
+	voice_t *v = &voice[i];
 	length = s->len;
-	loopBegin = s->repS;
+	loopStart = s->repS;
 	loopLength = s->repL;
+	loopEnd = s->repS + s->repL;
 	loopType = s->typ & 3;
 	sampleIs16Bit = (s->typ >> 4) & 1;
 
@@ -291,12 +298,14 @@
 	if (sampleIs16Bit)
 	{
 		assert(!(length & 1));
-		assert(!(loopBegin & 1));
+		assert(!(loopStart & 1));
 		assert(!(loopLength & 1));
+		assert(!(loopEnd & 1));
 
 		length >>= 1;
-		loopBegin >>= 1;
+		loopStart >>= 1;
 		loopLength >>= 1;
+		loopEnd >>= 1;
 	}
 
 	if (s->pek == NULL || length < 1)
@@ -310,26 +319,25 @@
 
 	if (sampleIs16Bit)
 	{
-		v->SBase16 = (const int16_t *)s->pek;
-		v->SRevBase16 = &v->SBase16[loopBegin + (loopBegin + loopLength)]; // for pingpong loops
+		v->base16 = (const int16_t *)s->pek;
+		v->revBase16 = &v->base16[loopStart + loopEnd]; // for pingpong loops
 	}
 	else
 	{
-		v->SBase8 = s->pek;
-		v->SRevBase8 = &v->SBase8[loopBegin + (loopBegin + loopLength)]; // for pingpong loops
+		v->base8 = s->pek;
+		v->revBase8 = &v->base8[loopStart + loopEnd]; // for pingpong loops
 	}
 
 	v->backwards = false;
-	v->SLoopType = loopType;
-	v->SLen = (loopType > 0) ? (loopBegin + loopLength) : length;
-	v->SRepS = loopBegin;
-	v->SRepL = loopLength;
-	v->SPos = position;
-	v->SPosDec = 0; // position fraction
+	v->loopType = loopType;
+	v->end = (loopType > 0) ? loopEnd : length;
+	v->loopStart = loopStart;
+	v->loopLength = loopLength;
+	v->pos = position;
+	v->posFrac = 0;
 
-	// if 9xx position overflows, shut down voice
-	oldSLen = (loopType > 0) ? (loopBegin + loopLength) : length;
-	if (v->SPos >= oldSLen)
+	// if position overflows, shut down voice (f.ex. through 9xx command)
+	if (v->pos >= v->end)
 	{
 		v->active = false;
 		return;
@@ -339,18 +347,18 @@
 	v->active = true;
 }
 
-void mix_SaveIPVolumes(void) // for volume ramping
+void resetRampVolumes(void)
 {
 	voice_t *v = voice;
 	for (int32_t i = 0; i < song.antChn; i++, v++)
 	{
-		v->SLVol2 = v->SLVol1;
-		v->SRVol2 = v->SRVol1;
-		v->SVolIPLen = 0;
+		v->fVolL = v->fDestVolL;
+		v->fVolR = v->fDestVolR;
+		v->volRampSamples = 0;
 	}
 }
 
-void mix_UpdateChannelVolPanFrq(void)
+void updateVoices(void)
 {
 	uint8_t status;
 	stmTyp *ch;
@@ -366,10 +374,10 @@
 		ch->status = 0;
 
 		if (status & IS_Vol)
-			v->SVol = ch->finalVol;
+			v->fVol = ch->fFinalVol;
 
 		if (status & IS_Pan)
-			v->SPan = ch->finalPan;
+			v->pan = ch->finalPan;
 
 		if (status & (IS_Vol + IS_Pan))
 			voiceUpdateVolumes(i, status);
@@ -382,21 +390,12 @@
 			if (period != oldPeriod)
 			{
 				oldPeriod = period;
-				oldSFrq = getMixerDelta(period);
-
-				oldSFrqRev = 0xFFFFFFFF;
-				if (oldSFrq != 0)
-				{
-#if defined __amd64__ || defined _WIN64
-					oldSFrqRev = (uint32_t)((0xFFFFFFFFFFFFFFFF / oldSFrq) >> 16);
-#else
-					oldSFrqRev /= oldSFrq;
-#endif
-				}
+				oldDelta = getMixerDelta(period);
+				oldRevDelta = getRevMixerDelta(period);
 			}
 
-			v->SFrq = oldSFrq;
-			v->SFrqRev = oldSFrqRev;
+			v->delta = oldDelta;
+			v->revDelta = oldRevDelta;
 		}
 
 		if (status & IS_NyTon)
@@ -407,84 +406,40 @@
 void resetAudioDither(void)
 {
 	randSeed = INITIAL_DITHER_SEED;
-	dPrngStateL = 0.0;
-	dPrngStateR = 0.0;
+	fPrngStateL = 0.0f;
+	fPrngStateR = 0.0f;
 }
 
-static inline uint32_t random32(void)
+static inline int32_t random32(void)
 {
 	// LCG 32-bit random
 	randSeed *= 134775813;
 	randSeed++;
 
-	return randSeed;
+	return (int32_t)randSeed;
 }
 
-static void sendSamples16BitStereo(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels)
-{
-	int32_t out32;
-
-	int16_t *streamPointer16 = (int16_t *)stream;
-	for (uint32_t i = 0; i < sampleBlockLength; i++)
-	{
-		// left channel
-		out32 = (int32_t)(audio.mixBufferL[i] * dAudioNormalizeMul);
-		CLAMP16(out32);
-		*streamPointer16++ = (int16_t)out32;
-
-		// right channel
-		out32 = (int32_t)(audio.mixBufferR[i] * dAudioNormalizeMul);
-		CLAMP16(out32);
-		*streamPointer16++ = (int16_t)out32;
-	}
-
-	(void)numAudioChannels;
-}
-
-static void sendSamples16BitMultiChan(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels)
-{
-	int32_t out32;
-
-	int16_t *streamPointer16 = (int16_t *)stream;
-	for (uint32_t i = 0; i < sampleBlockLength; i++)
-	{
-		// left channel
-		out32 = (int32_t)(audio.mixBufferL[i] * dAudioNormalizeMul);
-		CLAMP16(out32);
-		*streamPointer16++ = (int16_t)out32;
-
-		// right channel
-		out32 = (int32_t)(audio.mixBufferR[i] * dAudioNormalizeMul);
-		CLAMP16(out32);
-		*streamPointer16++ = (int16_t)out32;
-
-		// send zeroes to the rest of the channels
-		for (uint32_t j = 2; j < numAudioChannels; j++)
-			*streamPointer16++ = 0;
-	}
-}
-
 static void sendSamples16BitDitherStereo(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels)
 {
 	int32_t out32;
-	double dOut, dPrng;
+	float fOut, fPrng;
 
 	int16_t *streamPointer16 = (int16_t *)stream;
 	for (uint32_t i = 0; i < sampleBlockLength; i++)
 	{
 		// left channel - 1-bit triangular dithering
-		dPrng = random32() * (0.5 / INT32_MAX); // -0.5..0.5
-		dOut = ((audio.mixBufferL[i] * dAudioNormalizeMul) + dPrng) - dPrngStateL;
-		dPrngStateL = dPrng;
-		out32 = (int32_t)dOut;
+		fPrng = random32() * (0.5f / INT32_MAX); // -0.5f .. 0.5f
+		fOut = ((audio.fMixBufferL[i] * fAudioNormalizeMul) + fPrng) - fPrngStateL;
+		fPrngStateL = fPrng;
+		out32 = (int32_t)fOut;
 		CLAMP16(out32);
 		*streamPointer16++ = (int16_t)out32;
 
 		// right channel - 1-bit triangular dithering
-		dPrng = random32() * (0.5 / INT32_MAX); // -0.5..0.5
-		dOut = ((audio.mixBufferR[i] * dAudioNormalizeMul) + dPrng) - dPrngStateR;
-		dPrngStateR = dPrng;
-		out32 = (int32_t)dOut;
+		fPrng = random32() * (0.5f / INT32_MAX); // -0.5f .. 0.5f
+		fOut = ((audio.fMixBufferR[i] * fAudioNormalizeMul) + fPrng) - fPrngStateR;
+		fPrngStateR = fPrng;
+		out32 = (int32_t)fOut;
 		CLAMP16(out32);
 		*streamPointer16++ = (int16_t)out32;
 	}
@@ -495,24 +450,24 @@
 static void sendSamples16BitDitherMultiChan(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels)
 {
 	int32_t out32;
-	double dOut, dPrng;
+	float fOut, fPrng;
 
 	int16_t *streamPointer16 = (int16_t *)stream;
 	for (uint32_t i = 0; i < sampleBlockLength; i++)
 	{
 		// left channel - 1-bit triangular dithering
-		dPrng = random32() * (0.5 / INT32_MAX); // -0.5..0.5
-		dOut = ((audio.mixBufferL[i] * dAudioNormalizeMul) + dPrng) - dPrngStateL;
-		dPrngStateL = dPrng;
-		out32 = (int32_t)dOut;
+		fPrng = random32() * (0.5f / INT32_MAX); // -0.5f..0.5f
+		fOut = ((audio.fMixBufferL[i] * fAudioNormalizeMul) + fPrng) - fPrngStateL;
+		fPrngStateL = fPrng;
+		out32 = (int32_t)fOut;
 		CLAMP16(out32);
 		*streamPointer16++ = (int16_t)out32;
 
 		// right channel - 1-bit triangular dithering
-		dPrng = random32() * (0.5 / INT32_MAX); // -0.5..0.5
-		dOut = ((audio.mixBufferR[i] * dAudioNormalizeMul) + dPrng) - dPrngStateR;
-		dPrngStateR = dPrng;
-		out32 = (int32_t)dOut;
+		fPrng = random32() * (0.5f / INT32_MAX); // -0.5f..0.5f
+		fOut = ((audio.fMixBufferR[i] * fAudioNormalizeMul) + fPrng) - fPrngStateR;
+		fPrngStateR = fPrng;
+		out32 = (int32_t)fOut;
 		CLAMP16(out32);
 		*streamPointer16++ = (int16_t)out32;
 
@@ -524,20 +479,20 @@
 
 static void sendSamples32BitStereo(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels)
 {
-	double dOut;
+	float fOut;
 
 	float *fStreamPointer32 = (float *)stream;
 	for (uint32_t i = 0; i < sampleBlockLength; i++)
 	{
 		// left channel
-		dOut = audio.mixBufferL[i] * dAudioNormalizeMul;
-		dOut = CLAMP(dOut, -1.0, 1.0);
-		*fStreamPointer32++ = (float)dOut;
+		fOut = audio.fMixBufferL[i] * fAudioNormalizeMul;
+		fOut = CLAMP(fOut, -1.0f, 1.0f);
+		*fStreamPointer32++ = fOut;
 
 		// right channel
-		dOut = audio.mixBufferR[i] * dAudioNormalizeMul;
-		dOut = CLAMP(dOut, -1.0, 1.0);
-		*fStreamPointer32++ = (float)dOut;
+		fOut = audio.fMixBufferR[i] * fAudioNormalizeMul;
+		fOut = CLAMP(fOut, -1.0f, 1.0f);
+		*fStreamPointer32++ = fOut;
 	}
 
 	(void)numAudioChannels;
@@ -545,20 +500,20 @@
 
 static void sendSamples32BitMultiChan(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels)
 {
-	double dOut;
+	float fOut;
 
 	float *fStreamPointer32 = (float *)stream;
 	for (uint32_t i = 0; i < sampleBlockLength; i++)
 	{
 		// left channel
-		dOut = audio.mixBufferL[i] * dAudioNormalizeMul;
-		dOut = CLAMP(dOut, -1.0, 1.0);
-		*fStreamPointer32++ = (float)dOut;
+		fOut = audio.fMixBufferL[i] * fAudioNormalizeMul;
+		fOut = CLAMP(fOut, -1.0f, 1.0f);
+		*fStreamPointer32++ = fOut;
 
 		// right channel
-		dOut = audio.mixBufferR[i] * dAudioNormalizeMul;
-		dOut = CLAMP(dOut, -1.0, 1.0);
-		*fStreamPointer32++ = (float)dOut;
+		fOut = audio.fMixBufferR[i] * fAudioNormalizeMul;
+		fOut = CLAMP(fOut, -1.0f, 1.0f);
+		*fStreamPointer32++ = fOut;
 
 		// send zeroes to the rest of the channels
 		for (uint32_t j = 2; j < numAudioChannels; j++)
@@ -577,20 +532,20 @@
 		{
 			bool centerMixFlag;
 
-			const bool volRampFlag = v->SVolIPLen > 0;
+			const bool volRampFlag = v->volRampSamples > 0;
 			if (volRampFlag)
 			{
-				centerMixFlag = (v->SLVol1 == v->SRVol1) && (v->SLVolIP == v->SRVolIP);
+				centerMixFlag = (v->fDestVolL == v->fDestVolR) && (v->fVolDeltaL == v->fVolDeltaR);
 			}
 			else
 			{
-				if (v->SLVol2 == 0 && v->SRVol2 == 0)
+				if (v->fVolL == 0.0f && v->fVolR == 0.0f)
 				{ 
 					silenceMixRoutine(v, samplesToMix);
 					continue;
 				}
 
-				centerMixFlag = v->SLVol2 == v->SRVol2;
+				centerMixFlag = v->fVolL == v->fVolR;
 			}
 
 			mixFuncTab[(centerMixFlag * 24) + (volRampFlag * 12) + v->mixFuncOffset](v, samplesToMix);
@@ -598,7 +553,7 @@
 
 		if (r->active) // volume ramp fadeout-voice
 		{
-			const bool centerMixFlag = (r->SLVol1 == r->SRVol1) && (r->SLVolIP == r->SRVolIP);
+			const bool centerMixFlag = (r->fDestVolL == r->fDestVolR) && (r->fVolDeltaL == r->fVolDeltaR);
 			mixFuncTab[(centerMixFlag * 24) + 12 + r->mixFuncOffset](r, samplesToMix);
 		}
 	}
@@ -607,8 +562,8 @@
 static void mixAudio(uint8_t *stream, uint32_t sampleBlockLength, uint8_t numAudioChannels)
 {
 	assert(sampleBlockLength <= MAX_WAV_RENDER_SAMPLES_PER_TICK);
-	memset(audio.mixBufferL, 0, sampleBlockLength * sizeof (int32_t));
-	memset(audio.mixBufferR, 0, sampleBlockLength * sizeof (int32_t));
+	memset(audio.fMixBufferL, 0, sampleBlockLength * sizeof (int32_t));
+	memset(audio.fMixBufferR, 0, sampleBlockLength * sizeof (int32_t));
 
 	doChannelMixing(sampleBlockLength);
 
@@ -620,23 +575,16 @@
 void mixReplayerTickToBuffer(uint32_t samplesToMix, uint8_t *stream, uint8_t bitDepth)
 {
 	assert(samplesToMix <= MAX_WAV_RENDER_SAMPLES_PER_TICK);
-	memset(audio.mixBufferL, 0, samplesToMix * sizeof (int32_t));
-	memset(audio.mixBufferR, 0, samplesToMix * sizeof (int32_t));
+	memset(audio.fMixBufferL, 0, samplesToMix * sizeof (int32_t));
+	memset(audio.fMixBufferR, 0, samplesToMix * sizeof (int32_t));
 
 	doChannelMixing(samplesToMix);
 
 	// normalize mix buffer and send to audio stream
 	if (bitDepth == 16)
-	{
-		if (config.specialFlags2 & DITHERED_AUDIO)
-			sendSamples16BitDitherStereo(stream, samplesToMix, 2);
-		else
-			sendSamples16BitStereo(stream, samplesToMix, 2);
-	}
+		sendSamples16BitDitherStereo(stream, samplesToMix, 2);
 	else
-	{
 		sendSamples32BitStereo(stream, samplesToMix, 2);
-	}
 }
 
 int32_t pattQueueReadSize(void)
@@ -939,7 +887,7 @@
 		c->sampleNr = s->sampleNr;
 		c->envSustainActive = s->envSustainActive;
 		c->status = s->tmpStatus;
-		c->finalVol = s->finalVol;
+		c->fFinalVol = s->fFinalVol;
 		c->smpStartPos = s->smpStartPos;
 	}
 
@@ -948,9 +896,9 @@
 
 	audio.tickTime64 += tickTimeLen;
 	audio.tickTime64Frac += tickTimeLenFrac;
-	if (audio.tickTime64Frac > 0xFFFFFFFF)
+	if (audio.tickTime64Frac > UINT32_MAX)
 	{
-		audio.tickTime64Frac &= 0xFFFFFFFF;
+		audio.tickTime64Frac &= UINT32_MAX;
 		audio.tickTime64++;
 	}
 }
@@ -973,10 +921,10 @@
 			replayerBusy = true;
 
 			if (audio.volumeRampingFlag)
-				mix_SaveIPVolumes();
+				resetRampVolumes();
 
-			mainPlayer();
-			mix_UpdateChannelVolPanFrq();
+			tickReplayer();
+			updateVoices();
 			fillVisualsSyncBuffer();
 
 			audio.dTickSampleCounter += audio.dSamplesPerTick;
@@ -1004,15 +952,15 @@
 {
 	const uint32_t sampleSize = sizeof (int32_t);
 
-	audio.mixBufferLUnaligned = (int32_t *)MALLOC_PAD(MAX_WAV_RENDER_SAMPLES_PER_TICK * sampleSize, 256);
-	audio.mixBufferRUnaligned = (int32_t *)MALLOC_PAD(MAX_WAV_RENDER_SAMPLES_PER_TICK * sampleSize, 256);
+	audio.fMixBufferLUnaligned = (float *)MALLOC_PAD(MAX_WAV_RENDER_SAMPLES_PER_TICK * sampleSize, 256);
+	audio.fMixBufferRUnaligned = (float *)MALLOC_PAD(MAX_WAV_RENDER_SAMPLES_PER_TICK * sampleSize, 256);
 
-	if (audio.mixBufferLUnaligned == NULL || audio.mixBufferRUnaligned == NULL)
+	if (audio.fMixBufferLUnaligned == NULL || audio.fMixBufferRUnaligned == NULL)
 		return false;
 
 	// make aligned main pointers
-	audio.mixBufferL = (int32_t *)ALIGN_PTR(audio.mixBufferLUnaligned, 256);
-	audio.mixBufferR = (int32_t *)ALIGN_PTR(audio.mixBufferRUnaligned, 256);
+	audio.fMixBufferL = (float *)ALIGN_PTR(audio.fMixBufferLUnaligned, 256);
+	audio.fMixBufferR = (float *)ALIGN_PTR(audio.fMixBufferRUnaligned, 256);
 
 	return true;
 }
@@ -1019,20 +967,20 @@
 
 static void freeAudioBuffers(void)
 {
-	if (audio.mixBufferLUnaligned != NULL)
+	if (audio.fMixBufferLUnaligned != NULL)
 	{
-		free(audio.mixBufferLUnaligned);
-		audio.mixBufferLUnaligned = NULL;
+		free(audio.fMixBufferLUnaligned);
+		audio.fMixBufferLUnaligned = NULL;
 	}
 
-	if (audio.mixBufferRUnaligned != NULL)
+	if (audio.fMixBufferRUnaligned != NULL)
 	{
-		free(audio.mixBufferRUnaligned);
-		audio.mixBufferRUnaligned = NULL;
+		free(audio.fMixBufferRUnaligned);
+		audio.fMixBufferRUnaligned = NULL;
 	}
 
-	audio.mixBufferL = NULL;
-	audio.mixBufferR = NULL;
+	audio.fMixBufferL = NULL;
+	audio.fMixBufferR = NULL;
 }
 
 void updateSendAudSamplesRoutine(bool lockMixer)
@@ -1042,20 +990,10 @@
 
 	if (config.specialFlags & BITDEPTH_16)
 	{
-		if (config.specialFlags2 & DITHERED_AUDIO)
-		{
-			if (pmpChannels > 2)
-				sendAudSamplesFunc = sendSamples16BitDitherMultiChan;
-			else
-				sendAudSamplesFunc = sendSamples16BitDitherStereo;
-		}
+		if (pmpChannels > 2)
+			sendAudSamplesFunc = sendSamples16BitDitherMultiChan;
 		else
-		{
-			if (pmpChannels > 2)
-				sendAudSamplesFunc = sendSamples16BitMultiChan;
-			else
-				sendAudSamplesFunc = sendSamples16BitStereo;
-		}
+			sendAudSamplesFunc = sendSamples16BitDitherStereo;
 	}
 	else
 	{
@@ -1170,11 +1108,7 @@
 
 	// test if the received audio rate is compatible
 
-#if defined _WIN64 || defined __amd64__
 	if (have.freq != 44100 && have.freq != 48000 && have.freq != 96000 && have.freq != 192000)
-#else
-	if (have.freq != 44100 && have.freq != 48000)
-#endif
 	{
 		if (showErrorMsg)
 			showErrorMsgBox("Couldn't open audio device:\nThe program doesn't support an audio output rate of %dHz. Sorry!", have.freq);
@@ -1267,4 +1201,78 @@
 	}
 
 	freeAudioBuffers();
+}
+
+#include "ft2_module_loader.h"
+void benchmarkAudioChannelMixer(void) // for development testing
+{
+#define TICKS_TO_MIX 50000
+
+#ifdef _WIN32
+#define DEBUG_MOD_FILENAME L"C:\\programming\\debug.xm"
+#elif __APPLE__
+#define DEBUG_MOD_FILENAME "/users/olav/debug.xm"
+#else
+#define DEBUG_MOD_FILENAME "/home/olav/debug.xm"
+#endif
+
+	char str[128];
+	uint8_t result, *buffer;
+	uint32_t maxSamplesPerTick, start, end;
+
+	maxSamplesPerTick = ((config.audioFreq * 5) / 2) / MIN_BPM;
+
+	buffer = (uint8_t *)malloc(maxSamplesPerTick * (2 * sizeof (int32_t)));
+	if (buffer == NULL)
+	{
+		editor.programRunning = false;
+		showErrorMsgBox("Out of memory!\n");
+		return;
+	}
+
+	result = loadMusicUnthreaded(DEBUG_MOD_FILENAME, false);
+	if (!result)
+	{
+		editor.programRunning = false;
+		showErrorMsgBox("Couldn't load debug module for mixer benchmarking!\n");
+		return;
+	}
+
+	pauseAudio();
+	editor.wavIsRendering = true;
+
+	setPos(0, 0, true);
+	playMode = PLAYMODE_SONG;
+	songPlaying = true;
+
+	resetChannels();
+	setNewAudioFreq(config.audioFreq);
+	setAudioAmp(config.boostLevel, config.masterVol, false);
+
+	stopVoices();
+	song.globVol = 64;
+	setSpeed(song.speed);
+
+	double dTickSamples = audio.dSamplesPerTick;
+
+	start = SDL_GetTicks();
+	for (uint32_t i = 0; i < TICKS_TO_MIX; i++)
+	{
+		const int32_t tickSamples = (int32_t)dTickSamples;
+		dump_RenderTick(tickSamples, buffer);
+
+		dTickSamples -= tickSamples; // keep fractional part
+		dTickSamples += audio.dSamplesPerTick;
+	}
+	end = SDL_GetTicks();
+
+	stopPlaying();
+	resumeAudio();
+
+	free(buffer);
+
+	sprintf(str, "It took approximately %dms to mix %d ticks.\nRun this test again to confirm.", end - start, TICKS_TO_MIX);
+	SDL_ShowSimpleMessageBox(0, "Channel mixer benchmark result", str, video.window);
+
+	editor.programRunning = false;
 }
--- a/src/ft2_audio.h
+++ b/src/ft2_audio.h
@@ -11,14 +11,6 @@
 	FREQ_TABLE_AMIGA = 1,
 };
 
-/* Use 16 on non-x86_64 platforms so that we can avoid a
-** 64-bit division in the outside mixer loop. x86_64 users
-** are lucky and will get double the fractional delta precision.
-** This is beneficial in 96kHz/192kHz mode, where deltas are
-** lower in value.
-*/
-#if defined _WIN64 || defined __amd64__
-
 #define MIN_AUDIO_FREQ 44100
 #define MAX_AUDIO_FREQ 192000
 
@@ -26,20 +18,9 @@
 #define MIXER_FRAC_SCALE (1ULL << MIXER_FRAC_BITS)
 #define MIXER_FRAC_MASK (MIXER_FRAC_SCALE-1)
 
-#else
-
-#define MIN_AUDIO_FREQ 44100
-#define MAX_AUDIO_FREQ 48000
-
-#define MIXER_FRAC_BITS 16
-#define MIXER_FRAC_SCALE (1UL << MIXER_FRAC_BITS)
-#define MIXER_FRAC_MASK (MIXER_FRAC_SCALE-1)
-
-#endif
-
 #define MAX_AUDIO_DEVICES 99
 
-// for audio/video sync queue. (2^n-1 - don't change this! Queue buffer is already ~2.7MB in size)
+// for audio/video sync queue. (2^n-1 - don't change this! Queue buffer is already BIG in size)
 #define SYNC_QUEUE_LEN 4095
 
 typedef struct audio_t
@@ -48,13 +29,13 @@
 	char *inputDeviceNames[MAX_AUDIO_DEVICES], *outputDeviceNames[MAX_AUDIO_DEVICES];
 	volatile bool locked, resetSyncTickTimeFlag, volumeRampingFlag, interpolationFlag;
 	bool linearFreqTable, rescanAudioDevicesSupported;
-	int32_t inputDeviceNum, outputDeviceNum, lastWorkingAudioFreq, lastWorkingAudioBits;
-	int32_t quickVolSizeVal, *mixBufferL, *mixBufferR, *mixBufferLUnaligned, *mixBufferRUnaligned;
-	int32_t rampQuickVolMul, rampSpeedValMul, rampSpeedValMulTab[MAX_BPM+1];
-	uint32_t freq;
-	uint32_t audLatencyPerfValInt, audLatencyPerfValFrac, samplesPerTick, musicTimeSpeedVal;
+	int32_t quickVolRampSamples, inputDeviceNum, outputDeviceNum, lastWorkingAudioFreq, lastWorkingAudioBits;
+	uint32_t freq, audLatencyPerfValInt, audLatencyPerfValFrac, samplesPerTick, musicTimeSpeedVal;
 	uint64_t tickTime64, tickTime64Frac, tickTimeLengthTab[MAX_BPM+1];
-	double dAudioLatencyMs, dSamplesPerTick, dTickSampleCounter, dSpeedValTab[MAX_BPM+1];
+	float fRampQuickVolMul, fRampTickMul, fRampTickMulTab[MAX_BPM+1];
+	float *fMixBufferL, *fMixBufferR, *fMixBufferLUnaligned, *fMixBufferRUnaligned;
+	double dAudioLatencyMs, dSamplesPerTick, dTickSampleCounter, dSamplesPerTickTab[MAX_BPM+1];
+
 	SDL_AudioDeviceID dev;
 	uint32_t wantFreq, haveFreq, wantSamples, haveSamples, wantChannels, haveChannels;
 } audio_t;
@@ -61,19 +42,14 @@
 
 typedef struct
 {
-	const int8_t *SBase8, *SRevBase8;
-	const int16_t *SBase16, *SRevBase16;
+	const int8_t *base8, *revBase8;
+	const int16_t *base16, *revBase16;
 	bool active, backwards, isFadeOutVoice;
-	uint8_t mixFuncOffset, SPan, SLoopType;
-	int32_t SLVol1, SRVol1, SLVol2, SRVol2, SLVolIP, SRVolIP;
-	int32_t SVol, SPos, SLen, SRepS, SRepL;
-	uint32_t SVolIPLen, SFrqRev;
-
-#if defined _WIN64 || defined __amd64__
-	uint64_t SPosDec, SFrq;
-#else
-	uint32_t SPosDec, SFrq;
-#endif
+	uint8_t mixFuncOffset, pan, loopType;
+	int32_t pos, end, loopStart, loopLength;
+	uint32_t volRampSamples, revDelta;
+	uint64_t posFrac, delta;
+	float fVol, fDestVolL, fDestVolR, fVolL, fVolR, fVolDeltaL, fVolDeltaR;
 } voice_t;
 
 typedef struct pattSyncData_t
@@ -86,7 +62,7 @@
 typedef struct pattSync_t
 {
 	volatile int32_t readPos, writePos;
-	pattSyncData_t data[SYNC_QUEUE_LEN + 1];
+	pattSyncData_t data[SYNC_QUEUE_LEN+1];
 } pattSync_t;
 
 typedef struct chSyncData_t
@@ -98,7 +74,7 @@
 typedef struct chSync_t
 {
 	volatile int32_t readPos, writePos;
-	chSyncData_t data[SYNC_QUEUE_LEN + 1];
+	chSyncData_t data[SYNC_QUEUE_LEN+1];
 } chSync_t;
 
 void resetCachedMixerVars(void);
@@ -135,8 +111,8 @@
 void lockMixerCallback(void);
 void unlockMixerCallback(void);
 void updateSendAudSamplesRoutine(bool lockMixer);
-void mix_SaveIPVolumes(void);
-void mix_UpdateChannelVolPanFrq(void);
+void resetRampVolumes(void);
+void updateVoices(void);
 void mixReplayerTickToBuffer(uint32_t samplesToMix, uint8_t *stream, uint8_t bitDepth);
 
 // in ft2_audio.c
--- a/src/ft2_checkboxes.c
+++ b/src/ft2_checkboxes.c
@@ -83,7 +83,6 @@
 	{   3,  91,  77, 12, cbToggleAutoSaveConfig },
 	{ 389, 132,  90, 12, cbConfigInterpolation },
 	{ 389, 145, 107, 12, cbConfigVolRamp },
-	{ 389, 158 , 69, 12, cbConfigDithering },
 	{ 113,  14, 108, 12, cbConfigPattStretch },
 	{ 113,  27, 117, 12, cbConfigHexCount },
 	{ 113,  40,  81, 12, cbConfigAccidential },
--- a/src/ft2_checkboxes.h
+++ b/src/ft2_checkboxes.h
@@ -56,7 +56,6 @@
 	// CONFIG AUDIO
 	CB_CONF_INTERPOLATION,
 	CB_CONF_VOL_RAMP,
-	CB_CONF_DITHER,
 
 	// CONFIG LAYOUT
 	CB_CONF_PATTSTRETCH,
--- a/src/ft2_config.c
+++ b/src/ft2_config.c
@@ -153,13 +153,8 @@
 		config.recQuantRes = 16;
 	}
 
-#if defined __amd64__ || defined _WIN64
 	if (config.audioFreq != 44100 && config.audioFreq != 48000 && config.audioFreq != 96000 && config.audioFreq != 192000)
 		config.audioFreq = 48000;
-#else
-	if (config.audioFreq != 44100 && config.audioFreq != 48000)
-		config.audioFreq = 48000;
-#endif
 
 	if (config.audioInputFreq <= 1) // default value from FT2 (this was cdr_Sync) - set defaults
 		config.audioInputFreq = INPUT_FREQ_48KHZ;
@@ -838,10 +833,8 @@
 	{
 		         case 44100:  tmpID = RB_CONFIG_AUDIO_44KHZ;  break;
 		default: case 48000:  tmpID = RB_CONFIG_AUDIO_48KHZ;  break;
-#if defined __amd64__ || defined _WIN64
 		         case 96000:  tmpID = RB_CONFIG_AUDIO_96KHZ;  break;
 		         case 192000: tmpID = RB_CONFIG_AUDIO_192KHZ; break;
-#endif
 	}
 	radioButtons[tmpID].state = RADIOBUTTON_CHECKED;
 
@@ -873,11 +866,9 @@
 {
 	checkBoxes[CB_CONF_INTERPOLATION].checked = config.interpolation;
 	checkBoxes[CB_CONF_VOL_RAMP].checked = (config.specialFlags & NO_VOLRAMP_FLAG) ? false : true;
-	checkBoxes[CB_CONF_DITHER].checked = (config.specialFlags2 & DITHERED_AUDIO) ? true : false;
 
 	showCheckBox(CB_CONF_INTERPOLATION);
 	showCheckBox(CB_CONF_VOL_RAMP);
-	showCheckBox(CB_CONF_DITHER);
 }
 
 static void setConfigLayoutCheckButtonStates(void)
@@ -1162,18 +1153,16 @@
 			textOutShadow(406,  90, PAL_FORGRND, PAL_DSKTOP2, "16-bit (default)");
 			textOutShadow(406, 104, PAL_FORGRND, PAL_DSKTOP2, "32-bit float");
 
-			textOutShadow(390, 120, PAL_FORGRND, PAL_DSKTOP2, "Mixing device ctrl.:");
+			textOutShadow(390, 120, PAL_FORGRND, PAL_DSKTOP2, "Mixer settings:");
 			textOutShadow(406, 134, PAL_FORGRND, PAL_DSKTOP2, "Interpolation");
 			textOutShadow(406, 147, PAL_FORGRND, PAL_DSKTOP2, "Volume ramping");
-			textOutShadow(406, 160, PAL_FORGRND, PAL_DSKTOP2, "Dithering");
 
 			textOutShadow(509,   3, PAL_FORGRND, PAL_DSKTOP2, "Mixing frequency:");
 			textOutShadow(525,  17, PAL_FORGRND, PAL_DSKTOP2, "44100Hz");
 			textOutShadow(525,  31, PAL_FORGRND, PAL_DSKTOP2, "48000Hz (default)");
-#if defined __amd64__ || defined _WIN64
 			textOutShadow(525,  45, PAL_FORGRND, PAL_DSKTOP2, "96000Hz");
 			textOutShadow(525,  59, PAL_FORGRND, PAL_DSKTOP2, "192000Hz");
-#endif
+
 			textOutShadow(509,  76, PAL_FORGRND, PAL_DSKTOP2, "Frequency table:");
 			textOutShadow(525,  90, PAL_FORGRND, PAL_DSKTOP2, "Amiga freq. table");
 			textOutShadow(525, 104, PAL_FORGRND, PAL_DSKTOP2, "Linear freq. table");
@@ -1414,7 +1403,6 @@
 	hideRadioButtonGroup(RB_GROUP_CONFIG_FREQ_TABLE);
 	hideCheckBox(CB_CONF_INTERPOLATION);
 	hideCheckBox(CB_CONF_VOL_RAMP);
-	hideCheckBox(CB_CONF_DITHER);
 	hidePushButton(PB_CONFIG_AUDIO_RESCAN);
 	hidePushButton(PB_CONFIG_AUDIO_OUTPUT_DOWN);
 	hidePushButton(PB_CONFIG_AUDIO_OUTPUT_UP);
@@ -1600,10 +1588,6 @@
 	config.specialFlags &= ~BITDEPTH_16;
 	config.specialFlags |=  BITDEPTH_32;
 
-	checkBoxes[CB_CONF_DITHER].checked = false;
-	if (editor.currConfigScreen == CONFIG_SCREEN_IO_DEVICES)
-		drawCheckBox(CB_CONF_DITHER);
-
 	setNewAudioSettings();
 }
 
@@ -1678,12 +1662,6 @@
 {
 	config.specialFlags ^= NO_VOLRAMP_FLAG;
 	audioSetVolRamp((config.specialFlags & NO_VOLRAMP_FLAG) ? false : true);
-}
-
-void cbConfigDithering(void)
-{
-	config.specialFlags2 ^= DITHERED_AUDIO;
-	updateSendAudSamplesRoutine(true);
 }
 
 // CONFIG LAYOUT
--- a/src/ft2_config.h
+++ b/src/ft2_config.h
@@ -74,7 +74,7 @@
 	LINED_SCOPES = 128,
 
 	// specialFlags2
-	DITHERED_AUDIO = 1,
+	DITHERED_AUDIO = 1, /* DEPRECATED */
 	HARDWARE_MOUSE = 2,
 
 	// windowFlags
@@ -240,7 +240,6 @@
 void cbToggleAutoSaveConfig(void);
 void cbConfigInterpolation(void);
 void cbConfigVolRamp(void);
-void cbConfigDithering(void);
 void cbConfigPattStretch(void);
 void cbConfigHexCount(void);
 void cbConfigAccidential(void);
--- a/src/ft2_diskop.c
+++ b/src/ft2_diskop.c
@@ -1273,12 +1273,24 @@
 				}
 				else if (extLen == 4)
 				{
-					if (_stricmp(".nst", extPtr) && _stricmp(".mod", extPtr) &&
-						_stricmp(".s3m", extPtr) && _stricmp(".stm", extPtr) &&
-						_stricmp(".fst", extPtr) && _stricmp(".wav", extPtr))
+					if (editor.moduleSaveMode == MOD_SAVE_MODE_WAV)
 					{
-						goto skipEntry; // skip, none of the extensions above
+						if (_stricmp(".nst", extPtr) && _stricmp(".mod", extPtr) &&
+							_stricmp(".s3m", extPtr) && _stricmp(".stm", extPtr) &&
+							_stricmp(".fst", extPtr) && _stricmp(".wav", extPtr))
+						{
+							goto skipEntry; // skip, none of the extensions above
+						}
 					}
+					else
+					{
+						if (_stricmp(".nst", extPtr) && _stricmp(".mod", extPtr) &&
+							_stricmp(".s3m", extPtr) && _stricmp(".stm", extPtr) &&
+							_stricmp(".fst", extPtr))
+						{
+							goto skipEntry; // skip, none of the extensions above
+						}
+					}
 				}
 				else
 				{
@@ -2059,6 +2071,7 @@
 	hideRadioButtonGroup(RB_GROUP_DISKOP_PAT_SAVEAS);
 	hideRadioButtonGroup(RB_GROUP_DISKOP_TRK_SAVEAS);
 
+
 	if (editor.moduleSaveMode > 3)
 		editor.moduleSaveMode = 3;
 
@@ -2497,6 +2510,9 @@
 
 void rbDiskOpModSaveMod(void)
 {
+	if (editor.moduleSaveMode == MOD_SAVE_MODE_WAV)
+		editor.diskOpReadDir = true;
+
 	editor.moduleSaveMode = MOD_SAVE_MODE_MOD;
 	checkRadioButton(RB_DISKOP_MOD_SAVEAS_MOD);
 	diskOpChangeFilenameExt(".mod");
@@ -2507,6 +2523,9 @@
 
 void rbDiskOpModSaveXm(void)
 {
+	if (editor.moduleSaveMode == MOD_SAVE_MODE_WAV)
+		editor.diskOpReadDir = true;
+
 	editor.moduleSaveMode = MOD_SAVE_MODE_XM;
 	checkRadioButton(RB_DISKOP_MOD_SAVEAS_XM);
 	diskOpChangeFilenameExt(".xm");
@@ -2523,6 +2542,8 @@
 
 	updateCurrSongFilename(); // for window title
 	updateWindowTitle(true);
+
+	editor.diskOpReadDir = true;
 }
 
 void rbDiskOpSmpSaveRaw(void)
--- a/src/ft2_events.c
+++ b/src/ft2_events.c
@@ -68,7 +68,7 @@
 	else
 	{
 		// this prevents a 64-bit MUL (will not overflow with the ranges we use anyway)
-		lpDueTime.HighPart = 0xFFFFFFFF;
+		lpDueTime.HighPart = UINT32_MAX;
 		lpDueTime.LowPart = (DWORD)(-10 * (int32_t)usec);
 
 		NtDelayExecution(false, &lpDueTime);
--- a/src/ft2_gfxdata.h
+++ b/src/ft2_gfxdata.h
@@ -17,7 +17,7 @@
 extern const uint8_t ft2LogoBadgesBMP[6260];
 
 // ft2_bmp_mouse.c
-extern const uint8_t mouseCursorsBMP[3592];
+extern const uint8_t mouseCursorsBMP[3444];
 extern const uint8_t mouseCursorBusyClockBMP[1728];
 extern const uint8_t mouseCursorBusyGlassBMP[6136];
 
--- a/src/ft2_gui.c
+++ b/src/ft2_gui.c
@@ -218,7 +218,6 @@
 	}
 
 	setPal16(palTable[config.cfg_StdPalNr], false);
-
 	seedAboutScreenRandom((uint32_t)time(NULL));
 	setupInitialTextBoxPointers();
 	setInitialTrimFlags();
--- a/src/ft2_header.h
+++ b/src/ft2_header.h
@@ -12,7 +12,7 @@
 #endif
 #include "ft2_replayer.h"
 
-#define PROG_VER_STR "1.30"
+#define PROG_VER_STR "1.31"
 
 // do NOT change these! It will only mess things up...
 
--- a/src/ft2_help.c
+++ b/src/ft2_help.c
@@ -453,7 +453,7 @@
 	fHlp_Line = 0;
 
 	// force update even if new pos value was to be the same as old
-	scrollBars[SB_HELP_SCROLL].oldPos = 0xFFFFFFFF;
+	scrollBars[SB_HELP_SCROLL].oldPos = UINT32_MAX;
 
 	setScrollBarEnd(SB_HELP_SCROLL, subjLen[fHlp_Nr]);
 	setScrollBarPos(SB_HELP_SCROLL, 0, false);
--- a/src/ft2_pattern_ed.c
+++ b/src/ft2_pattern_ed.c
@@ -376,7 +376,7 @@
 		cursor.ch = (uint8_t)(song.antChn - 1);
 		if (ui.pattChanScrollShown)
 		{
-			scrollBars[SB_CHAN_SCROLL].oldPos = 0xFFFFFFFF; // kludge
+			scrollBars[SB_CHAN_SCROLL].oldPos = UINT32_MAX; // kludge
 			setScrollBarPos(SB_CHAN_SCROLL, song.antChn, true);
 		}
 	}
@@ -400,7 +400,7 @@
 		cursor.ch = 0;
 		if (ui.pattChanScrollShown)
 		{
-			scrollBars[SB_CHAN_SCROLL].oldPos = 0xFFFFFFFF; // kludge
+			scrollBars[SB_CHAN_SCROLL].oldPos = UINT32_MAX; // kludge
 			setScrollBarPos(SB_CHAN_SCROLL, 0, true);
 		}
 	}
@@ -622,9 +622,9 @@
 	}
 
 	// force update even if new values were to be the same as the old ones
-	scrollBars[SB_POS_ED].oldEnd = 0xFFFFFFFF;
-	scrollBars[SB_POS_ED].oldPage = 0xFFFFFFFF;
-	scrollBars[SB_POS_ED].oldPos = 0xFFFFFFFF;
+	scrollBars[SB_POS_ED].oldEnd = UINT32_MAX;
+	scrollBars[SB_POS_ED].oldPage = UINT32_MAX;
+	scrollBars[SB_POS_ED].oldPos = UINT32_MAX;
 }
 
 void patternEditorExtended(void)
--- a/src/ft2_pushbuttons.c
+++ b/src/ft2_pushbuttons.c
@@ -363,7 +363,7 @@
 	{  70,  87, 58, 16, 0, 0, "Set path",        NULL,    NULL,             pbDiskOpSetPath },
 	{  70, 104, 58, 16, 0, 0, "Show all",        NULL,    NULL,             pbDiskOpShowAll },
 	{  70, 121, 58, 19, 0, 0, "Exit",            NULL,    NULL,             pbDiskOpExit },
-#ifdef _WIN32
+#ifdef _WIN32 // partition letters
 	{ 134,   2, 31, 13, 0, 0, ".\001",           NULL,    NULL,             pbDiskOpParent },
 	{ 134,  16, 31, 12, 0, 0, "\\",              NULL,    NULL,             pbDiskOpRoot },
 	{ 134,  29, 31, 13, 0, 0, NULL,              NULL,    NULL,             pbDiskOpDrive1 },
@@ -383,7 +383,7 @@
 
 	// ------ WAV RENDERER PUSHBUTTONS ------
 	//x,   y,   w,  h,  p, d, text #1,           text #2, funcOnDown,         funcOnUp
-	{   3, 111, 73, 43, 0, 0, "RECORD",          NULL,    NULL,               pbWavRender },
+	{   3, 111, 73, 43, 0, 0, "Export",          NULL,    NULL,               pbWavRender },
 	{   3, 155, 73, 16, 0, 0, "Exit",            NULL,    NULL,               pbWavExit },
 	{ 253, 114, 18, 13, 1, 6, ARROW_UP_STRING,   NULL,    pbWavFreqUp,        NULL },
 	{ 270, 114, 18, 13, 1, 6, ARROW_DOWN_STRING, NULL,    pbWavFreqDown,      NULL },
--- a/src/ft2_radiobuttons.c
+++ b/src/ft2_radiobuttons.c
@@ -88,10 +88,9 @@
 	//x,   y,   w,  group,                      funcOnUp
 	{ 509, 16,  66, RB_GROUP_CONFIG_AUDIO_FREQ, rbConfigAudio44kHz },
 	{ 509, 30, 121, RB_GROUP_CONFIG_AUDIO_FREQ, rbConfigAudio48kHz },
-#if defined __amd64__ || defined _WIN64
 	{ 509, 44,  66, RB_GROUP_CONFIG_AUDIO_FREQ, rbConfigAudio96kHz },
 	{ 509, 58,  73, RB_GROUP_CONFIG_AUDIO_FREQ, rbConfigAudio192kHz },
-#endif
+
 	// audio input frequency
 	//x,   y,  w,   group,                            funcOnUp
 	{ 180, 156, 60, RB_GROUP_CONFIG_AUDIO_INPUT_FREQ, rbConfigAudioInput44kHz },
--- a/src/ft2_radiobuttons.h
+++ b/src/ft2_radiobuttons.h
@@ -57,10 +57,8 @@
 	// AUDIO FREQUENCY
 	RB_CONFIG_AUDIO_44KHZ,
 	RB_CONFIG_AUDIO_48KHZ,
-#if defined __amd64__ || defined _WIN64
 	RB_CONFIG_AUDIO_96KHZ,
 	RB_CONFIG_AUDIO_192KHZ,
-#endif
 
 	// AUDIO INPUT FREQUENCY
 	RB_CONFIG_AUDIO_INPUT_44KHZ,
--- a/src/ft2_replayer.c
+++ b/src/ft2_replayer.c
@@ -27,7 +27,8 @@
 */
 
 // non-FT2 precalced stuff
-static double dPeriod2HzTab[65536], dLogTab[768], d2nRevTab[32], dHz2MixDeltaMul;
+static double dPeriod2HzTab[65536], dLogTab[768], dHz2MixDeltaMul;
+static uint32_t revMixDeltaTab[65536];
 
 static bool bxxOverflow;
 static tonTyp nilPatternLine;
@@ -209,13 +210,6 @@
 	return i+1;
 }
 
-static void calc2nRevTable(void) // for calcPeriod2HzTable()
-{
-	d2nRevTab[0] = 1.0;
-	for (int32_t i = 0; i < 32; i++)
-		d2nRevTab[i] = 1.0 / (1UL << i);
-}
-
 static void calcPeriod2HzTable(void) // called every time "linear/amiga frequency" mode is changed
 {
 	dPeriod2HzTab[0] = 0.0; // in FT2, a period of 0 converts to 0Hz
@@ -230,7 +224,7 @@
 			const int32_t period = invPeriod % 768;
 			const int32_t invOct = (14 - octave) & 0x1F; // accurate to FT2
 
-			dPeriod2HzTab[i] = dLogTab[period] * d2nRevTab[invOct]; // x = y / 2^invOct
+			dPeriod2HzTab[i] = dLogTab[period] / (1UL << invOct); // x = y / 2^invOct
 		}
 	}
 	else
@@ -241,6 +235,29 @@
 	}
 }
 
+/* Called every time "linear/amiga frequency" mode or audio frequency is changed.
+**
+** Used to replace a DIV with a MUL in the outside audio mixer loop. This can actually
+** be beneficial if you are playing VERY tightly looped samples, and/or if the CPU has
+** no DIV instruction (certain ARM CPUs, for instance).
+**
+** A bit hackish and extreme considering it's 65536*4 bytes, but that's My Game�
+*/
+void calcRevMixDeltaTable(void)
+{
+	for (int32_t i = 0; i < 65536; i++)
+	{
+		const uint16_t period = (uint16_t)i;
+		const uint64_t delta = getMixerDelta(period);
+
+		uint32_t revDelta = UINT32_MAX;
+		if (delta != 0)
+			revDelta = (uint32_t)((UINT64_MAX / delta) >> 16); // MUST be truncated, not rounded!
+
+		revMixDeltaTab[i] = revDelta;
+	}
+}
+
 void setFrqTab(bool linear)
 {
 	pauseAudio();
@@ -253,6 +270,7 @@
 		note2Period = amigaPeriods;
 
 	calcPeriod2HzTable();
+	calcRevMixDeltaTable();
 
 	resumeAudio();
 
@@ -356,26 +374,20 @@
 		return;
 
 	dHz2MixDeltaMul = (double)MIXER_FRAC_SCALE / audioFreq;
+	audio.quickVolRampSamples = (int32_t)((audioFreq / 200.0) + 0.5); // rounded
+	audio.fRampQuickVolMul = 1.0f / audio.quickVolRampSamples;
 
-	audio.quickVolSizeVal = (int32_t)((audioFreq / 200.0) + 0.5); // rounded
-	audio.rampQuickVolMul = (int32_t)(((UINT32_MAX + 1.0) / audio.quickVolSizeVal) + 0.5); // rounded
-
-	/* Calculate tables to prevent floating point operations on systems that
-	** might have a slow FPU. This is quite hackish and not really needed,
-	** but it doesn't take up a lot of RAM, so why not.
-	*/
-
-	audio.dSpeedValTab[0] = 0.0;
+	audio.dSamplesPerTickTab[0] = 0.0;
 	audio.tickTimeLengthTab[0] = UINT64_MAX;
-	audio.rampSpeedValMulTab[0] = INT32_MAX;
+	audio.fRampTickMulTab[0] = 0.0f;
 
 	for (int32_t i = MIN_BPM; i <= MAX_BPM; i++)
 	{
-		const double dBpmHz = i / 2.5;
+		const double dBpmHz = i * (1.0 / 2.5); // i / 2.5
 		const double dSamplesPerTick = audioFreq / dBpmHz;
-		audio.dSpeedValTab[i] = dSamplesPerTick;
+		audio.dSamplesPerTickTab[i] = dSamplesPerTick;
 
-		// BPM -> Hz -> tick length for performance counter (syncing visuals to audio)
+		// BPM Hz -> tick length for performance counter (syncing visuals to audio)
 		double dTimeInt;
 		double dTimeFrac = modf(editor.dPerfFreq / dBpmHz, &dTimeInt);
 		const int32_t timeInt = (int32_t)dTimeInt;
@@ -384,9 +396,9 @@
 
 		audio.tickTimeLengthTab[i] = ((uint64_t)timeInt << 32) | (uint32_t)dTimeFrac;
 
-		// for calculating volume ramp length for "tick" ramps
-		const int32_t samplesPerTick = (int32_t)(dSamplesPerTick + 0.5); // this has to be rounded
-		audio.rampSpeedValMulTab[i] = (int32_t)(((UINT32_MAX + 1.0) / samplesPerTick) + 0.5); // rounded
+		// for calculating volume ramp length for tick-lenghted ramps
+		const int32_t samplesPerTick = (int32_t)(dSamplesPerTick + 0.5); // this has to be rounded first
+		audio.fRampTickMulTab[i] = 1.0f / samplesPerTick;
 	}
 }
 
@@ -395,17 +407,15 @@
 	return dPeriod2HzTab[period];
 }
 
-#if defined _WIN64 || defined __amd64__
 int64_t getMixerDelta(uint16_t period)
 {
 	return (int64_t)((dPeriod2Hz(period) * dHz2MixDeltaMul) + 0.5); // Hz -> rounded fixed-point mixer delta
 }
-#else
-int32_t getMixerDelta(uint16_t period)
+
+uint32_t getRevMixerDelta(uint16_t period)
 {
-	return (int32_t)((dPeriod2Hz(period) * dHz2MixDeltaMul) + 0.5); // Hz -> rounded fixed-point mixer delta
+	return revMixDeltaTab[period];
 }
-#endif
 
 int32_t getPianoKey(uint16_t period, int32_t finetune, int32_t relativeNote) // for piano in Instr. Ed.
 {
@@ -1216,9 +1226,9 @@
 {
 	bool envInterpolateFlag, envDidInterpolate;
 	uint8_t envPos;
-	int16_t autoVibVal, panTmp;
+	int16_t autoVibVal;
 	uint16_t tmpPeriod, autoVibAmp, envVal;
-	uint32_t vol;
+	float fVol;
 	instrTyp *ins;
 
 	ins = ch->instrSeg;
@@ -1323,32 +1333,28 @@
 				}
 			}
 
-			// original FT2 shifts the vol env. range to 0..64, but we keep its full resolution (0..16384)
+			fVol  = song.globVol   * (1.0f / 64.0f);
+			fVol *= ch->outVol     * (1.0f / 64.0f);
+			fVol *= ch->fadeOutAmp * (1.0f / 32768.0f);
+			fVol *= envVal         * (1.0f / 16384.0f);
 
-			// 0..64 * 0..64 * 0..32768 = 0..134217728
-			vol = song.globVol * ch->outVol * ch->fadeOutAmp;
-
-			// ((0..134217728 * 0..16384) + 2^10) / 2^11 = 0..1073741824 (rounded)
-			vol = (uint32_t)((((int64_t)vol * envVal) + (1UL << 10)) >> 11);
-
-			ch->status |= IS_Vol;
+			ch->status |= IS_Vol; // update vol every tick because vol envelope is enabled
 		}
 		else
 		{
-			// (0..64 * 0..64 * 0..32768) * 2^3 = 0..1073741824
-			vol = (uint32_t)(song.globVol * ch->outVol * ch->fadeOutAmp) << 3;
+			fVol  = song.globVol   * (1.0f / 64.0f);
+			fVol *= ch->outVol     * (1.0f / 64.0f);
+			fVol *= ch->fadeOutAmp * (1.0f / 32768.0f);
 		}
 
-		// original FT2 calculates final volume with a range of 0..256. We do it with a range of 0..1073741824 (why not)
+		if (fVol > 1.0f) // shouldn't happen, but just in case...
+			fVol = 1.0f;
 
-		if (vol > (1UL<<30)) // shouldn't happen, but just in case...
-			vol = (1UL<<30);
-
-		ch->finalVol = vol;
+		ch->fFinalVol = fVol;
 	}
 	else
 	{
-		ch->finalVol = 0;
+		ch->fFinalVol = 0.0f;
 	}
 
 	// *** PANNING ENVELOPE ***
@@ -1432,15 +1438,12 @@
 			}
 		}
 
-		panTmp = ch->outPan - 128;
-		if (panTmp > 0)
-			panTmp = 0 - panTmp;
-		panTmp += 128;
+		const int32_t panTmp = 128 - ABS(ch->outPan - 128);
+		const int32_t panEnv = (int32_t)envVal - (32*256); // -8192..7936
+		const int32_t panAdd = (int32_t)roundf((panTmp * panEnv) * (1.0f / 8192.0f)); // -128..124
+		ch->finalPan = (uint8_t)CLAMP(ch->outPan + panAdd, 0, 255);
 
-		envVal -= 32*256;
-
-		ch->finalPan = ch->outPan + (uint8_t)(((int16_t)envVal * panTmp) >> 13);
-		ch->status |= IS_Pan;
+		ch->status |= IS_Pan; // update pan every tick because pan envelope is enabled
 	}
 	else
 	{
@@ -2095,7 +2098,7 @@
 	}
 }
 
-void mainPlayer(void) // periodically called from audio callback
+void tickReplayer(void) // periodically called from audio callback
 {
 	bool readNewNote;
 	int32_t i;
@@ -2734,8 +2737,9 @@
 
 	audio.linearFreqTable = true;
 	note2Period = linearPeriods;
-	calc2nRevTable();
+
 	calcPeriod2HzTable();
+	calcRevMixDeltaTable();
 	calcPanningTable();
 
 	setPos(0, 0, true);
@@ -3055,7 +3059,7 @@
 		ch->realVol = 0;
 		ch->outVol = 0;
 		ch->oldVol = 0;
-		ch->finalVol = 0;
+		ch->fFinalVol = 0.0f;
 		ch->oldPan = 128;
 		ch->outPan = 128;
 		ch->finalPan = 128;
--- a/src/ft2_replayer.h
+++ b/src/ft2_replayer.h
@@ -13,6 +13,10 @@
 	IS_Pan = 8, // set panning
 	IS_QuickVol = 16, // 5ms volramp instead of tick ms
 
+	LOOP_DISABLED = 0,
+	LOOP_FORWARD = 1,
+	LOOP_PINGPONG = 2,
+
 	// tracker playback modes
 	PLAYMODE_IDLE = 0,
 	PLAYMODE_EDIT = 1,
@@ -204,7 +208,7 @@
 	uint16_t outPeriod, realPeriod, finalPeriod, tonTyp, wantPeriod, portaSpeed;
 	uint16_t envVCnt, envVAmp, envPCnt, envPAmp, eVibAmp, eVibSweep;
 	uint16_t fadeOutAmp, fadeOutSpeed, midiVibDepth;
-	uint32_t finalVol;
+	float fFinalVol;
 	int32_t smpStartPos;
 	sampleTyp *smpPtr;
 	instrTyp *instrSeg;
@@ -234,7 +238,7 @@
 	uint8_t status, sampleNr, instrNr;
 	uint16_t finalPeriod;
 	int32_t smpStartPos;
-	uint32_t finalVol;
+	float fFinalVol;
 } syncedChannel_t;
 
 void fixSongName(void); // removes spaces from right side of song name
@@ -242,14 +246,12 @@
 void calcReplayRate(int32_t rate);
 void tuneSample(sampleTyp *s, int32_t midCFreq);
 
+void calcRevMixDeltaTable(void);
 void calcReplayerLogTab(void);
 double dPeriod2Hz(uint16_t period);
 
-#if defined _WIN64 || defined __amd64__
 int64_t getMixerDelta(uint16_t period);
-#else
-int32_t getMixerDelta(uint16_t period);
-#endif
+uint32_t getRevMixerDelta(uint16_t period);
 
 int32_t getPianoKey(uint16_t period, int32_t finetune, int32_t relativeNote); // for piano in Instr. Ed.
 
@@ -281,7 +283,7 @@
 void samp2Delta(int8_t *p, int32_t len, uint8_t typ);
 void setPatternLen(uint16_t nr, int16_t len);
 void setFrqTab(bool linear);
-void mainPlayer(void); // periodically called from audio callback
+void tickReplayer(void); // periodically called from audio callback
 void resetChannels(void);
 bool patternEmpty(uint16_t nr);
 int16_t getUsedSamples(int16_t nr);
--- a/src/ft2_scopedraw.c
+++ b/src/ft2_scopedraw.c
@@ -8,80 +8,80 @@
 /* ----------------------------------------------------------------------- */
 
 #define SCOPE_REGS_NO_LOOP \
-	const int8_t vol = s->SVol; \
-	const int32_t SLen = s->SLen; \
-	const uint32_t scopeDrawDelta = s->DFrq; \
-	const uint32_t scopePixelColor = video.palette[PAL_PATTEXT]; \
-	const uint32_t drawLen = x + w; \
+	const int32_t vol = s->vol; \
+	const int32_t end = s->end; \
+	const uint32_t delta = s->drawDelta; \
+	const uint32_t color = video.palette[PAL_PATTEXT]; \
+	const uint32_t width = x + w; \
 	int32_t sample; \
-	int32_t scopeDrawPos = s->SPos; \
-	int32_t scopeDrawFrac = 0; \
+	int32_t pos = s->pos; \
+	int32_t posFrac = 0; \
 
 #define SCOPE_REGS_LOOP \
-	const int8_t vol = s->SVol; \
-	const int32_t SLen = s->SLen; \
-	const int32_t SRepS = s->SRepS; \
-	const int32_t SRepL = s->SRepL; \
-	const uint32_t scopeDrawDelta = s->DFrq; \
-	const uint32_t scopePixelColor = video.palette[PAL_PATTEXT]; \
-	const uint32_t drawLen = x + w; \
+	const int32_t vol = s->vol; \
+	const int32_t end = s->end; \
+	const int32_t loopStart = s->loopStart; \
+	const int32_t loopLength = s->loopLength; \
+	const uint32_t delta = s->drawDelta; \
+	const uint32_t color = video.palette[PAL_PATTEXT]; \
+	const uint32_t width = x + w; \
 	int32_t sample; \
-	int32_t scopeDrawPos = s->SPos; \
-	int32_t scopeDrawFrac = 0; \
+	int32_t pos = s->pos; \
+	int32_t posFrac = 0; \
 
 #define SCOPE_REGS_PINGPONG \
-	const int8_t vol = s->SVol; \
-	const int32_t SLen = s->SLen; \
-	const int32_t SRepS = s->SRepS; \
-	const int32_t SRepL = s->SRepL; \
-	const uint32_t scopeDrawDelta = s->DFrq; \
-	const uint32_t scopePixelColor = video.palette[PAL_PATTEXT]; \
-	const uint32_t drawLen = x + w; \
+	const int32_t vol = s->vol; \
+	const int32_t end = s->end; \
+	const int32_t loopStart = s->loopStart; \
+	const int32_t loopLength = s->loopLength; \
+	const uint32_t delta = s->drawDelta; \
+	const uint32_t color = video.palette[PAL_PATTEXT]; \
+	const uint32_t width = x + w; \
 	int32_t sample; \
-	int32_t scopeDrawPos = s->SPos; \
-	int32_t scopeDrawFrac = 0; \
-	int32_t drawPosDir = s->backwards ? -1 : 1; \
+	int32_t pos = s->pos; \
+	int32_t posFrac = 0; \
+	int32_t direction = s->direction; \
 
 #define LINED_SCOPE_REGS_NO_LOOP \
-	const int8_t vol = s->SVol; \
-	const int32_t SLen = s->SLen; \
-	const uint32_t scopeDrawDelta = s->DFrq; \
-	const uint32_t drawLen = (x + w) - 1; \
+	const int32_t vol = s->vol; \
+	const int32_t end = s->end; \
+	const uint32_t delta = s->drawDelta; \
+	const uint32_t width = (x + w) - 1; \
 	int32_t sample; \
 	int32_t y1, y2; \
-	int32_t scopeDrawPos = s->SPos; \
-	int32_t scopeDrawFrac = 0; \
+	int32_t pos = s->pos; \
+	int32_t posFrac = 0; \
 
 #define LINED_SCOPE_REGS_LOOP \
-	const int8_t vol = s->SVol; \
-	const int32_t SLen = s->SLen; \
-	const int32_t SRepS = s->SRepS; \
-	const int32_t SRepL = s->SRepL; \
-	const uint32_t scopeDrawDelta = s->DFrq; \
-	const uint32_t drawLen = (x + w) - 1; \
+	const int32_t vol = s->vol; \
+	const int32_t end = s->end; \
+	const int32_t loopStart = s->loopStart; \
+	const int32_t loopLength = s->loopLength; \
+	const uint32_t delta = s->drawDelta; \
+	const uint32_t width = (x + w) - 1; \
 	int32_t sample; \
 	int32_t y1, y2; \
-	int32_t scopeDrawPos = s->SPos; \
-	int32_t scopeDrawFrac = 0; \
+	int32_t pos = s->pos; \
+	int32_t posFrac = 0; \
 
 #define LINED_SCOPE_REGS_PINGPONG \
-	const int8_t vol = s->SVol; \
-	const int32_t SLen = s->SLen; \
-	const int32_t SRepS = s->SRepS; \
-	const int32_t SRepL = s->SRepL; \
-	const uint32_t scopeDrawDelta = s->DFrq; \
-	const uint32_t drawLen = (x + w) - 1; \
+	const int32_t vol = s->vol; \
+	const int32_t end = s->end; \
+	const int32_t loopStart = s->loopStart; \
+	const int32_t loopLength = s->loopLength; \
+	const uint32_t delta = s->drawDelta; \
+	const uint32_t width = (x + w) - 1; \
 	int32_t sample; \
 	int32_t y1, y2; \
-	int32_t scopeDrawPos = s->SPos; \
-	int32_t scopeDrawFrac = 0; \
-	int32_t drawPosDir = s->backwards ? -1 : 1; \
+	int32_t pos = s->pos; \
+	int32_t posFrac = 0; \
+	int32_t direction = s->direction; \
 
 #define SCOPE_GET_SMP8 \
 	if (s->active) \
 	{ \
-		assert(scopeDrawPos >= 0 && scopeDrawPos < SLen); \
-		sample = (s->sampleData8[scopeDrawPos] * vol) >> 8; \
+		assert(pos >= 0 && pos < end); \
+		sample = (s->base8[pos] * vol) >> 8; \
 	} \
 	else \
 	{ \
@@ -91,8 +91,8 @@
 #define SCOPE_GET_SMP16 \
 	if (s->active) \
 	{ \
-		assert(scopeDrawPos >= 0 && scopeDrawPos < SLen); \
-		sample = (int8_t)((s->sampleData16[scopeDrawPos] * vol) >> 16); \
+		assert(pos >= 0 && pos < end); \
+		sample = (int8_t)((s->base16[pos] * vol) >> 16); \
 	} \
 	else \
 	{ \
@@ -100,17 +100,17 @@
 	} \
 
 #define SCOPE_UPDATE_DRAWPOS \
-	scopeDrawFrac += scopeDrawDelta; \
-	scopeDrawPos += scopeDrawFrac >> SCOPE_DRAW_FRAC_BITS; \
-	scopeDrawFrac &= SCOPE_DRAW_FRAC_MASK; \
+	posFrac += delta; \
+	pos += posFrac >> SCOPE_DRAW_FRAC_BITS; \
+	posFrac &= SCOPE_DRAW_FRAC_MASK; \
 
 #define SCOPE_UPDATE_DRAWPOS_PINGPONG \
-	scopeDrawFrac += scopeDrawDelta; \
-	scopeDrawPos += (scopeDrawFrac >> SCOPE_DRAW_FRAC_BITS) * drawPosDir; \
-	scopeDrawFrac &= SCOPE_DRAW_FRAC_MASK; \
+	posFrac += delta; \
+	pos += (int32_t)(posFrac >> SCOPE_DRAW_FRAC_BITS) * direction; \
+	posFrac &= SCOPE_DRAW_FRAC_MASK; \
 
 #define SCOPE_DRAW_SMP \
-	video.frameBuffer[((lineY - sample) * SCREEN_W) + x] = scopePixelColor;
+	video.frameBuffer[((lineY - sample) * SCREEN_W) + x] = color;
 
 #define LINED_SCOPE_PREPARE_SMP8 \
 	SCOPE_GET_SMP8 \
@@ -128,44 +128,44 @@
 	y1 = y2; \
 
 #define SCOPE_HANDLE_POS_NO_LOOP \
-	if (scopeDrawPos >= SLen) \
+	if (pos >= end) \
 		s->active = false; \
 
 #define SCOPE_HANDLE_POS_LOOP \
-	if (scopeDrawPos >= SLen) \
+	if (pos >= end) \
 	{ \
-		if (SRepL >= 2) \
-			scopeDrawPos = SRepS + ((scopeDrawPos - SLen) % SRepL); \
+		if (loopLength >= 2) \
+			pos = loopStart + ((pos - end) % loopLength); \
 		else \
-			scopeDrawPos = SRepS; \
+			pos = loopStart; \
 		\
-		assert(scopeDrawPos >= SRepS && scopeDrawPos < SLen); \
+		assert(pos >= loopStart && pos < end); \
 	} \
 
 #define SCOPE_HANDLE_POS_PINGPONG \
-	if (drawPosDir == -1 && scopeDrawPos < SRepS) \
+	if (direction == -1 && pos < loopStart) \
 	{ \
-		drawPosDir = 1; /* change direction to forwards */ \
+		direction = 1; /* change direction to forwards */ \
 		\
-		if (SRepL >= 2) \
-			scopeDrawPos = SRepS + ((SRepS - scopeDrawPos - 1) % SRepL); \
+		if (loopLength >= 2) \
+			pos = loopStart + ((loopStart - pos - 1) % loopLength); \
 		else \
-			scopeDrawPos = SRepS; \
+			pos = loopStart; \
 		\
-		assert(scopeDrawPos >= SRepS && scopeDrawPos < SLen); \
+		assert(pos >= loopStart && pos < end); \
 	} \
-	else if (scopeDrawPos >= SLen) \
+	else if (pos >= end) \
 	{ \
-		drawPosDir = -1; /* change direction to backwards */ \
+		direction = -1; /* change direction to backwards */ \
 		\
-		if (SRepL >= 2) \
-			scopeDrawPos = (SLen - 1) - ((scopeDrawPos - SLen) % SRepL); \
+		if (loopLength >= 2) \
+			pos = (end - 1) - ((pos - end) % loopLength); \
 		else \
-			scopeDrawPos = SLen - 1; \
+			pos = end - 1; \
 		\
-		assert(scopeDrawPos >= SRepS && scopeDrawPos < SLen); \
+		assert(pos >= loopStart && pos < end); \
 	} \
-	assert(scopeDrawPos >= 0); \
+	assert(pos >= 0); \
 
 static void scopeLine(int32_t x1, int32_t y1, int32_t y2)
 {
@@ -215,7 +215,7 @@
 {
 	SCOPE_REGS_NO_LOOP
 
-	for (; x < drawLen; x++)
+	for (; x < width; x++)
 	{
 		SCOPE_GET_SMP8
 		SCOPE_DRAW_SMP
@@ -228,7 +228,7 @@
 {
 	SCOPE_REGS_LOOP
 
-	for (; x < drawLen; x++)
+	for (; x < width; x++)
 	{
 		SCOPE_GET_SMP8
 		SCOPE_DRAW_SMP
@@ -241,7 +241,7 @@
 {
 	SCOPE_REGS_PINGPONG
 
-	for (; x < drawLen; x++)
+	for (; x < width; x++)
 	{
 		SCOPE_GET_SMP8
 		SCOPE_DRAW_SMP
@@ -254,7 +254,7 @@
 {
 	SCOPE_REGS_NO_LOOP
 
-	for (; x < drawLen; x++)
+	for (; x < width; x++)
 	{
 		SCOPE_GET_SMP16
 		SCOPE_DRAW_SMP
@@ -267,7 +267,7 @@
 {
 	SCOPE_REGS_LOOP
 
-	for (; x < drawLen; x++)
+	for (; x < width; x++)
 	{
 		SCOPE_GET_SMP16
 		SCOPE_DRAW_SMP
@@ -280,7 +280,7 @@
 {
 	SCOPE_REGS_PINGPONG
 
-	for (; x < drawLen; x++)
+	for (; x < width; x++)
 	{
 		SCOPE_GET_SMP16
 		SCOPE_DRAW_SMP
@@ -299,7 +299,7 @@
 	LINED_SCOPE_PREPARE_SMP8
 	SCOPE_HANDLE_POS_NO_LOOP
 
-	for (; x < drawLen; x++)
+	for (; x < width; x++)
 	{
 		SCOPE_GET_SMP8
 		LINED_SCOPE_DRAW_SMP
@@ -314,7 +314,7 @@
 	LINED_SCOPE_PREPARE_SMP8
 	SCOPE_HANDLE_POS_LOOP
 
-	for (; x < drawLen; x++)
+	for (; x < width; x++)
 	{
 		SCOPE_GET_SMP8
 		LINED_SCOPE_DRAW_SMP
@@ -329,7 +329,7 @@
 	LINED_SCOPE_PREPARE_SMP8
 	SCOPE_HANDLE_POS_PINGPONG
 
-	for (; x < drawLen; x++)
+	for (; x < width; x++)
 	{
 		SCOPE_GET_SMP8
 		LINED_SCOPE_DRAW_SMP
@@ -344,7 +344,7 @@
 	LINED_SCOPE_PREPARE_SMP16
 	SCOPE_HANDLE_POS_NO_LOOP
 
-	for (; x < drawLen; x++)
+	for (; x < width; x++)
 	{
 		SCOPE_GET_SMP16
 		LINED_SCOPE_DRAW_SMP
@@ -359,7 +359,7 @@
 	LINED_SCOPE_PREPARE_SMP16
 	SCOPE_HANDLE_POS_LOOP
 
-	for (; x < drawLen; x++)
+	for (; x < width; x++)
 	{
 		SCOPE_GET_SMP16
 		LINED_SCOPE_DRAW_SMP
@@ -374,7 +374,7 @@
 	LINED_SCOPE_PREPARE_SMP16
 	SCOPE_HANDLE_POS_PINGPONG
 
-	for (; x < drawLen; x++)
+	for (; x < width; x++)
 	{
 		SCOPE_GET_SMP16
 		LINED_SCOPE_DRAW_SMP
--- a/src/ft2_scopes.c
+++ b/src/ft2_scopes.c
@@ -23,27 +23,12 @@
 #include "ft2_tables.h"
 #include "ft2_structs.h"
 
-enum
-{
-	LOOP_NONE = 0,
-	LOOP_FORWARD = 1,
-	LOOP_PINGPONG = 2
-};
-
 #define SCOPE_HEIGHT 36
 
-// data to be read from main update thread during sample trigger
-typedef struct scopeState_t
-{
-	int8_t *pek;
-	uint8_t typ;
-	int32_t len, repS, repL, playOffset;
-} scopeState_t;
-
 static volatile bool scopesUpdatingFlag, scopesDisplayingFlag;
 static int32_t oldPeriod;
-static uint32_t oldDFrq, scopeTimeLen, scopeTimeLenFrac;
-static uint64_t oldSFrq, timeNext64, timeNext64Frac;
+static uint32_t oldDrawDelta, scopeTimeLen, scopeTimeLenFrac;
+static uint64_t oldDelta, timeNext64, timeNext64Frac;
 static volatile scope_t scope[MAX_VOICES];
 static SDL_Thread *scopeThread;
 
@@ -52,14 +37,14 @@
 void resetCachedScopeVars(void)
 {
 	oldPeriod = -1;
-	oldSFrq = 0;
-	oldDFrq = 0;
+	oldDelta = 0;
+	oldDrawDelta = 0;
 }
 
 int32_t getSamplePosition(uint8_t ch)
 {
 	volatile bool active, sampleIs16Bit;
-	volatile int32_t pos, len;
+	volatile int32_t pos, end;
 	volatile scope_t *sc;
 
 	if (ch >= song.antChn)
@@ -69,14 +54,14 @@
 
 	// cache some stuff
 	active = sc->active;
-	pos = sc->SPos;
-	len = sc->SLen;
+	pos = sc->pos;
+	end = sc->end;
 	sampleIs16Bit = sc->sampleIs16Bit;
 
-	if (!active || len == 0)
+	if (!active || end == 0)
 		return -1;
 
-	if (pos >= 0 && pos < len)
+	if (pos >= 0 && pos < end)
 	{
 		if (sampleIs16Bit)
 			pos <<= 1;
@@ -114,7 +99,7 @@
 		ch->realVol = 0;
 		ch->outVol = 0;
 		ch->oldVol = 0;
-		ch->finalVol = 0;
+		ch->fFinalVol = 0.0f;
 		ch->outPan = 128;
 		ch->oldPan = 128;
 		ch->finalPan = 128;
@@ -320,7 +305,7 @@
 {
 	bool sampleIs16Bit;
 	uint8_t loopType;
-	int32_t length, loopBegin, loopLength;
+	int32_t length, loopStart, loopLength, loopEnd;
 	volatile scope_t *sc;
 	scope_t tempState;
 
@@ -327,8 +312,9 @@
 	sc = &scope[ch];
 
 	length = s->len;
-	loopBegin = s->repS;
+	loopStart = s->repS;
 	loopLength = s->repL;
+	loopEnd = s->repS + s->repL;
 	loopType = s->typ & 3;
 	sampleIs16Bit = (s->typ >> 4) & 1;
 
@@ -335,12 +321,14 @@
 	if (sampleIs16Bit)
 	{
 		assert(!(length & 1));
-		assert(!(loopBegin & 1));
+		assert(!(loopStart & 1));
 		assert(!(loopLength & 1));
+		assert(!(loopEnd & 1));
 
 		length >>= 1;
-		loopBegin >>= 1;
+		loopStart >>= 1;
 		loopLength >>= 1;
+		loopEnd >>= 1;
 	}
 
 	if (s->pek == NULL || length < 1)
@@ -353,22 +341,22 @@
 		loopType = 0;
 
 	if (sampleIs16Bit)
-		tempState.sampleData16 = (const int16_t *)s->pek;
+		tempState.base16 = (const int16_t *)s->pek;
 	else
-		tempState.sampleData8 = (const int8_t *)s->pek;
+		tempState.base8 = s->pek;
 
 	tempState.sampleIs16Bit = sampleIs16Bit;
 	tempState.loopType = loopType;
 
-	tempState.backwards = false;
-	tempState.SLen = (loopType > 0) ? (loopBegin + loopLength) : length;
-	tempState.SRepS = loopBegin;
-	tempState.SRepL = loopLength;
-	tempState.SPos = playOffset;
-	tempState.SPosDec = 0; // position fraction
+	tempState.direction = 1; // forwards
+	tempState.end = (loopType > 0) ? loopEnd : length;
+	tempState.loopStart = loopStart;
+	tempState.loopLength = loopLength;
+	tempState.pos = playOffset;
+	tempState.posFrac = 0;
 	
-	// if 9xx position overflows, shut down scopes
-	if (tempState.SPos >= tempState.SLen)
+	// if position overflows (f.ex. through 9xx command), shut down scopes
+	if (tempState.pos >= tempState.end)
 	{
 		sc->active = false;
 		return;
@@ -376,9 +364,9 @@
 
 	// these has to be read
 	tempState.wasCleared = sc->wasCleared;
-	tempState.SFrq = sc->SFrq;
-	tempState.DFrq = sc->DFrq;
-	tempState.SVol = sc->SVol;
+	tempState.delta = sc->delta;
+	tempState.drawDelta = sc->drawDelta;
+	tempState.vol = sc->vol;
 
 	tempState.active = true;
 
@@ -400,59 +388,54 @@
 	volatile scope_t *sc = scope;
 	for (int32_t i = 0; i < song.antChn; i++, sc++)
 	{
-		scope_t tempState = *sc; // cache it
-		if (!tempState.active)
+		scope_t s = *sc; // cache it
+		if (!s.active)
 			continue; // scope is not active, no need
 
 		// scope position update
 
-		tempState.SPosDec += tempState.SFrq;
-		const uint32_t posAdd = tempState.SPosDec >> SCOPE_FRAC_BITS;
-		tempState.SPosDec &= SCOPE_FRAC_MASK;
+		s.posFrac += s.delta;
+		s.pos += (int32_t)(s.posFrac >> SCOPE_FRAC_BITS) * s.direction;
+		s.posFrac &= SCOPE_FRAC_MASK;
 
-		if (tempState.backwards)
-			tempState.SPos -= posAdd;
-		else
-			tempState.SPos += posAdd;
-
 		// handle loop wrapping or sample end
-		if (tempState.backwards && tempState.SPos < tempState.SRepS) // sampling backwards (definitely pingpong loop)
+		if (s.direction == -1 && s.pos < s.loopStart) // sampling backwards (definitely pingpong loop)
 		{
-			tempState.backwards = false; // change direction to forwards
+			s.direction = 1; // change direction to forwards
 
-			if (tempState.SRepL >= 2)
-				tempState.SPos = tempState.SRepS + ((tempState.SRepS - tempState.SPos - 1) % tempState.SRepL);
+			if (s.loopLength >= 2)
+				s.pos = s.loopStart + ((s.loopStart - s.pos - 1) % s.loopLength);
 			else
-				tempState.SPos = tempState.SRepS;
+				s.pos = s.loopStart;
 
-			assert(tempState.SPos >= tempState.SRepS && tempState.SPos < tempState.SLen);
+			assert(s.pos >= s.loopStart && s.pos < s.end);
 		}
-		else if (tempState.SPos >= tempState.SLen)
+		else if (s.pos >= s.end)
 		{
-			if (tempState.SRepL >= 2)
-				loopOverflowVal = (tempState.SPos - tempState.SLen) % tempState.SRepL;
+			if (s.loopLength >= 2)
+				loopOverflowVal = (s.pos - s.end) % s.loopLength;
 			else
 				loopOverflowVal = 0;
 
-			if (tempState.loopType == LOOP_NONE)
+			if (s.loopType == LOOP_DISABLED)
 			{
-				tempState.active = false;
+				s.active = false;
 			}
-			else if (tempState.loopType == LOOP_FORWARD)
+			else if (s.loopType == LOOP_FORWARD)
 			{
-				tempState.SPos = tempState.SRepS + loopOverflowVal;
-				assert(tempState.SPos >= tempState.SRepS && tempState.SPos < tempState.SLen);
+				s.pos = s.loopStart + loopOverflowVal;
+				assert(s.pos >= s.loopStart && s.pos < s.end);
 			}
 			else // pingpong loop
 			{
-				tempState.backwards = true; // change direction to backwards
-				tempState.SPos = (tempState.SLen - 1) - loopOverflowVal;
-				assert(tempState.SPos >= tempState.SRepS && tempState.SPos < tempState.SLen);
+				s.direction = -1; // change direction to backwards
+				s.pos = (s.end - 1) - loopOverflowVal;
+				assert(s.pos >= s.loopStart && s.pos < s.end);
 			}
 		}
-		assert(tempState.SPos >= 0);
+		assert(s.pos >= 0);
 
-		*sc = tempState; // update scope state
+		*sc = s; // update scope state
 	}
 	scopesUpdatingFlag = false;
 }
@@ -490,7 +473,7 @@
 		}
 
 		const scope_t s = scope[i]; // cache scope to lower thread race condition issues
-		if (s.active && s.SVol > 0 && !audio.locked)
+		if (s.active && s.vol > 0 && !audio.locked)
 		{
 			// scope is active
 			scope[i].wasCleared = false;
@@ -550,7 +533,7 @@
 		status = scopeUpdateStatus[i];
 
 		if (status & IS_Vol)
-			sc->SVol = (int8_t)((((ch->finalVol >> 6) * SCOPE_HEIGHT)) >> 24); // rounded
+			sc->vol = (int32_t)((ch->fFinalVol * SCOPE_HEIGHT) + 0.5f); // rounded
 
 		if (status & IS_Period)
 		{
@@ -563,14 +546,14 @@
 				const double dHz = dPeriod2Hz(period);
 
 				const double dScopeRateFactor = SCOPE_FRAC_SCALE / (double)SCOPE_HZ;
-				oldSFrq = (int64_t)((dHz * dScopeRateFactor) + 0.5); // Hz -> rounded fixed-point delta
+				oldDelta = (int64_t)((dHz * dScopeRateFactor) + 0.5); // Hz -> rounded fixed-point delta
 
 				const double dRelativeHz = dHz * (1.0 / (8363.0 / 2.0));
-				oldDFrq = (int32_t)((dRelativeHz * SCOPE_DRAW_FRAC_SCALE) + 0.5); // Hz -> rounded fixed-point draw delta
+				oldDrawDelta = (int32_t)((dRelativeHz * SCOPE_DRAW_FRAC_SCALE) + 0.5); // Hz -> rounded fixed-point draw delta
 			}
 
-			sc->SFrq = oldSFrq;
-			sc->DFrq = oldDFrq;
+			sc->delta = oldDelta;
+			sc->drawDelta = oldDrawDelta;
 		}
 
 		if (status & IS_NyTon)
@@ -626,9 +609,9 @@
 		// update next tick time
 		timeNext64 += scopeTimeLen;
 		timeNext64Frac += scopeTimeLenFrac;
-		if (timeNext64Frac > 0xFFFFFFFF)
+		if (timeNext64Frac > UINT32_MAX)
 		{
-			timeNext64Frac &= 0xFFFFFFFF;
+			timeNext64Frac &= UINT32_MAX;
 			timeNext64++;
 		}
 	}
--- a/src/ft2_scopes.h
+++ b/src/ft2_scopes.h
@@ -27,14 +27,13 @@
 typedef struct scope_t
 {
 	volatile bool active;
-	const int8_t *sampleData8;
-	const int16_t *sampleData16;
-	int8_t SVol;
-	bool wasCleared, sampleIs16Bit, backwards;
+	const int8_t *base8;
+	const int16_t *base16;
+	bool wasCleared, sampleIs16Bit;
 	uint8_t loopType;
-	int32_t SRepS, SRepL, SLen, SPos;
-	uint32_t DFrq;
-	uint64_t SFrq, SPosDec;
+	int32_t vol, loopStart, loopLength, end, pos, direction;
+	uint32_t drawDelta;
+	uint64_t delta, posFrac;
 } scope_t;
 
 typedef struct lastChInstr_t
--- a/src/ft2_scrollbars.c
+++ b/src/ft2_scrollbars.c
@@ -693,9 +693,9 @@
 {
 	for (int32_t i = 0; i < NUM_SCROLLBARS; i++)
 	{
-		scrollBars[i].oldEnd = 0xFFFFFFFF;
-		scrollBars[i].oldPage = 0xFFFFFFFF;
-		scrollBars[i].oldPos = 0xFFFFFFFF;
+		scrollBars[i].oldEnd = UINT32_MAX;
+		scrollBars[i].oldPage = UINT32_MAX;
+		scrollBars[i].oldPos = UINT32_MAX;
 	}
 
 	// pattern editor
--- a/src/ft2_tables.c
+++ b/src/ft2_tables.c
@@ -693,138 +693,6 @@
 	'0', '1', '2'
 };
 
-const int16_t sinusTables[256 * 5] = // for 3D stars in About screen
-{
-	     0,    201,    402,    603,    804,   1005,   1206,   1407,   1608,   1809,
-	  2009,   2210,   2410,   2611,   2811,   3011,   3212,   3412,   3612,   3811,
-	  4011,   4210,   4410,   4609,   4808,   5007,   5205,   5404,   5602,   5800,
-	  5997,   6195,   6392,   6589,   6786,   6983,   7179,   7375,   7571,   7766,
-	  7961,   8156,   8351,   8545,   8739,   8933,   9126,   9319,   9511,   9704,
-	  9896,  10087,  10278,  10469,  10659,  10849,  11039,  11228,  11416,  11605,
-	 11792,  11980,  12167,  12353,  12539,  12725,  12910,  13094,  13278,  13462,
-	 13645,  13827,  14009,  14191,  14372,  14552,  14732,  14911,  15090,  15268,
-	 15446,  15623,  15799,  15975,  16150,  16325,  16499,  16672,  16845,  17017,
-	 17189,  17360,  17530,  17699,  17868,  18036,  18204,  18371,  18537,  18702,
-	 18867,  19031,  19194,  19357,  19519,  19680,  19840,  20000,  20159,  20317,
-	 20474,  20631,  20787,  20942,  21096,  21249,  21402,  21554,  21705,  21855,
-	 22004,  22153,  22301,  22447,  22593,  22739,  22883,  23026,  23169,  23311,
-	 23452,  23592,  23731,  23869,  24006,  24143,  24278,  24413,  24546,  24679,
-	 24811,  24942,  25071,  25200,  25328,  25456,  25582,  25707,  25831,  25954,
-	 26076,  26198,  26318,  26437,  26555,  26673,  26789,  26904,  27018,  27132,
-	 27244,  27355,  27465,  27574,  27682,  27790,  27896,  28000,  28104,  28207,
-	 28309,  28410,  28509,  28608,  28705,  28802,  28897,  28991,  29084,  29176,
-	 29267,  29357,  29446,  29534,  29620,  29706,  29790,  29873,  29955,  30036,
-	 30116,  30194,  30272,  30348,  30423,  30498,  30570,  30642,  30713,  30782,
-	 30851,  30918,  30984,  31049,  31112,  31175,  31236,  31296,  31355,  31413,
-	 31469,  31525,  31579,  31632,  31684,  31735,  31784,  31832,  31879,  31925,
-	 31970,  32013,  32056,  32097,  32136,  32175,  32212,  32249,  32284,  32317,
-	 32350,  32381,  32411,  32440,  32468,  32494,  32520,  32544,  32566,  32588,
-	 32608,  32627,  32645,  32662,  32677,  32691,  32704,  32716,  32727,  32736,
-	 32744,  32751,  32756,  32760,  32764,  32765,  32766,  32765,  32764,  32760,
-	 32756,  32751,  32744,  32736,  32727,  32716,  32704,  32691,  32677,  32662,
-	 32645,  32627,  32608,  32588,  32566,  32544,  32520,  32494,  32468,  32440,
-	 32411,  32381,  32350,  32317,  32284,  32249,  32212,  32175,  32136,  32097,
-	 32056,  32013,  31970,  31925,  31879,  31832,  31784,  31735,  31684,  31632,
-	 31579,  31525,  31469,  31413,  31355,  31296,  31236,  31175,  31112,  31049,
-	 30984,  30918,  30851,  30782,  30713,  30642,  30570,  30498,  30423,  30348,
-	 30272,  30194,  30116,  30036,  29955,  29873,  29790,  29706,  29620,  29534,
-	 29446,  29357,  29267,  29176,  29084,  28991,  28897,  28802,  28705,  28608,
-	 28509,  28410,  28309,  28207,  28104,  28000,  27896,  27790,  27682,  27574,
-	 27465,  27355,  27244,  27132,  27018,  26904,  26789,  26673,  26555,  26437,
-	 26318,  26198,  26076,  25954,  25831,  25707,  25582,  25456,  25328,  25200,
-	 25071,  24942,  24811,  24679,  24546,  24413,  24278,  24143,  24006,  23869,
-	 23731,  23592,  23452,  23311,  23169,  23026,  22883,  22739,  22593,  22447,
-	 22301,  22153,  22004,  21855,  21705,  21554,  21402,  21249,  21096,  20942,
-	 20787,  20631,  20474,  20317,  20159,  20000,  19840,  19680,  19519,  19357,
-	 19194,  19031,  18867,  18702,  18537,  18371,  18204,  18036,  17868,  17699,
-	 17530,  17360,  17189,  17017,  16845,  16672,  16499,  16325,  16150,  15975,
-	 15799,  15623,  15446,  15268,  15090,  14911,  14732,  14552,  14372,  14191,
-	 14009,  13827,  13645,  13462,  13278,  13094,  12910,  12725,  12539,  12353,
-	 12167,  11980,  11792,  11605,  11416,  11228,  11039,  10849,  10659,  10469,
-	 10278,  10087,   9896,   9704,   9511,   9319,   9126,   8933,   8739,   8545,
-	  8351,   8156,   7961,   7766,   7571,   7375,   7179,   6983,   6786,   6589,
-	  6392,   6195,   5997,   5800,   5602,   5404,   5205,   5007,   4808,   4609,
-	  4410,   4210,   4011,   3811,   3612,   3412,   3212,   3011,   2811,   2611,
-	  2410,   2210,   2009,   1809,   1608,   1407,   1206,   1005,    804,    603,
-	   402,    201,      0,   -201,   -402,   -603,   -804,  -1005,  -1206,  -1407,
-	 -1608,  -1809,  -2009,  -2210,  -2410,  -2611,  -2811,  -3011,  -3212,  -3412,
-	 -3612,  -3811,  -4011,  -4210,  -4410,  -4609,  -4808,  -5007,  -5205,  -5404,
-	 -5602,  -5800,  -5997,  -6195,  -6392,  -6589,  -6786,  -6983,  -7179,  -7375,
-	 -7571,  -7766,  -7961,  -8156,  -8351,  -8545,  -8739,  -8933,  -9126,  -9319,
-	 -9511,  -9704,  -9896, -10087, -10278, -10469, -10659, -10849, -11039, -11228,
-	-11416, -11605, -11792, -11980, -12167, -12353, -12539, -12725, -12910, -13094,
-	-13278, -13462, -13645, -13827, -14009, -14191, -14372, -14552, -14732, -14911,
-	-15090, -15268, -15446, -15623, -15799, -15975, -16150, -16325, -16499, -16672,
-	-16845, -17017, -17189, -17360, -17530, -17699, -17868, -18036, -18204, -18371,
-	-18537, -18702, -18867, -19031, -19194, -19357, -19519, -19680, -19840, -20000,
-	-20159, -20317, -20474, -20631, -20787, -20942, -21096, -21249, -21402, -21554,
-	-21705, -21855, -22004, -22153, -22301, -22447, -22593, -22739, -22883, -23026,
-	-23169, -23311, -23452, -23592, -23731, -23869, -24006, -24143, -24278, -24413,
-	-24546, -24679, -24811, -24942, -25071, -25200, -25328, -25456, -25582, -25707,
-	-25831, -25954, -26076, -26198, -26318, -26437, -26555, -26673, -26789, -26904,
-	-27018, -27132, -27244, -27355, -27465, -27574, -27682, -27790, -27896, -28000,
-	-28104, -28207, -28309, -28410, -28509, -28608, -28705, -28802, -28897, -28991,
-	-29084, -29176, -29267, -29357, -29446, -29534, -29620, -29706, -29790, -29873,
-	-29955, -30036, -30116, -30194, -30272, -30348, -30423, -30498, -30570, -30642,
-	-30713, -30782, -30851, -30918, -30984, -31049, -31112, -31175, -31236, -31296,
-	-31355, -31413, -31469, -31525, -31579, -31632, -31684, -31735, -31784, -31832,
-	-31879, -31925, -31970, -32013, -32056, -32097, -32136, -32175, -32212, -32249,
-	-32284, -32317, -32350, -32381, -32411, -32440, -32468, -32494, -32520, -32544,
-	-32566, -32588, -32608, -32627, -32645, -32662, -32677, -32691, -32704, -32716,
-	-32727, -32736, -32744, -32751, -32756, -32760, -32764, -32765, -32766, -32765,
-	-32764, -32760, -32756, -32751, -32744, -32736, -32727, -32716, -32704, -32691,
-	-32677, -32662, -32645, -32627, -32608, -32588, -32566, -32544, -32520, -32494,
-	-32468, -32440, -32411, -32381, -32350, -32317, -32284, -32249, -32212, -32175,
-	-32136, -32097, -32056, -32013, -31970, -31925, -31879, -31832, -31784, -31735,
-	-31684, -31632, -31579, -31525, -31469, -31413, -31355, -31296, -31236, -31175,
-	-31112, -31049, -30984, -30918, -30851, -30782, -30713, -30642, -30570, -30498,
-	-30423, -30348, -30272, -30194, -30116, -30036, -29955, -29873, -29790, -29706,
-	-29620, -29534, -29446, -29357, -29267, -29176, -29084, -28991, -28897, -28802,
-	-28705, -28608, -28509, -28410, -28309, -28207, -28104, -28000, -27896, -27790,
-	-27682, -27574, -27465, -27355, -27244, -27132, -27018, -26904, -26789, -26673,
-	-26555, -26437, -26318, -26198, -26076, -25954, -25831, -25707, -25582, -25456,
-	-25328, -25200, -25071, -24942, -24811, -24679, -24546, -24413, -24278, -24143,
-	-24006, -23869, -23731, -23592, -23452, -23311, -23169, -23026, -22883, -22739,
-	-22593, -22447, -22301, -22153, -22004, -21855, -21705, -21554, -21402, -21249,
-	-21096, -20942, -20787, -20631, -20474, -20317, -20159, -20000, -19840, -19680,
-	-19519, -19357, -19194, -19031, -18867, -18702, -18537, -18371, -18204, -18036,
-	-17868, -17699, -17530, -17360, -17189, -17017, -16845, -16672, -16499, -16325,
-	-16150, -15975, -15799, -15623, -15446, -15268, -15090, -14911, -14732, -14552,
-	-14372, -14191, -14009, -13827, -13645, -13462, -13278, -13094, -12910, -12725,
-	-12539, -12353, -12167, -11980, -11792, -11605, -11416, -11228, -11039, -10849,
-	-10659, -10469, -10278, -10087,  -9896,  -9704,  -9511,  -9319,  -9126,  -8933,
-	 -8739,  -8545,  -8351,  -8156,  -7961,  -7766,  -7571,  -7375,  -7179,  -6983,
-	 -6786,  -6589,  -6392,  -6195,  -5997,  -5800,  -5602,  -5404,  -5205,  -5007,
-	 -4808,  -4609,  -4410,  -4210,  -4011,  -3811,  -3612,  -3412,  -3212,  -3011,
-	 -2811,  -2611,  -2410,  -2210,  -2009,  -1809,  -1608,  -1407,  -1206,  -1005,
-	  -804,   -603,   -402,   -201,      0,    201,    402,    603,    804,   1005,
-	  1206,   1407,   1608,   1809,   2009,   2210,   2410,   2611,   2811,   3011,
-	  3212,   3412,   3612,   3811,   4011,   4210,   4410,   4609,   4808,   5007,
-	  5205,   5404,   5602,   5800,   5997,   6195,   6392,   6589,   6786,   6983,
-	  7179,   7375,   7571,   7766,   7961,   8156,   8351,   8545,   8739,   8933,
-	  9126,   9319,   9511,   9704,   9896,  10087,  10278,  10469,  10659,  10849,
-	 11039,  11228,  11416,  11605,  11792,  11980,  12167,  12353,  12539,  12725,
-	 12910,  13094,  13278,  13462,  13645,  13827,  14009,  14191,  14372,  14552,
-	 14732,  14911,  15090,  15268,  15446,  15623,  15799,  15975,  16150,  16325,
-	 16499,  16672,  16845,  17017,  17189,  17360,  17530,  17699,  17868,  18036,
-	 18204,  18371,  18537,  18702,  18867,  19031,  19194,  19357,  19519,  19680,
-	 19840,  20000,  20159,  20317,  20474,  20631,  20787,  20942,  21096,  21249,
-	 21402,  21554,  21705,  21855,  22004,  22153,  22301,  22447,  22593,  22739,
-	 22883,  23026,  23169,  23311,  23452,  23592,  23731,  23869,  24006,  24143,
-	 24278,  24413,  24546,  24679,  24811,  24942,  25071,  25200,  25328,  25456,
-	 25582,  25707,  25831,  25954,  26076,  26198,  26318,  26437,  26555,  26673,
-	 26789,  26904,  27018,  27132,  27244,  27355,  27465,  27574,  27682,  27790,
-	 27896,  28000,  28104,  28207,  28309,  28410,  28509,  28608,  28705,  28802,
-	 28897,  28991,  29084,  29176,  29267,  29357,  29446,  29534,  29620,  29706,
-	 29790,  29873,  29955,  30036,  30116,  30194,  30272,  30348,  30423,  30498,
-	 30570,  30642,  30713,  30782,  30851,  30918,  30984,  31049,  31112,  31175,
-	 31236,  31296,  31355,  31413,  31469,  31525,  31579,  31632,  31684,  31735,
-	 31784,  31832,  31879,  31925,  31970,  32013,  32056,  32097,  32136,  32175,
-	 32212,  32249,  32284,  32317,  32350,  32381,  32411,  32440,  32468,  32494,
-	 32520,  32544,  32566,  32588,  32608,  32627,  32645,  32662,  32677,  32691,
-	 32704,  32716,  32727,  32736,  32744,  32751,  32756,  32760,  32764,  32765
-};
-
 const SDL_Keycode key2VolTab[16] = 
 {
 	SDLK_0, SDLK_1, SDLK_2, SDLK_3, SDLK_4, SDLK_MINUS, SDLK_PLUS, SDLK_d,
--- a/src/ft2_tables.h
+++ b/src/ft2_tables.h
@@ -25,7 +25,6 @@
 extern pal16 palTable[12][16];
 extern const uint16_t chanWidths[6];
 extern const pattCoordsMouse_t pattCoordMouseTable[2][2][2];
-extern const int16_t sinusTables[256 * 5]; // for 3D stars in About screen
 extern const uint8_t noteTab1[96];
 extern const uint8_t noteTab2[96];
 extern const uint8_t hex2Dec[256];
--- a/src/ft2_video.c
+++ b/src/ft2_video.c
@@ -764,9 +764,9 @@
 	// update next frame time
 	timeNext64 += video.vblankTimeLen;
 	timeNext64Frac += video.vblankTimeLenFrac;
-	if (timeNext64Frac > 0xFFFFFFFF)
+	if (timeNext64Frac > UINT32_MAX)
 	{
-		timeNext64Frac &= 0xFFFFFFFF;
+		timeNext64Frac &= UINT32_MAX;
 		timeNext64++;
 	}
 }
--- a/src/ft2_wav_renderer.c
+++ b/src/ft2_wav_renderer.c
@@ -48,13 +48,8 @@
 
 	fillRect(209, 116, 41, 51, PAL_DESKTOP);
 
-#if defined __amd64__ || defined _WIN64
-	sprintf(str, "%06d", WDFrequency);
-	textOut(209, 116, PAL_FORGRND, str);
-#else
-	sprintf(str, "%05d", WDFrequency);
-	textOut(216, 116, PAL_FORGRND, str);
-#endif
+	sprintf(str, "%6d", WDFrequency);
+	textOutFixed(209, 116, PAL_FORGRND, PAL_DESKTOP, str);
 
 	sprintf(str, "%02d", WDAmp);
 	textOut(237, 130, PAL_FORGRND, str);
@@ -92,7 +87,7 @@
 	drawFramework(0,  109,  79, 64, FRAMEWORK_TYPE1);
 	drawFramework(79, 109, 212, 64, FRAMEWORK_TYPE1);
 
-	textOutShadow(4,   96, PAL_FORGRND, PAL_DSKTOP2, "Harddisk recording:");
+	textOutShadow(4,   96, PAL_FORGRND, PAL_DSKTOP2, "WAV exporting:");
 	textOutShadow(156, 96, PAL_FORGRND, PAL_DSKTOP2, "16-bit");
 	textOutShadow(221, 96, PAL_FORGRND, PAL_DSKTOP2, "32-bit float");
 
@@ -284,10 +279,10 @@
 	replayerBusy = true;
 
 	if (audio.volumeRampingFlag)
-		mix_SaveIPVolumes();
+		resetRampVolumes();
 
-	mainPlayer();
-	mix_UpdateChannelVolPanFrq();
+	tickReplayer();
+	updateVoices();
 
 	replayerBusy = false;
 
@@ -464,15 +459,9 @@
 {
 	if (WDFrequency < MAX_WAV_RENDER_FREQ)
 	{
-		
-#if defined __amd64__ || defined _WIN64
 		     if (WDFrequency == 44100) WDFrequency = 48000;
 		else if (WDFrequency == 48000) WDFrequency = 96000;
 		else if (WDFrequency == 96000) WDFrequency = 192000;
-#else
-		     if (WDFrequency == 44100) WDFrequency = 48000;
-		else if (WDFrequency == 48000) WDFrequency = 96000;
-#endif
 		updateWavRenderer();
 	}
 }
@@ -481,13 +470,9 @@
 {
 	if (WDFrequency > MIN_WAV_RENDER_FREQ)
 	{
-#if defined __amd64__ || defined _WIN64
 		     if (WDFrequency == 192000) WDFrequency = 96000;
 		else if (WDFrequency == 96000) WDFrequency = 48000;
 		else if (WDFrequency == 48000) WDFrequency = 44100;
-#else
-		if (WDFrequency == 48000) WDFrequency = 44100;
-#endif
 
 		updateWavRenderer();
 	}
--- a/src/ft2_wav_renderer.h
+++ b/src/ft2_wav_renderer.h
@@ -4,16 +4,7 @@
 #include "ft2_header.h"
 
 #define MIN_WAV_RENDER_FREQ 44100
-
-#if defined __amd64__ || defined _WIN64
-
 #define MAX_WAV_RENDER_FREQ 192000
-
-#else
-
-#define MAX_WAV_RENDER_FREQ 48000
-
-#endif
 
 #define MAX_WAV_RENDER_SAMPLES_PER_TICK (((MAX_WAV_RENDER_FREQ * 5) / 2) / MIN_BPM)
 
binary files a/src/gfxdata/bmp/mouseCursors.bmp b/src/gfxdata/bmp/mouseCursors.bmp differ
--- a/src/gfxdata/ft2_bmp_mouse.c
+++ b/src/gfxdata/ft2_bmp_mouse.c
@@ -1,9 +1,9 @@
 #include <stdint.h>
 
-const uint8_t mouseCursorsBMP[3592] =
+const uint8_t mouseCursorsBMP[3444] =
 {
-	0x42,0x4D,0x08,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,0x2B,0x01,
-	0x00,0x00,0x01,0x00,0x04,0x00,0x02,0x00,0x00,0x00,0xC2,0x0D,0x00,0x00,0x12,0x0B,0x00,0x00,0x12,0x0B,0x00,0x00,0x04,0x00,
+	0x42,0x4D,0x74,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x46,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,0x2B,0x01,
+	0x00,0x00,0x01,0x00,0x04,0x00,0x02,0x00,0x00,0x00,0x2E,0x0D,0x00,0x00,0x12,0x0B,0x00,0x00,0x12,0x0B,0x00,0x00,0x04,0x00,
 	0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0x00,0x00,0x1A,0x33,
 	0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,
 	0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x00,0x06,0x22,0x32,0x23,0x00,
@@ -11,147 +11,141 @@
 	0x16,0x33,0x00,0x00,0x02,0x33,0x02,0x23,0x16,0x33,0x00,0x00,0x02,0x33,0x02,0x23,0x16,0x33,0x00,0x00,0x02,0x33,0x02,0x23,
 	0x16,0x33,0x00,0x00,0x02,0x33,0x02,0x23,0x16,0x33,0x00,0x00,0x02,0x33,0x02,0x23,0x16,0x33,0x00,0x00,0x02,0x33,0x02,0x23,
 	0x16,0x33,0x00,0x00,0x02,0x33,0x02,0x23,0x16,0x33,0x00,0x00,0x00,0x06,0x22,0x32,0x23,0x00,0x14,0x33,0x00,0x00,0x1A,0x33,
-	0x00,0x00,0x0A,0x33,0x00,0x10,0x30,0x30,0x30,0x00,0x30,0x00,0x30,0x33,0x00,0x00,0x0A,0x33,0x00,0x10,0x02,0x02,0x02,0x22,
-	0x02,0x02,0x02,0x03,0x00,0x00,0x0A,0x33,0x00,0x10,0x02,0x02,0x02,0x00,0x02,0x02,0x00,0x33,0x00,0x00,0x08,0x33,0x00,0x12,
-	0x00,0x02,0x20,0x02,0x20,0x02,0x02,0x03,0x33,0x00,0x00,0x00,0x00,0x1A,0x33,0x33,0x33,0x30,0x20,0x02,0x02,0x02,0x00,0x02,
-	0x02,0x03,0x33,0x00,0x00,0x00,0x00,0x1A,0x33,0x33,0x33,0x02,0x20,0x02,0x20,0x02,0x22,0x02,0x20,0x33,0x33,0x00,0x00,0x00,
-	0x00,0x1A,0x33,0x33,0x30,0x22,0x20,0x30,0x03,0x30,0x00,0x30,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0A,0x33,0x33,0x02,0x22,
-	0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x33,0x30,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x33,0x02,0x22,0x22,
-	0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x30,0x22,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x02,0x22,0x22,0x22,
-	0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x02,0x22,0x22,0x22,0x20,0x00,0x08,0x00,0x00,0x08,0x03,0x33,0x33,0x33,0x00,0x00,
-	0x02,0x02,0x10,0x22,0x00,0x08,0x03,0x33,0x33,0x33,0x00,0x00,0x02,0x02,0x0E,0x22,0x00,0x0A,0x20,0x33,0x33,0x33,0x33,0x00,
-	0x00,0x00,0x02,0x02,0x0E,0x22,0x00,0x0A,0x03,0x33,0x33,0x33,0x33,0x00,0x00,0x00,0x02,0x02,0x0C,0x22,0x02,0x20,0x0A,0x33,
-	0x00,0x00,0x02,0x02,0x0C,0x22,0x02,0x03,0x0A,0x33,0x00,0x00,0x02,0x02,0x0A,0x22,0x02,0x20,0x0C,0x33,0x00,0x00,0x02,0x02,
-	0x0A,0x22,0x02,0x03,0x0C,0x33,0x00,0x00,0x02,0x02,0x08,0x22,0x02,0x20,0x0E,0x33,0x00,0x00,0x00,0x02,0x0C,0x00,0x0E,0x33,
-	0x00,0x00,0x1A,0x33,0x00,0x00,0x0A,0x33,0x0A,0x00,0x06,0x33,0x00,0x00,0x08,0x33,0x02,0x30,0x0A,0x22,0x00,0x06,0x03,0x33,
-	0x33,0x00,0x00,0x00,0x08,0x33,0x02,0x30,0x08,0x00,0x00,0x08,0x02,0x03,0x33,0x33,0x00,0x00,0x08,0x33,0x02,0x02,0x08,0x22,
-	0x00,0x08,0x02,0x03,0x33,0x33,0x00,0x00,0x08,0x33,0x08,0x00,0x00,0x0A,0x02,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x08,
-	0x33,0x33,0x33,0x30,0x08,0x22,0x00,0x0A,0x02,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x1A,0x33,0x33,0x33,0x30,0x00,0x00,
-	0x00,0x02,0x02,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x1A,0x33,0x33,0x33,0x02,0x22,0x22,0x22,0x02,0x02,0x02,0x03,0x33,
-	0x33,0x00,0x00,0x00,0x00,0x0C,0x33,0x33,0x33,0x00,0x00,0x00,0x08,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0C,
-	0x33,0x33,0x30,0x22,0x22,0x22,0x08,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0A,0x33,0x33,0x30,0x00,0x00,0x00,
-	0x0A,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0A,0x33,0x33,0x02,0x22,0x22,0x00,0x0A,0x02,0x00,0x06,0x03,0x33,
-	0x33,0x00,0x00,0x00,0x00,0x08,0x33,0x33,0x00,0x00,0x0A,0x02,0x00,0x08,0x00,0x33,0x33,0x33,0x00,0x00,0x00,0x08,0x33,0x30,
-	0x22,0x22,0x08,0x02,0x00,0x0A,0x00,0x33,0x33,0x33,0x33,0x00,0x00,0x00,0x00,0x06,0x33,0x30,0x00,0x00,0x08,0x02,0x02,0x00,
-	0x0A,0x33,0x00,0x00,0x00,0x1A,0x33,0x02,0x22,0x02,0x02,0x02,0x00,0x03,0x00,0x03,0x00,0x03,0x03,0x00,0x00,0x00,0x00,0x1A,
-	0x33,0x00,0x02,0x02,0x02,0x00,0x20,0x20,0x22,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x1A,0x30,0x22,0x02,0x02,0x00,0x30,
-	0x20,0x20,0x20,0x00,0x20,0x20,0x03,0x00,0x00,0x00,0x00,0x1A,0x30,0x02,0x02,0x00,0x33,0x30,0x22,0x00,0x22,0x00,0x20,0x20,
-	0x33,0x00,0x00,0x00,0x00,0x1A,0x02,0x02,0x00,0x33,0x33,0x30,0x20,0x20,0x20,0x00,0x20,0x20,0x33,0x00,0x00,0x00,0x00,0x1A,
-	0x02,0x00,0x33,0x33,0x33,0x30,0x22,0x00,0x22,0x20,0x22,0x03,0x33,0x00,0x00,0x00,0x02,0x00,0x0A,0x33,0x00,0x0E,0x00,0x33,
-	0x00,0x03,0x00,0x33,0x33,0x00,0x00,0x00,0x00,0x02,0x04,0x00,0x00,0x16,0x33,0x33,0x33,0x30,0x30,0x30,0x00,0x30,0x00,0x30,
-	0x33,0x00,0x00,0x00,0x00,0x1A,0x02,0x22,0x00,0x03,0x33,0x02,0x02,0x02,0x22,0x02,0x02,0x02,0x03,0x00,0x00,0x00,0x00,0x1A,
-	0x02,0x22,0x22,0x20,0x00,0x02,0x02,0x02,0x00,0x02,0x02,0x00,0x33,0x00,0x00,0x00,0x02,0x02,0x08,0x22,0x00,0x10,0x02,0x20,
-	0x02,0x20,0x02,0x02,0x03,0x33,0x00,0x00,0x02,0x02,0x08,0x22,0x00,0x10,0x02,0x02,0x02,0x00,0x02,0x02,0x03,0x33,0x00,0x00,
-	0x00,0x1A,0x02,0x22,0x22,0x22,0x20,0x02,0x20,0x02,0x22,0x02,0x20,0x33,0x33,0x00,0x00,0x00,0x00,0x1A,0x02,0x22,0x22,0x22,
-	0x20,0x30,0x03,0x30,0x00,0x30,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0A,0x02,0x22,0x22,0x22,0x03,0x00,0x10,0x33,0x00,0x00,
-	0x00,0x0A,0x02,0x22,0x22,0x22,0x03,0x00,0x10,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x20,0x12,0x33,0x00,0x00,0x00,0x08,
-	0x02,0x22,0x22,0x20,0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x03,0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x03,
-	0x12,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x20,0x00,0x14,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x20,0x00,0x14,0x33,0x00,0x00,
-	0x00,0x06,0x02,0x22,0x03,0x00,0x14,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x03,0x00,0x14,0x33,0x00,0x00,0x02,0x02,0x02,0x20,
-	0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x20,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x03,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x03,
-	0x16,0x33,0x00,0x00,0x02,0x00,0x18,0x33,0x00,0x00,0x02,0x03,0x18,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,
-	0x1A,0x33,0x00,0x00,0x00,0x0A,0x33,0x33,0x33,0x30,0x03,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x33,0x33,0x33,0x02,0x20,0x00,
-	0x10,0x33,0x00,0x00,0x00,0x1A,0x33,0x33,0x33,0x02,0x20,0x30,0x30,0x30,0x00,0x30,0x00,0x30,0x33,0x00,0x00,0x00,0x00,0x1A,
-	0x03,0x33,0x30,0x22,0x20,0x02,0x02,0x02,0x22,0x02,0x02,0x02,0x03,0x00,0x00,0x00,0x00,0x1A,0x00,0x33,0x30,0x22,0x03,0x02,
-	0x02,0x02,0x00,0x02,0x02,0x00,0x33,0x00,0x00,0x00,0x00,0x1A,0x02,0x03,0x02,0x22,0x03,0x02,0x20,0x02,0x20,0x02,0x02,0x03,
-	0x33,0x00,0x00,0x00,0x00,0x1A,0x02,0x20,0x02,0x20,0x33,0x02,0x02,0x02,0x00,0x02,0x02,0x03,0x33,0x00,0x00,0x00,0x00,0x1A,
-	0x02,0x22,0x22,0x20,0x33,0x02,0x20,0x02,0x22,0x02,0x20,0x33,0x33,0x00,0x00,0x00,0x00,0x1A,0x02,0x22,0x22,0x22,0x00,0x00,
-	0x03,0x30,0x00,0x30,0x03,0x33,0x33,0x00,0x00,0x00,0x02,0x02,0x08,0x22,0x02,0x03,0x0E,0x33,0x00,0x00,0x00,0x0A,0x02,0x22,
-	0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x02,0x22,0x22,0x22,0x03,0x00,0x10,0x33,0x00,0x00,0x00,0x08,0x02,0x22,
-	0x22,0x20,0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x03,0x12,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x20,0x00,0x14,0x33,
-	0x00,0x00,0x00,0x06,0x02,0x22,0x03,0x00,0x14,0x33,0x00,0x00,0x02,0x02,0x02,0x20,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x03,
-	0x16,0x33,0x00,0x00,0x02,0x00,0x18,0x33,0x00,0x00,0x02,0x03,0x18,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x0A,0x33,0x00,0x10,
-	0x30,0x03,0x30,0x00,0x30,0x00,0x30,0x33,0x00,0x00,0x0A,0x33,0x00,0x10,0x02,0x20,0x02,0x22,0x02,0x22,0x02,0x03,0x00,0x00,
-	0x0A,0x33,0x00,0x10,0x02,0x02,0x02,0x00,0x02,0x00,0x30,0x33,0x00,0x00,0x08,0x33,0x00,0x12,0x00,0x02,0x02,0x02,0x20,0x02,
-	0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x1A,0x33,0x33,0x33,0x30,0x20,0x02,0x02,0x02,0x00,0x02,0x03,0x33,0x33,0x00,0x00,0x00,
-	0x00,0x1A,0x33,0x33,0x33,0x02,0x20,0x02,0x20,0x02,0x22,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x1A,0x33,0x33,0x30,0x22,
-	0x20,0x30,0x03,0x30,0x00,0x30,0x33,0x33,0x33,0x00,0x00,0x00,0x00,0x0A,0x33,0x33,0x02,0x22,0x20,0x00,0x10,0x33,0x00,0x00,
-	0x00,0x0A,0x33,0x30,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x33,0x02,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,
-	0x00,0x0A,0x30,0x22,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x02,0x22,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,
-	0x00,0x0A,0x02,0x22,0x22,0x22,0x20,0x00,0x08,0x00,0x00,0x08,0x03,0x33,0x33,0x33,0x00,0x00,0x02,0x02,0x10,0x22,0x00,0x08,
-	0x03,0x33,0x33,0x33,0x00,0x00,0x02,0x02,0x0E,0x22,0x00,0x0A,0x20,0x33,0x33,0x33,0x33,0x00,0x00,0x00,0x02,0x02,0x0E,0x22,
-	0x00,0x0A,0x03,0x33,0x33,0x33,0x33,0x00,0x00,0x00,0x02,0x02,0x0C,0x22,0x02,0x20,0x0A,0x33,0x00,0x00,0x02,0x02,0x0C,0x22,
-	0x02,0x03,0x0A,0x33,0x00,0x00,0x02,0x02,0x0A,0x22,0x02,0x20,0x0C,0x33,0x00,0x00,0x02,0x02,0x0A,0x22,0x02,0x03,0x0C,0x33,
-	0x00,0x00,0x02,0x02,0x08,0x22,0x02,0x20,0x0E,0x33,0x00,0x00,0x00,0x02,0x0C,0x00,0x0E,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,
-	0x0A,0x33,0x0A,0x00,0x06,0x33,0x00,0x00,0x08,0x33,0x02,0x30,0x0A,0x22,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x08,0x33,
-	0x02,0x30,0x08,0x00,0x00,0x08,0x02,0x03,0x33,0x33,0x00,0x00,0x08,0x33,0x02,0x02,0x08,0x22,0x00,0x08,0x02,0x03,0x33,0x33,
-	0x00,0x00,0x08,0x33,0x08,0x00,0x00,0x0A,0x02,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x08,0x33,0x33,0x33,0x30,0x08,0x22,
-	0x00,0x0A,0x02,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x1A,0x33,0x33,0x33,0x30,0x00,0x00,0x00,0x02,0x02,0x02,0x03,0x33,
-	0x33,0x00,0x00,0x00,0x00,0x1A,0x33,0x33,0x33,0x02,0x22,0x22,0x22,0x02,0x02,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0C,
-	0x33,0x33,0x33,0x00,0x00,0x00,0x08,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0C,0x33,0x33,0x30,0x22,0x22,0x22,
-	0x08,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0A,0x33,0x33,0x30,0x00,0x00,0x00,0x0A,0x02,0x00,0x06,0x03,0x33,
-	0x33,0x00,0x00,0x00,0x00,0x0A,0x33,0x33,0x02,0x22,0x22,0x00,0x0A,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x08,
-	0x33,0x33,0x00,0x00,0x0A,0x02,0x00,0x08,0x00,0x33,0x33,0x33,0x00,0x00,0x00,0x08,0x33,0x30,0x22,0x22,0x08,0x02,0x00,0x0A,
-	0x00,0x33,0x33,0x33,0x33,0x00,0x00,0x00,0x00,0x06,0x33,0x30,0x00,0x00,0x08,0x02,0x02,0x00,0x0A,0x33,0x00,0x00,0x00,0x1A,
-	0x33,0x02,0x22,0x02,0x02,0x02,0x00,0x33,0x00,0x03,0x00,0x03,0x03,0x00,0x00,0x00,0x00,0x1A,0x33,0x00,0x02,0x02,0x02,0x00,
-	0x22,0x00,0x22,0x20,0x22,0x20,0x20,0x00,0x00,0x00,0x00,0x1A,0x30,0x22,0x02,0x02,0x00,0x30,0x20,0x20,0x20,0x00,0x20,0x03,
-	0x03,0x00,0x00,0x00,0x00,0x1A,0x30,0x02,0x02,0x00,0x33,0x30,0x20,0x20,0x22,0x00,0x20,0x33,0x33,0x00,0x00,0x00,0x00,0x1A,
-	0x02,0x02,0x00,0x33,0x33,0x30,0x20,0x20,0x20,0x00,0x20,0x33,0x33,0x00,0x00,0x00,0x00,0x1A,0x02,0x00,0x33,0x33,0x33,0x30,
-	0x22,0x00,0x22,0x20,0x20,0x33,0x33,0x00,0x00,0x00,0x02,0x00,0x0A,0x33,0x00,0x0E,0x00,0x33,0x00,0x03,0x03,0x33,0x33,0x00,
-	0x00,0x00,0x00,0x02,0x04,0x00,0x00,0x16,0x33,0x33,0x33,0x30,0x03,0x30,0x00,0x30,0x00,0x30,0x33,0x00,0x00,0x00,0x00,0x1A,
-	0x02,0x22,0x00,0x03,0x33,0x02,0x20,0x02,0x22,0x02,0x22,0x02,0x03,0x00,0x00,0x00,0x00,0x1A,0x02,0x22,0x22,0x20,0x00,0x02,
-	0x02,0x02,0x00,0x02,0x00,0x30,0x33,0x00,0x00,0x00,0x02,0x02,0x08,0x22,0x00,0x10,0x02,0x02,0x02,0x20,0x02,0x03,0x33,0x33,
-	0x00,0x00,0x02,0x02,0x08,0x22,0x00,0x10,0x02,0x02,0x02,0x00,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x1A,0x02,0x22,0x22,0x22,
-	0x20,0x02,0x20,0x02,0x22,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x1A,0x02,0x22,0x22,0x22,0x20,0x30,0x03,0x30,0x00,0x30,
-	0x33,0x33,0x33,0x00,0x00,0x00,0x00,0x0A,0x02,0x22,0x22,0x22,0x03,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x02,0x22,0x22,0x22,
-	0x03,0x00,0x10,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x20,0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x20,0x12,0x33,
-	0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x03,0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x03,0x12,0x33,0x00,0x00,0x00,0x06,
-	0x02,0x22,0x20,0x00,0x14,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x20,0x00,0x14,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x03,0x00,
-	0x14,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x03,0x00,0x14,0x33,0x00,0x00,0x02,0x02,0x02,0x20,0x16,0x33,0x00,0x00,0x02,0x02,
-	0x02,0x20,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x03,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x03,0x16,0x33,0x00,0x00,0x02,0x00,
-	0x18,0x33,0x00,0x00,0x02,0x03,0x18,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x00,0x0A,
-	0x33,0x33,0x33,0x30,0x03,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x33,0x33,0x33,0x02,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x1A,
-	0x33,0x33,0x33,0x02,0x20,0x30,0x03,0x30,0x00,0x00,0x00,0x30,0x33,0x00,0x00,0x00,0x00,0x1A,0x03,0x33,0x30,0x22,0x20,0x02,
-	0x20,0x02,0x22,0x02,0x22,0x02,0x03,0x00,0x00,0x00,0x00,0x1A,0x00,0x33,0x30,0x22,0x03,0x02,0x02,0x02,0x00,0x02,0x00,0x30,
-	0x33,0x00,0x00,0x00,0x00,0x1A,0x02,0x03,0x02,0x22,0x03,0x02,0x02,0x02,0x20,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x1A,
-	0x02,0x20,0x02,0x20,0x33,0x02,0x02,0x02,0x00,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x1A,0x02,0x22,0x22,0x20,0x33,0x02,
-	0x20,0x02,0x22,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x1A,0x02,0x22,0x22,0x22,0x00,0x00,0x03,0x30,0x00,0x30,0x33,0x33,
-	0x33,0x00,0x00,0x00,0x02,0x02,0x08,0x22,0x02,0x03,0x0E,0x33,0x00,0x00,0x00,0x0A,0x02,0x22,0x22,0x22,0x20,0x00,0x10,0x33,
-	0x00,0x00,0x00,0x0A,0x02,0x22,0x22,0x22,0x03,0x00,0x10,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x20,0x12,0x33,0x00,0x00,
+	0x00,0x00,0x0A,0x33,0x06,0x30,0x00,0x0A,0x00,0x30,0x00,0x30,0x33,0x00,0x00,0x00,0x0A,0x33,0x06,0x02,0x02,0x22,0x06,0x02,
+	0x02,0x03,0x00,0x00,0x0A,0x33,0x06,0x02,0x00,0x0A,0x00,0x02,0x02,0x00,0x33,0x00,0x00,0x00,0x08,0x33,0x00,0x12,0x00,0x02,
+	0x20,0x02,0x20,0x02,0x02,0x03,0x33,0x00,0x00,0x00,0x06,0x33,0x02,0x30,0x02,0x20,0x06,0x02,0x00,0x0A,0x00,0x02,0x02,0x03,
+	0x33,0x00,0x00,0x00,0x06,0x33,0x00,0x14,0x02,0x20,0x02,0x20,0x02,0x22,0x02,0x20,0x33,0x33,0x00,0x00,0x00,0x1A,0x33,0x33,
+	0x30,0x22,0x20,0x30,0x03,0x30,0x00,0x30,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0A,0x33,0x33,0x02,0x22,0x20,0x00,0x10,0x33,
+	0x00,0x00,0x00,0x0A,0x33,0x30,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x33,0x02,0x22,0x22,0x20,0x00,0x10,0x33,
+	0x00,0x00,0x02,0x30,0x06,0x22,0x02,0x20,0x10,0x33,0x00,0x00,0x02,0x02,0x06,0x22,0x02,0x20,0x10,0x33,0x00,0x00,0x02,0x02,
+	0x06,0x22,0x02,0x20,0x08,0x00,0x02,0x03,0x06,0x33,0x00,0x00,0x02,0x02,0x10,0x22,0x02,0x03,0x06,0x33,0x00,0x00,0x02,0x02,
+	0x0E,0x22,0x02,0x20,0x08,0x33,0x00,0x00,0x02,0x02,0x0E,0x22,0x02,0x03,0x08,0x33,0x00,0x00,0x02,0x02,0x0C,0x22,0x02,0x20,
+	0x0A,0x33,0x00,0x00,0x02,0x02,0x0C,0x22,0x02,0x03,0x0A,0x33,0x00,0x00,0x02,0x02,0x0A,0x22,0x02,0x20,0x0C,0x33,0x00,0x00,
+	0x02,0x02,0x0A,0x22,0x02,0x03,0x0C,0x33,0x00,0x00,0x02,0x02,0x08,0x22,0x02,0x20,0x0E,0x33,0x00,0x00,0x0A,0x00,0x02,0x03,
+	0x0E,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x0A,0x33,0x0A,0x00,0x06,0x33,0x00,0x00,0x08,0x33,0x02,0x30,0x0A,0x22,0x00,0x06,
+	0x03,0x33,0x33,0x00,0x00,0x00,0x08,0x33,0x02,0x30,0x08,0x00,0x00,0x08,0x02,0x03,0x33,0x33,0x00,0x00,0x08,0x33,0x02,0x02,
+	0x08,0x22,0x00,0x08,0x02,0x03,0x33,0x33,0x00,0x00,0x08,0x33,0x08,0x00,0x00,0x0A,0x02,0x02,0x03,0x33,0x33,0x00,0x00,0x00,
+	0x06,0x33,0x02,0x30,0x08,0x22,0x00,0x0A,0x02,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x06,0x33,0x02,0x30,0x06,0x00,0x06,0x02,
+	0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x06,0x33,0x02,0x02,0x06,0x22,0x06,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,
+	0x06,0x33,0x06,0x00,0x08,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x06,0x33,0x33,0x30,0x00,0x06,0x22,0x08,0x02,
+	0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0A,0x33,0x33,0x30,0x00,0x00,0x00,0x0A,0x02,0x00,0x06,0x03,0x33,0x33,0x00,
+	0x00,0x00,0x00,0x0A,0x33,0x33,0x02,0x22,0x22,0x00,0x0A,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x08,0x33,0x33,
+	0x00,0x00,0x0A,0x02,0x02,0x00,0x06,0x33,0x00,0x00,0x00,0x08,0x33,0x30,0x22,0x22,0x08,0x02,0x02,0x00,0x08,0x33,0x00,0x00,
+	0x00,0x06,0x33,0x30,0x00,0x00,0x08,0x02,0x02,0x00,0x0A,0x33,0x00,0x00,0x00,0x06,0x33,0x02,0x22,0x00,0x06,0x02,0x00,0x0E,
+	0x00,0x03,0x00,0x03,0x00,0x03,0x03,0x00,0x00,0x00,0x02,0x33,0x02,0x00,0x06,0x02,0x00,0x08,0x00,0x20,0x20,0x22,0x08,0x20,
+	0x00,0x00,0x00,0x0C,0x30,0x22,0x02,0x02,0x00,0x30,0x06,0x20,0x00,0x08,0x00,0x20,0x20,0x03,0x00,0x00,0x00,0x1A,0x30,0x02,
+	0x02,0x00,0x33,0x30,0x22,0x00,0x22,0x00,0x20,0x20,0x33,0x00,0x00,0x00,0x00,0x0C,0x02,0x02,0x00,0x33,0x33,0x30,0x06,0x20,
+	0x00,0x08,0x00,0x20,0x20,0x33,0x00,0x00,0x02,0x02,0x02,0x00,0x06,0x33,0x00,0x10,0x30,0x22,0x00,0x22,0x20,0x22,0x03,0x33,
+	0x00,0x00,0x02,0x00,0x0A,0x33,0x00,0x0E,0x00,0x33,0x00,0x03,0x00,0x33,0x33,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x06,0x33,
+	0x06,0x30,0x00,0x0A,0x00,0x30,0x00,0x30,0x33,0x00,0x00,0x00,0x00,0x0A,0x02,0x22,0x00,0x03,0x33,0x00,0x06,0x02,0x02,0x22,
+	0x06,0x02,0x02,0x03,0x00,0x00,0x00,0x0A,0x02,0x22,0x22,0x20,0x00,0x00,0x06,0x02,0x00,0x0A,0x00,0x02,0x02,0x00,0x33,0x00,
+	0x00,0x00,0x02,0x02,0x08,0x22,0x00,0x10,0x02,0x20,0x02,0x20,0x02,0x02,0x03,0x33,0x00,0x00,0x02,0x02,0x08,0x22,0x06,0x02,
+	0x00,0x0A,0x00,0x02,0x02,0x03,0x33,0x00,0x00,0x00,0x02,0x02,0x06,0x22,0x00,0x12,0x20,0x02,0x20,0x02,0x22,0x02,0x20,0x33,
+	0x33,0x00,0x00,0x00,0x02,0x02,0x06,0x22,0x00,0x12,0x20,0x30,0x03,0x30,0x00,0x30,0x03,0x33,0x33,0x00,0x00,0x00,0x02,0x02,
+	0x06,0x22,0x02,0x03,0x10,0x33,0x00,0x00,0x02,0x02,0x06,0x22,0x02,0x03,0x10,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x20,
+	0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x20,0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x03,0x12,0x33,0x00,0x00,
 	0x00,0x08,0x02,0x22,0x22,0x03,0x12,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x20,0x00,0x14,0x33,0x00,0x00,0x00,0x06,0x02,0x22,
-	0x03,0x00,0x14,0x33,0x00,0x00,0x02,0x02,0x02,0x20,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x03,0x16,0x33,0x00,0x00,0x02,0x00,
-	0x18,0x33,0x00,0x00,0x02,0x03,0x18,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,
-	0x00,0x00,0x08,0x33,0x02,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x33,0x33,0x33,0x30,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,
-	0x33,0x33,0x33,0x02,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x33,0x33,0x30,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,
-	0x33,0x33,0x02,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x33,0x30,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,
-	0x33,0x02,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x30,0x22,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,
-	0x02,0x22,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x02,0x22,0x22,0x22,0x20,0x00,0x08,0x00,0x00,0x08,0x03,0x33,
-	0x33,0x33,0x00,0x00,0x02,0x02,0x10,0x22,0x00,0x08,0x03,0x33,0x33,0x33,0x00,0x00,0x02,0x02,0x0E,0x22,0x00,0x0A,0x20,0x33,
-	0x33,0x33,0x33,0x00,0x00,0x00,0x02,0x02,0x0E,0x22,0x00,0x0A,0x03,0x33,0x33,0x33,0x33,0x00,0x00,0x00,0x02,0x02,0x0C,0x22,
-	0x02,0x20,0x0A,0x33,0x00,0x00,0x02,0x02,0x0C,0x22,0x02,0x03,0x0A,0x33,0x00,0x00,0x02,0x02,0x0A,0x22,0x02,0x20,0x0C,0x33,
-	0x00,0x00,0x02,0x02,0x0A,0x22,0x02,0x03,0x0C,0x33,0x00,0x00,0x02,0x02,0x08,0x22,0x02,0x20,0x0E,0x33,0x00,0x00,0x00,0x02,
-	0x0C,0x00,0x0E,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x0A,0x33,0x0A,0x00,0x06,0x33,0x00,0x00,0x08,0x33,0x02,0x30,0x0A,0x22,
-	0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x08,0x33,0x02,0x30,0x08,0x00,0x00,0x08,0x02,0x03,0x33,0x33,0x00,0x00,0x08,0x33,
-	0x02,0x02,0x08,0x22,0x00,0x08,0x02,0x03,0x33,0x33,0x00,0x00,0x08,0x33,0x08,0x00,0x00,0x0A,0x02,0x02,0x03,0x33,0x33,0x00,
-	0x00,0x00,0x00,0x08,0x33,0x33,0x33,0x30,0x08,0x22,0x00,0x0A,0x02,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x1A,0x33,0x33,
-	0x33,0x30,0x00,0x00,0x00,0x02,0x02,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x1A,0x33,0x33,0x33,0x02,0x22,0x22,0x22,0x02,
-	0x02,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0C,0x33,0x33,0x33,0x00,0x00,0x00,0x08,0x02,0x00,0x06,0x03,0x33,0x33,0x00,
-	0x00,0x00,0x00,0x0C,0x33,0x33,0x30,0x22,0x22,0x22,0x08,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0A,0x33,0x33,
-	0x30,0x00,0x00,0x00,0x0A,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0A,0x33,0x33,0x02,0x22,0x22,0x00,0x0A,0x02,
-	0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x08,0x33,0x33,0x00,0x00,0x0A,0x02,0x00,0x08,0x00,0x33,0x33,0x33,0x00,0x00,
-	0x00,0x08,0x33,0x30,0x22,0x22,0x08,0x02,0x00,0x0A,0x00,0x33,0x33,0x33,0x33,0x00,0x00,0x00,0x00,0x06,0x33,0x30,0x00,0x00,
-	0x08,0x02,0x02,0x00,0x0A,0x33,0x00,0x00,0x00,0x0E,0x33,0x02,0x22,0x02,0x02,0x02,0x00,0x00,0x0C,0x33,0x00,0x00,0x00,0x0C,
-	0x33,0x00,0x02,0x02,0x02,0x00,0x0E,0x33,0x00,0x00,0x00,0x0A,0x30,0x22,0x02,0x02,0x00,0x00,0x10,0x33,0x00,0x00,0x00,0x08,
-	0x30,0x02,0x02,0x00,0x12,0x33,0x00,0x00,0x00,0x06,0x02,0x02,0x00,0x00,0x14,0x33,0x00,0x00,0x02,0x02,0x02,0x00,0x16,0x33,
-	0x00,0x00,0x02,0x00,0x18,0x33,0x00,0x00,0x00,0x02,0x04,0x00,0x16,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x00,0x03,0x12,0x33,
-	0x00,0x00,0x00,0x0C,0x02,0x22,0x22,0x20,0x00,0x03,0x0E,0x33,0x00,0x00,0x02,0x02,0x08,0x22,0x02,0x03,0x0E,0x33,0x00,0x00,
-	0x02,0x02,0x08,0x22,0x02,0x03,0x0E,0x33,0x00,0x00,0x00,0x0A,0x02,0x22,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,
-	0x02,0x22,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x02,0x22,0x22,0x22,0x03,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,
-	0x02,0x22,0x22,0x22,0x03,0x00,0x10,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x20,0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,
-	0x22,0x20,0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x03,0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x03,0x12,0x33,
-	0x00,0x00,0x00,0x06,0x02,0x22,0x20,0x00,0x14,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x20,0x00,0x14,0x33,0x00,0x00,0x00,0x06,
-	0x02,0x22,0x03,0x00,0x14,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x03,0x00,0x14,0x33,0x00,0x00,0x02,0x02,0x02,0x20,0x16,0x33,
-	0x00,0x00,0x02,0x02,0x02,0x20,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x03,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x03,0x16,0x33,
+	0x20,0x00,0x14,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x03,0x00,0x14,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x03,0x00,0x14,0x33,
+	0x00,0x00,0x02,0x02,0x02,0x20,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x20,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x03,0x16,0x33,
+	0x00,0x00,0x02,0x02,0x02,0x03,0x16,0x33,0x00,0x00,0x02,0x00,0x18,0x33,0x00,0x00,0x02,0x03,0x18,0x33,0x00,0x00,0x1A,0x33,
+	0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x06,0x33,0x02,0x30,0x02,0x03,0x10,0x33,0x00,0x00,0x06,0x33,0x02,0x02,
+	0x02,0x20,0x10,0x33,0x00,0x00,0x06,0x33,0x02,0x02,0x02,0x20,0x06,0x30,0x00,0x0A,0x00,0x30,0x00,0x30,0x33,0x00,0x00,0x00,
+	0x00,0x0A,0x03,0x33,0x30,0x22,0x20,0x00,0x06,0x02,0x02,0x22,0x06,0x02,0x02,0x03,0x00,0x00,0x00,0x0A,0x00,0x33,0x30,0x22,
+	0x03,0x00,0x06,0x02,0x00,0x0A,0x00,0x02,0x02,0x00,0x33,0x00,0x00,0x00,0x00,0x1A,0x02,0x03,0x02,0x22,0x03,0x02,0x20,0x02,
+	0x20,0x02,0x02,0x03,0x33,0x00,0x00,0x00,0x00,0x0A,0x02,0x20,0x02,0x20,0x33,0x00,0x06,0x02,0x00,0x0A,0x00,0x02,0x02,0x03,
+	0x33,0x00,0x00,0x00,0x00,0x1A,0x02,0x22,0x22,0x20,0x33,0x02,0x20,0x02,0x22,0x02,0x20,0x33,0x33,0x00,0x00,0x00,0x02,0x02,
+	0x06,0x22,0x00,0x12,0x00,0x00,0x03,0x30,0x00,0x30,0x03,0x33,0x33,0x00,0x00,0x00,0x02,0x02,0x08,0x22,0x02,0x03,0x0E,0x33,
+	0x00,0x00,0x02,0x02,0x06,0x22,0x02,0x20,0x10,0x33,0x00,0x00,0x02,0x02,0x06,0x22,0x02,0x03,0x10,0x33,0x00,0x00,0x00,0x08,
+	0x02,0x22,0x22,0x20,0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x03,0x12,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x20,0x00,
+	0x14,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x03,0x00,0x14,0x33,0x00,0x00,0x02,0x02,0x02,0x20,0x16,0x33,0x00,0x00,0x02,0x02,
+	0x02,0x03,0x16,0x33,0x00,0x00,0x02,0x00,0x18,0x33,0x00,0x00,0x02,0x03,0x18,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x0A,0x33,
+	0x00,0x10,0x30,0x03,0x30,0x00,0x30,0x00,0x30,0x33,0x00,0x00,0x0A,0x33,0x00,0x10,0x02,0x20,0x02,0x22,0x02,0x22,0x02,0x03,
+	0x00,0x00,0x0A,0x33,0x06,0x02,0x00,0x0A,0x00,0x02,0x00,0x30,0x33,0x00,0x00,0x00,0x08,0x33,0x02,0x00,0x06,0x02,0x00,0x0A,
+	0x20,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x06,0x33,0x02,0x30,0x02,0x20,0x06,0x02,0x00,0x0A,0x00,0x02,0x03,0x33,0x33,0x00,
+	0x00,0x00,0x06,0x33,0x00,0x14,0x02,0x20,0x02,0x20,0x02,0x22,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x14,0x33,0x33,0x30,0x22,
+	0x20,0x30,0x03,0x30,0x00,0x30,0x06,0x33,0x00,0x00,0x00,0x0A,0x33,0x33,0x02,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,
+	0x33,0x30,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x33,0x02,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x02,0x30,
+	0x06,0x22,0x02,0x20,0x10,0x33,0x00,0x00,0x02,0x02,0x06,0x22,0x02,0x20,0x10,0x33,0x00,0x00,0x02,0x02,0x06,0x22,0x02,0x20,
+	0x08,0x00,0x02,0x03,0x06,0x33,0x00,0x00,0x02,0x02,0x10,0x22,0x02,0x03,0x06,0x33,0x00,0x00,0x02,0x02,0x0E,0x22,0x02,0x20,
+	0x08,0x33,0x00,0x00,0x02,0x02,0x0E,0x22,0x02,0x03,0x08,0x33,0x00,0x00,0x02,0x02,0x0C,0x22,0x02,0x20,0x0A,0x33,0x00,0x00,
+	0x02,0x02,0x0C,0x22,0x02,0x03,0x0A,0x33,0x00,0x00,0x02,0x02,0x0A,0x22,0x02,0x20,0x0C,0x33,0x00,0x00,0x02,0x02,0x0A,0x22,
+	0x02,0x03,0x0C,0x33,0x00,0x00,0x02,0x02,0x08,0x22,0x02,0x20,0x0E,0x33,0x00,0x00,0x0A,0x00,0x02,0x03,0x0E,0x33,0x00,0x00,
+	0x1A,0x33,0x00,0x00,0x0A,0x33,0x0A,0x00,0x06,0x33,0x00,0x00,0x08,0x33,0x02,0x30,0x0A,0x22,0x00,0x06,0x03,0x33,0x33,0x00,
+	0x00,0x00,0x08,0x33,0x02,0x30,0x08,0x00,0x00,0x08,0x02,0x03,0x33,0x33,0x00,0x00,0x08,0x33,0x02,0x02,0x08,0x22,0x00,0x08,
+	0x02,0x03,0x33,0x33,0x00,0x00,0x08,0x33,0x08,0x00,0x00,0x0A,0x02,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x06,0x33,0x02,0x30,
+	0x08,0x22,0x00,0x0A,0x02,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x06,0x33,0x02,0x30,0x06,0x00,0x06,0x02,0x00,0x06,0x03,0x33,
+	0x33,0x00,0x00,0x00,0x06,0x33,0x02,0x02,0x06,0x22,0x06,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x06,0x33,0x06,0x00,
+	0x08,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x06,0x33,0x33,0x30,0x00,0x06,0x22,0x08,0x02,0x00,0x06,0x03,0x33,
+	0x33,0x00,0x00,0x00,0x00,0x0A,0x33,0x33,0x30,0x00,0x00,0x00,0x0A,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0A,
+	0x33,0x33,0x02,0x22,0x22,0x00,0x0A,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x08,0x33,0x33,0x00,0x00,0x0A,0x02,
+	0x02,0x00,0x06,0x33,0x00,0x00,0x00,0x08,0x33,0x30,0x22,0x22,0x08,0x02,0x02,0x00,0x08,0x33,0x00,0x00,0x00,0x06,0x33,0x30,
+	0x00,0x00,0x08,0x02,0x02,0x00,0x0A,0x33,0x00,0x00,0x00,0x06,0x33,0x02,0x22,0x00,0x06,0x02,0x00,0x0E,0x00,0x33,0x00,0x03,
+	0x00,0x03,0x03,0x00,0x00,0x00,0x02,0x33,0x02,0x00,0x06,0x02,0x00,0x10,0x00,0x22,0x00,0x22,0x20,0x22,0x20,0x20,0x00,0x00,
+	0x00,0x0C,0x30,0x22,0x02,0x02,0x00,0x30,0x06,0x20,0x00,0x08,0x00,0x20,0x03,0x03,0x00,0x00,0x00,0x1A,0x30,0x02,0x02,0x00,
+	0x33,0x30,0x20,0x20,0x22,0x00,0x20,0x33,0x33,0x00,0x00,0x00,0x00,0x0C,0x02,0x02,0x00,0x33,0x33,0x30,0x06,0x20,0x00,0x08,
+	0x00,0x20,0x33,0x33,0x00,0x00,0x02,0x02,0x02,0x00,0x06,0x33,0x00,0x10,0x30,0x22,0x00,0x22,0x20,0x20,0x33,0x33,0x00,0x00,
+	0x02,0x00,0x0A,0x33,0x00,0x0E,0x00,0x33,0x00,0x03,0x03,0x33,0x33,0x00,0x00,0x00,0x02,0x00,0x02,0x00,0x06,0x33,0x00,0x10,
+	0x30,0x03,0x30,0x00,0x30,0x00,0x30,0x33,0x00,0x00,0x00,0x1A,0x02,0x22,0x00,0x03,0x33,0x02,0x20,0x02,0x22,0x02,0x22,0x02,
+	0x03,0x00,0x00,0x00,0x00,0x0A,0x02,0x22,0x22,0x20,0x00,0x00,0x06,0x02,0x00,0x0A,0x00,0x02,0x00,0x30,0x33,0x00,0x00,0x00,
+	0x02,0x02,0x08,0x22,0x06,0x02,0x00,0x0A,0x20,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x02,0x02,0x08,0x22,0x06,0x02,0x00,0x0A,
+	0x00,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x02,0x02,0x06,0x22,0x00,0x12,0x20,0x02,0x20,0x02,0x22,0x02,0x03,0x33,0x33,0x00,
+	0x00,0x00,0x02,0x02,0x06,0x22,0x00,0x0C,0x20,0x30,0x03,0x30,0x00,0x30,0x06,0x33,0x00,0x00,0x02,0x02,0x06,0x22,0x02,0x03,
+	0x10,0x33,0x00,0x00,0x02,0x02,0x06,0x22,0x02,0x03,0x10,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x20,0x12,0x33,0x00,0x00,
+	0x00,0x08,0x02,0x22,0x22,0x20,0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x03,0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,
+	0x22,0x03,0x12,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x20,0x00,0x14,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x20,0x00,0x14,0x33,
+	0x00,0x00,0x00,0x06,0x02,0x22,0x03,0x00,0x14,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x03,0x00,0x14,0x33,0x00,0x00,0x02,0x02,
+	0x02,0x20,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x20,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x03,0x16,0x33,0x00,0x00,0x02,0x02,
+	0x02,0x03,0x16,0x33,0x00,0x00,0x02,0x00,0x18,0x33,0x00,0x00,0x02,0x03,0x18,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,
+	0x00,0x00,0x1A,0x33,0x00,0x00,0x06,0x33,0x02,0x30,0x02,0x03,0x10,0x33,0x00,0x00,0x06,0x33,0x02,0x02,0x02,0x20,0x10,0x33,
+	0x00,0x00,0x06,0x33,0x00,0x0A,0x02,0x20,0x30,0x03,0x30,0x00,0x06,0x00,0x02,0x30,0x02,0x33,0x00,0x00,0x00,0x1A,0x03,0x33,
+	0x30,0x22,0x20,0x02,0x20,0x02,0x22,0x02,0x22,0x02,0x03,0x00,0x00,0x00,0x00,0x0A,0x00,0x33,0x30,0x22,0x03,0x00,0x06,0x02,
+	0x00,0x0A,0x00,0x02,0x00,0x30,0x33,0x00,0x00,0x00,0x00,0x0A,0x02,0x03,0x02,0x22,0x03,0x00,0x06,0x02,0x00,0x0A,0x20,0x02,
+	0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0A,0x02,0x20,0x02,0x20,0x33,0x00,0x06,0x02,0x00,0x0A,0x00,0x02,0x03,0x33,0x33,0x00,
+	0x00,0x00,0x00,0x1A,0x02,0x22,0x22,0x20,0x33,0x02,0x20,0x02,0x22,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x02,0x02,0x06,0x22,
+	0x00,0x0C,0x00,0x00,0x03,0x30,0x00,0x30,0x06,0x33,0x00,0x00,0x02,0x02,0x08,0x22,0x02,0x03,0x0E,0x33,0x00,0x00,0x02,0x02,
+	0x06,0x22,0x02,0x20,0x10,0x33,0x00,0x00,0x02,0x02,0x06,0x22,0x02,0x03,0x10,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x20,
+	0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x03,0x12,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x20,0x00,0x14,0x33,0x00,0x00,
+	0x00,0x06,0x02,0x22,0x03,0x00,0x14,0x33,0x00,0x00,0x02,0x02,0x02,0x20,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x03,0x16,0x33,
 	0x00,0x00,0x02,0x00,0x18,0x33,0x00,0x00,0x02,0x03,0x18,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x1A,0x33,
-	0x00,0x00,0x00,0x0A,0x33,0x33,0x33,0x30,0x03,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x33,0x33,0x33,0x02,0x20,0x00,0x10,0x33,
-	0x00,0x00,0x00,0x0A,0x33,0x33,0x33,0x02,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x03,0x33,0x30,0x22,0x20,0x00,0x10,0x33,
+	0x00,0x00,0x1A,0x33,0x00,0x00,0x08,0x33,0x02,0x00,0x10,0x33,0x00,0x00,0x06,0x33,0x02,0x30,0x02,0x20,0x10,0x33,0x00,0x00,
+	0x06,0x33,0x02,0x02,0x02,0x20,0x10,0x33,0x00,0x00,0x00,0x0A,0x33,0x33,0x30,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,
+	0x33,0x33,0x02,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x33,0x30,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,
+	0x33,0x02,0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x02,0x30,0x06,0x22,0x02,0x20,0x10,0x33,0x00,0x00,0x02,0x02,0x06,0x22,
+	0x02,0x20,0x10,0x33,0x00,0x00,0x02,0x02,0x06,0x22,0x02,0x20,0x08,0x00,0x02,0x03,0x06,0x33,0x00,0x00,0x02,0x02,0x10,0x22,
+	0x02,0x03,0x06,0x33,0x00,0x00,0x02,0x02,0x0E,0x22,0x02,0x20,0x08,0x33,0x00,0x00,0x02,0x02,0x0E,0x22,0x02,0x03,0x08,0x33,
+	0x00,0x00,0x02,0x02,0x0C,0x22,0x02,0x20,0x0A,0x33,0x00,0x00,0x02,0x02,0x0C,0x22,0x02,0x03,0x0A,0x33,0x00,0x00,0x02,0x02,
+	0x0A,0x22,0x02,0x20,0x0C,0x33,0x00,0x00,0x02,0x02,0x0A,0x22,0x02,0x03,0x0C,0x33,0x00,0x00,0x02,0x02,0x08,0x22,0x02,0x20,
+	0x0E,0x33,0x00,0x00,0x0A,0x00,0x02,0x03,0x0E,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x0A,0x33,0x0A,0x00,0x06,0x33,0x00,0x00,
+	0x08,0x33,0x02,0x30,0x0A,0x22,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x08,0x33,0x02,0x30,0x08,0x00,0x00,0x08,0x02,0x03,
+	0x33,0x33,0x00,0x00,0x08,0x33,0x02,0x02,0x08,0x22,0x00,0x08,0x02,0x03,0x33,0x33,0x00,0x00,0x08,0x33,0x08,0x00,0x00,0x0A,
+	0x02,0x02,0x03,0x33,0x33,0x00,0x00,0x00,0x06,0x33,0x02,0x30,0x08,0x22,0x00,0x0A,0x02,0x02,0x03,0x33,0x33,0x00,0x00,0x00,
+	0x06,0x33,0x02,0x30,0x06,0x00,0x06,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x06,0x33,0x02,0x02,0x06,0x22,0x06,0x02,
+	0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x06,0x33,0x06,0x00,0x08,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x06,
+	0x33,0x33,0x30,0x00,0x06,0x22,0x08,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0A,0x33,0x33,0x30,0x00,0x00,0x00,
+	0x0A,0x02,0x00,0x06,0x03,0x33,0x33,0x00,0x00,0x00,0x00,0x0A,0x33,0x33,0x02,0x22,0x22,0x00,0x0A,0x02,0x00,0x06,0x03,0x33,
+	0x33,0x00,0x00,0x00,0x00,0x08,0x33,0x33,0x00,0x00,0x0A,0x02,0x02,0x00,0x06,0x33,0x00,0x00,0x00,0x08,0x33,0x30,0x22,0x22,
+	0x08,0x02,0x02,0x00,0x08,0x33,0x00,0x00,0x00,0x06,0x33,0x30,0x00,0x00,0x08,0x02,0x02,0x00,0x0A,0x33,0x00,0x00,0x00,0x06,
+	0x33,0x02,0x22,0x00,0x06,0x02,0x02,0x00,0x0C,0x33,0x00,0x00,0x02,0x33,0x02,0x00,0x06,0x02,0x02,0x00,0x0E,0x33,0x00,0x00,
+	0x00,0x0A,0x30,0x22,0x02,0x02,0x00,0x00,0x10,0x33,0x00,0x00,0x00,0x08,0x30,0x02,0x02,0x00,0x12,0x33,0x00,0x00,0x00,0x06,
+	0x02,0x02,0x00,0x00,0x14,0x33,0x00,0x00,0x02,0x02,0x02,0x00,0x16,0x33,0x00,0x00,0x02,0x00,0x18,0x33,0x00,0x00,0x02,0x00,
+	0x02,0x00,0x16,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x00,0x03,0x12,0x33,0x00,0x00,0x00,0x0C,0x02,0x22,0x22,0x20,0x00,0x03,
+	0x0E,0x33,0x00,0x00,0x02,0x02,0x08,0x22,0x02,0x03,0x0E,0x33,0x00,0x00,0x02,0x02,0x08,0x22,0x02,0x03,0x0E,0x33,0x00,0x00,
+	0x02,0x02,0x06,0x22,0x02,0x20,0x10,0x33,0x00,0x00,0x02,0x02,0x06,0x22,0x02,0x20,0x10,0x33,0x00,0x00,0x02,0x02,0x06,0x22,
+	0x02,0x03,0x10,0x33,0x00,0x00,0x02,0x02,0x06,0x22,0x02,0x03,0x10,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x20,0x12,0x33,
+	0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x20,0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x03,0x12,0x33,0x00,0x00,0x00,0x08,
+	0x02,0x22,0x22,0x03,0x12,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x20,0x00,0x14,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x20,0x00,
+	0x14,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x03,0x00,0x14,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x03,0x00,0x14,0x33,0x00,0x00,
+	0x02,0x02,0x02,0x20,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x20,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x03,0x16,0x33,0x00,0x00,
+	0x02,0x02,0x02,0x03,0x16,0x33,0x00,0x00,0x02,0x00,0x18,0x33,0x00,0x00,0x02,0x03,0x18,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,
+	0x1A,0x33,0x00,0x00,0x1A,0x33,0x00,0x00,0x06,0x33,0x02,0x30,0x02,0x03,0x10,0x33,0x00,0x00,0x06,0x33,0x02,0x02,0x02,0x20,
+	0x10,0x33,0x00,0x00,0x06,0x33,0x02,0x02,0x02,0x20,0x10,0x33,0x00,0x00,0x00,0x0A,0x03,0x33,0x30,0x22,0x20,0x00,0x10,0x33,
 	0x00,0x00,0x00,0x0A,0x00,0x33,0x30,0x22,0x03,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x02,0x03,0x02,0x22,0x03,0x00,0x10,0x33,
-	0x00,0x00,0x00,0x08,0x02,0x20,0x02,0x20,0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x20,0x12,0x33,0x00,0x00,0x00,0x0C,
-	0x02,0x22,0x22,0x22,0x00,0x03,0x0E,0x33,0x00,0x00,0x02,0x02,0x08,0x22,0x02,0x03,0x0E,0x33,0x00,0x00,0x00,0x0A,0x02,0x22,
-	0x22,0x22,0x20,0x00,0x10,0x33,0x00,0x00,0x00,0x0A,0x02,0x22,0x22,0x22,0x03,0x00,0x10,0x33,0x00,0x00,0x00,0x08,0x02,0x22,
-	0x22,0x20,0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x03,0x12,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x20,0x00,0x14,0x33,
-	0x00,0x00,0x00,0x06,0x02,0x22,0x03,0x00,0x14,0x33,0x00,0x00,0x02,0x02,0x02,0x20,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x03,
-	0x16,0x33,0x00,0x00,0x02,0x00,0x18,0x33,0x00,0x00,0x02,0x03,0x18,0x33,0x00,0x01
+	0x00,0x00,0x00,0x08,0x02,0x20,0x02,0x20,0x12,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x20,0x12,0x33,0x00,0x00,0x02,0x02,
+	0x06,0x22,0x02,0x00,0x02,0x03,0x0E,0x33,0x00,0x00,0x02,0x02,0x08,0x22,0x02,0x03,0x0E,0x33,0x00,0x00,0x02,0x02,0x06,0x22,
+	0x02,0x20,0x10,0x33,0x00,0x00,0x02,0x02,0x06,0x22,0x02,0x03,0x10,0x33,0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x20,0x12,0x33,
+	0x00,0x00,0x00,0x08,0x02,0x22,0x22,0x03,0x12,0x33,0x00,0x00,0x00,0x06,0x02,0x22,0x20,0x00,0x14,0x33,0x00,0x00,0x00,0x06,
+	0x02,0x22,0x03,0x00,0x14,0x33,0x00,0x00,0x02,0x02,0x02,0x20,0x16,0x33,0x00,0x00,0x02,0x02,0x02,0x03,0x16,0x33,0x00,0x00,
+	0x02,0x00,0x18,0x33,0x00,0x00,0x02,0x03,0x18,0x33,0x00,0x01
 };
 
 const uint8_t mouseCursorBusyClockBMP[1728] =
--- a/src/helpdata/FT2.HLP
+++ b/src/helpdata/FT2.HLP
@@ -781,13 +781,6 @@
 Please note that original FT2 can't load this config entry,
 clone only.
 
->@X040@C001Dithering:
->@X060@C002
-Works for 16-bit audio mode only.
-Applies random scaled values to the mixed samples before truncating to 16-bit.
-This should in theory lower the quantization noise.
-Also applies for WAV rendering.
-
 >@X040@C001Amplification:
 >@X060@C002
 Amplifies the volume when mixing. If you set this one too high, you'll
--- a/src/helpdata/ft2_help_data.h
+++ b/src/helpdata/ft2_help_data.h
@@ -3,9 +3,9 @@
 
 #include <stdint.h>
 
-#define HELP_DATA_LEN 27158
+#define HELP_DATA_LEN 26926
 
-const uint8_t helpData[27158] =
+const uint8_t helpData[26926] =
 {
 	0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
@@ -1784,493 +1784,473 @@
 	0x27,0x74,0x20,0x6C,0x6F,0x61,0x64,0x20,0x74,0x68,0x69,0x73,
 	0x20,0x63,0x6F,0x6E,0x66,0x69,0x67,0x20,0x65,0x6E,0x74,0x72,
 	0x79,0x2C,0x0B,0x63,0x6C,0x6F,0x6E,0x65,0x20,0x6F,0x6E,0x6C,
-	0x79,0x2E,0x00,0x15,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,
-	0x30,0x30,0x31,0x44,0x69,0x74,0x68,0x65,0x72,0x69,0x6E,0x67,
-	0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,
-	0x32,0x21,0x57,0x6F,0x72,0x6B,0x73,0x20,0x66,0x6F,0x72,0x20,
-	0x31,0x36,0x2D,0x62,0x69,0x74,0x20,0x61,0x75,0x64,0x69,0x6F,
-	0x20,0x6D,0x6F,0x64,0x65,0x20,0x6F,0x6E,0x6C,0x79,0x2E,0x4E,
-	0x41,0x70,0x70,0x6C,0x69,0x65,0x73,0x20,0x72,0x61,0x6E,0x64,
-	0x6F,0x6D,0x20,0x73,0x63,0x61,0x6C,0x65,0x64,0x20,0x76,0x61,
-	0x6C,0x75,0x65,0x73,0x20,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,
-	0x6D,0x69,0x78,0x65,0x64,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,
-	0x73,0x20,0x62,0x65,0x66,0x6F,0x72,0x65,0x20,0x74,0x72,0x75,
-	0x6E,0x63,0x61,0x74,0x69,0x6E,0x67,0x20,0x74,0x6F,0x20,0x31,
-	0x36,0x2D,0x62,0x69,0x74,0x2E,0x33,0x54,0x68,0x69,0x73,0x20,
-	0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x69,0x6E,0x20,0x74,0x68,
-	0x65,0x6F,0x72,0x79,0x20,0x6C,0x6F,0x77,0x65,0x72,0x20,0x74,
-	0x68,0x65,0x20,0x71,0x75,0x61,0x6E,0x74,0x69,0x7A,0x61,0x74,
-	0x69,0x6F,0x6E,0x20,0x6E,0x6F,0x69,0x73,0x65,0x2E,0x1F,0x41,
-	0x6C,0x73,0x6F,0x20,0x61,0x70,0x70,0x6C,0x69,0x65,0x73,0x20,
-	0x66,0x6F,0x72,0x20,0x57,0x41,0x56,0x20,0x72,0x65,0x6E,0x64,
-	0x65,0x72,0x69,0x6E,0x67,0x2E,0x00,0x19,0x3E,0x40,0x58,0x30,
-	0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x41,0x6D,0x70,0x6C,0x69,
-	0x66,0x69,0x63,0x61,0x74,0x69,0x6F,0x6E,0x3A,0x0B,0x3E,0x40,
-	0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x46,0x41,0x6D,
-	0x70,0x6C,0x69,0x66,0x69,0x65,0x73,0x20,0x74,0x68,0x65,0x20,
-	0x76,0x6F,0x6C,0x75,0x6D,0x65,0x20,0x77,0x68,0x65,0x6E,0x20,
-	0x6D,0x69,0x78,0x69,0x6E,0x67,0x2E,0x20,0x49,0x66,0x20,0x79,
-	0x6F,0x75,0x20,0x73,0x65,0x74,0x20,0x74,0x68,0x69,0x73,0x20,
-	0x6F,0x6E,0x65,0x20,0x74,0x6F,0x6F,0x20,0x68,0x69,0x67,0x68,
-	0x2C,0x20,0x79,0x6F,0x75,0x27,0x6C,0x6C,0x3A,0x67,0x65,0x74,
-	0x20,0x64,0x69,0x73,0x74,0x6F,0x72,0x74,0x69,0x6F,0x6E,0x2E,
-	0x20,0x33,0x32,0x58,0x20,0x65,0x71,0x75,0x61,0x6C,0x73,0x20,
-	0x66,0x75,0x6C,0x6C,0x20,0x61,0x6D,0x70,0x6C,0x69,0x74,0x75,
-	0x64,0x65,0x20,0x66,0x6F,0x72,0x20,0x6F,0x6E,0x65,0x20,0x63,
-	0x68,0x61,0x6E,0x6E,0x65,0x6C,0x2E,0x00,0x1B,0x3E,0x40,0x58,
-	0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x46,0x72,0x65,0x71,
-	0x75,0x65,0x6E,0x63,0x79,0x20,0x74,0x61,0x62,0x6C,0x65,0x3A,
-	0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,
-	0x40,0x54,0x68,0x65,0x20,0x6C,0x69,0x6E,0x65,0x61,0x72,0x20,
-	0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20,0x74,0x61,
-	0x62,0x6C,0x65,0x20,0x6D,0x61,0x6B,0x65,0x73,0x20,0x61,0x6C,
-	0x6C,0x20,0x70,0x69,0x74,0x63,0x68,0x20,0x62,0x65,0x6E,0x64,
-	0x73,0x20,0x72,0x75,0x6E,0x20,0x69,0x6E,0x20,0x63,0x6F,0x6E,
-	0x73,0x74,0x61,0x6E,0x74,0x3F,0x73,0x70,0x65,0x65,0x64,0x2C,
-	0x20,0x69,0x6E,0x64,0x65,0x70,0x65,0x6E,0x64,0x65,0x6E,0x74,
-	0x20,0x6F,0x66,0x20,0x74,0x68,0x65,0x20,0x63,0x75,0x72,0x72,
-	0x65,0x6E,0x74,0x20,0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,
-	0x79,0x2E,0x20,0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x73,0x77,
-	0x69,0x74,0x63,0x68,0x20,0x74,0x68,0x69,0x73,0x41,0x6F,0x6E,
-	0x65,0x2C,0x20,0x6F,0x6E,0x20,0x61,0x20,0x66,0x69,0x6E,0x69,
-	0x73,0x68,0x65,0x64,0x20,0x73,0x6F,0x6E,0x67,0x2C,0x20,0x69,
-	0x74,0x20,0x6D,0x69,0x67,0x68,0x74,0x20,0x73,0x6F,0x75,0x6E,
-	0x64,0x20,0x73,0x74,0x72,0x61,0x6E,0x67,0x65,0x20,0x69,0x66,
-	0x20,0x74,0x68,0x65,0x20,0x73,0x6F,0x75,0x6E,0x64,0x20,0x75,
-	0x73,0x65,0x73,0x0D,0x70,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,
-	0x74,0x6F,0x65,0x73,0x2E,0x00,0x20,0x40,0x58,0x30,0x32,0x30,
-	0x40,0x43,0x30,0x30,0x31,0x43,0x6F,0x6E,0x66,0x69,0x67,0x75,
-	0x72,0x61,0x74,0x69,0x6F,0x6E,0x2C,0x20,0x4C,0x61,0x79,0x6F,
-	0x75,0x74,0x3A,0x01,0x3E,0x29,0x3E,0x40,0x58,0x30,0x34,0x30,
-	0x40,0x43,0x30,0x30,0x31,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,
-	0x20,0x6C,0x61,0x79,0x6F,0x75,0x74,0x2C,0x20,0x68,0x65,0x78,
-	0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x69,0x6E,0x67,0x3A,0x0B,
-	0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x41,
-	0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x75,0x73,0x65,0x20,0x70,
-	0x61,0x74,0x74,0x65,0x72,0x6E,0x73,0x20,0x74,0x68,0x61,0x74,
-	0x20,0x61,0x72,0x65,0x20,0x6C,0x6F,0x6E,0x67,0x65,0x72,0x20,
-	0x74,0x68,0x61,0x6E,0x20,0x39,0x39,0x20,0x6C,0x69,0x6E,0x65,
-	0x73,0x2C,0x20,0x79,0x6F,0x75,0x20,0x73,0x68,0x6F,0x75,0x6C,
-	0x64,0x20,0x75,0x73,0x65,0x45,0x68,0x65,0x78,0x20,0x63,0x6F,
-	0x75,0x6E,0x74,0x69,0x6E,0x67,0x20,0x73,0x69,0x6E,0x63,0x65,
-	0x20,0x74,0x68,0x65,0x72,0x65,0x20,0x61,0x72,0x65,0x20,0x6F,
-	0x6E,0x6C,0x79,0x20,0x32,0x20,0x64,0x69,0x67,0x69,0x74,0x73,
-	0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x6C,0x69,0x6E,0x65,
-	0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,0x20,0x63,0x6F,0x6C,0x75,
-	0x6D,0x6E,0x2E,0x00,0x12,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,
-	0x43,0x30,0x30,0x31,0x53,0x63,0x6F,0x70,0x65,0x73,0x3A,0x0B,
-	0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x43,
-	0x22,0x53,0x74,0x64,0x2E,0x22,0x20,0x28,0x73,0x74,0x61,0x6E,
-	0x64,0x61,0x72,0x64,0x29,0x20,0x77,0x69,0x6C,0x6C,0x20,0x73,
-	0x68,0x6F,0x77,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6D,0x70,
-	0x6C,0x65,0x20,0x70,0x6F,0x69,0x6E,0x74,0x73,0x20,0x61,0x73,
-	0x20,0x70,0x69,0x78,0x65,0x6C,0x73,0x20,0x28,0x6C,0x69,0x6B,
-	0x65,0x20,0x46,0x54,0x32,0x29,0x2E,0x41,0x22,0x4C,0x69,0x6E,
-	0x65,0x64,0x22,0x20,0x77,0x69,0x6C,0x6C,0x20,0x64,0x72,0x61,
-	0x77,0x20,0x6C,0x69,0x6E,0x65,0x73,0x20,0x62,0x65,0x74,0x77,
-	0x65,0x65,0x6E,0x20,0x74,0x68,0x65,0x20,0x70,0x6F,0x69,0x6E,
-	0x74,0x73,0x2C,0x20,0x6C,0x69,0x6B,0x65,0x20,0x61,0x6E,0x20,
-	0x6F,0x73,0x63,0x69,0x6C,0x6C,0x6F,0x73,0x63,0x6F,0x70,0x65,
-	0x2E,0x00,0x27,0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30,0x30,
+	0x79,0x2E,0x00,0x19,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,
+	0x30,0x30,0x31,0x41,0x6D,0x70,0x6C,0x69,0x66,0x69,0x63,0x61,
+	0x74,0x69,0x6F,0x6E,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,
+	0x40,0x43,0x30,0x30,0x32,0x46,0x41,0x6D,0x70,0x6C,0x69,0x66,
+	0x69,0x65,0x73,0x20,0x74,0x68,0x65,0x20,0x76,0x6F,0x6C,0x75,
+	0x6D,0x65,0x20,0x77,0x68,0x65,0x6E,0x20,0x6D,0x69,0x78,0x69,
+	0x6E,0x67,0x2E,0x20,0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x73,
+	0x65,0x74,0x20,0x74,0x68,0x69,0x73,0x20,0x6F,0x6E,0x65,0x20,
+	0x74,0x6F,0x6F,0x20,0x68,0x69,0x67,0x68,0x2C,0x20,0x79,0x6F,
+	0x75,0x27,0x6C,0x6C,0x3A,0x67,0x65,0x74,0x20,0x64,0x69,0x73,
+	0x74,0x6F,0x72,0x74,0x69,0x6F,0x6E,0x2E,0x20,0x33,0x32,0x58,
+	0x20,0x65,0x71,0x75,0x61,0x6C,0x73,0x20,0x66,0x75,0x6C,0x6C,
+	0x20,0x61,0x6D,0x70,0x6C,0x69,0x74,0x75,0x64,0x65,0x20,0x66,
+	0x6F,0x72,0x20,0x6F,0x6E,0x65,0x20,0x63,0x68,0x61,0x6E,0x6E,
+	0x65,0x6C,0x2E,0x00,0x1B,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,
+	0x43,0x30,0x30,0x31,0x46,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,
+	0x79,0x20,0x74,0x61,0x62,0x6C,0x65,0x3A,0x0B,0x3E,0x40,0x58,
+	0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x40,0x54,0x68,0x65,
+	0x20,0x6C,0x69,0x6E,0x65,0x61,0x72,0x20,0x66,0x72,0x65,0x71,
+	0x75,0x65,0x6E,0x63,0x79,0x20,0x74,0x61,0x62,0x6C,0x65,0x20,
+	0x6D,0x61,0x6B,0x65,0x73,0x20,0x61,0x6C,0x6C,0x20,0x70,0x69,
+	0x74,0x63,0x68,0x20,0x62,0x65,0x6E,0x64,0x73,0x20,0x72,0x75,
+	0x6E,0x20,0x69,0x6E,0x20,0x63,0x6F,0x6E,0x73,0x74,0x61,0x6E,
+	0x74,0x3F,0x73,0x70,0x65,0x65,0x64,0x2C,0x20,0x69,0x6E,0x64,
+	0x65,0x70,0x65,0x6E,0x64,0x65,0x6E,0x74,0x20,0x6F,0x66,0x20,
+	0x74,0x68,0x65,0x20,0x63,0x75,0x72,0x72,0x65,0x6E,0x74,0x20,
+	0x66,0x72,0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x2E,0x20,0x49,
+	0x66,0x20,0x79,0x6F,0x75,0x20,0x73,0x77,0x69,0x74,0x63,0x68,
+	0x20,0x74,0x68,0x69,0x73,0x41,0x6F,0x6E,0x65,0x2C,0x20,0x6F,
+	0x6E,0x20,0x61,0x20,0x66,0x69,0x6E,0x69,0x73,0x68,0x65,0x64,
+	0x20,0x73,0x6F,0x6E,0x67,0x2C,0x20,0x69,0x74,0x20,0x6D,0x69,
+	0x67,0x68,0x74,0x20,0x73,0x6F,0x75,0x6E,0x64,0x20,0x73,0x74,
+	0x72,0x61,0x6E,0x67,0x65,0x20,0x69,0x66,0x20,0x74,0x68,0x65,
+	0x20,0x73,0x6F,0x75,0x6E,0x64,0x20,0x75,0x73,0x65,0x73,0x0D,
+	0x70,0x6F,0x72,0x74,0x61,0x6D,0x65,0x6E,0x74,0x6F,0x65,0x73,
+	0x2E,0x00,0x20,0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30,0x30,
 	0x31,0x43,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72,0x61,0x74,0x69,
-	0x6F,0x6E,0x2C,0x20,0x4D,0x69,0x73,0x63,0x65,0x6C,0x6C,0x61,
-	0x6E,0x65,0x6F,0x75,0x73,0x3A,0x01,0x3E,0x15,0x3E,0x40,0x58,
-	0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x56,0x53,0x79,0x6E,
-	0x63,0x20,0x6F,0x66,0x66,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,
-	0x30,0x40,0x43,0x30,0x30,0x32,0x3F,0x54,0x65,0x6C,0x6C,0x73,
-	0x20,0x74,0x68,0x65,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,
-	0x20,0x74,0x6F,0x20,0x6E,0x6F,0x74,0x20,0x75,0x73,0x65,0x20,
-	0x56,0x53,0x79,0x6E,0x63,0x20,0x66,0x6F,0x72,0x20,0x76,0x69,
-	0x64,0x65,0x6F,0x2E,0x20,0x49,0x66,0x20,0x79,0x6F,0x75,0x72,
-	0x20,0x6D,0x6F,0x6E,0x69,0x74,0x6F,0x72,0x27,0x73,0x40,0x72,
-	0x65,0x66,0x72,0x65,0x73,0x68,0x20,0x72,0x61,0x74,0x65,0x20,
-	0x69,0x73,0x20,0x6E,0x6F,0x74,0x20,0x36,0x30,0x48,0x7A,0x20,
-	0x28,0x6F,0x72,0x20,0x35,0x39,0x48,0x7A,0x29,0x2C,0x20,0x74,
-	0x68,0x65,0x6E,0x20,0x56,0x53,0x79,0x6E,0x63,0x20,0x69,0x73,
-	0x20,0x61,0x6C,0x77,0x61,0x79,0x73,0x20,0x6F,0x66,0x66,0x20,
-	0x66,0x6F,0x72,0x45,0x74,0x68,0x69,0x73,0x20,0x70,0x72,0x6F,
-	0x67,0x72,0x61,0x6D,0x2E,0x20,0x4E,0x6F,0x74,0x20,0x68,0x61,
-	0x76,0x69,0x6E,0x67,0x20,0x56,0x53,0x79,0x6E,0x63,0x20,0x77,
-	0x69,0x6C,0x6C,0x20,0x72,0x65,0x73,0x75,0x6C,0x74,0x20,0x69,
-	0x6E,0x20,0x6C,0x65,0x73,0x73,0x20,0x69,0x6E,0x70,0x75,0x74,
-	0x2F,0x76,0x69,0x64,0x65,0x6F,0x20,0x64,0x65,0x6C,0x61,0x79,
-	0x2C,0x1E,0x62,0x75,0x74,0x20,0x61,0x6C,0x73,0x6F,0x20,0x70,
-	0x6F,0x74,0x65,0x6E,0x74,0x69,0x61,0x6C,0x20,0x73,0x74,0x75,
-	0x74,0x74,0x65,0x72,0x69,0x6E,0x67,0x2E,0x01,0x20,0x18,0x3E,
-	0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x50,0x69,
-	0x78,0x65,0x6C,0x20,0x66,0x69,0x6C,0x74,0x65,0x72,0x3A,0x0B,
-	0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x43,
-	0x41,0x70,0x70,0x6C,0x69,0x65,0x73,0x20,0x61,0x20,0x73,0x75,
-	0x62,0x70,0x69,0x78,0x65,0x6C,0x20,0x66,0x69,0x6C,0x74,0x65,
-	0x72,0x20,0x74,0x68,0x61,0x74,0x20,0x69,0x73,0x20,0x75,0x73,
-	0x65,0x64,0x20,0x77,0x68,0x65,0x6E,0x20,0x74,0x68,0x65,0x20,
-	0x77,0x69,0x6E,0x64,0x6F,0x77,0x20,0x69,0x73,0x20,0x75,0x70,
-	0x73,0x63,0x61,0x6C,0x65,0x64,0x2E,0x43,0x54,0x68,0x69,0x73,
-	0x20,0x61,0x6C,0x73,0x6F,0x20,0x6D,0x61,0x6B,0x65,0x73,0x20,
-	0x66,0x75,0x6C,0x6C,0x73,0x63,0x72,0x65,0x65,0x6E,0x20,0x6D,
-	0x6F,0x64,0x65,0x20,0x63,0x6F,0x6D,0x70,0x6C,0x65,0x74,0x65,
-	0x6C,0x79,0x20,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x20,0x6F,
-	0x75,0x74,0x20,0x69,0x66,0x20,0x69,0x74,0x20,0x64,0x69,0x64,
-	0x6E,0x27,0x74,0x44,0x61,0x6C,0x72,0x65,0x61,0x64,0x79,0x2E,
-	0x20,0x50,0x6C,0x65,0x61,0x73,0x65,0x20,0x6B,0x65,0x65,0x70,
-	0x20,0x69,0x6E,0x20,0x6D,0x69,0x6E,0x64,0x20,0x74,0x68,0x61,
-	0x74,0x20,0x74,0x68,0x69,0x73,0x20,0x77,0x69,0x6C,0x6C,0x20,
-	0x6D,0x61,0x6B,0x65,0x20,0x70,0x69,0x78,0x65,0x6C,0x73,0x20,
-	0x6C,0x6F,0x6F,0x6B,0x20,0x62,0x6C,0x75,0x72,0x72,0x79,0x2E,
-	0x00,0x23,0x40,0x58,0x30,0x32,0x30,0x40,0x43,0x30,0x30,0x31,
-	0x41,0x64,0x76,0x61,0x6E,0x63,0x65,0x64,0x20,0x65,0x64,0x69,
-	0x74,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,0x6F,0x6E,0x73,0x3A,
-	0x20,0x01,0x3E,0x1E,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,
-	0x30,0x30,0x31,0x43,0x6F,0x70,0x79,0x2F,0x50,0x61,0x73,0x74,
-	0x65,0x20,0x6D,0x61,0x73,0x6B,0x69,0x6E,0x67,0x3A,0x0B,0x3E,
-	0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x37,0x54,
-	0x68,0x65,0x20,0x6D,0x61,0x73,0x6B,0x69,0x6E,0x67,0x20,0x69,
-	0x73,0x20,0x75,0x73,0x65,0x64,0x20,0x66,0x6F,0x72,0x20,0x63,
-	0x6F,0x70,0x79,0x69,0x6E,0x67,0x2F,0x70,0x61,0x73,0x74,0x69,
-	0x6E,0x67,0x20,0x6F,0x6E,0x6C,0x79,0x20,0x70,0x61,0x72,0x74,
-	0x73,0x20,0x6F,0x66,0x20,0x61,0x46,0x22,0x6E,0x6F,0x74,0x65,
-	0x2D,0x63,0x65,0x6C,0x6C,0x22,0x2E,0x20,0x54,0x68,0x65,0x20,
-	0x64,0x69,0x66,0x66,0x65,0x72,0x65,0x6E,0x74,0x20,0x70,0x61,
-	0x72,0x74,0x73,0x20,0x6F,0x66,0x20,0x61,0x20,0x22,0x6E,0x6F,
-	0x74,0x65,0x2D,0x63,0x65,0x6C,0x6C,0x22,0x20,0x69,0x73,0x20,
-	0x4E,0x6F,0x74,0x65,0x2C,0x20,0x49,0x6E,0x73,0x74,0x72,0x2E,
-	0x20,0x6E,0x72,0x2E,0x2C,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,
-	0x2C,0x20,0x45,0x66,0x66,0x65,0x63,0x74,0x20,0x6E,0x72,0x20,
-	0x26,0x20,0x45,0x66,0x66,0x65,0x63,0x74,0x20,0x64,0x61,0x74,
-	0x61,0x2E,0x34,0x3E,0x41,0x73,0x20,0x79,0x6F,0x75,0x20,0x63,
-	0x61,0x6E,0x20,0x73,0x65,0x65,0x20,0x69,0x6E,0x20,0x74,0x68,
-	0x65,0x20,0x77,0x69,0x6E,0x64,0x6F,0x77,0x20,0x74,0x68,0x65,
-	0x72,0x65,0x20,0x61,0x72,0x65,0x20,0x33,0x20,0x63,0x6F,0x6C,
-	0x75,0x6D,0x6E,0x73,0x20,0x6F,0x66,0x3D,0x22,0x65,0x6E,0x61,
-	0x62,0x6C,0x65,0x2F,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x20,
-	0x62,0x75,0x74,0x74,0x6F,0x6E,0x73,0x22,0x20,0x77,0x68,0x69,
-	0x63,0x68,0x20,0x68,0x61,0x73,0x20,0x74,0x68,0x65,0x20,0x6C,
-	0x65,0x74,0x74,0x65,0x72,0x73,0x20,0x43,0x2C,0x50,0x20,0x26,
-	0x20,0x54,0x20,0x61,0x62,0x6F,0x76,0x65,0x2E,0x45,0x3E,0x43,
-	0x20,0x6D,0x65,0x61,0x6E,0x73,0x20,0x63,0x6F,0x70,0x79,0x2C,
-	0x20,0x69,0x74,0x20,0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x73,
-	0x20,0x77,0x68,0x69,0x63,0x68,0x20,0x70,0x61,0x72,0x74,0x73,
-	0x20,0x74,0x68,0x61,0x74,0x20,0x67,0x6F,0x65,0x73,0x20,0x69,
-	0x6E,0x74,0x6F,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x70,0x79,
-	0x62,0x75,0x66,0x66,0x65,0x72,0x2E,0x3E,0x3E,0x50,0x20,0x6D,
-	0x65,0x61,0x6E,0x73,0x20,0x70,0x61,0x73,0x74,0x65,0x20,0x61,
-	0x6E,0x64,0x20,0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x73,0x20,
-	0x77,0x68,0x69,0x63,0x68,0x20,0x70,0x61,0x72,0x74,0x73,0x20,
-	0x74,0x68,0x61,0x74,0x20,0x67,0x6F,0x65,0x73,0x20,0x6F,0x75,
-	0x74,0x20,0x66,0x72,0x6F,0x6D,0x20,0x74,0x68,0x65,0x0B,0x63,
-	0x6F,0x70,0x79,0x62,0x75,0x66,0x66,0x65,0x72,0x2E,0x45,0x3E,
-	0x54,0x20,0x6D,0x65,0x61,0x6E,0x73,0x20,0x74,0x72,0x61,0x6E,
-	0x73,0x70,0x61,0x72,0x65,0x6E,0x63,0x79,0x2E,0x20,0x49,0x66,
-	0x20,0x69,0x74,0x27,0x73,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,
-	0x64,0x2C,0x20,0x74,0x68,0x65,0x20,0x70,0x61,0x73,0x74,0x69,
-	0x6E,0x67,0x20,0x64,0x6F,0x65,0x73,0x6E,0x27,0x74,0x20,0x6F,
-	0x76,0x65,0x72,0x77,0x72,0x69,0x74,0x65,0x3D,0x64,0x61,0x74,
-	0x61,0x20,0x77,0x69,0x74,0x68,0x20,0x6E,0x69,0x6C,0x2D,0x69,
-	0x6E,0x66,0x6F,0x72,0x6D,0x61,0x74,0x69,0x6F,0x6E,0x2C,0x20,
-	0x6F,0x6E,0x6C,0x79,0x20,0x77,0x69,0x74,0x68,0x20,0x61,0x20,
-	0x6E,0x6F,0x74,0x65,0x20,0x6F,0x72,0x20,0x61,0x20,0x6E,0x75,
-	0x6D,0x62,0x65,0x72,0x20,0x3C,0x3E,0x20,0x30,0x2E,0x01,0x3E,
-	0x40,0x3E,0x54,0x68,0x65,0x20,0x63,0x75,0x74,0x20,0x66,0x75,
-	0x6E,0x63,0x74,0x69,0x6F,0x6E,0x73,0x20,0x77,0x6F,0x72,0x6B,
-	0x73,0x20,0x6C,0x69,0x6B,0x65,0x20,0x70,0x61,0x73,0x74,0x69,
-	0x6E,0x67,0x20,0x77,0x69,0x74,0x68,0x20,0x7A,0x65,0x72,0x6F,
-	0x2D,0x64,0x61,0x74,0x61,0x2E,0x20,0x54,0x68,0x69,0x73,0x20,
-	0x6D,0x65,0x61,0x6E,0x73,0x3B,0x74,0x68,0x61,0x74,0x20,0x74,
-	0x68,0x65,0x20,0x63,0x75,0x74,0x74,0x69,0x6E,0x67,0x20,0x69,
-	0x73,0x20,0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x6C,0x65,0x64,
-	0x20,0x77,0x69,0x74,0x68,0x20,0x50,0x2D,0x63,0x6F,0x6C,0x75,
-	0x6D,0x6E,0x20,0x28,0x6F,0x72,0x20,0x54,0x2D,0x63,0x6F,0x6C,
-	0x75,0x6D,0x6E,0x29,0x2E,0x3C,0x3E,0x57,0x68,0x65,0x6E,0x20,
-	0x79,0x6F,0x75,0x20,0x63,0x6F,0x70,0x79,0x20,0x64,0x61,0x74,
-	0x61,0x20,0x77,0x69,0x74,0x68,0x20,0x6D,0x61,0x73,0x6B,0x69,
-	0x6E,0x67,0x2C,0x20,0x74,0x68,0x65,0x20,0x64,0x69,0x73,0x61,
-	0x62,0x6C,0x65,0x64,0x20,0x70,0x61,0x72,0x74,0x73,0x20,0x61,
-	0x72,0x65,0x20,0x6E,0x6F,0x74,0x43,0x63,0x6C,0x65,0x61,0x72,
-	0x65,0x64,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,
-	0x70,0x79,0x62,0x75,0x66,0x66,0x65,0x72,0x2E,0x20,0x28,0x4D,
-	0x61,0x6B,0x69,0x6E,0x67,0x20,0x69,0x74,0x20,0x70,0x6F,0x73,
-	0x73,0x69,0x62,0x6C,0x65,0x20,0x74,0x6F,0x20,0x63,0x6F,0x6C,
-	0x6C,0x65,0x63,0x74,0x20,0x64,0x61,0x74,0x61,0x20,0x66,0x72,
-	0x6F,0x6D,0x27,0x73,0x65,0x76,0x65,0x72,0x61,0x6C,0x20,0x6C,
-	0x6F,0x63,0x61,0x74,0x69,0x6F,0x6E,0x73,0x20,0x69,0x6E,0x74,
-	0x6F,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x70,0x79,0x62,0x75,
-	0x66,0x66,0x65,0x72,0x2E,0x29,0x00,0x03,0x45,0x4E,0x44,0x4C,
-	0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+	0x6F,0x6E,0x2C,0x20,0x4C,0x61,0x79,0x6F,0x75,0x74,0x3A,0x01,
+	0x3E,0x29,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,
+	0x31,0x50,0x61,0x74,0x74,0x65,0x72,0x6E,0x20,0x6C,0x61,0x79,
+	0x6F,0x75,0x74,0x2C,0x20,0x68,0x65,0x78,0x20,0x6E,0x75,0x6D,
+	0x62,0x65,0x72,0x69,0x6E,0x67,0x3A,0x0B,0x3E,0x40,0x58,0x30,
+	0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x41,0x49,0x66,0x20,0x79,
+	0x6F,0x75,0x20,0x75,0x73,0x65,0x20,0x70,0x61,0x74,0x74,0x65,
+	0x72,0x6E,0x73,0x20,0x74,0x68,0x61,0x74,0x20,0x61,0x72,0x65,
+	0x20,0x6C,0x6F,0x6E,0x67,0x65,0x72,0x20,0x74,0x68,0x61,0x6E,
+	0x20,0x39,0x39,0x20,0x6C,0x69,0x6E,0x65,0x73,0x2C,0x20,0x79,
+	0x6F,0x75,0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x75,0x73,
+	0x65,0x45,0x68,0x65,0x78,0x20,0x63,0x6F,0x75,0x6E,0x74,0x69,
+	0x6E,0x67,0x20,0x73,0x69,0x6E,0x63,0x65,0x20,0x74,0x68,0x65,
+	0x72,0x65,0x20,0x61,0x72,0x65,0x20,0x6F,0x6E,0x6C,0x79,0x20,
+	0x32,0x20,0x64,0x69,0x67,0x69,0x74,0x73,0x20,0x69,0x6E,0x20,
+	0x74,0x68,0x65,0x20,0x6C,0x69,0x6E,0x65,0x20,0x6E,0x75,0x6D,
+	0x62,0x65,0x72,0x20,0x63,0x6F,0x6C,0x75,0x6D,0x6E,0x2E,0x00,
+	0x12,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,
+	0x53,0x63,0x6F,0x70,0x65,0x73,0x3A,0x0B,0x3E,0x40,0x58,0x30,
+	0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x43,0x22,0x53,0x74,0x64,
+	0x2E,0x22,0x20,0x28,0x73,0x74,0x61,0x6E,0x64,0x61,0x72,0x64,
+	0x29,0x20,0x77,0x69,0x6C,0x6C,0x20,0x73,0x68,0x6F,0x77,0x20,
+	0x74,0x68,0x65,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x70,
+	0x6F,0x69,0x6E,0x74,0x73,0x20,0x61,0x73,0x20,0x70,0x69,0x78,
+	0x65,0x6C,0x73,0x20,0x28,0x6C,0x69,0x6B,0x65,0x20,0x46,0x54,
+	0x32,0x29,0x2E,0x41,0x22,0x4C,0x69,0x6E,0x65,0x64,0x22,0x20,
+	0x77,0x69,0x6C,0x6C,0x20,0x64,0x72,0x61,0x77,0x20,0x6C,0x69,
+	0x6E,0x65,0x73,0x20,0x62,0x65,0x74,0x77,0x65,0x65,0x6E,0x20,
+	0x74,0x68,0x65,0x20,0x70,0x6F,0x69,0x6E,0x74,0x73,0x2C,0x20,
+	0x6C,0x69,0x6B,0x65,0x20,0x61,0x6E,0x20,0x6F,0x73,0x63,0x69,
+	0x6C,0x6C,0x6F,0x73,0x63,0x6F,0x70,0x65,0x2E,0x00,0x27,0x40,
+	0x58,0x30,0x32,0x30,0x40,0x43,0x30,0x30,0x31,0x43,0x6F,0x6E,
+	0x66,0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6F,0x6E,0x2C,0x20,
+	0x4D,0x69,0x73,0x63,0x65,0x6C,0x6C,0x61,0x6E,0x65,0x6F,0x75,
+	0x73,0x3A,0x01,0x3E,0x15,0x3E,0x40,0x58,0x30,0x34,0x30,0x40,
+	0x43,0x30,0x30,0x31,0x56,0x53,0x79,0x6E,0x63,0x20,0x6F,0x66,
+	0x66,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,0x30,0x40,0x43,0x30,
+	0x30,0x32,0x3F,0x54,0x65,0x6C,0x6C,0x73,0x20,0x74,0x68,0x65,
+	0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x20,0x74,0x6F,0x20,
+	0x6E,0x6F,0x74,0x20,0x75,0x73,0x65,0x20,0x56,0x53,0x79,0x6E,
+	0x63,0x20,0x66,0x6F,0x72,0x20,0x76,0x69,0x64,0x65,0x6F,0x2E,
+	0x20,0x49,0x66,0x20,0x79,0x6F,0x75,0x72,0x20,0x6D,0x6F,0x6E,
+	0x69,0x74,0x6F,0x72,0x27,0x73,0x40,0x72,0x65,0x66,0x72,0x65,
+	0x73,0x68,0x20,0x72,0x61,0x74,0x65,0x20,0x69,0x73,0x20,0x6E,
+	0x6F,0x74,0x20,0x36,0x30,0x48,0x7A,0x20,0x28,0x6F,0x72,0x20,
+	0x35,0x39,0x48,0x7A,0x29,0x2C,0x20,0x74,0x68,0x65,0x6E,0x20,
+	0x56,0x53,0x79,0x6E,0x63,0x20,0x69,0x73,0x20,0x61,0x6C,0x77,
+	0x61,0x79,0x73,0x20,0x6F,0x66,0x66,0x20,0x66,0x6F,0x72,0x45,
+	0x74,0x68,0x69,0x73,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,
+	0x2E,0x20,0x4E,0x6F,0x74,0x20,0x68,0x61,0x76,0x69,0x6E,0x67,
+	0x20,0x56,0x53,0x79,0x6E,0x63,0x20,0x77,0x69,0x6C,0x6C,0x20,
+	0x72,0x65,0x73,0x75,0x6C,0x74,0x20,0x69,0x6E,0x20,0x6C,0x65,
+	0x73,0x73,0x20,0x69,0x6E,0x70,0x75,0x74,0x2F,0x76,0x69,0x64,
+	0x65,0x6F,0x20,0x64,0x65,0x6C,0x61,0x79,0x2C,0x1E,0x62,0x75,
+	0x74,0x20,0x61,0x6C,0x73,0x6F,0x20,0x70,0x6F,0x74,0x65,0x6E,
+	0x74,0x69,0x61,0x6C,0x20,0x73,0x74,0x75,0x74,0x74,0x65,0x72,
+	0x69,0x6E,0x67,0x2E,0x01,0x20,0x18,0x3E,0x40,0x58,0x30,0x34,
+	0x30,0x40,0x43,0x30,0x30,0x31,0x50,0x69,0x78,0x65,0x6C,0x20,
+	0x66,0x69,0x6C,0x74,0x65,0x72,0x3A,0x0B,0x3E,0x40,0x58,0x30,
+	0x36,0x30,0x40,0x43,0x30,0x30,0x32,0x43,0x41,0x70,0x70,0x6C,
+	0x69,0x65,0x73,0x20,0x61,0x20,0x73,0x75,0x62,0x70,0x69,0x78,
+	0x65,0x6C,0x20,0x66,0x69,0x6C,0x74,0x65,0x72,0x20,0x74,0x68,
+	0x61,0x74,0x20,0x69,0x73,0x20,0x75,0x73,0x65,0x64,0x20,0x77,
+	0x68,0x65,0x6E,0x20,0x74,0x68,0x65,0x20,0x77,0x69,0x6E,0x64,
+	0x6F,0x77,0x20,0x69,0x73,0x20,0x75,0x70,0x73,0x63,0x61,0x6C,
+	0x65,0x64,0x2E,0x43,0x54,0x68,0x69,0x73,0x20,0x61,0x6C,0x73,
+	0x6F,0x20,0x6D,0x61,0x6B,0x65,0x73,0x20,0x66,0x75,0x6C,0x6C,
+	0x73,0x63,0x72,0x65,0x65,0x6E,0x20,0x6D,0x6F,0x64,0x65,0x20,
+	0x63,0x6F,0x6D,0x70,0x6C,0x65,0x74,0x65,0x6C,0x79,0x20,0x73,
+	0x74,0x72,0x65,0x74,0x63,0x68,0x20,0x6F,0x75,0x74,0x20,0x69,
+	0x66,0x20,0x69,0x74,0x20,0x64,0x69,0x64,0x6E,0x27,0x74,0x44,
+	0x61,0x6C,0x72,0x65,0x61,0x64,0x79,0x2E,0x20,0x50,0x6C,0x65,
+	0x61,0x73,0x65,0x20,0x6B,0x65,0x65,0x70,0x20,0x69,0x6E,0x20,
+	0x6D,0x69,0x6E,0x64,0x20,0x74,0x68,0x61,0x74,0x20,0x74,0x68,
+	0x69,0x73,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6D,0x61,0x6B,0x65,
+	0x20,0x70,0x69,0x78,0x65,0x6C,0x73,0x20,0x6C,0x6F,0x6F,0x6B,
+	0x20,0x62,0x6C,0x75,0x72,0x72,0x79,0x2E,0x00,0x23,0x40,0x58,
+	0x30,0x32,0x30,0x40,0x43,0x30,0x30,0x31,0x41,0x64,0x76,0x61,
+	0x6E,0x63,0x65,0x64,0x20,0x65,0x64,0x69,0x74,0x20,0x66,0x75,
+	0x6E,0x63,0x74,0x69,0x6F,0x6E,0x73,0x3A,0x20,0x01,0x3E,0x1E,
+	0x3E,0x40,0x58,0x30,0x34,0x30,0x40,0x43,0x30,0x30,0x31,0x43,
+	0x6F,0x70,0x79,0x2F,0x50,0x61,0x73,0x74,0x65,0x20,0x6D,0x61,
+	0x73,0x6B,0x69,0x6E,0x67,0x3A,0x0B,0x3E,0x40,0x58,0x30,0x36,
+	0x30,0x40,0x43,0x30,0x30,0x32,0x37,0x54,0x68,0x65,0x20,0x6D,
+	0x61,0x73,0x6B,0x69,0x6E,0x67,0x20,0x69,0x73,0x20,0x75,0x73,
+	0x65,0x64,0x20,0x66,0x6F,0x72,0x20,0x63,0x6F,0x70,0x79,0x69,
+	0x6E,0x67,0x2F,0x70,0x61,0x73,0x74,0x69,0x6E,0x67,0x20,0x6F,
+	0x6E,0x6C,0x79,0x20,0x70,0x61,0x72,0x74,0x73,0x20,0x6F,0x66,
+	0x20,0x61,0x46,0x22,0x6E,0x6F,0x74,0x65,0x2D,0x63,0x65,0x6C,
+	0x6C,0x22,0x2E,0x20,0x54,0x68,0x65,0x20,0x64,0x69,0x66,0x66,
+	0x65,0x72,0x65,0x6E,0x74,0x20,0x70,0x61,0x72,0x74,0x73,0x20,
+	0x6F,0x66,0x20,0x61,0x20,0x22,0x6E,0x6F,0x74,0x65,0x2D,0x63,
+	0x65,0x6C,0x6C,0x22,0x20,0x69,0x73,0x20,0x4E,0x6F,0x74,0x65,
+	0x2C,0x20,0x49,0x6E,0x73,0x74,0x72,0x2E,0x20,0x6E,0x72,0x2E,
+	0x2C,0x20,0x56,0x6F,0x6C,0x75,0x6D,0x65,0x2C,0x20,0x45,0x66,
+	0x66,0x65,0x63,0x74,0x20,0x6E,0x72,0x20,0x26,0x20,0x45,0x66,
+	0x66,0x65,0x63,0x74,0x20,0x64,0x61,0x74,0x61,0x2E,0x34,0x3E,
+	0x41,0x73,0x20,0x79,0x6F,0x75,0x20,0x63,0x61,0x6E,0x20,0x73,
+	0x65,0x65,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x77,0x69,
+	0x6E,0x64,0x6F,0x77,0x20,0x74,0x68,0x65,0x72,0x65,0x20,0x61,
+	0x72,0x65,0x20,0x33,0x20,0x63,0x6F,0x6C,0x75,0x6D,0x6E,0x73,
+	0x20,0x6F,0x66,0x3D,0x22,0x65,0x6E,0x61,0x62,0x6C,0x65,0x2F,
+	0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x20,0x62,0x75,0x74,0x74,
+	0x6F,0x6E,0x73,0x22,0x20,0x77,0x68,0x69,0x63,0x68,0x20,0x68,
+	0x61,0x73,0x20,0x74,0x68,0x65,0x20,0x6C,0x65,0x74,0x74,0x65,
+	0x72,0x73,0x20,0x43,0x2C,0x50,0x20,0x26,0x20,0x54,0x20,0x61,
+	0x62,0x6F,0x76,0x65,0x2E,0x45,0x3E,0x43,0x20,0x6D,0x65,0x61,
+	0x6E,0x73,0x20,0x63,0x6F,0x70,0x79,0x2C,0x20,0x69,0x74,0x20,
+	0x63,0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x73,0x20,0x77,0x68,0x69,
+	0x63,0x68,0x20,0x70,0x61,0x72,0x74,0x73,0x20,0x74,0x68,0x61,
+	0x74,0x20,0x67,0x6F,0x65,0x73,0x20,0x69,0x6E,0x74,0x6F,0x20,
+	0x74,0x68,0x65,0x20,0x63,0x6F,0x70,0x79,0x62,0x75,0x66,0x66,
+	0x65,0x72,0x2E,0x3E,0x3E,0x50,0x20,0x6D,0x65,0x61,0x6E,0x73,
+	0x20,0x70,0x61,0x73,0x74,0x65,0x20,0x61,0x6E,0x64,0x20,0x63,
+	0x6F,0x6E,0x74,0x72,0x6F,0x6C,0x73,0x20,0x77,0x68,0x69,0x63,
+	0x68,0x20,0x70,0x61,0x72,0x74,0x73,0x20,0x74,0x68,0x61,0x74,
+	0x20,0x67,0x6F,0x65,0x73,0x20,0x6F,0x75,0x74,0x20,0x66,0x72,
+	0x6F,0x6D,0x20,0x74,0x68,0x65,0x0B,0x63,0x6F,0x70,0x79,0x62,
+	0x75,0x66,0x66,0x65,0x72,0x2E,0x45,0x3E,0x54,0x20,0x6D,0x65,
+	0x61,0x6E,0x73,0x20,0x74,0x72,0x61,0x6E,0x73,0x70,0x61,0x72,
+	0x65,0x6E,0x63,0x79,0x2E,0x20,0x49,0x66,0x20,0x69,0x74,0x27,
+	0x73,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x64,0x2C,0x20,0x74,
+	0x68,0x65,0x20,0x70,0x61,0x73,0x74,0x69,0x6E,0x67,0x20,0x64,
+	0x6F,0x65,0x73,0x6E,0x27,0x74,0x20,0x6F,0x76,0x65,0x72,0x77,
+	0x72,0x69,0x74,0x65,0x3D,0x64,0x61,0x74,0x61,0x20,0x77,0x69,
+	0x74,0x68,0x20,0x6E,0x69,0x6C,0x2D,0x69,0x6E,0x66,0x6F,0x72,
+	0x6D,0x61,0x74,0x69,0x6F,0x6E,0x2C,0x20,0x6F,0x6E,0x6C,0x79,
+	0x20,0x77,0x69,0x74,0x68,0x20,0x61,0x20,0x6E,0x6F,0x74,0x65,
+	0x20,0x6F,0x72,0x20,0x61,0x20,0x6E,0x75,0x6D,0x62,0x65,0x72,
+	0x20,0x3C,0x3E,0x20,0x30,0x2E,0x01,0x3E,0x40,0x3E,0x54,0x68,
+	0x65,0x20,0x63,0x75,0x74,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,
+	0x6F,0x6E,0x73,0x20,0x77,0x6F,0x72,0x6B,0x73,0x20,0x6C,0x69,
+	0x6B,0x65,0x20,0x70,0x61,0x73,0x74,0x69,0x6E,0x67,0x20,0x77,
+	0x69,0x74,0x68,0x20,0x7A,0x65,0x72,0x6F,0x2D,0x64,0x61,0x74,
+	0x61,0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x6D,0x65,0x61,0x6E,
+	0x73,0x3B,0x74,0x68,0x61,0x74,0x20,0x74,0x68,0x65,0x20,0x63,
+	0x75,0x74,0x74,0x69,0x6E,0x67,0x20,0x69,0x73,0x20,0x63,0x6F,
+	0x6E,0x74,0x72,0x6F,0x6C,0x6C,0x65,0x64,0x20,0x77,0x69,0x74,
+	0x68,0x20,0x50,0x2D,0x63,0x6F,0x6C,0x75,0x6D,0x6E,0x20,0x28,
+	0x6F,0x72,0x20,0x54,0x2D,0x63,0x6F,0x6C,0x75,0x6D,0x6E,0x29,
+	0x2E,0x3C,0x3E,0x57,0x68,0x65,0x6E,0x20,0x79,0x6F,0x75,0x20,
+	0x63,0x6F,0x70,0x79,0x20,0x64,0x61,0x74,0x61,0x20,0x77,0x69,
+	0x74,0x68,0x20,0x6D,0x61,0x73,0x6B,0x69,0x6E,0x67,0x2C,0x20,
+	0x74,0x68,0x65,0x20,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x64,
+	0x20,0x70,0x61,0x72,0x74,0x73,0x20,0x61,0x72,0x65,0x20,0x6E,
+	0x6F,0x74,0x43,0x63,0x6C,0x65,0x61,0x72,0x65,0x64,0x20,0x69,
+	0x6E,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x70,0x79,0x62,0x75,
+	0x66,0x66,0x65,0x72,0x2E,0x20,0x28,0x4D,0x61,0x6B,0x69,0x6E,
+	0x67,0x20,0x69,0x74,0x20,0x70,0x6F,0x73,0x73,0x69,0x62,0x6C,
+	0x65,0x20,0x74,0x6F,0x20,0x63,0x6F,0x6C,0x6C,0x65,0x63,0x74,
+	0x20,0x64,0x61,0x74,0x61,0x20,0x66,0x72,0x6F,0x6D,0x27,0x73,
+	0x65,0x76,0x65,0x72,0x61,0x6C,0x20,0x6C,0x6F,0x63,0x61,0x74,
+	0x69,0x6F,0x6E,0x73,0x20,0x69,0x6E,0x74,0x6F,0x20,0x74,0x68,
+	0x65,0x20,0x63,0x6F,0x70,0x79,0x62,0x75,0x66,0x66,0x65,0x72,
+	0x2E,0x29,0x00,0x03,0x45,0x4E,0x44,0x4C,0x3B,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
-	0x2A,0x2A,0x2A,0x2A,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+	0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
-	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0E,0x40,0x4C,
-	0x50,0x72,0x6F,0x62,0x6C,0x65,0x6D,0x73,0x2F,0x46,0x41,0x51,
-	0x06,0x3E,0x40,0x58,0x30,0x32,0x30,0x41,0x3E,0x40,0x43,0x30,
-	0x30,0x31,0x51,0x3A,0x20,0x43,0x61,0x6E,0x20,0x49,0x20,0x6D,
-	0x61,0x6B,0x65,0x20,0x66,0x75,0x6C,0x6C,0x73,0x63,0x72,0x65,
-	0x65,0x6E,0x20,0x6D,0x6F,0x64,0x65,0x20,0x73,0x74,0x72,0x65,
-	0x74,0x63,0x68,0x20,0x6F,0x75,0x74,0x20,0x74,0x68,0x65,0x20,
-	0x77,0x68,0x6F,0x6C,0x65,0x20,0x73,0x63,0x72,0x65,0x65,0x6E,
-	0x3F,0x3A,0x3E,0x40,0x43,0x30,0x30,0x32,0x41,0x3A,0x20,0x45,
-	0x6E,0x61,0x62,0x6C,0x65,0x20,0x22,0x50,0x69,0x78,0x65,0x6C,
-	0x20,0x66,0x69,0x6C,0x74,0x65,0x72,0x22,0x20,0x69,0x6E,0x20,
-	0x43,0x6F,0x6E,0x66,0x69,0x67,0x20,0x2D,0x3E,0x20,0x4D,0x69,
-	0x73,0x63,0x65,0x6C,0x6C,0x61,0x6E,0x65,0x6F,0x75,0x73,0x2E,
-	0x4D,0x3E,0x40,0x58,0x30,0x33,0x35,0x49,0x74,0x20,0x77,0x6F,
-	0x6E,0x27,0x74,0x20,0x6C,0x6F,0x6F,0x6B,0x20,0x70,0x72,0x65,
-	0x74,0x74,0x79,0x2C,0x20,0x62,0x75,0x74,0x20,0x74,0x6F,0x20,
-	0x73,0x6F,0x6D,0x65,0x20,0x70,0x65,0x6F,0x70,0x6C,0x65,0x20,
-	0x69,0x74,0x27,0x73,0x20,0x6D,0x75,0x63,0x68,0x20,0x62,0x65,
-	0x74,0x74,0x65,0x72,0x20,0x74,0x68,0x61,0x6E,0x20,0x6E,0x6F,
-	0x74,0x68,0x69,0x6E,0x67,0x2E,0x06,0x3E,0x40,0x58,0x30,0x32,
-	0x30,0x27,0x3E,0x40,0x43,0x30,0x30,0x31,0x51,0x3A,0x20,0x49,
-	0x20,0x63,0x61,0x6E,0x27,0x74,0x20,0x75,0x73,0x65,0x20,0x41,
-	0x4C,0x54,0x2B,0x46,0x34,0x20,0x61,0x6E,0x64,0x20,0x41,0x4C,
-	0x54,0x2B,0x46,0x35,0x21,0x4E,0x3E,0x40,0x43,0x30,0x30,0x32,
-	0x41,0x3A,0x20,0x57,0x69,0x6E,0x64,0x6F,0x77,0x73,0x3A,0x20,
-	0x49,0x66,0x20,0x79,0x6F,0x75,0x20,0x68,0x61,0x76,0x65,0x20,
-	0x47,0x65,0x46,0x6F,0x72,0x63,0x65,0x20,0x45,0x78,0x70,0x65,
-	0x72,0x69,0x65,0x6E,0x63,0x65,0x20,0x69,0x6E,0x73,0x74,0x61,
-	0x6C,0x6C,0x65,0x64,0x2C,0x20,0x79,0x6F,0x75,0x20,0x6E,0x65,
-	0x65,0x64,0x20,0x74,0x6F,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,
-	0x2B,0x3E,0x40,0x58,0x30,0x33,0x35,0x74,0x68,0x65,0x20,0x6B,
-	0x65,0x79,0x62,0x69,0x6E,0x64,0x69,0x6E,0x67,0x73,0x20,0x69,
-	0x6E,0x20,0x69,0x74,0x73,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,
-	0x67,0x73,0x20,0x70,0x61,0x67,0x65,0x2E,0x56,0x6D,0x61,0x63,
-	0x4F,0x53,0x2F,0x4F,0x53,0x20,0x58,0x3A,0x20,0x43,0x68,0x61,
-	0x6E,0x67,0x65,0x20,0x41,0x4C,0x54,0x2B,0x46,0x34,0x2F,0x41,
-	0x4C,0x54,0x2B,0x46,0x35,0x20,0x6B,0x65,0x79,0x73,0x20,0x69,
-	0x6E,0x20,0x74,0x68,0x65,0x20,0x4F,0x53,0x20,0x74,0x6F,0x20,
-	0x73,0x6F,0x6D,0x65,0x74,0x68,0x69,0x6E,0x67,0x20,0x65,0x6C,
-	0x73,0x65,0x2E,0x20,0x41,0x6C,0x73,0x6F,0x20,0x66,0x6F,0x72,
-	0x20,0x47,0x4E,0x55,0x2F,0x4C,0x69,0x6E,0x75,0x78,0x2E,0x06,
-	0x3E,0x40,0x58,0x30,0x32,0x30,0x2B,0x3E,0x40,0x43,0x30,0x30,
-	0x31,0x51,0x3A,0x20,0x54,0x68,0x65,0x20,0x6D,0x6F,0x75,0x73,
-	0x65,0x20,0x63,0x75,0x72,0x73,0x6F,0x72,0x20,0x69,0x73,0x20,
-	0x64,0x65,0x6C,0x61,0x79,0x65,0x64,0x2F,0x6C,0x61,0x67,0x67,
-	0x79,0x21,0x44,0x3E,0x40,0x43,0x30,0x30,0x32,0x41,0x3A,0x20,
-	0x4D,0x61,0x6B,0x65,0x20,0x73,0x75,0x72,0x65,0x20,0x22,0x53,
-	0x6F,0x66,0x74,0x77,0x61,0x72,0x65,0x20,0x6D,0x6F,0x75,0x73,
-	0x65,0x22,0x20,0x69,0x73,0x20,0x64,0x69,0x73,0x61,0x62,0x6C,
-	0x65,0x64,0x20,0x69,0x6E,0x20,0x43,0x6F,0x6E,0x66,0x69,0x67,
-	0x20,0x2D,0x3E,0x20,0x4C,0x61,0x79,0x6F,0x75,0x74,0x2E,0x4B,
-	0x3E,0x40,0x58,0x30,0x33,0x35,0x41,0x6C,0x74,0x65,0x72,0x6E,
-	0x61,0x74,0x69,0x76,0x65,0x6C,0x79,0x2C,0x20,0x79,0x6F,0x75,
-	0x20,0x63,0x61,0x6E,0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x20,
-	0x22,0x56,0x53,0x79,0x6E,0x63,0x20,0x6F,0x66,0x66,0x22,0x20,
-	0x69,0x6E,0x20,0x43,0x6F,0x6E,0x66,0x69,0x67,0x20,0x2D,0x3E,
-	0x20,0x4D,0x69,0x73,0x63,0x65,0x6C,0x6C,0x61,0x6E,0x65,0x6F,
-	0x75,0x73,0x2E,0x46,0x3E,0x54,0x68,0x69,0x73,0x20,0x68,0x6F,
-	0x77,0x65,0x76,0x65,0x72,0x2C,0x20,0x77,0x69,0x6C,0x6C,0x20,
-	0x69,0x6E,0x74,0x72,0x6F,0x64,0x75,0x63,0x65,0x20,0x73,0x74,
-	0x75,0x74,0x74,0x65,0x72,0x69,0x6E,0x67,0x20,0x62,0x65,0x63,
-	0x61,0x75,0x73,0x65,0x20,0x74,0x68,0x65,0x20,0x72,0x65,0x6E,
-	0x64,0x65,0x72,0x69,0x6E,0x67,0x20,0x72,0x61,0x74,0x65,0x20,
-	0x69,0x73,0x22,0x3E,0x6E,0x6F,0x74,0x20,0x65,0x78,0x61,0x63,
-	0x74,0x20,0x74,0x6F,0x20,0x79,0x6F,0x75,0x72,0x20,0x6D,0x6F,
-	0x6E,0x69,0x74,0x6F,0x72,0x27,0x73,0x20,0x72,0x61,0x74,0x65,
-	0x2E,0x06,0x3E,0x40,0x58,0x30,0x32,0x30,0x33,0x3E,0x40,0x43,
-	0x30,0x30,0x31,0x51,0x3A,0x20,0x57,0x69,0x6C,0x6C,0x20,0x79,
-	0x6F,0x75,0x20,0x69,0x6D,0x70,0x6C,0x65,0x6D,0x65,0x6E,0x74,
-	0x20,0x4D,0x49,0x44,0x49,0x20,0x6F,0x75,0x74,0x20,0x66,0x75,
-	0x6E,0x63,0x74,0x69,0x6F,0x6E,0x61,0x6C,0x69,0x74,0x79,0x3F,
-	0x4D,0x3E,0x40,0x43,0x30,0x30,0x32,0x41,0x3A,0x20,0x4E,0x6F,
-	0x2C,0x20,0x73,0x6F,0x72,0x72,0x79,0x2E,0x20,0x54,0x68,0x69,
-	0x73,0x20,0x69,0x73,0x20,0x76,0x65,0x72,0x79,0x20,0x64,0x69,
-	0x66,0x66,0x69,0x63,0x75,0x6C,0x74,0x20,0x74,0x6F,0x20,0x69,
-	0x6D,0x70,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x20,0x63,0x6F,0x72,
-	0x72,0x65,0x63,0x74,0x6C,0x79,0x20,0x77,0x68,0x65,0x6E,0x20,
-	0x68,0x61,0x76,0x69,0x6E,0x67,0x3C,0x3E,0x40,0x58,0x30,0x33,
-	0x35,0x68,0x69,0x67,0x68,0x65,0x72,0x20,0x61,0x75,0x64,0x69,
-	0x6F,0x20,0x62,0x75,0x66,0x66,0x65,0x72,0x20,0x73,0x69,0x7A,
-	0x65,0x73,0x20,0x28,0x62,0x75,0x66,0x66,0x65,0x72,0x65,0x64,
-	0x20,0x72,0x65,0x70,0x6C,0x61,0x79,0x65,0x72,0x20,0x74,0x69,
-	0x63,0x6B,0x73,0x29,0x2E,0x2E,0x2E,0x06,0x3E,0x40,0x58,0x30,
-	0x32,0x30,0x30,0x3E,0x40,0x43,0x30,0x30,0x31,0x51,0x3A,0x20,
-	0x57,0x68,0x65,0x72,0x65,0x20,0x69,0x73,0x20,0x74,0x68,0x65,
-	0x20,0x63,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72,0x61,0x74,0x69,
-	0x6F,0x6E,0x20,0x66,0x69,0x6C,0x65,0x20,0x73,0x74,0x6F,0x72,
-	0x65,0x64,0x3F,0x3F,0x3E,0x40,0x43,0x30,0x30,0x32,0x41,0x3A,
-	0x20,0x57,0x69,0x6E,0x64,0x6F,0x77,0x73,0x3A,0x20,0x5C,0x55,
-	0x73,0x65,0x72,0x73,0x5C,0x55,0x53,0x45,0x52,0x5C,0x41,0x70,
-	0x70,0x44,0x61,0x74,0x61,0x5C,0x52,0x6F,0x61,0x6D,0x69,0x6E,
-	0x67,0x5C,0x46,0x54,0x32,0x20,0x63,0x6C,0x6F,0x6E,0x65,0x5C,
-	0x46,0x54,0x32,0x2E,0x43,0x46,0x47,0x45,0x3E,0x40,0x58,0x30,
-	0x33,0x35,0x4F,0x53,0x20,0x58,0x3A,0x20,0x2F,0x55,0x73,0x65,
-	0x72,0x73,0x2F,0x55,0x53,0x45,0x52,0x2F,0x4C,0x69,0x62,0x72,
-	0x61,0x72,0x79,0x2F,0x41,0x70,0x70,0x6C,0x69,0x63,0x61,0x74,
-	0x69,0x6F,0x6E,0x20,0x53,0x75,0x70,0x70,0x6F,0x72,0x74,0x2F,
-	0x46,0x54,0x32,0x20,0x63,0x6C,0x6F,0x6E,0x65,0x2F,0x46,0x54,
-	0x32,0x2E,0x43,0x46,0x47,0x2F,0x47,0x4E,0x55,0x2F,0x4C,0x69,
-	0x6E,0x75,0x78,0x3A,0x20,0x2F,0x68,0x6F,0x6D,0x65,0x2F,0x55,
-	0x53,0x45,0x52,0x2F,0x2E,0x63,0x6F,0x6E,0x66,0x69,0x67,0x2F,
-	0x46,0x54,0x32,0x20,0x63,0x6C,0x6F,0x6E,0x65,0x2F,0x46,0x54,
-	0x32,0x2E,0x43,0x46,0x47,0x01,0x3E,0x48,0x49,0x74,0x20,0x77,
-	0x69,0x6C,0x6C,0x20,0x62,0x65,0x20,0x73,0x74,0x6F,0x72,0x65,
-	0x64,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x70,0x72,0x6F,
-	0x67,0x72,0x61,0x6D,0x20,0x64,0x69,0x72,0x65,0x63,0x74,0x6F,
-	0x72,0x79,0x20,0x69,0x66,0x20,0x74,0x68,0x65,0x20,0x70,0x61,
-	0x74,0x68,0x20,0x63,0x6F,0x75,0x6C,0x64,0x6E,0x27,0x74,0x20,
-	0x62,0x65,0x20,0x75,0x73,0x65,0x64,0x2E,0x4D,0x49,0x66,0x20,
-	0x79,0x6F,0x75,0x20,0x70,0x75,0x74,0x20,0x74,0x68,0x65,0x20,
-	0x63,0x6F,0x6E,0x66,0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6F,
-	0x6E,0x20,0x66,0x69,0x6C,0x65,0x20,0x69,0x6E,0x20,0x74,0x68,
-	0x65,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x20,0x64,0x69,
-	0x72,0x65,0x63,0x74,0x6F,0x72,0x79,0x2C,0x20,0x69,0x74,0x20,
-	0x77,0x69,0x6C,0x6C,0x20,0x72,0x65,0x61,0x64,0x20,0x74,0x68,
-	0x61,0x74,0x4A,0x6F,0x6E,0x65,0x20,0x61,0x6E,0x64,0x20,0x6E,
-	0x6F,0x74,0x20,0x61,0x74,0x74,0x65,0x6D,0x70,0x74,0x20,0x74,
-	0x6F,0x20,0x63,0x72,0x65,0x61,0x74,0x65,0x20,0x63,0x6F,0x6E,
-	0x66,0x69,0x67,0x20,0x64,0x69,0x72,0x73,0x20,0x66,0x6F,0x72,
-	0x20,0x74,0x68,0x65,0x20,0x4F,0x53,0x20,0x75,0x73,0x65,0x72,
-	0x2E,0x20,0x28,0x70,0x6F,0x72,0x74,0x61,0x62,0x6C,0x65,0x20,
-	0x6D,0x6F,0x64,0x65,0x29,0x06,0x3E,0x40,0x58,0x30,0x32,0x30,
-	0x42,0x3E,0x40,0x43,0x30,0x30,0x31,0x51,0x3A,0x20,0x43,0x61,
-	0x6E,0x20,0x74,0x68,0x65,0x20,0x63,0x6C,0x6F,0x6E,0x65,0x20,
-	0x72,0x65,0x61,0x64,0x20,0x46,0x54,0x32,0x2E,0x43,0x46,0x47,
-	0x20,0x66,0x72,0x6F,0x6D,0x20,0x72,0x65,0x61,0x6C,0x20,0x46,
-	0x54,0x32,0x2C,0x20,0x61,0x6E,0x64,0x20,0x76,0x69,0x63,0x65,
-	0x20,0x76,0x65,0x72,0x73,0x61,0x3F,0x4C,0x3E,0x40,0x43,0x30,
-	0x30,0x32,0x41,0x3A,0x20,0x59,0x65,0x73,0x2C,0x20,0x69,0x74,
-	0x20,0x73,0x68,0x6F,0x75,0x6C,0x64,0x20,0x77,0x6F,0x72,0x6B,
-	0x20,0x6A,0x75,0x73,0x74,0x20,0x66,0x69,0x6E,0x65,0x2E,0x20,
-	0x50,0x75,0x74,0x20,0x69,0x74,0x20,0x69,0x6E,0x20,0x74,0x68,
-	0x65,0x20,0x64,0x69,0x72,0x65,0x63,0x74,0x6F,0x72,0x79,0x20,
-	0x73,0x68,0x6F,0x77,0x6E,0x20,0x61,0x62,0x6F,0x76,0x65,0x2E,
-	0x06,0x3E,0x40,0x58,0x30,0x32,0x30,0x52,0x3E,0x40,0x43,0x30,
-	0x30,0x31,0x51,0x3A,0x20,0x53,0x6D,0x70,0x2E,0x20,0x45,0x64,
-	0x2E,0x3A,0x20,0x57,0x68,0x69,0x6C,0x65,0x20,0x7A,0x6F,0x6F,
-	0x6D,0x69,0x6E,0x67,0x20,0x69,0x6E,0x2C,0x20,0x49,0x20,0x73,
-	0x6F,0x6D,0x65,0x74,0x69,0x6D,0x65,0x73,0x20,0x63,0x61,0x6E,
-	0x27,0x74,0x20,0x6D,0x61,0x72,0x6B,0x20,0x74,0x68,0x65,0x20,
-	0x6C,0x61,0x73,0x74,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,
-	0x70,0x6F,0x69,0x6E,0x74,0x21,0x47,0x3E,0x40,0x43,0x30,0x30,
-	0x32,0x41,0x3A,0x20,0x54,0x68,0x69,0x73,0x20,0x69,0x73,0x20,
-	0x6E,0x6F,0x72,0x6D,0x61,0x6C,0x2E,0x20,0x54,0x68,0x69,0x73,
-	0x20,0x69,0x73,0x20,0x61,0x20,0x6C,0x69,0x6D,0x69,0x74,0x61,
-	0x74,0x69,0x6F,0x6E,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,
-	0x6E,0x61,0x74,0x75,0x72,0x65,0x20,0x6F,0x66,0x20,0x73,0x63,
-	0x61,0x6C,0x69,0x6E,0x67,0x2E,0x06,0x3E,0x40,0x58,0x30,0x32,
-	0x30,0x17,0x3E,0x40,0x43,0x30,0x30,0x31,0x51,0x3A,0x20,0x49,
-	0x20,0x66,0x6F,0x75,0x6E,0x64,0x20,0x61,0x20,0x62,0x75,0x67,
-	0x21,0x4B,0x3E,0x40,0x43,0x30,0x30,0x32,0x41,0x3A,0x20,0x50,
-	0x6C,0x65,0x61,0x73,0x65,0x20,0x73,0x65,0x6E,0x64,0x20,0x61,
-	0x20,0x6D,0x61,0x69,0x6C,0x20,0x74,0x6F,0x20,0x6F,0x6C,0x61,
-	0x76,0x2E,0x73,0x6F,0x72,0x65,0x6E,0x73,0x65,0x6E,0x40,0x6C,
-	0x69,0x76,0x65,0x2E,0x6E,0x6F,0x20,0x61,0x6E,0x64,0x20,0x74,
-	0x72,0x79,0x20,0x74,0x6F,0x20,0x65,0x78,0x70,0x6C,0x61,0x69,
-	0x6E,0x20,0x69,0x74,0x2E,0x00,0x03,0x45,0x4E,0x44,0x4C,0x3B,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+	0x2A,0x2A,0x2A,0x2A,0x2A,0x0E,0x40,0x4C,0x50,0x72,0x6F,0x62,
+	0x6C,0x65,0x6D,0x73,0x2F,0x46,0x41,0x51,0x06,0x3E,0x40,0x58,
+	0x30,0x32,0x30,0x41,0x3E,0x40,0x43,0x30,0x30,0x31,0x51,0x3A,
+	0x20,0x43,0x61,0x6E,0x20,0x49,0x20,0x6D,0x61,0x6B,0x65,0x20,
+	0x66,0x75,0x6C,0x6C,0x73,0x63,0x72,0x65,0x65,0x6E,0x20,0x6D,
+	0x6F,0x64,0x65,0x20,0x73,0x74,0x72,0x65,0x74,0x63,0x68,0x20,
+	0x6F,0x75,0x74,0x20,0x74,0x68,0x65,0x20,0x77,0x68,0x6F,0x6C,
+	0x65,0x20,0x73,0x63,0x72,0x65,0x65,0x6E,0x3F,0x3A,0x3E,0x40,
+	0x43,0x30,0x30,0x32,0x41,0x3A,0x20,0x45,0x6E,0x61,0x62,0x6C,
+	0x65,0x20,0x22,0x50,0x69,0x78,0x65,0x6C,0x20,0x66,0x69,0x6C,
+	0x74,0x65,0x72,0x22,0x20,0x69,0x6E,0x20,0x43,0x6F,0x6E,0x66,
+	0x69,0x67,0x20,0x2D,0x3E,0x20,0x4D,0x69,0x73,0x63,0x65,0x6C,
+	0x6C,0x61,0x6E,0x65,0x6F,0x75,0x73,0x2E,0x4D,0x3E,0x40,0x58,
+	0x30,0x33,0x35,0x49,0x74,0x20,0x77,0x6F,0x6E,0x27,0x74,0x20,
+	0x6C,0x6F,0x6F,0x6B,0x20,0x70,0x72,0x65,0x74,0x74,0x79,0x2C,
+	0x20,0x62,0x75,0x74,0x20,0x74,0x6F,0x20,0x73,0x6F,0x6D,0x65,
+	0x20,0x70,0x65,0x6F,0x70,0x6C,0x65,0x20,0x69,0x74,0x27,0x73,
+	0x20,0x6D,0x75,0x63,0x68,0x20,0x62,0x65,0x74,0x74,0x65,0x72,
+	0x20,0x74,0x68,0x61,0x6E,0x20,0x6E,0x6F,0x74,0x68,0x69,0x6E,
+	0x67,0x2E,0x06,0x3E,0x40,0x58,0x30,0x32,0x30,0x27,0x3E,0x40,
+	0x43,0x30,0x30,0x31,0x51,0x3A,0x20,0x49,0x20,0x63,0x61,0x6E,
+	0x27,0x74,0x20,0x75,0x73,0x65,0x20,0x41,0x4C,0x54,0x2B,0x46,
+	0x34,0x20,0x61,0x6E,0x64,0x20,0x41,0x4C,0x54,0x2B,0x46,0x35,
+	0x21,0x4E,0x3E,0x40,0x43,0x30,0x30,0x32,0x41,0x3A,0x20,0x57,
+	0x69,0x6E,0x64,0x6F,0x77,0x73,0x3A,0x20,0x49,0x66,0x20,0x79,
+	0x6F,0x75,0x20,0x68,0x61,0x76,0x65,0x20,0x47,0x65,0x46,0x6F,
+	0x72,0x63,0x65,0x20,0x45,0x78,0x70,0x65,0x72,0x69,0x65,0x6E,
+	0x63,0x65,0x20,0x69,0x6E,0x73,0x74,0x61,0x6C,0x6C,0x65,0x64,
+	0x2C,0x20,0x79,0x6F,0x75,0x20,0x6E,0x65,0x65,0x64,0x20,0x74,
+	0x6F,0x20,0x63,0x68,0x61,0x6E,0x67,0x65,0x2B,0x3E,0x40,0x58,
+	0x30,0x33,0x35,0x74,0x68,0x65,0x20,0x6B,0x65,0x79,0x62,0x69,
+	0x6E,0x64,0x69,0x6E,0x67,0x73,0x20,0x69,0x6E,0x20,0x69,0x74,
+	0x73,0x20,0x73,0x65,0x74,0x74,0x69,0x6E,0x67,0x73,0x20,0x70,
+	0x61,0x67,0x65,0x2E,0x56,0x6D,0x61,0x63,0x4F,0x53,0x2F,0x4F,
+	0x53,0x20,0x58,0x3A,0x20,0x43,0x68,0x61,0x6E,0x67,0x65,0x20,
+	0x41,0x4C,0x54,0x2B,0x46,0x34,0x2F,0x41,0x4C,0x54,0x2B,0x46,
+	0x35,0x20,0x6B,0x65,0x79,0x73,0x20,0x69,0x6E,0x20,0x74,0x68,
+	0x65,0x20,0x4F,0x53,0x20,0x74,0x6F,0x20,0x73,0x6F,0x6D,0x65,
+	0x74,0x68,0x69,0x6E,0x67,0x20,0x65,0x6C,0x73,0x65,0x2E,0x20,
+	0x41,0x6C,0x73,0x6F,0x20,0x66,0x6F,0x72,0x20,0x47,0x4E,0x55,
+	0x2F,0x4C,0x69,0x6E,0x75,0x78,0x2E,0x06,0x3E,0x40,0x58,0x30,
+	0x32,0x30,0x2B,0x3E,0x40,0x43,0x30,0x30,0x31,0x51,0x3A,0x20,
+	0x54,0x68,0x65,0x20,0x6D,0x6F,0x75,0x73,0x65,0x20,0x63,0x75,
+	0x72,0x73,0x6F,0x72,0x20,0x69,0x73,0x20,0x64,0x65,0x6C,0x61,
+	0x79,0x65,0x64,0x2F,0x6C,0x61,0x67,0x67,0x79,0x21,0x44,0x3E,
+	0x40,0x43,0x30,0x30,0x32,0x41,0x3A,0x20,0x4D,0x61,0x6B,0x65,
+	0x20,0x73,0x75,0x72,0x65,0x20,0x22,0x53,0x6F,0x66,0x74,0x77,
+	0x61,0x72,0x65,0x20,0x6D,0x6F,0x75,0x73,0x65,0x22,0x20,0x69,
+	0x73,0x20,0x64,0x69,0x73,0x61,0x62,0x6C,0x65,0x64,0x20,0x69,
+	0x6E,0x20,0x43,0x6F,0x6E,0x66,0x69,0x67,0x20,0x2D,0x3E,0x20,
+	0x4C,0x61,0x79,0x6F,0x75,0x74,0x2E,0x4B,0x3E,0x40,0x58,0x30,
+	0x33,0x35,0x41,0x6C,0x74,0x65,0x72,0x6E,0x61,0x74,0x69,0x76,
+	0x65,0x6C,0x79,0x2C,0x20,0x79,0x6F,0x75,0x20,0x63,0x61,0x6E,
+	0x20,0x65,0x6E,0x61,0x62,0x6C,0x65,0x20,0x22,0x56,0x53,0x79,
+	0x6E,0x63,0x20,0x6F,0x66,0x66,0x22,0x20,0x69,0x6E,0x20,0x43,
+	0x6F,0x6E,0x66,0x69,0x67,0x20,0x2D,0x3E,0x20,0x4D,0x69,0x73,
+	0x63,0x65,0x6C,0x6C,0x61,0x6E,0x65,0x6F,0x75,0x73,0x2E,0x46,
+	0x3E,0x54,0x68,0x69,0x73,0x20,0x68,0x6F,0x77,0x65,0x76,0x65,
+	0x72,0x2C,0x20,0x77,0x69,0x6C,0x6C,0x20,0x69,0x6E,0x74,0x72,
+	0x6F,0x64,0x75,0x63,0x65,0x20,0x73,0x74,0x75,0x74,0x74,0x65,
+	0x72,0x69,0x6E,0x67,0x20,0x62,0x65,0x63,0x61,0x75,0x73,0x65,
+	0x20,0x74,0x68,0x65,0x20,0x72,0x65,0x6E,0x64,0x65,0x72,0x69,
+	0x6E,0x67,0x20,0x72,0x61,0x74,0x65,0x20,0x69,0x73,0x22,0x3E,
+	0x6E,0x6F,0x74,0x20,0x65,0x78,0x61,0x63,0x74,0x20,0x74,0x6F,
+	0x20,0x79,0x6F,0x75,0x72,0x20,0x6D,0x6F,0x6E,0x69,0x74,0x6F,
+	0x72,0x27,0x73,0x20,0x72,0x61,0x74,0x65,0x2E,0x06,0x3E,0x40,
+	0x58,0x30,0x32,0x30,0x33,0x3E,0x40,0x43,0x30,0x30,0x31,0x51,
+	0x3A,0x20,0x57,0x69,0x6C,0x6C,0x20,0x79,0x6F,0x75,0x20,0x69,
+	0x6D,0x70,0x6C,0x65,0x6D,0x65,0x6E,0x74,0x20,0x4D,0x49,0x44,
+	0x49,0x20,0x6F,0x75,0x74,0x20,0x66,0x75,0x6E,0x63,0x74,0x69,
+	0x6F,0x6E,0x61,0x6C,0x69,0x74,0x79,0x3F,0x4D,0x3E,0x40,0x43,
+	0x30,0x30,0x32,0x41,0x3A,0x20,0x4E,0x6F,0x2C,0x20,0x73,0x6F,
+	0x72,0x72,0x79,0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x69,0x73,
+	0x20,0x76,0x65,0x72,0x79,0x20,0x64,0x69,0x66,0x66,0x69,0x63,
+	0x75,0x6C,0x74,0x20,0x74,0x6F,0x20,0x69,0x6D,0x70,0x6C,0x65,
+	0x6D,0x65,0x6E,0x74,0x20,0x63,0x6F,0x72,0x72,0x65,0x63,0x74,
+	0x6C,0x79,0x20,0x77,0x68,0x65,0x6E,0x20,0x68,0x61,0x76,0x69,
+	0x6E,0x67,0x3C,0x3E,0x40,0x58,0x30,0x33,0x35,0x68,0x69,0x67,
+	0x68,0x65,0x72,0x20,0x61,0x75,0x64,0x69,0x6F,0x20,0x62,0x75,
+	0x66,0x66,0x65,0x72,0x20,0x73,0x69,0x7A,0x65,0x73,0x20,0x28,
+	0x62,0x75,0x66,0x66,0x65,0x72,0x65,0x64,0x20,0x72,0x65,0x70,
+	0x6C,0x61,0x79,0x65,0x72,0x20,0x74,0x69,0x63,0x6B,0x73,0x29,
+	0x2E,0x2E,0x2E,0x06,0x3E,0x40,0x58,0x30,0x32,0x30,0x30,0x3E,
+	0x40,0x43,0x30,0x30,0x31,0x51,0x3A,0x20,0x57,0x68,0x65,0x72,
+	0x65,0x20,0x69,0x73,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x6E,
+	0x66,0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x66,
+	0x69,0x6C,0x65,0x20,0x73,0x74,0x6F,0x72,0x65,0x64,0x3F,0x3F,
+	0x3E,0x40,0x43,0x30,0x30,0x32,0x41,0x3A,0x20,0x57,0x69,0x6E,
+	0x64,0x6F,0x77,0x73,0x3A,0x20,0x5C,0x55,0x73,0x65,0x72,0x73,
+	0x5C,0x55,0x53,0x45,0x52,0x5C,0x41,0x70,0x70,0x44,0x61,0x74,
+	0x61,0x5C,0x52,0x6F,0x61,0x6D,0x69,0x6E,0x67,0x5C,0x46,0x54,
+	0x32,0x20,0x63,0x6C,0x6F,0x6E,0x65,0x5C,0x46,0x54,0x32,0x2E,
+	0x43,0x46,0x47,0x45,0x3E,0x40,0x58,0x30,0x33,0x35,0x4F,0x53,
+	0x20,0x58,0x3A,0x20,0x2F,0x55,0x73,0x65,0x72,0x73,0x2F,0x55,
+	0x53,0x45,0x52,0x2F,0x4C,0x69,0x62,0x72,0x61,0x72,0x79,0x2F,
+	0x41,0x70,0x70,0x6C,0x69,0x63,0x61,0x74,0x69,0x6F,0x6E,0x20,
+	0x53,0x75,0x70,0x70,0x6F,0x72,0x74,0x2F,0x46,0x54,0x32,0x20,
+	0x63,0x6C,0x6F,0x6E,0x65,0x2F,0x46,0x54,0x32,0x2E,0x43,0x46,
+	0x47,0x2F,0x47,0x4E,0x55,0x2F,0x4C,0x69,0x6E,0x75,0x78,0x3A,
+	0x20,0x2F,0x68,0x6F,0x6D,0x65,0x2F,0x55,0x53,0x45,0x52,0x2F,
+	0x2E,0x63,0x6F,0x6E,0x66,0x69,0x67,0x2F,0x46,0x54,0x32,0x20,
+	0x63,0x6C,0x6F,0x6E,0x65,0x2F,0x46,0x54,0x32,0x2E,0x43,0x46,
+	0x47,0x01,0x3E,0x48,0x49,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,
+	0x62,0x65,0x20,0x73,0x74,0x6F,0x72,0x65,0x64,0x20,0x69,0x6E,
+	0x20,0x74,0x68,0x65,0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,
+	0x20,0x64,0x69,0x72,0x65,0x63,0x74,0x6F,0x72,0x79,0x20,0x69,
+	0x66,0x20,0x74,0x68,0x65,0x20,0x70,0x61,0x74,0x68,0x20,0x63,
+	0x6F,0x75,0x6C,0x64,0x6E,0x27,0x74,0x20,0x62,0x65,0x20,0x75,
+	0x73,0x65,0x64,0x2E,0x4D,0x49,0x66,0x20,0x79,0x6F,0x75,0x20,
+	0x70,0x75,0x74,0x20,0x74,0x68,0x65,0x20,0x63,0x6F,0x6E,0x66,
+	0x69,0x67,0x75,0x72,0x61,0x74,0x69,0x6F,0x6E,0x20,0x66,0x69,
+	0x6C,0x65,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x70,0x72,
+	0x6F,0x67,0x72,0x61,0x6D,0x20,0x64,0x69,0x72,0x65,0x63,0x74,
+	0x6F,0x72,0x79,0x2C,0x20,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,
+	0x20,0x72,0x65,0x61,0x64,0x20,0x74,0x68,0x61,0x74,0x4A,0x6F,
+	0x6E,0x65,0x20,0x61,0x6E,0x64,0x20,0x6E,0x6F,0x74,0x20,0x61,
+	0x74,0x74,0x65,0x6D,0x70,0x74,0x20,0x74,0x6F,0x20,0x63,0x72,
+	0x65,0x61,0x74,0x65,0x20,0x63,0x6F,0x6E,0x66,0x69,0x67,0x20,
+	0x64,0x69,0x72,0x73,0x20,0x66,0x6F,0x72,0x20,0x74,0x68,0x65,
+	0x20,0x4F,0x53,0x20,0x75,0x73,0x65,0x72,0x2E,0x20,0x28,0x70,
+	0x6F,0x72,0x74,0x61,0x62,0x6C,0x65,0x20,0x6D,0x6F,0x64,0x65,
+	0x29,0x06,0x3E,0x40,0x58,0x30,0x32,0x30,0x42,0x3E,0x40,0x43,
+	0x30,0x30,0x31,0x51,0x3A,0x20,0x43,0x61,0x6E,0x20,0x74,0x68,
+	0x65,0x20,0x63,0x6C,0x6F,0x6E,0x65,0x20,0x72,0x65,0x61,0x64,
+	0x20,0x46,0x54,0x32,0x2E,0x43,0x46,0x47,0x20,0x66,0x72,0x6F,
+	0x6D,0x20,0x72,0x65,0x61,0x6C,0x20,0x46,0x54,0x32,0x2C,0x20,
+	0x61,0x6E,0x64,0x20,0x76,0x69,0x63,0x65,0x20,0x76,0x65,0x72,
+	0x73,0x61,0x3F,0x4C,0x3E,0x40,0x43,0x30,0x30,0x32,0x41,0x3A,
+	0x20,0x59,0x65,0x73,0x2C,0x20,0x69,0x74,0x20,0x73,0x68,0x6F,
+	0x75,0x6C,0x64,0x20,0x77,0x6F,0x72,0x6B,0x20,0x6A,0x75,0x73,
+	0x74,0x20,0x66,0x69,0x6E,0x65,0x2E,0x20,0x50,0x75,0x74,0x20,
+	0x69,0x74,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x64,0x69,
+	0x72,0x65,0x63,0x74,0x6F,0x72,0x79,0x20,0x73,0x68,0x6F,0x77,
+	0x6E,0x20,0x61,0x62,0x6F,0x76,0x65,0x2E,0x06,0x3E,0x40,0x58,
+	0x30,0x32,0x30,0x52,0x3E,0x40,0x43,0x30,0x30,0x31,0x51,0x3A,
+	0x20,0x53,0x6D,0x70,0x2E,0x20,0x45,0x64,0x2E,0x3A,0x20,0x57,
+	0x68,0x69,0x6C,0x65,0x20,0x7A,0x6F,0x6F,0x6D,0x69,0x6E,0x67,
+	0x20,0x69,0x6E,0x2C,0x20,0x49,0x20,0x73,0x6F,0x6D,0x65,0x74,
+	0x69,0x6D,0x65,0x73,0x20,0x63,0x61,0x6E,0x27,0x74,0x20,0x6D,
+	0x61,0x72,0x6B,0x20,0x74,0x68,0x65,0x20,0x6C,0x61,0x73,0x74,
+	0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x70,0x6F,0x69,0x6E,
+	0x74,0x21,0x47,0x3E,0x40,0x43,0x30,0x30,0x32,0x41,0x3A,0x20,
+	0x54,0x68,0x69,0x73,0x20,0x69,0x73,0x20,0x6E,0x6F,0x72,0x6D,
+	0x61,0x6C,0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x69,0x73,0x20,
+	0x61,0x20,0x6C,0x69,0x6D,0x69,0x74,0x61,0x74,0x69,0x6F,0x6E,
+	0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x6E,0x61,0x74,0x75,
+	0x72,0x65,0x20,0x6F,0x66,0x20,0x73,0x63,0x61,0x6C,0x69,0x6E,
+	0x67,0x2E,0x06,0x3E,0x40,0x58,0x30,0x32,0x30,0x17,0x3E,0x40,
+	0x43,0x30,0x30,0x31,0x51,0x3A,0x20,0x49,0x20,0x66,0x6F,0x75,
+	0x6E,0x64,0x20,0x61,0x20,0x62,0x75,0x67,0x21,0x4B,0x3E,0x40,
+	0x43,0x30,0x30,0x32,0x41,0x3A,0x20,0x50,0x6C,0x65,0x61,0x73,
+	0x65,0x20,0x73,0x65,0x6E,0x64,0x20,0x61,0x20,0x6D,0x61,0x69,
+	0x6C,0x20,0x74,0x6F,0x20,0x6F,0x6C,0x61,0x76,0x2E,0x73,0x6F,
+	0x72,0x65,0x6E,0x73,0x65,0x6E,0x40,0x6C,0x69,0x76,0x65,0x2E,
+	0x6E,0x6F,0x20,0x61,0x6E,0x64,0x20,0x74,0x72,0x79,0x20,0x74,
+	0x6F,0x20,0x65,0x78,0x70,0x6C,0x61,0x69,0x6E,0x20,0x69,0x74,
+	0x2E,0x00,0x03,0x45,0x4E,0x44,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
-	0x2A,0x2A,0x2A,0x4C,0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
+	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x4C,
+	0x3B,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
 	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,
-	0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x0C,0x40,0x4C,0x4B,
-	0x6E,0x6F,0x77,0x6E,0x20,0x62,0x75,0x67,0x73,0x06,0x3E,0x40,
-	0x58,0x30,0x31,0x30,0x14,0x3E,0x40,0x43,0x30,0x30,0x31,0x53,
-	0x61,0x6D,0x70,0x6C,0x65,0x20,0x65,0x64,0x69,0x74,0x6F,0x72,
-	0x3A,0x06,0x3E,0x40,0x43,0x30,0x30,0x32,0x4E,0x3E,0x40,0x58,
-	0x30,0x31,0x30,0x2D,0x20,0x57,0x68,0x65,0x6E,0x20,0x61,0x20,
-	0x6C,0x6F,0x6F,0x70,0x65,0x64,0x20,0x73,0x61,0x6D,0x70,0x6C,
-	0x65,0x20,0x69,0x73,0x20,0x7A,0x6F,0x6F,0x6D,0x65,0x64,0x20,
-	0x6F,0x75,0x74,0x20,0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x73,
-	0x61,0x6D,0x70,0x6C,0x65,0x20,0x65,0x64,0x69,0x74,0x6F,0x72,
-	0x2C,0x20,0x79,0x6F,0x75,0x20,0x63,0x6F,0x75,0x6C,0x64,0x20,
-	0x73,0x65,0x65,0x4F,0x3E,0x40,0x58,0x30,0x32,0x31,0x75,0x6E,
-	0x65,0x78,0x70,0x65,0x63,0x74,0x65,0x64,0x20,0x73,0x61,0x6D,
-	0x70,0x6C,0x65,0x20,0x64,0x61,0x74,0x61,0x20,0x61,0x74,0x20,
-	0x74,0x68,0x65,0x20,0x6C,0x6F,0x6F,0x70,0x2D,0x65,0x6E,0x64,
-	0x20,0x70,0x6F,0x69,0x6E,0x74,0x2E,0x20,0x54,0x68,0x69,0x73,
+	0x2A,0x2A,0x2A,0x2A,0x0C,0x40,0x4C,0x4B,0x6E,0x6F,0x77,0x6E,
+	0x20,0x62,0x75,0x67,0x73,0x06,0x3E,0x40,0x58,0x30,0x31,0x30,
+	0x14,0x3E,0x40,0x43,0x30,0x30,0x31,0x53,0x61,0x6D,0x70,0x6C,
+	0x65,0x20,0x65,0x64,0x69,0x74,0x6F,0x72,0x3A,0x06,0x3E,0x40,
+	0x43,0x30,0x30,0x32,0x4E,0x3E,0x40,0x58,0x30,0x31,0x30,0x2D,
+	0x20,0x57,0x68,0x65,0x6E,0x20,0x61,0x20,0x6C,0x6F,0x6F,0x70,
+	0x65,0x64,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x69,0x73,
+	0x20,0x7A,0x6F,0x6F,0x6D,0x65,0x64,0x20,0x6F,0x75,0x74,0x20,
+	0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6D,0x70,0x6C,
+	0x65,0x20,0x65,0x64,0x69,0x74,0x6F,0x72,0x2C,0x20,0x79,0x6F,
+	0x75,0x20,0x63,0x6F,0x75,0x6C,0x64,0x20,0x73,0x65,0x65,0x4F,
+	0x3E,0x40,0x58,0x30,0x32,0x31,0x75,0x6E,0x65,0x78,0x70,0x65,
+	0x63,0x74,0x65,0x64,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,
+	0x64,0x61,0x74,0x61,0x20,0x61,0x74,0x20,0x74,0x68,0x65,0x20,
+	0x6C,0x6F,0x6F,0x70,0x2D,0x65,0x6E,0x64,0x20,0x70,0x6F,0x69,
+	0x6E,0x74,0x2E,0x20,0x54,0x68,0x69,0x73,0x20,0x69,0x73,0x20,
+	0x62,0x65,0x63,0x61,0x75,0x73,0x65,0x20,0x6F,0x66,0x20,0x61,
+	0x20,0x6B,0x6C,0x75,0x64,0x67,0x65,0x4B,0x66,0x6F,0x72,0x20,
+	0x74,0x68,0x65,0x20,0x72,0x65,0x73,0x61,0x6D,0x70,0x6C,0x69,
+	0x6E,0x67,0x20,0x69,0x6E,0x74,0x65,0x72,0x70,0x6F,0x6C,0x61,
+	0x74,0x69,0x6F,0x6E,0x20,0x74,0x6F,0x20,0x77,0x6F,0x72,0x6B,
+	0x20,0x66,0x61,0x73,0x74,0x65,0x72,0x20,0x69,0x6E,0x20,0x74,
+	0x68,0x65,0x20,0x61,0x75,0x64,0x69,0x6F,0x20,0x6D,0x69,0x78,
+	0x65,0x72,0x2C,0x20,0x61,0x6E,0x64,0x20,0x74,0x68,0x65,0x4B,
+	0x6F,0x72,0x69,0x67,0x69,0x6E,0x61,0x6C,0x20,0x46,0x54,0x32,
+	0x20,0x68,0x61,0x73,0x20,0x74,0x68,0x65,0x20,0x73,0x61,0x6D,
+	0x65,0x20,0x70,0x72,0x6F,0x62,0x6C,0x65,0x6D,0x2E,0x20,0x49,
+	0x20,0x68,0x61,0x76,0x65,0x20,0x6D,0x61,0x64,0x65,0x20,0x69,
+	0x74,0x20,0x73,0x6F,0x20,0x74,0x68,0x61,0x74,0x20,0x69,0x66,
+	0x20,0x79,0x6F,0x75,0x20,0x7A,0x6F,0x6F,0x6D,0x20,0x69,0x6E,
+	0x20,0x74,0x6F,0x3B,0x73,0x65,0x65,0x20,0x74,0x68,0x65,0x20,
+	0x69,0x6E,0x64,0x69,0x76,0x69,0x64,0x75,0x61,0x6C,0x20,0x73,
+	0x61,0x6D,0x70,0x6C,0x65,0x20,0x70,0x6F,0x69,0x6E,0x74,0x73,
+	0x2C,0x20,0x69,0x74,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6C,0x6F,
+	0x6F,0x6B,0x20,0x6C,0x69,0x6B,0x65,0x20,0x6E,0x6F,0x72,0x6D,
+	0x61,0x6C,0x2E,0x06,0x3E,0x40,0x58,0x30,0x31,0x30,0x17,0x3E,
+	0x40,0x43,0x30,0x30,0x31,0x4D,0x6F,0x75,0x73,0x65,0x20,0x2F,
+	0x20,0x6B,0x65,0x79,0x62,0x6F,0x61,0x72,0x64,0x3A,0x01,0x3E,
+	0x43,0x3E,0x40,0x43,0x30,0x30,0x32,0x2D,0x20,0x4C,0x69,0x6E,
+	0x75,0x78,0x3A,0x20,0x54,0x68,0x65,0x20,0x6D,0x6F,0x75,0x73,
+	0x65,0x20,0x63,0x75,0x72,0x73,0x6F,0x72,0x20,0x67,0x72,0x61,
+	0x70,0x68,0x69,0x63,0x73,0x20,0x63,0x61,0x6E,0x20,0x62,0x65,
+	0x20,0x67,0x6C,0x69,0x74,0x63,0x68,0x79,0x20,0x61,0x74,0x20,
+	0x74,0x69,0x6D,0x65,0x73,0x2E,0x2E,0x2E,0x06,0x3E,0x40,0x58,
+	0x30,0x31,0x30,0x0C,0x3E,0x40,0x43,0x30,0x30,0x31,0x56,0x69,
+	0x64,0x65,0x6F,0x3A,0x06,0x3E,0x40,0x43,0x30,0x30,0x32,0x50,
+	0x3E,0x40,0x58,0x30,0x31,0x30,0x2D,0x20,0x46,0x75,0x6C,0x6C,
+	0x73,0x63,0x72,0x65,0x65,0x6E,0x20,0x6D,0x6F,0x64,0x65,0x20,
+	0x63,0x61,0x6E,0x20,0x62,0x65,0x20,0x75,0x6E,0x62,0x65,0x61,
+	0x72,0x61,0x62,0x6C,0x79,0x20,0x73,0x6C,0x6F,0x77,0x20,0x6F,
+	0x6E,0x20,0x61,0x20,0x52,0x61,0x73,0x70,0x62,0x65,0x72,0x72,
+	0x79,0x20,0x50,0x69,0x20,0x28,0x65,0x76,0x65,0x6E,0x20,0x6F,
+	0x6E,0x20,0x52,0x50,0x69,0x20,0x34,0x29,0x01,0x3E,0x4A,0x3E,
+	0x40,0x58,0x30,0x31,0x30,0x2D,0x20,0x54,0x68,0x65,0x20,0x73,
+	0x63,0x6F,0x70,0x65,0x73,0x20,0x63,0x61,0x6E,0x20,0x6D,0x69,
+	0x6C,0x64,0x6C,0x79,0x20,0x66,0x6C,0x69,0x63,0x6B,0x65,0x72,
+	0x20,0x64,0x65,0x70,0x65,0x6E,0x64,0x69,0x6E,0x67,0x20,0x6F,
+	0x6E,0x20,0x74,0x68,0x65,0x20,0x77,0x61,0x76,0x65,0x66,0x6F,
+	0x72,0x6D,0x20,0x61,0x6E,0x64,0x20,0x70,0x69,0x74,0x63,0x68,
+	0x2E,0x4D,0x3E,0x40,0x58,0x30,0x32,0x31,0x54,0x68,0x69,0x73,
 	0x20,0x69,0x73,0x20,0x62,0x65,0x63,0x61,0x75,0x73,0x65,0x20,
-	0x6F,0x66,0x20,0x61,0x20,0x6B,0x6C,0x75,0x64,0x67,0x65,0x4B,
-	0x66,0x6F,0x72,0x20,0x74,0x68,0x65,0x20,0x72,0x65,0x73,0x61,
-	0x6D,0x70,0x6C,0x69,0x6E,0x67,0x20,0x69,0x6E,0x74,0x65,0x72,
-	0x70,0x6F,0x6C,0x61,0x74,0x69,0x6F,0x6E,0x20,0x74,0x6F,0x20,
-	0x77,0x6F,0x72,0x6B,0x20,0x66,0x61,0x73,0x74,0x65,0x72,0x20,
-	0x69,0x6E,0x20,0x74,0x68,0x65,0x20,0x61,0x75,0x64,0x69,0x6F,
-	0x20,0x6D,0x69,0x78,0x65,0x72,0x2C,0x20,0x61,0x6E,0x64,0x20,
-	0x74,0x68,0x65,0x4B,0x6F,0x72,0x69,0x67,0x69,0x6E,0x61,0x6C,
-	0x20,0x46,0x54,0x32,0x20,0x68,0x61,0x73,0x20,0x74,0x68,0x65,
-	0x20,0x73,0x61,0x6D,0x65,0x20,0x70,0x72,0x6F,0x62,0x6C,0x65,
-	0x6D,0x2E,0x20,0x49,0x20,0x68,0x61,0x76,0x65,0x20,0x6D,0x61,
-	0x64,0x65,0x20,0x69,0x74,0x20,0x73,0x6F,0x20,0x74,0x68,0x61,
-	0x74,0x20,0x69,0x66,0x20,0x79,0x6F,0x75,0x20,0x7A,0x6F,0x6F,
-	0x6D,0x20,0x69,0x6E,0x20,0x74,0x6F,0x3B,0x73,0x65,0x65,0x20,
-	0x74,0x68,0x65,0x20,0x69,0x6E,0x64,0x69,0x76,0x69,0x64,0x75,
-	0x61,0x6C,0x20,0x73,0x61,0x6D,0x70,0x6C,0x65,0x20,0x70,0x6F,
-	0x69,0x6E,0x74,0x73,0x2C,0x20,0x69,0x74,0x20,0x77,0x69,0x6C,
-	0x6C,0x20,0x6C,0x6F,0x6F,0x6B,0x20,0x6C,0x69,0x6B,0x65,0x20,
-	0x6E,0x6F,0x72,0x6D,0x61,0x6C,0x2E,0x06,0x3E,0x40,0x58,0x30,
-	0x31,0x30,0x17,0x3E,0x40,0x43,0x30,0x30,0x31,0x4D,0x6F,0x75,
-	0x73,0x65,0x20,0x2F,0x20,0x6B,0x65,0x79,0x62,0x6F,0x61,0x72,
-	0x64,0x3A,0x01,0x3E,0x43,0x3E,0x40,0x43,0x30,0x30,0x32,0x2D,
-	0x20,0x4C,0x69,0x6E,0x75,0x78,0x3A,0x20,0x54,0x68,0x65,0x20,
-	0x6D,0x6F,0x75,0x73,0x65,0x20,0x63,0x75,0x72,0x73,0x6F,0x72,
-	0x20,0x67,0x72,0x61,0x70,0x68,0x69,0x63,0x73,0x20,0x63,0x61,
-	0x6E,0x20,0x62,0x65,0x20,0x67,0x6C,0x69,0x74,0x63,0x68,0x79,
-	0x20,0x61,0x74,0x20,0x74,0x69,0x6D,0x65,0x73,0x2E,0x2E,0x2E,
-	0x06,0x3E,0x40,0x58,0x30,0x31,0x30,0x0C,0x3E,0x40,0x43,0x30,
-	0x30,0x31,0x56,0x69,0x64,0x65,0x6F,0x3A,0x06,0x3E,0x40,0x43,
-	0x30,0x30,0x32,0x50,0x3E,0x40,0x58,0x30,0x31,0x30,0x2D,0x20,
-	0x46,0x75,0x6C,0x6C,0x73,0x63,0x72,0x65,0x65,0x6E,0x20,0x6D,
-	0x6F,0x64,0x65,0x20,0x63,0x61,0x6E,0x20,0x62,0x65,0x20,0x75,
-	0x6E,0x62,0x65,0x61,0x72,0x61,0x62,0x6C,0x79,0x20,0x73,0x6C,
-	0x6F,0x77,0x20,0x6F,0x6E,0x20,0x61,0x20,0x52,0x61,0x73,0x70,
-	0x62,0x65,0x72,0x72,0x79,0x20,0x50,0x69,0x20,0x28,0x65,0x76,
-	0x65,0x6E,0x20,0x6F,0x6E,0x20,0x52,0x50,0x69,0x20,0x34,0x29,
-	0x01,0x3E,0x4A,0x3E,0x40,0x58,0x30,0x31,0x30,0x2D,0x20,0x54,
-	0x68,0x65,0x20,0x73,0x63,0x6F,0x70,0x65,0x73,0x20,0x63,0x61,
-	0x6E,0x20,0x6D,0x69,0x6C,0x64,0x6C,0x79,0x20,0x66,0x6C,0x69,
-	0x63,0x6B,0x65,0x72,0x20,0x64,0x65,0x70,0x65,0x6E,0x64,0x69,
-	0x6E,0x67,0x20,0x6F,0x6E,0x20,0x74,0x68,0x65,0x20,0x77,0x61,
-	0x76,0x65,0x66,0x6F,0x72,0x6D,0x20,0x61,0x6E,0x64,0x20,0x70,
-	0x69,0x74,0x63,0x68,0x2E,0x4D,0x3E,0x40,0x58,0x30,0x32,0x31,
-	0x54,0x68,0x69,0x73,0x20,0x69,0x73,0x20,0x62,0x65,0x63,0x61,
-	0x75,0x73,0x65,0x20,0x74,0x68,0x65,0x69,0x72,0x20,0x66,0x72,
-	0x65,0x71,0x75,0x65,0x6E,0x63,0x79,0x20,0x69,0x73,0x20,0x6E,
-	0x6F,0x74,0x20,0x63,0x6C,0x6F,0x63,0x6B,0x65,0x64,0x20,0x74,
-	0x6F,0x20,0x65,0x78,0x61,0x63,0x74,0x6C,0x79,0x20,0x74,0x68,
-	0x65,0x20,0x73,0x61,0x6D,0x65,0x20,0x72,0x61,0x74,0x65,0x4D,
-	0x3E,0x61,0x74,0x20,0x77,0x68,0x69,0x63,0x68,0x20,0x74,0x68,
-	0x65,0x20,0x73,0x63,0x6F,0x70,0x65,0x73,0x20,0x61,0x72,0x65,
-	0x20,0x72,0x65,0x6E,0x64,0x65,0x72,0x65,0x64,0x2E,0x20,0x49,
-	0x74,0x27,0x73,0x20,0x63,0x6C,0x6F,0x73,0x65,0x2C,0x20,0x77,
-	0x68,0x69,0x63,0x68,0x20,0x63,0x61,0x75,0x73,0x65,0x73,0x20,
-	0x61,0x20,0x66,0x6C,0x69,0x63,0x6B,0x65,0x72,0x20,0x65,0x66,
-	0x66,0x65,0x63,0x74,0x2E,0x01,0x3E,0x52,0x3E,0x40,0x58,0x30,
-	0x31,0x30,0x2D,0x20,0x4E,0x6F,0x74,0x20,0x61,0x20,0x62,0x75,
-	0x67,0x2C,0x20,0x62,0x75,0x74,0x20,0x69,0x66,0x20,0x79,0x6F,
-	0x75,0x72,0x20,0x6D,0x6F,0x6E,0x69,0x74,0x6F,0x72,0x27,0x73,
-	0x20,0x72,0x65,0x66,0x72,0x65,0x73,0x68,0x20,0x72,0x61,0x74,
-	0x65,0x20,0x69,0x73,0x20,0x6E,0x6F,0x74,0x20,0x73,0x65,0x74,
-	0x20,0x74,0x6F,0x20,0x36,0x30,0x48,0x7A,0x20,0x28,0x6F,0x72,
-	0x20,0x35,0x39,0x48,0x7A,0x29,0x4F,0x3E,0x40,0x58,0x30,0x32,
-	0x31,0x79,0x6F,0x75,0x20,0x6D,0x61,0x79,0x20,0x65,0x78,0x70,
-	0x65,0x72,0x69,0x65,0x6E,0x63,0x65,0x20,0x76,0x69,0x73,0x75,
-	0x61,0x6C,0x20,0x73,0x74,0x75,0x74,0x74,0x65,0x72,0x69,0x6E,
-	0x67,0x20,0x62,0x65,0x63,0x61,0x75,0x73,0x65,0x20,0x56,0x53,
-	0x79,0x6E,0x63,0x20,0x77,0x69,0x6C,0x6C,0x20,0x6E,0x6F,0x74,
-	0x20,0x62,0x65,0x20,0x75,0x73,0x65,0x64,0x20,0x74,0x68,0x65,
-	0x6E,0x2E,0x49,0x49,0x20,0x68,0x69,0x67,0x68,0x6C,0x79,0x20,
-	0x72,0x65,0x63,0x6F,0x6D,0x6D,0x65,0x6E,0x64,0x20,0x72,0x75,
-	0x6E,0x6E,0x69,0x6E,0x67,0x20,0x79,0x6F,0x75,0x72,0x20,0x6D,
-	0x6F,0x6E,0x69,0x74,0x6F,0x72,0x20,0x61,0x74,0x20,0x36,0x30,
-	0x48,0x7A,0x20,0x69,0x66,0x20,0x79,0x6F,0x75,0x27,0x72,0x65,
-	0x20,0x61,0x20,0x68,0x61,0x72,0x64,0x63,0x6F,0x72,0x65,0x20,
-	0x75,0x73,0x65,0x72,0x10,0x6F,0x66,0x20,0x74,0x68,0x69,0x73,
-	0x20,0x70,0x72,0x6F,0x67,0x72,0x61,0x6D,0x2E,0x00,0x03,0x45,
-	0x4E,0x44
+	0x74,0x68,0x65,0x69,0x72,0x20,0x66,0x72,0x65,0x71,0x75,0x65,
+	0x6E,0x63,0x79,0x20,0x69,0x73,0x20,0x6E,0x6F,0x74,0x20,0x63,
+	0x6C,0x6F,0x63,0x6B,0x65,0x64,0x20,0x74,0x6F,0x20,0x65,0x78,
+	0x61,0x63,0x74,0x6C,0x79,0x20,0x74,0x68,0x65,0x20,0x73,0x61,
+	0x6D,0x65,0x20,0x72,0x61,0x74,0x65,0x4D,0x3E,0x61,0x74,0x20,
+	0x77,0x68,0x69,0x63,0x68,0x20,0x74,0x68,0x65,0x20,0x73,0x63,
+	0x6F,0x70,0x65,0x73,0x20,0x61,0x72,0x65,0x20,0x72,0x65,0x6E,
+	0x64,0x65,0x72,0x65,0x64,0x2E,0x20,0x49,0x74,0x27,0x73,0x20,
+	0x63,0x6C,0x6F,0x73,0x65,0x2C,0x20,0x77,0x68,0x69,0x63,0x68,
+	0x20,0x63,0x61,0x75,0x73,0x65,0x73,0x20,0x61,0x20,0x66,0x6C,
+	0x69,0x63,0x6B,0x65,0x72,0x20,0x65,0x66,0x66,0x65,0x63,0x74,
+	0x2E,0x01,0x3E,0x52,0x3E,0x40,0x58,0x30,0x31,0x30,0x2D,0x20,
+	0x4E,0x6F,0x74,0x20,0x61,0x20,0x62,0x75,0x67,0x2C,0x20,0x62,
+	0x75,0x74,0x20,0x69,0x66,0x20,0x79,0x6F,0x75,0x72,0x20,0x6D,
+	0x6F,0x6E,0x69,0x74,0x6F,0x72,0x27,0x73,0x20,0x72,0x65,0x66,
+	0x72,0x65,0x73,0x68,0x20,0x72,0x61,0x74,0x65,0x20,0x69,0x73,
+	0x20,0x6E,0x6F,0x74,0x20,0x73,0x65,0x74,0x20,0x74,0x6F,0x20,
+	0x36,0x30,0x48,0x7A,0x20,0x28,0x6F,0x72,0x20,0x35,0x39,0x48,
+	0x7A,0x29,0x4F,0x3E,0x40,0x58,0x30,0x32,0x31,0x79,0x6F,0x75,
+	0x20,0x6D,0x61,0x79,0x20,0x65,0x78,0x70,0x65,0x72,0x69,0x65,
+	0x6E,0x63,0x65,0x20,0x76,0x69,0x73,0x75,0x61,0x6C,0x20,0x73,
+	0x74,0x75,0x74,0x74,0x65,0x72,0x69,0x6E,0x67,0x20,0x62,0x65,
+	0x63,0x61,0x75,0x73,0x65,0x20,0x56,0x53,0x79,0x6E,0x63,0x20,
+	0x77,0x69,0x6C,0x6C,0x20,0x6E,0x6F,0x74,0x20,0x62,0x65,0x20,
+	0x75,0x73,0x65,0x64,0x20,0x74,0x68,0x65,0x6E,0x2E,0x49,0x49,
+	0x20,0x68,0x69,0x67,0x68,0x6C,0x79,0x20,0x72,0x65,0x63,0x6F,
+	0x6D,0x6D,0x65,0x6E,0x64,0x20,0x72,0x75,0x6E,0x6E,0x69,0x6E,
+	0x67,0x20,0x79,0x6F,0x75,0x72,0x20,0x6D,0x6F,0x6E,0x69,0x74,
+	0x6F,0x72,0x20,0x61,0x74,0x20,0x36,0x30,0x48,0x7A,0x20,0x69,
+	0x66,0x20,0x79,0x6F,0x75,0x27,0x72,0x65,0x20,0x61,0x20,0x68,
+	0x61,0x72,0x64,0x63,0x6F,0x72,0x65,0x20,0x75,0x73,0x65,0x72,
+	0x10,0x6F,0x66,0x20,0x74,0x68,0x69,0x73,0x20,0x70,0x72,0x6F,
+	0x67,0x72,0x61,0x6D,0x2E,0x00,0x03,0x45,0x4E,0x44
 };
 
 #endif
--- a/src/mixer/ft2_center_mix.c
+++ b/src/mixer/ft2_center_mix.c
@@ -13,39 +13,28 @@
 
 void centerMix8bNoLoop(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int8_t *base, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_MONO
 	GET_MIXER_VARS
 	SET_BASE8
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_MONO
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_MONO
-			INC_POS
-			RENDER_8BIT_SMP_MONO
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_MONO
@@ -66,39 +55,28 @@
 
 void centerMix8bLoop(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *smpPtr;;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int8_t *base, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_MONO
 	GET_MIXER_VARS
 	SET_BASE8
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_MONO
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_MONO
-			INC_POS
-			RENDER_8BIT_SMP_MONO
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_MONO
@@ -119,40 +97,29 @@
 
 void centerMix8bBidiLoop(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *CDA_LinAdrRev, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos, delta;
-#else
-	uint32_t pos, delta;
-#endif
+	const int8_t *base, *revBase, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac, tmpDelta;
 
 	GET_VOL_MONO
 	GET_MIXER_VARS
 	SET_BASE8_BIDI
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
 		START_BIDI
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_MONO
 			INC_POS_BIDI
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_MONO
-			INC_POS_BIDI
-			RENDER_8BIT_SMP_MONO
-			INC_POS_BIDI
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_MONO
@@ -174,39 +141,28 @@
 
 void centerMix8bNoLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int8_t *base, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_MONO
 	GET_MIXER_VARS
 	SET_BASE8
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_MONO_INTRP
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_MONO_INTRP
-			INC_POS
-			RENDER_8BIT_SMP_MONO_INTRP
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_MONO_INTRP
@@ -227,39 +183,28 @@
 
 void centerMix8bLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int8_t *base, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_MONO
 	GET_MIXER_VARS
 	SET_BASE8
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_MONO_INTRP
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_MONO_INTRP
-			INC_POS
-			RENDER_8BIT_SMP_MONO_INTRP
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_MONO_INTRP
@@ -280,40 +225,29 @@
 
 void centerMix8bBidiLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *CDA_LinAdrRev, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos, delta;
-#else
-	uint32_t pos, delta;
-#endif
+	const int8_t *base, *revBase, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac, tmpDelta;
 
 	GET_VOL_MONO
 	GET_MIXER_VARS
 	SET_BASE8_BIDI
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
 		START_BIDI
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_MONO_INTRP
 			INC_POS_BIDI
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_MONO_INTRP
-			INC_POS_BIDI
-			RENDER_8BIT_SMP_MONO_INTRP
-			INC_POS_BIDI
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_MONO_INTRP
@@ -335,44 +269,31 @@
 
 void centerMix8bRampNoLoop(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_LVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int8_t *base, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolL;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_MONO_RAMP
 	GET_MIXER_VARS_MONO_RAMP
 	SET_BASE8
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_MONO_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_MONO
 			VOLUME_RAMPING_MONO
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_MONO
-			VOLUME_RAMPING_MONO
-			INC_POS
-			RENDER_8BIT_SMP_MONO
-			VOLUME_RAMPING_MONO
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_MONO
@@ -398,44 +319,31 @@
 
 void centerMix8bRampLoop(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_LVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int8_t *base, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolL;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_MONO_RAMP
 	GET_MIXER_VARS_MONO_RAMP
 	SET_BASE8
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_MONO_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_MONO
 			VOLUME_RAMPING_MONO
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_MONO
-			VOLUME_RAMPING_MONO
-			INC_POS
-			RENDER_8BIT_SMP_MONO
-			VOLUME_RAMPING_MONO
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_MONO
@@ -461,45 +369,32 @@
 
 void centerMix8bRampBidiLoop(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *CDA_LinAdrRev, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_LVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos, delta;
-#else
-	uint32_t pos, delta;
-#endif
+	const int8_t *base, *revBase, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolL;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac, tmpDelta;
 
 	GET_VOL_MONO_RAMP
 	GET_MIXER_VARS_MONO_RAMP
 	SET_BASE8_BIDI
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_MONO_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
 		START_BIDI
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_MONO
 			VOLUME_RAMPING_MONO
 			INC_POS_BIDI
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_MONO
-			VOLUME_RAMPING_MONO
-			INC_POS_BIDI
-			RENDER_8BIT_SMP_MONO
-			VOLUME_RAMPING_MONO
-			INC_POS_BIDI
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_MONO
@@ -526,44 +421,31 @@
 
 void centerMix8bRampNoLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_LVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int8_t *base, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolL;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_MONO_RAMP
 	GET_MIXER_VARS_MONO_RAMP
 	SET_BASE8
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_MONO_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_MONO_INTRP
 			VOLUME_RAMPING_MONO
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_MONO_INTRP
-			VOLUME_RAMPING_MONO
-			INC_POS
-			RENDER_8BIT_SMP_MONO_INTRP
-			VOLUME_RAMPING_MONO
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_MONO_INTRP
@@ -589,44 +471,31 @@
 
 void centerMix8bRampLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_LVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int8_t *base, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolL;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_MONO_RAMP
 	GET_MIXER_VARS_MONO_RAMP
 	SET_BASE8
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_MONO_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_MONO_INTRP
 			VOLUME_RAMPING_MONO
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_MONO_INTRP
-			VOLUME_RAMPING_MONO
-			INC_POS
-			RENDER_8BIT_SMP_MONO_INTRP
-			VOLUME_RAMPING_MONO
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_MONO_INTRP
@@ -652,45 +521,32 @@
 
 void centerMix8bRampBidiLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *CDA_LinAdrRev, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_LVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos, delta;
-#else
-	uint32_t pos, delta;
-#endif
+	const int8_t *base, *revBase, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolL;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac, tmpDelta;
 
 	GET_VOL_MONO_RAMP
 	GET_MIXER_VARS_MONO_RAMP
 	SET_BASE8_BIDI
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_MONO_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
 		START_BIDI
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_MONO_INTRP
 			VOLUME_RAMPING_MONO
 			INC_POS_BIDI
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_MONO_INTRP
-			VOLUME_RAMPING_MONO
-			INC_POS_BIDI
-			RENDER_8BIT_SMP_MONO_INTRP
-			VOLUME_RAMPING_MONO
-			INC_POS_BIDI
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_MONO_INTRP
@@ -723,39 +579,28 @@
 
 void centerMix16bNoLoop(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int16_t *base, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_MONO
 	GET_MIXER_VARS
 	SET_BASE16
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_MONO
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_MONO
-			INC_POS
-			RENDER_16BIT_SMP_MONO
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_MONO
@@ -776,39 +621,28 @@
 
 void centerMix16bLoop(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int16_t *base, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_MONO
 	GET_MIXER_VARS
 	SET_BASE16
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_MONO
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_MONO
-			INC_POS
-			RENDER_16BIT_SMP_MONO
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_MONO
@@ -829,40 +663,29 @@
 
 void centerMix16bBidiLoop(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *CDA_LinAdrRev, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos, delta;
-#else
-	uint32_t pos, delta;
-#endif
+	const int16_t *base, *revBase, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac, tmpDelta;
 
 	GET_VOL_MONO
 	GET_MIXER_VARS
 	SET_BASE16_BIDI
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
 		START_BIDI
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_MONO
 			INC_POS_BIDI
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_MONO
-			INC_POS_BIDI
-			RENDER_16BIT_SMP_MONO
-			INC_POS_BIDI
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_MONO
@@ -884,39 +707,28 @@
 
 void centerMix16bNoLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int16_t *base, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_MONO
 	GET_MIXER_VARS
 	SET_BASE16
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_MONO_INTRP
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_MONO_INTRP
-			INC_POS
-			RENDER_16BIT_SMP_MONO_INTRP
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_MONO_INTRP
@@ -937,39 +749,28 @@
 
 void centerMix16bLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int16_t *base, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_MONO
 	GET_MIXER_VARS
 	SET_BASE16
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_MONO_INTRP
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_MONO_INTRP
-			INC_POS
-			RENDER_16BIT_SMP_MONO_INTRP
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_MONO_INTRP
@@ -990,40 +791,29 @@
 
 void centerMix16bBidiLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *CDA_LinAdrRev, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos, delta;
-#else
-	uint32_t pos, delta;
-#endif
+	const int16_t *base, *revBase, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac, tmpDelta;
 
 	GET_VOL_MONO
 	GET_MIXER_VARS
 	SET_BASE16_BIDI
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
 		START_BIDI
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_MONO_INTRP
 			INC_POS_BIDI
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_MONO_INTRP
-			INC_POS_BIDI
-			RENDER_16BIT_SMP_MONO_INTRP
-			INC_POS_BIDI
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_MONO_INTRP
@@ -1045,44 +835,31 @@
 
 void centerMix16bRampNoLoop(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_LVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int16_t *base, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolL;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_MONO_RAMP
 	GET_MIXER_VARS_MONO_RAMP
 	SET_BASE16
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_MONO_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 	
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_MONO
 			VOLUME_RAMPING_MONO
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_MONO
-			VOLUME_RAMPING_MONO
-			INC_POS
-			RENDER_16BIT_SMP_MONO
-			VOLUME_RAMPING_MONO
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_MONO
@@ -1108,44 +885,31 @@
 
 void centerMix16bRampLoop(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_LVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int16_t *base, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolL;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_MONO_RAMP
 	GET_MIXER_VARS_MONO_RAMP
 	SET_BASE16
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_MONO_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_MONO
 			VOLUME_RAMPING_MONO
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_MONO
-			VOLUME_RAMPING_MONO
-			INC_POS
-			RENDER_16BIT_SMP_MONO
-			VOLUME_RAMPING_MONO
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_MONO
@@ -1171,45 +935,32 @@
 
 void centerMix16bRampBidiLoop(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *CDA_LinAdrRev, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_LVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos, delta;
-#else
-	uint32_t pos, delta;
-#endif
+	const int16_t *base, *revBase, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolL;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac, tmpDelta;
 
 	GET_VOL_MONO_RAMP
 	GET_MIXER_VARS_MONO_RAMP
 	SET_BASE16_BIDI
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_MONO_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
 		START_BIDI
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_MONO
 			VOLUME_RAMPING_MONO
 			INC_POS_BIDI
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_MONO
-			VOLUME_RAMPING_MONO
-			INC_POS_BIDI
-			RENDER_16BIT_SMP_MONO
-			VOLUME_RAMPING_MONO
-			INC_POS_BIDI
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_MONO
@@ -1236,44 +987,31 @@
 
 void centerMix16bRampNoLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_LVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int16_t *base, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolL;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_MONO_RAMP
 	GET_MIXER_VARS_MONO_RAMP
 	SET_BASE16
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_MONO_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_MONO_INTRP
 			VOLUME_RAMPING_MONO
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_MONO_INTRP
-			VOLUME_RAMPING_MONO
-			INC_POS
-			RENDER_16BIT_SMP_MONO_INTRP
-			VOLUME_RAMPING_MONO
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_MONO_INTRP
@@ -1299,44 +1037,31 @@
 
 void centerMix16bRampLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_LVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int16_t *base, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolL;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_MONO_RAMP
 	GET_MIXER_VARS_MONO_RAMP
 	SET_BASE16
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_MONO_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_MONO_INTRP
 			VOLUME_RAMPING_MONO
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_MONO_INTRP
-			VOLUME_RAMPING_MONO
-			INC_POS
-			RENDER_16BIT_SMP_MONO_INTRP
-			VOLUME_RAMPING_MONO
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_MONO_INTRP
@@ -1362,45 +1087,32 @@
 
 void centerMix16bRampBidiLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *CDA_LinAdrRev, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_LVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos, delta;
-#else
-	uint32_t pos, delta;
-#endif
+	const int16_t *base, *revBase, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolL;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac, tmpDelta;
 
 	GET_VOL_MONO_RAMP
 	GET_MIXER_VARS_MONO_RAMP
 	SET_BASE16_BIDI
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_MONO_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
 		START_BIDI
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_MONO_INTRP
 			VOLUME_RAMPING_MONO
 			INC_POS_BIDI
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_MONO_INTRP
-			VOLUME_RAMPING_MONO
-			INC_POS_BIDI
-			RENDER_16BIT_SMP_MONO_INTRP
-			VOLUME_RAMPING_MONO
-			INC_POS_BIDI
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_MONO_INTRP
--- a/src/mixer/ft2_intrp_table.c
+++ b/src/mixer/ft2_intrp_table.c
@@ -1,1302 +1,2062 @@
 #include <stdint.h>
 #include "ft2_intrp_table.h"
 
-// 4-tap cubic spline table
+/* 4-tap cubic spline LUT (4096 phases, 32-bit single-precision float)
+**
+** IEEE 754 single-precision floats stored in uint32_t representation
+** to prevent precision loss.
+**
+** Calculated with a modified version of Schism Tracker's lutgen.c code.
+*/
 
-#if defined __amd64__ || defined _WIN64
-
-// 15-bit precision, 4096 phases
-
-const int16_t cubicSplineTable[CUBIC_WIDTH * CUBIC_PHASES] =
+const uint32_t fCubicSplineTable[CUBIC_WIDTH * CUBIC_PHASES] =
 {
-	    0, 32767,     0,     0,    -4, 32767,     4,     0,    -8, 32767,     8,     0,   -12, 32767,    12,     0,
-	  -16, 32767,    16,     0,   -20, 32767,    20,     0,   -24, 32767,    24,     0,   -28, 32767,    28,     0,
-	  -32, 32767,    32,     0,   -36, 32767,    36,     0,   -40, 32767,    40,     0,   -44, 32767,    44,     0,
-	  -48, 32767,    49,     0,   -52, 32767,    53,     0,   -56, 32767,    57,     0,   -60, 32767,    61,     0,
-	  -64, 32767,    65,     0,   -67, 32766,    69,     0,   -71, 32766,    73,     0,   -75, 32766,    77,     0,
-	  -79, 32765,    82,     0,   -83, 32765,    86,     0,   -87, 32765,    90,     0,   -91, 32766,    94,    -1,
-	  -95, 32766,    98,    -1,   -99, 32766,   102,    -1,  -103, 32765,   107,    -1,  -107, 32765,   111,    -1,
-	 -110, 32764,   115,    -1,  -114, 32764,   119,    -1,  -118, 32764,   123,    -1,  -122, 32763,   128,    -1,
-	 -126, 32763,   132,    -1,  -130, 32763,   136,    -1,  -134, 32763,   140,    -1,  -138, 32762,   145,    -1,
-	 -141, 32761,   149,    -1,  -145, 32761,   153,    -1,  -149, 32760,   158,    -1,  -153, 32760,   162,    -1,
-	 -157, 32761,   166,    -2,  -161, 32760,   171,    -2,  -165, 32760,   175,    -2,  -168, 32759,   179,    -2,
-	 -172, 32758,   184,    -2,  -176, 32758,   188,    -2,  -180, 32758,   192,    -2,  -184, 32757,   197,    -2,
-	 -188, 32757,   201,    -2,  -191, 32756,   205,    -2,  -195, 32755,   210,    -2,  -199, 32756,   214,    -3,
-	 -203, 32756,   218,    -3,  -207, 32755,   223,    -3,  -210, 32754,   227,    -3,  -214, 32753,   232,    -3,
-	 -218, 32753,   236,    -3,  -222, 32752,   241,    -3,  -225, 32751,   245,    -3,  -229, 32751,   249,    -3,
-	 -233, 32750,   254,    -3,  -237, 32751,   258,    -4,  -241, 32750,   263,    -4,  -244, 32749,   267,    -4,
-	 -248, 32748,   272,    -4,  -252, 32748,   276,    -4,  -256, 32747,   281,    -4,  -259, 32746,   285,    -4,
-	 -263, 32745,   290,    -4,  -267, 32746,   294,    -5,  -271, 32745,   299,    -5,  -274, 32744,   303,    -5,
-	 -278, 32743,   308,    -5,  -282, 32742,   313,    -5,  -285, 32741,   317,    -5,  -289, 32740,   322,    -5,
-	 -293, 32741,   326,    -6,  -297, 32740,   331,    -6,  -300, 32739,   335,    -6,  -304, 32738,   340,    -6,
-	 -308, 32737,   345,    -6,  -311, 32736,   349,    -6,  -315, 32735,   354,    -6,  -319, 32735,   359,    -7,
-	 -322, 32734,   363,    -7,  -326, 32733,   368,    -7,  -330, 32733,   372,    -7,  -333, 32731,   377,    -7,
-	 -337, 32730,   382,    -7,  -341, 32731,   386,    -8,  -344, 32729,   391,    -8,  -348, 32728,   396,    -8,
-	 -352, 32727,   401,    -8,  -355, 32726,   405,    -8,  -359, 32725,   410,    -8,  -363, 32725,   415,    -9,
-	 -366, 32724,   419,    -9,  -370, 32723,   424,    -9,  -373, 32721,   429,    -9,  -377, 32720,   434,    -9,
-	 -381, 32721,   438,   -10,  -384, 32719,   443,   -10,  -388, 32718,   448,   -10,  -392, 32717,   453,   -10,
-	 -395, 32716,   457,   -10,  -399, 32715,   462,   -10,  -402, 32714,   467,   -11,  -406, 32713,   472,   -11,
-	 -410, 32712,   477,   -11,  -413, 32711,   481,   -11,  -417, 32710,   486,   -11,  -420, 32709,   491,   -12,
-	 -424, 32708,   496,   -12,  -427, 32706,   501,   -12,  -431, 32705,   506,   -12,  -435, 32705,   511,   -13,
-	 -438, 32704,   515,   -13,  -442, 32703,   520,   -13,  -445, 32701,   525,   -13,  -449, 32700,   530,   -13,
-	 -452, 32699,   535,   -14,  -456, 32698,   540,   -14,  -459, 32696,   545,   -14,  -463, 32695,   550,   -14,
-	 -466, 32694,   555,   -15,  -470, 32693,   560,   -15,  -473, 32691,   565,   -15,  -477, 32690,   570,   -15,
-	 -481, 32690,   575,   -16,  -484, 32689,   579,   -16,  -488, 32688,   584,   -16,  -491, 32686,   589,   -16,
-	 -495, 32685,   594,   -16,  -498, 32684,   599,   -17,  -502, 32683,   604,   -17,  -505, 32681,   609,   -17,
-	 -508, 32679,   614,   -17,  -512, 32679,   619,   -18,  -515, 32676,   625,   -18,  -519, 32675,   630,   -18,
-	 -522, 32673,   635,   -18,  -526, 32673,   640,   -19,  -529, 32671,   645,   -19,  -533, 32670,   650,   -19,
-	 -536, 32669,   655,   -20,  -540, 32668,   660,   -20,  -543, 32666,   665,   -20,  -547, 32665,   670,   -20,
-	 -550, 32664,   675,   -21,  -553, 32662,   680,   -21,  -557, 32661,   685,   -21,  -560, 32658,   691,   -21,
-	 -564, 32658,   696,   -22,  -567, 32656,   701,   -22,  -571, 32655,   706,   -22,  -574, 32654,   711,   -23,
-	 -577, 32652,   716,   -23,  -581, 32650,   722,   -23,  -584, 32648,   727,   -23,  -588, 32648,   732,   -24,
-	 -591, 32646,   737,   -24,  -594, 32644,   742,   -24,  -598, 32644,   747,   -25,  -601, 32641,   753,   -25,
-	 -605, 32640,   758,   -25,  -608, 32639,   763,   -26,  -611, 32637,   768,   -26,  -615, 32635,   774,   -26,
-	 -618, 32633,   779,   -26,  -621, 32632,   784,   -27,  -625, 32631,   789,   -27,  -628, 32628,   795,   -27,
-	 -631, 32627,   800,   -28,  -635, 32626,   805,   -28,  -638, 32624,   810,   -28,  -641, 32622,   816,   -29,
-	 -645, 32621,   821,   -29,  -648, 32619,   826,   -29,  -651, 32617,   832,   -30,  -655, 32616,   837,   -30,
-	 -658, 32614,   842,   -30,  -661, 32612,   848,   -31,  -665, 32611,   853,   -31,  -668, 32609,   858,   -31,
-	 -671, 32607,   864,   -32,  -675, 32606,   869,   -32,  -678, 32603,   875,   -32,  -681, 32602,   880,   -33,
-	 -685, 32601,   885,   -33,  -688, 32598,   891,   -33,  -691, 32597,   896,   -34,  -694, 32594,   902,   -34,
-	 -698, 32593,   907,   -34,  -701, 32592,   912,   -35,  -704, 32589,   918,   -35,  -708, 32588,   923,   -35,
-	 -711, 32586,   929,   -36,  -714, 32584,   934,   -36,  -717, 32581,   940,   -36,  -721, 32581,   945,   -37,
-	 -724, 32578,   951,   -37,  -727, 32577,   956,   -38,  -730, 32575,   961,   -38,  -734, 32573,   967,   -38,
-	 -737, 32572,   972,   -39,  -740, 32569,   978,   -39,  -743, 32566,   984,   -39,  -746, 32565,   989,   -40,
-	 -750, 32563,   995,   -40,  -753, 32561,  1000,   -40,  -756, 32559,  1006,   -41,  -759, 32557,  1011,   -41,
-	 -762, 32555,  1017,   -42,  -766, 32554,  1022,   -42,  -769, 32551,  1028,   -42,  -772, 32550,  1033,   -43,
-	 -775, 32547,  1039,   -43,  -778, 32545,  1045,   -44,  -782, 32544,  1050,   -44,  -785, 32541,  1056,   -44,
-	 -788, 32540,  1061,   -45,  -791, 32537,  1067,   -45,  -794, 32535,  1073,   -46,  -798, 32534,  1078,   -46,
-	 -801, 32531,  1084,   -46,  -804, 32529,  1090,   -47,  -807, 32527,  1095,   -47,  -810, 32525,  1101,   -48,
-	 -813, 32522,  1107,   -48,  -816, 32520,  1112,   -48,  -820, 32519,  1118,   -49,  -823, 32516,  1124,   -49,
-	 -826, 32515,  1129,   -50,  -829, 32512,  1135,   -50,  -832, 32509,  1141,   -50,  -835, 32508,  1146,   -51,
-	 -838, 32505,  1152,   -51,  -841, 32503,  1158,   -52,  -845, 32501,  1164,   -52,  -848, 32500,  1169,   -53,
-	 -851, 32497,  1175,   -53,  -854, 32494,  1181,   -53,  -857, 32492,  1187,   -54,  -860, 32490,  1192,   -54,
-	 -863, 32488,  1198,   -55,  -866, 32485,  1204,   -55,  -869, 32483,  1210,   -56,  -872, 32480,  1216,   -56,
-	 -876, 32479,  1221,   -56,  -879, 32477,  1227,   -57,  -882, 32474,  1233,   -57,  -885, 32472,  1239,   -58,
-	 -888, 32469,  1245,   -58,  -891, 32468,  1250,   -59,  -894, 32465,  1256,   -59,  -897, 32463,  1262,   -60,
-	 -900, 32460,  1268,   -60,  -903, 32457,  1274,   -60,  -906, 32455,  1280,   -61,  -909, 32452,  1286,   -61,
-	 -912, 32451,  1291,   -62,  -915, 32448,  1297,   -62,  -918, 32446,  1303,   -63,  -921, 32443,  1309,   -63,
-	 -924, 32441,  1315,   -64,  -927, 32438,  1321,   -64,  -930, 32436,  1327,   -65,  -933, 32433,  1333,   -65,
-	 -936, 32431,  1339,   -66,  -939, 32428,  1345,   -66,  -942, 32425,  1351,   -66,  -945, 32423,  1357,   -67,
-	 -948, 32420,  1363,   -67,  -951, 32418,  1369,   -68,  -954, 32415,  1375,   -68,  -957, 32413,  1381,   -69,
-	 -960, 32410,  1387,   -69,  -963, 32408,  1393,   -70,  -966, 32405,  1399,   -70,  -969, 32403,  1405,   -71,
-	 -972, 32400,  1411,   -71,  -975, 32398,  1417,   -72,  -978, 32395,  1423,   -72,  -981, 32393,  1429,   -73,
-	 -984, 32390,  1435,   -73,  -987, 32388,  1441,   -74,  -990, 32385,  1447,   -74,  -993, 32383,  1453,   -75,
-	 -996, 32380,  1459,   -75,  -999, 32378,  1465,   -76, -1002, 32375,  1471,   -76, -1004, 32372,  1477,   -77,
-	-1007, 32369,  1483,   -77, -1010, 32367,  1489,   -78, -1013, 32364,  1495,   -78, -1016, 32361,  1502,   -79,
-	-1019, 32358,  1508,   -79, -1022, 32356,  1514,   -80, -1025, 32353,  1520,   -80, -1028, 32351,  1526,   -81,
-	-1031, 32348,  1532,   -81, -1034, 32346,  1538,   -82, -1036, 32341,  1545,   -82, -1039, 32339,  1551,   -83,
-	-1042, 32337,  1557,   -84, -1045, 32334,  1563,   -84, -1048, 32332,  1569,   -85, -1051, 32329,  1575,   -85,
-	-1054, 32326,  1582,   -86, -1057, 32323,  1588,   -86, -1059, 32320,  1594,   -87, -1062, 32317,  1600,   -87,
-	-1065, 32314,  1607,   -88, -1068, 32311,  1613,   -88, -1071, 32309,  1619,   -89, -1074, 32306,  1625,   -89,
-	-1076, 32303,  1631,   -90, -1079, 32300,  1638,   -91, -1082, 32297,  1644,   -91, -1085, 32295,  1650,   -92,
-	-1088, 32291,  1657,   -92, -1091, 32289,  1663,   -93, -1093, 32285,  1669,   -93, -1096, 32283,  1675,   -94,
-	-1099, 32279,  1682,   -94, -1102, 32277,  1688,   -95, -1105, 32275,  1694,   -96, -1107, 32270,  1701,   -96,
-	-1110, 32268,  1707,   -97, -1113, 32265,  1713,   -97, -1116, 32262,  1720,   -98, -1119, 32259,  1726,   -98,
-	-1121, 32256,  1732,   -99, -1124, 32252,  1739,   -99, -1127, 32250,  1745,  -100, -1130, 32248,  1751,  -101,
-	-1133, 32244,  1758,  -101, -1135, 32241,  1764,  -102, -1138, 32237,  1771,  -102, -1141, 32235,  1777,  -103,
-	-1144, 32233,  1783,  -104, -1146, 32228,  1790,  -104, -1149, 32226,  1796,  -105, -1152, 32222,  1803,  -105,
-	-1155, 32220,  1809,  -106, -1157, 32215,  1816,  -106, -1160, 32213,  1822,  -107, -1163, 32211,  1828,  -108,
-	-1166, 32207,  1835,  -108, -1168, 32204,  1841,  -109, -1171, 32200,  1848,  -109, -1174, 32198,  1854,  -110,
-	-1176, 32194,  1861,  -111, -1179, 32191,  1867,  -111, -1182, 32188,  1874,  -112, -1185, 32185,  1880,  -112,
-	-1187, 32181,  1887,  -113, -1190, 32179,  1893,  -114, -1193, 32175,  1900,  -114, -1195, 32172,  1906,  -115,
-	-1198, 32168,  1913,  -115, -1201, 32166,  1919,  -116, -1203, 32162,  1926,  -117, -1206, 32158,  1933,  -117,
-	-1209, 32156,  1939,  -118, -1211, 32152,  1946,  -119, -1214, 32149,  1952,  -119, -1217, 32146,  1959,  -120,
-	-1219, 32142,  1965,  -120, -1222, 32139,  1972,  -121, -1225, 32136,  1979,  -122, -1227, 32132,  1985,  -122,
-	-1230, 32129,  1992,  -123, -1233, 32126,  1998,  -123, -1235, 32122,  2005,  -124, -1238, 32119,  2012,  -125,
-	-1241, 32116,  2018,  -125, -1243, 32112,  2025,  -126, -1246, 32109,  2032,  -127, -1248, 32105,  2038,  -127,
-	-1251, 32102,  2045,  -128, -1254, 32100,  2051,  -129, -1256, 32095,  2058,  -129, -1259, 32092,  2065,  -130,
-	-1262, 32089,  2072,  -131, -1264, 32085,  2078,  -131, -1267, 32082,  2085,  -132, -1269, 32077,  2092,  -132,
-	-1272, 32075,  2098,  -133, -1274, 32071,  2105,  -134, -1277, 32067,  2112,  -134, -1280, 32065,  2118,  -135,
-	-1282, 32061,  2125,  -136, -1285, 32057,  2132,  -136, -1287, 32053,  2139,  -137, -1290, 32051,  2145,  -138,
-	-1293, 32047,  2152,  -138, -1295, 32043,  2159,  -139, -1298, 32040,  2166,  -140, -1300, 32036,  2172,  -140,
-	-1303, 32033,  2179,  -141, -1305, 32029,  2186,  -142, -1308, 32025,  2193,  -142, -1310, 32021,  2200,  -143,
-	-1313, 32019,  2206,  -144, -1315, 32014,  2213,  -144, -1318, 32011,  2220,  -145, -1321, 32008,  2227,  -146,
-	-1323, 32003,  2234,  -146, -1326, 32000,  2241,  -147, -1328, 31997,  2247,  -148, -1331, 31993,  2254,  -148,
-	-1333, 31989,  2261,  -149, -1336, 31986,  2268,  -150, -1338, 31981,  2275,  -150, -1341, 31978,  2282,  -151,
-	-1343, 31974,  2289,  -152, -1346, 31972,  2295,  -153, -1348, 31967,  2302,  -153, -1351, 31964,  2309,  -154,
-	-1353, 31960,  2316,  -155, -1356, 31956,  2323,  -155, -1358, 31952,  2330,  -156, -1361, 31949,  2337,  -157,
-	-1363, 31944,  2344,  -157, -1366, 31941,  2351,  -158, -1368, 31937,  2358,  -159, -1370, 31932,  2365,  -159,
-	-1373, 31930,  2371,  -160, -1375, 31926,  2378,  -161, -1378, 31923,  2385,  -162, -1380, 31918,  2392,  -162,
-	-1383, 31915,  2399,  -163, -1385, 31911,  2406,  -164, -1388, 31907,  2413,  -164, -1390, 31903,  2420,  -165,
-	-1392, 31899,  2427,  -166, -1395, 31896,  2434,  -167, -1397, 31891,  2441,  -167, -1400, 31888,  2448,  -168,
-	-1402, 31884,  2455,  -169, -1405, 31880,  2462,  -169, -1407, 31876,  2469,  -170, -1409, 31872,  2476,  -171,
-	-1412, 31869,  2483,  -172, -1414, 31863,  2491,  -172, -1417, 31860,  2498,  -173, -1419, 31856,  2505,  -174,
-	-1421, 31852,  2512,  -175, -1424, 31848,  2519,  -175, -1426, 31844,  2526,  -176, -1429, 31841,  2533,  -177,
-	-1431, 31836,  2540,  -177, -1433, 31832,  2547,  -178, -1436, 31829,  2554,  -179, -1438, 31825,  2561,  -180,
-	-1440, 31820,  2568,  -180, -1443, 31816,  2576,  -181, -1445, 31812,  2583,  -182, -1448, 31809,  2590,  -183,
-	-1450, 31804,  2597,  -183, -1452, 31800,  2604,  -184, -1455, 31797,  2611,  -185, -1457, 31793,  2618,  -186,
-	-1459, 31787,  2626,  -186, -1462, 31784,  2633,  -187, -1464, 31780,  2640,  -188, -1466, 31776,  2647,  -189,
-	-1469, 31772,  2654,  -189, -1471, 31768,  2661,  -190, -1473, 31763,  2669,  -191, -1476, 31760,  2676,  -192,
-	-1478, 31755,  2683,  -192, -1480, 31751,  2690,  -193, -1483, 31748,  2697,  -194, -1485, 31743,  2705,  -195,
-	-1487, 31739,  2712,  -196, -1489, 31734,  2719,  -196, -1492, 31731,  2726,  -197, -1494, 31726,  2734,  -198,
-	-1496, 31722,  2741,  -199, -1499, 31718,  2748,  -199, -1501, 31714,  2755,  -200, -1503, 31709,  2763,  -201,
-	-1506, 31706,  2770,  -202, -1508, 31702,  2777,  -203, -1510, 31696,  2785,  -203, -1512, 31692,  2792,  -204,
-	-1515, 31689,  2799,  -205, -1517, 31685,  2806,  -206, -1519, 31679,  2814,  -206, -1521, 31675,  2821,  -207,
-	-1524, 31672,  2828,  -208, -1526, 31667,  2836,  -209, -1528, 31663,  2843,  -210, -1530, 31658,  2850,  -210,
-	-1533, 31654,  2858,  -211, -1535, 31650,  2865,  -212, -1537, 31646,  2872,  -213, -1539, 31641,  2880,  -214,
-	-1542, 31637,  2887,  -214, -1544, 31632,  2895,  -215, -1546, 31628,  2902,  -216, -1548, 31624,  2909,  -217,
-	-1550, 31619,  2917,  -218, -1553, 31615,  2924,  -218, -1555, 31611,  2931,  -219, -1557, 31606,  2939,  -220,
-	-1559, 31602,  2946,  -221, -1561, 31597,  2954,  -222, -1564, 31593,  2961,  -222, -1566, 31588,  2969,  -223,
-	-1568, 31584,  2976,  -224, -1570, 31580,  2983,  -225, -1572, 31575,  2991,  -226, -1575, 31571,  2998,  -226,
-	-1577, 31566,  3006,  -227, -1579, 31562,  3013,  -228, -1581, 31557,  3021,  -229, -1583, 31553,  3028,  -230,
-	-1585, 31548,  3036,  -231, -1588, 31544,  3043,  -231, -1590, 31539,  3051,  -232, -1592, 31535,  3058,  -233,
-	-1594, 31530,  3066,  -234, -1596, 31526,  3073,  -235, -1598, 31520,  3081,  -235, -1600, 31516,  3088,  -236,
-	-1603, 31512,  3096,  -237, -1605, 31508,  3103,  -238, -1607, 31503,  3111,  -239, -1609, 31499,  3118,  -240,
-	-1611, 31493,  3126,  -240, -1613, 31489,  3133,  -241, -1615, 31484,  3141,  -242, -1617, 31479,  3149,  -243,
-	-1620, 31476,  3156,  -244, -1622, 31471,  3164,  -245, -1624, 31467,  3171,  -246, -1626, 31461,  3179,  -246,
-	-1628, 31457,  3186,  -247, -1630, 31452,  3194,  -248, -1632, 31447,  3202,  -249, -1634, 31443,  3209,  -250,
-	-1636, 31438,  3217,  -251, -1638, 31433,  3224,  -251, -1641, 31429,  3232,  -252, -1643, 31424,  3240,  -253,
-	-1645, 31420,  3247,  -254, -1647, 31415,  3255,  -255, -1649, 31410,  3263,  -256, -1651, 31406,  3270,  -257,
-	-1653, 31400,  3278,  -257, -1655, 31395,  3286,  -258, -1657, 31391,  3293,  -259, -1659, 31386,  3301,  -260,
-	-1661, 31381,  3309,  -261, -1663, 31377,  3316,  -262, -1665, 31372,  3324,  -263, -1667, 31367,  3332,  -264,
-	-1669, 31362,  3339,  -264, -1671, 31357,  3347,  -265, -1673, 31352,  3355,  -266, -1675, 31347,  3363,  -267,
-	-1677, 31343,  3370,  -268, -1680, 31339,  3378,  -269, -1682, 31334,  3386,  -270, -1684, 31329,  3393,  -270,
-	-1686, 31324,  3401,  -271, -1688, 31319,  3409,  -272, -1690, 31314,  3417,  -273, -1692, 31310,  3424,  -274,
-	-1694, 31305,  3432,  -275, -1696, 31300,  3440,  -276, -1698, 31295,  3448,  -277, -1700, 31290,  3456,  -278,
-	-1702, 31285,  3463,  -278, -1704, 31280,  3471,  -279, -1706, 31275,  3479,  -280, -1708, 31270,  3487,  -281,
-	-1709, 31264,  3495,  -282, -1711, 31260,  3502,  -283, -1713, 31255,  3510,  -284, -1715, 31250,  3518,  -285,
-	-1717, 31245,  3526,  -286, -1719, 31239,  3534,  -286, -1721, 31235,  3541,  -287, -1723, 31230,  3549,  -288,
-	-1725, 31225,  3557,  -289, -1727, 31220,  3565,  -290, -1729, 31215,  3573,  -291, -1731, 31210,  3581,  -292,
-	-1733, 31205,  3589,  -293, -1735, 31201,  3596,  -294, -1737, 31196,  3604,  -295, -1739, 31191,  3612,  -296,
-	-1741, 31185,  3620,  -296, -1743, 31180,  3628,  -297, -1745, 31175,  3636,  -298, -1746, 31169,  3644,  -299,
-	-1748, 31164,  3652,  -300, -1750, 31159,  3660,  -301, -1752, 31154,  3668,  -302, -1754, 31149,  3676,  -303,
-	-1756, 31145,  3683,  -304, -1758, 31140,  3691,  -305, -1760, 31135,  3699,  -306, -1762, 31129,  3707,  -306,
-	-1764, 31124,  3715,  -307, -1765, 31118,  3723,  -308, -1767, 31113,  3731,  -309, -1769, 31108,  3739,  -310,
-	-1771, 31103,  3747,  -311, -1773, 31098,  3755,  -312, -1775, 31093,  3763,  -313, -1777, 31088,  3771,  -314,
-	-1779, 31083,  3779,  -315, -1780, 31077,  3787,  -316, -1782, 31072,  3795,  -317, -1784, 31067,  3803,  -318,
-	-1786, 31062,  3811,  -319, -1788, 31057,  3819,  -320, -1790, 31051,  3827,  -320, -1792, 31046,  3835,  -321,
-	-1793, 31040,  3843,  -322, -1795, 31035,  3851,  -323, -1797, 31030,  3859,  -324, -1799, 31025,  3867,  -325,
-	-1801, 31020,  3875,  -326, -1803, 31015,  3883,  -327, -1804, 31008,  3892,  -328, -1806, 31003,  3900,  -329,
-	-1808, 30998,  3908,  -330, -1810, 30993,  3916,  -331, -1812, 30988,  3924,  -332, -1813, 30982,  3932,  -333,
-	-1815, 30977,  3940,  -334, -1817, 30972,  3948,  -335, -1819, 30967,  3956,  -336, -1821, 30962,  3964,  -337,
-	-1823, 30956,  3973,  -338, -1824, 30949,  3981,  -338, -1826, 30944,  3989,  -339, -1828, 30939,  3997,  -340,
-	-1830, 30934,  4005,  -341, -1831, 30928,  4013,  -342, -1833, 30923,  4021,  -343, -1835, 30918,  4029,  -344,
-	-1837, 30912,  4038,  -345, -1839, 30907,  4046,  -346, -1840, 30901,  4054,  -347, -1842, 30896,  4062,  -348,
-	-1844, 30891,  4070,  -349, -1846, 30885,  4079,  -350, -1847, 30879,  4087,  -351, -1849, 30874,  4095,  -352,
-	-1851, 30869,  4103,  -353, -1853, 30864,  4111,  -354, -1854, 30858,  4119,  -355, -1856, 30852,  4128,  -356,
-	-1858, 30847,  4136,  -357, -1859, 30841,  4144,  -358, -1861, 30836,  4152,  -359, -1863, 30830,  4161,  -360,
-	-1865, 30825,  4169,  -361, -1866, 30819,  4177,  -362, -1868, 30814,  4185,  -363, -1870, 30808,  4194,  -364,
-	-1872, 30803,  4202,  -365, -1873, 30797,  4210,  -366, -1875, 30792,  4218,  -367, -1877, 30786,  4227,  -368,
-	-1878, 30780,  4235,  -369, -1880, 30775,  4243,  -370, -1882, 30769,  4252,  -371, -1883, 30763,  4260,  -372,
-	-1885, 30758,  4268,  -373, -1887, 30753,  4276,  -374, -1888, 30746,  4285,  -375, -1890, 30741,  4293,  -376,
-	-1892, 30736,  4301,  -377, -1894, 30730,  4310,  -378, -1895, 30724,  4318,  -379, -1897, 30719,  4326,  -380,
-	-1899, 30713,  4335,  -381, -1900, 30707,  4343,  -382, -1902, 30702,  4351,  -383, -1903, 30695,  4360,  -384,
-	-1905, 30690,  4368,  -385, -1907, 30685,  4376,  -386, -1908, 30678,  4385,  -387, -1910, 30673,  4393,  -388,
-	-1912, 30667,  4402,  -389, -1913, 30661,  4410,  -390, -1915, 30656,  4418,  -391, -1917, 30650,  4427,  -392,
-	-1918, 30644,  4435,  -393, -1920, 30639,  4443,  -394, -1922, 30633,  4452,  -395, -1923, 30627,  4460,  -396,
-	-1925, 30621,  4469,  -397, -1926, 30615,  4477,  -398, -1928, 30609,  4486,  -399, -1930, 30604,  4494,  -400,
-	-1931, 30598,  4502,  -401, -1933, 30592,  4511,  -402, -1934, 30586,  4519,  -403, -1936, 30580,  4528,  -404,
-	-1938, 30575,  4536,  -405, -1939, 30568,  4545,  -406, -1941, 30563,  4553,  -407, -1942, 30556,  4562,  -408,
-	-1944, 30551,  4570,  -409, -1946, 30545,  4579,  -410, -1947, 30539,  4587,  -411, -1949, 30533,  4596,  -412,
-	-1950, 30527,  4604,  -413, -1952, 30521,  4613,  -414, -1953, 30515,  4621,  -415, -1955, 30509,  4630,  -416,
-	-1956, 30503,  4638,  -417, -1958, 30497,  4647,  -418, -1960, 30492,  4655,  -419, -1961, 30485,  4664,  -420,
-	-1963, 30480,  4672,  -421, -1964, 30473,  4681,  -422, -1966, 30468,  4689,  -423, -1967, 30462,  4698,  -425,
-	-1969, 30457,  4706,  -426, -1970, 30450,  4715,  -427, -1972, 30445,  4723,  -428, -1973, 30438,  4732,  -429,
-	-1975, 30432,  4741,  -430, -1977, 30427,  4749,  -431, -1978, 30420,  4758,  -432, -1980, 30415,  4766,  -433,
-	-1981, 30408,  4775,  -434, -1983, 30403,  4783,  -435, -1984, 30396,  4792,  -436, -1986, 30390,  4801,  -437,
-	-1987, 30384,  4809,  -438, -1989, 30378,  4818,  -439, -1990, 30372,  4826,  -440, -1992, 30366,  4835,  -441,
-	-1993, 30359,  4844,  -442, -1995, 30354,  4852,  -443, -1996, 30347,  4861,  -444, -1998, 30342,  4870,  -446,
-	-1999, 30336,  4878,  -447, -2000, 30329,  4887,  -448, -2002, 30323,  4896,  -449, -2003, 30317,  4904,  -450,
-	-2005, 30311,  4913,  -451, -2006, 30305,  4921,  -452, -2008, 30299,  4930,  -453, -2009, 30292,  4939,  -454,
-	-2011, 30286,  4948,  -455, -2012, 30280,  4956,  -456, -2014, 30274,  4965,  -457, -2015, 30267,  4974,  -458,
-	-2017, 30262,  4982,  -459, -2018, 30255,  4991,  -460, -2019, 30249,  5000,  -462, -2021, 30244,  5008,  -463,
-	-2022, 30237,  5017,  -464, -2024, 30231,  5026,  -465, -2025, 30224,  5035,  -466, -2027, 30219,  5043,  -467,
-	-2028, 30212,  5052,  -468, -2029, 30205,  5061,  -469, -2031, 30200,  5069,  -470, -2032, 30193,  5078,  -471,
-	-2034, 30187,  5087,  -472, -2035, 30180,  5096,  -473, -2036, 30174,  5104,  -474, -2038, 30169,  5113,  -476,
-	-2039, 30162,  5122,  -477, -2041, 30156,  5131,  -478, -2042, 30149,  5140,  -479, -2043, 30143,  5148,  -480,
-	-2045, 30137,  5157,  -481, -2046, 30130,  5166,  -482, -2048, 30124,  5175,  -483, -2049, 30117,  5184,  -484,
-	-2050, 30111,  5192,  -485, -2052, 30105,  5201,  -486, -2053, 30099,  5210,  -488, -2055, 30093,  5219,  -489,
-	-2056, 30086,  5228,  -490, -2057, 30080,  5236,  -491, -2059, 30074,  5245,  -492, -2060, 30067,  5254,  -493,
-	-2061, 30060,  5263,  -494, -2063, 30054,  5272,  -495, -2064, 30047,  5281,  -496, -2065, 30041,  5289,  -497,
-	-2067, 30036,  5298,  -499, -2068, 30029,  5307,  -500, -2069, 30022,  5316,  -501, -2071, 30016,  5325,  -502,
-	-2072, 30009,  5334,  -503, -2073, 30002,  5343,  -504, -2075, 29996,  5352,  -505, -2076, 29990,  5360,  -506,
-	-2077, 29983,  5369,  -507, -2079, 29977,  5378,  -508, -2080, 29971,  5387,  -510, -2081, 29964,  5396,  -511,
-	-2083, 29958,  5405,  -512, -2084, 29951,  5414,  -513, -2085, 29944,  5423,  -514, -2087, 29938,  5432,  -515,
-	-2088, 29931,  5441,  -516, -2089, 29924,  5450,  -517, -2090, 29918,  5458,  -518, -2092, 29913,  5467,  -520,
-	-2093, 29906,  5476,  -521, -2094, 29899,  5485,  -522, -2096, 29893,  5494,  -523, -2097, 29886,  5503,  -524,
-	-2098, 29879,  5512,  -525, -2099, 29872,  5521,  -526, -2101, 29866,  5530,  -527, -2102, 29860,  5539,  -529,
-	-2103, 29853,  5548,  -530, -2105, 29847,  5557,  -531, -2106, 29840,  5566,  -532, -2107, 29833,  5575,  -533,
-	-2108, 29826,  5584,  -534, -2110, 29820,  5593,  -535, -2111, 29813,  5602,  -536, -2112, 29807,  5611,  -538,
-	-2113, 29800,  5620,  -539, -2115, 29794,  5629,  -540, -2116, 29787,  5638,  -541, -2117, 29780,  5647,  -542,
-	-2118, 29773,  5656,  -543, -2120, 29767,  5665,  -544, -2121, 29760,  5674,  -545, -2122, 29754,  5683,  -547,
-	-2123, 29747,  5692,  -548, -2124, 29740,  5701,  -549, -2126, 29734,  5710,  -550, -2127, 29727,  5719,  -551,
-	-2128, 29719,  5729,  -552, -2129, 29712,  5738,  -553, -2130, 29706,  5747,  -555, -2132, 29700,  5756,  -556,
-	-2133, 29693,  5765,  -557, -2134, 29686,  5774,  -558, -2135, 29679,  5783,  -559, -2136, 29672,  5792,  -560,
-	-2138, 29666,  5801,  -561, -2139, 29660,  5810,  -563, -2140, 29653,  5819,  -564, -2141, 29645,  5829,  -565,
-	-2142, 29638,  5838,  -566, -2144, 29632,  5847,  -567, -2145, 29625,  5856,  -568, -2146, 29618,  5865,  -569,
-	-2147, 29612,  5874,  -571, -2148, 29605,  5883,  -572, -2149, 29598,  5892,  -573, -2151, 29591,  5902,  -574,
-	-2152, 29584,  5911,  -575, -2153, 29577,  5920,  -576, -2154, 29571,  5929,  -578, -2155, 29564,  5938,  -579,
-	-2156, 29557,  5947,  -580, -2158, 29551,  5956,  -581, -2159, 29543,  5966,  -582, -2160, 29536,  5975,  -583,
-	-2161, 29529,  5984,  -584, -2162, 29523,  5993,  -586, -2163, 29516,  6002,  -587, -2164, 29508,  6012,  -588,
-	-2165, 29501,  6021,  -589, -2167, 29495,  6030,  -590, -2168, 29488,  6039,  -591, -2169, 29482,  6048,  -593,
-	-2170, 29474,  6058,  -594, -2171, 29467,  6067,  -595, -2172, 29460,  6076,  -596, -2173, 29453,  6085,  -597,
-	-2174, 29446,  6094,  -598, -2176, 29440,  6104,  -600, -2177, 29433,  6113,  -601, -2178, 29426,  6122,  -602,
-	-2179, 29419,  6131,  -603, -2180, 29411,  6141,  -604, -2181, 29404,  6150,  -605, -2182, 29398,  6159,  -607,
-	-2183, 29391,  6168,  -608, -2184, 29383,  6178,  -609, -2185, 29376,  6187,  -610, -2186, 29369,  6196,  -611,
-	-2188, 29363,  6206,  -613, -2189, 29356,  6215,  -614, -2190, 29349,  6224,  -615, -2191, 29342,  6233,  -616,
-	-2192, 29334,  6243,  -617, -2193, 29327,  6252,  -618, -2194, 29321,  6261,  -620, -2195, 29313,  6271,  -621,
-	-2196, 29306,  6280,  -622, -2197, 29299,  6289,  -623, -2198, 29292,  6298,  -624, -2199, 29284,  6308,  -625,
-	-2200, 29278,  6317,  -627, -2201, 29271,  6326,  -628, -2202, 29263,  6336,  -629, -2203, 29256,  6345,  -630,
-	-2204, 29249,  6354,  -631, -2205, 29242,  6364,  -633, -2206, 29235,  6373,  -634, -2207, 29228,  6382,  -635,
-	-2208, 29220,  6392,  -636, -2209, 29213,  6401,  -637, -2211, 29207,  6411,  -639, -2212, 29200,  6420,  -640,
-	-2213, 29193,  6429,  -641, -2214, 29185,  6439,  -642, -2215, 29178,  6448,  -643, -2216, 29171,  6457,  -644,
-	-2217, 29164,  6467,  -646, -2218, 29157,  6476,  -647, -2219, 29149,  6486,  -648, -2220, 29142,  6495,  -649,
-	-2221, 29135,  6504,  -650, -2222, 29128,  6514,  -652, -2223, 29121,  6523,  -653, -2224, 29113,  6533,  -654,
-	-2224, 29105,  6542,  -655, -2225, 29098,  6551,  -656, -2226, 29091,  6561,  -658, -2227, 29084,  6570,  -659,
-	-2228, 29076,  6580,  -660, -2229, 29069,  6589,  -661, -2230, 29061,  6599,  -662, -2231, 29055,  6608,  -664,
-	-2232, 29048,  6617,  -665, -2233, 29040,  6627,  -666, -2234, 29033,  6636,  -667, -2235, 29025,  6646,  -668,
-	-2236, 29019,  6655,  -670, -2237, 29011,  6665,  -671, -2238, 29004,  6674,  -672, -2239, 28996,  6684,  -673,
-	-2240, 28990,  6693,  -675, -2241, 28982,  6703,  -676, -2242, 28975,  6712,  -677, -2243, 28967,  6722,  -678,
-	-2244, 28960,  6731,  -679, -2245, 28953,  6741,  -681, -2245, 28945,  6750,  -682, -2246, 28937,  6760,  -683,
-	-2247, 28930,  6769,  -684, -2248, 28922,  6779,  -685, -2249, 28916,  6788,  -687, -2250, 28908,  6798,  -688,
-	-2251, 28901,  6807,  -689, -2252, 28893,  6817,  -690, -2253, 28886,  6826,  -691, -2254, 28879,  6836,  -693,
-	-2255, 28872,  6845,  -694, -2255, 28863,  6855,  -695, -2256, 28856,  6864,  -696, -2257, 28849,  6874,  -698,
-	-2258, 28842,  6883,  -699, -2259, 28834,  6893,  -700, -2260, 28826,  6903,  -701, -2261, 28819,  6912,  -702,
-	-2262, 28812,  6922,  -704, -2263, 28805,  6931,  -705, -2263, 28796,  6941,  -706, -2264, 28789,  6950,  -707,
-	-2265, 28782,  6960,  -709, -2266, 28774,  6970,  -710, -2267, 28767,  6979,  -711, -2268, 28759,  6989,  -712,
-	-2269, 28752,  6998,  -713, -2269, 28744,  7008,  -715, -2270, 28736,  7018,  -716, -2271, 28729,  7027,  -717,
-	-2272, 28721,  7037,  -718, -2273, 28715,  7046,  -720, -2274, 28707,  7056,  -721, -2275, 28699,  7066,  -722,
-	-2275, 28691,  7075,  -723, -2276, 28684,  7085,  -725, -2277, 28676,  7095,  -726, -2278, 28669,  7104,  -727,
-	-2279, 28661,  7114,  -728, -2280, 28654,  7123,  -729, -2280, 28646,  7133,  -731, -2281, 28638,  7143,  -732,
-	-2282, 28631,  7152,  -733, -2283, 28623,  7162,  -734, -2284, 28616,  7172,  -736, -2284, 28608,  7181,  -737,
-	-2285, 28600,  7191,  -738, -2286, 28592,  7201,  -739, -2287, 28586,  7210,  -741, -2288, 28578,  7220,  -742,
-	-2289, 28570,  7230,  -743, -2289, 28562,  7239,  -744, -2290, 28555,  7249,  -746, -2291, 28547,  7259,  -747,
-	-2292, 28540,  7268,  -748, -2292, 28531,  7278,  -749, -2293, 28524,  7288,  -751, -2294, 28516,  7298,  -752,
-	-2295, 28509,  7307,  -753, -2296, 28501,  7317,  -754, -2296, 28493,  7327,  -756, -2297, 28486,  7336,  -757,
-	-2298, 28478,  7346,  -758, -2299, 28470,  7356,  -759, -2299, 28462,  7366,  -761, -2300, 28455,  7375,  -762,
-	-2301, 28447,  7385,  -763, -2302, 28439,  7395,  -764, -2302, 28431,  7405,  -766, -2303, 28424,  7414,  -767,
-	-2304, 28416,  7424,  -768, -2305, 28408,  7434,  -769, -2305, 28400,  7444,  -771, -2306, 28393,  7453,  -772,
-	-2307, 28385,  7463,  -773, -2308, 28377,  7473,  -774, -2308, 28369,  7483,  -776, -2309, 28362,  7492,  -777,
-	-2310, 28354,  7502,  -778, -2311, 28346,  7512,  -779, -2311, 28338,  7522,  -781, -2312, 28331,  7531,  -782,
-	-2313, 28323,  7541,  -783, -2314, 28315,  7551,  -784, -2314, 28307,  7561,  -786, -2315, 28299,  7571,  -787,
-	-2316, 28292,  7580,  -788, -2316, 28283,  7590,  -789, -2317, 28276,  7600,  -791, -2318, 28268,  7610,  -792,
-	-2319, 28260,  7620,  -793, -2319, 28252,  7629,  -794, -2320, 28245,  7639,  -796, -2321, 28237,  7649,  -797,
-	-2321, 28228,  7659,  -798, -2322, 28220,  7669,  -799, -2323, 28213,  7679,  -801, -2323, 28205,  7688,  -802,
-	-2324, 28197,  7698,  -803, -2325, 28189,  7708,  -804, -2325, 28181,  7718,  -806, -2326, 28173,  7728,  -807,
-	-2327, 28165,  7738,  -808, -2327, 28157,  7748,  -810, -2328, 28150,  7757,  -811, -2329, 28142,  7767,  -812,
-	-2329, 28133,  7777,  -813, -2330, 28126,  7787,  -815, -2331, 28118,  7797,  -816, -2331, 28109,  7807,  -817,
-	-2332, 28101,  7817,  -818, -2333, 28094,  7827,  -820, -2333, 28086,  7836,  -821, -2334, 28078,  7846,  -822,
-	-2335, 28070,  7856,  -823, -2335, 28062,  7866,  -825, -2336, 28054,  7876,  -826, -2337, 28046,  7886,  -827,
-	-2337, 28038,  7896,  -829, -2338, 28030,  7906,  -830, -2338, 28021,  7916,  -831, -2339, 28013,  7926,  -832,
-	-2340, 28006,  7936,  -834, -2340, 27998,  7945,  -835, -2341, 27990,  7955,  -836, -2342, 27982,  7965,  -837,
-	-2342, 27974,  7975,  -839, -2343, 27966,  7985,  -840, -2343, 27957,  7995,  -841, -2344, 27950,  8005,  -843,
-	-2345, 27942,  8015,  -844, -2345, 27933,  8025,  -845, -2346, 27925,  8035,  -846, -2346, 27917,  8045,  -848,
-	-2347, 27909,  8055,  -849, -2348, 27901,  8065,  -850, -2348, 27892,  8075,  -851, -2349, 27885,  8085,  -853,
-	-2349, 27876,  8095,  -854, -2350, 27868,  8105,  -855, -2351, 27861,  8115,  -857, -2351, 27852,  8125,  -858,
-	-2352, 27844,  8135,  -859, -2352, 27835,  8145,  -860, -2353, 27828,  8155,  -862, -2353, 27819,  8165,  -863,
-	-2354, 27811,  8175,  -864, -2355, 27804,  8185,  -866, -2355, 27795,  8195,  -867, -2356, 27787,  8205,  -868,
-	-2356, 27778,  8215,  -869, -2357, 27771,  8225,  -871, -2357, 27762,  8235,  -872, -2358, 27754,  8245,  -873,
-	-2359, 27747,  8255,  -875, -2359, 27738,  8265,  -876, -2360, 27730,  8275,  -877, -2360, 27721,  8285,  -878,
-	-2361, 27714,  8295,  -880, -2361, 27705,  8305,  -881, -2362, 27697,  8315,  -882, -2362, 27689,  8325,  -884,
-	-2363, 27681,  8335,  -885, -2363, 27672,  8345,  -886, -2364, 27664,  8355,  -887, -2364, 27656,  8365,  -889,
-	-2365, 27648,  8375,  -890, -2365, 27639,  8385,  -891, -2366, 27632,  8395,  -893, -2367, 27624,  8405,  -894,
-	-2367, 27615,  8415,  -895, -2368, 27607,  8425,  -896, -2368, 27598,  8436,  -898, -2369, 27590,  8446,  -899,
-	-2369, 27581,  8456,  -900, -2370, 27574,  8466,  -902, -2370, 27565,  8476,  -903, -2371, 27557,  8486,  -904,
-	-2371, 27549,  8496,  -906, -2372, 27541,  8506,  -907, -2372, 27532,  8516,  -908, -2373, 27524,  8526,  -909,
-	-2373, 27516,  8536,  -911, -2374, 27507,  8547,  -912, -2374, 27498,  8557,  -913, -2374, 27490,  8567,  -915,
-	-2375, 27482,  8577,  -916, -2375, 27473,  8587,  -917, -2376, 27466,  8597,  -919, -2376, 27457,  8607,  -920,
-	-2377, 27449,  8617,  -921, -2377, 27439,  8628,  -922, -2378, 27432,  8638,  -924, -2378, 27423,  8648,  -925,
-	-2379, 27415,  8658,  -926, -2379, 27407,  8668,  -928, -2380, 27399,  8678,  -929, -2380, 27390,  8688,  -930,
-	-2381, 27382,  8699,  -932, -2381, 27373,  8709,  -933, -2381, 27364,  8719,  -934, -2382, 27356,  8729,  -935,
-	-2382, 27348,  8739,  -937, -2383, 27340,  8749,  -938, -2383, 27331,  8759,  -939, -2384, 27323,  8770,  -941,
-	-2384, 27314,  8780,  -942, -2384, 27305,  8790,  -943, -2385, 27298,  8800,  -945, -2385, 27289,  8810,  -946,
-	-2386, 27280,  8821,  -947, -2386, 27271,  8831,  -948, -2387, 27264,  8841,  -950, -2387, 27255,  8851,  -951,
-	-2387, 27246,  8861,  -952, -2388, 27238,  8872,  -954, -2388, 27229,  8882,  -955, -2389, 27221,  8892,  -956,
-	-2389, 27213,  8902,  -958, -2389, 27204,  8912,  -959, -2390, 27195,  8923,  -960, -2390, 27186,  8933,  -961,
-	-2391, 27179,  8943,  -963, -2391, 27170,  8953,  -964, -2391, 27161,  8963,  -965, -2392, 27153,  8974,  -967,
-	-2392, 27144,  8984,  -968, -2393, 27136,  8994,  -969, -2393, 27128,  9004,  -971, -2393, 27118,  9015,  -972,
-	-2394, 27110,  9025,  -973, -2394, 27102,  9035,  -975, -2394, 27093,  9045,  -976, -2395, 27084,  9056,  -977,
-	-2395, 27076,  9066,  -979, -2396, 27068,  9076,  -980, -2396, 27059,  9086,  -981, -2396, 27049,  9097,  -982,
-	-2397, 27042,  9107,  -984, -2397, 27033,  9117,  -985, -2397, 27024,  9127,  -986, -2398, 27016,  9138,  -988,
-	-2398, 27007,  9148,  -989, -2398, 26998,  9158,  -990, -2399, 26991,  9168,  -992, -2399, 26981,  9179,  -993,
-	-2399, 26972,  9189,  -994, -2400, 26965,  9199,  -996, -2400, 26955,  9210,  -997, -2401, 26947,  9220,  -998,
-	-2401, 26939,  9230, -1000, -2401, 26930,  9240, -1001, -2402, 26921,  9251, -1002, -2402, 26912,  9261, -1003,
-	-2402, 26904,  9271, -1005, -2402, 26894,  9282, -1006, -2403, 26886,  9292, -1007, -2403, 26878,  9302, -1009,
-	-2403, 26868,  9313, -1010, -2404, 26860,  9323, -1011, -2404, 26852,  9333, -1013, -2404, 26842,  9344, -1014,
-	-2405, 26834,  9354, -1015, -2405, 26826,  9364, -1017, -2405, 26816,  9375, -1018, -2406, 26808,  9385, -1019,
-	-2406, 26800,  9395, -1021, -2406, 26790,  9406, -1022, -2406, 26781,  9416, -1023, -2407, 26774,  9426, -1025,
-	-2407, 26764,  9437, -1026, -2407, 26755,  9447, -1027, -2408, 26747,  9457, -1028, -2408, 26738,  9468, -1030,
-	-2408, 26729,  9478, -1031, -2409, 26721,  9488, -1032, -2409, 26712,  9499, -1034, -2409, 26703,  9509, -1035,
-	-2409, 26693,  9520, -1036, -2410, 26686,  9530, -1038, -2410, 26677,  9540, -1039, -2410, 26667,  9551, -1040,
-	-2410, 26659,  9561, -1042, -2411, 26651,  9571, -1043, -2411, 26641,  9582, -1044, -2411, 26633,  9592, -1046,
-	-2411, 26623,  9603, -1047, -2412, 26615,  9613, -1048, -2412, 26607,  9623, -1050, -2412, 26597,  9634, -1051,
-	-2412, 26588,  9644, -1052, -2413, 26581,  9654, -1054, -2413, 26571,  9665, -1055, -2413, 26562,  9675, -1056,
-	-2413, 26553,  9686, -1058, -2414, 26545,  9696, -1059, -2414, 26535,  9707, -1060, -2414, 26527,  9717, -1062,
-	-2414, 26518,  9727, -1063, -2415, 26509,  9738, -1064, -2415, 26501,  9748, -1066, -2415, 26491,  9759, -1067,
-	-2415, 26482,  9769, -1068, -2415, 26473,  9779, -1069, -2416, 26465,  9790, -1071, -2416, 26456,  9800, -1072,
-	-2416, 26446,  9811, -1073, -2416, 26438,  9821, -1075, -2417, 26429,  9832, -1076, -2417, 26420,  9842, -1077,
-	-2417, 26411,  9853, -1079, -2417, 26402,  9863, -1080, -2417, 26393,  9873, -1081, -2418, 26385,  9884, -1083,
-	-2418, 26376,  9894, -1084, -2418, 26366,  9905, -1085, -2418, 26358,  9915, -1087, -2418, 26348,  9926, -1088,
-	-2419, 26340,  9936, -1089, -2419, 26331,  9947, -1091, -2419, 26322,  9957, -1092, -2419, 26312,  9968, -1093,
-	-2419, 26304,  9978, -1095, -2419, 26294,  9989, -1096, -2420, 26286,  9999, -1097, -2420, 26277, 10010, -1099,
-	-2420, 26268, 10020, -1100, -2420, 26259, 10030, -1101, -2420, 26250, 10041, -1103, -2421, 26242, 10051, -1104,
-	-2421, 26232, 10062, -1105, -2421, 26224, 10072, -1107, -2421, 26214, 10083, -1108, -2421, 26205, 10093, -1109,
-	-2421, 26196, 10104, -1111, -2421, 26187, 10114, -1112, -2422, 26178, 10125, -1113, -2422, 26170, 10135, -1115,
-	-2422, 26160, 10146, -1116, -2422, 26151, 10156, -1117, -2422, 26142, 10167, -1119, -2422, 26132, 10178, -1120,
-	-2422, 26123, 10188, -1121, -2423, 26115, 10199, -1123, -2423, 26106, 10209, -1124, -2423, 26096, 10220, -1125,
-	-2423, 26088, 10230, -1127, -2423, 26078, 10241, -1128, -2423, 26069, 10251, -1129, -2423, 26060, 10262, -1131,
-	-2424, 26052, 10272, -1132, -2424, 26042, 10283, -1133, -2424, 26034, 10293, -1135, -2424, 26024, 10304, -1136,
-	-2424, 26015, 10314, -1137, -2424, 26006, 10325, -1139, -2424, 25996, 10336, -1140, -2424, 25987, 10346, -1141,
-	-2424, 25978, 10357, -1143, -2425, 25970, 10367, -1144, -2425, 25960, 10378, -1145, -2425, 25952, 10388, -1147,
-	-2425, 25942, 10399, -1148, -2425, 25933, 10409, -1149, -2425, 25924, 10420, -1151, -2425, 25914, 10431, -1152,
-	-2425, 25905, 10441, -1153, -2425, 25896, 10452, -1155, -2425, 25887, 10462, -1156, -2425, 25877, 10473, -1157,
-	-2426, 25870, 10483, -1159, -2426, 25860, 10494, -1160, -2426, 25850, 10505, -1161, -2426, 25842, 10515, -1163,
-	-2426, 25832, 10526, -1164, -2426, 25823, 10536, -1165, -2426, 25814, 10547, -1167, -2426, 25804, 10558, -1168,
-	-2426, 25795, 10568, -1169, -2426, 25786, 10579, -1171, -2426, 25777, 10589, -1172, -2426, 25767, 10600, -1173,
-	-2426, 25758, 10611, -1175, -2426, 25749, 10621, -1176, -2427, 25740, 10632, -1177, -2427, 25732, 10642, -1179,
-	-2427, 25722, 10653, -1180, -2427, 25712, 10664, -1181, -2427, 25704, 10674, -1183, -2427, 25694, 10685, -1184,
-	-2427, 25684, 10696, -1185, -2427, 25676, 10706, -1187, -2427, 25666, 10717, -1188, -2427, 25657, 10727, -1189,
-	-2427, 25648, 10738, -1191, -2427, 25638, 10749, -1192, -2427, 25629, 10759, -1193, -2427, 25620, 10770, -1195,
-	-2427, 25610, 10781, -1196, -2427, 25601, 10791, -1197, -2427, 25592, 10802, -1199, -2427, 25582, 10813, -1200,
-	-2427, 25573, 10823, -1201, -2427, 25564, 10834, -1203, -2427, 25555, 10844, -1204, -2427, 25545, 10855, -1205,
-	-2427, 25536, 10866, -1207, -2427, 25527, 10876, -1208, -2427, 25517, 10887, -1209, -2427, 25508, 10898, -1211,
-	-2427, 25499, 10908, -1212, -2427, 25489, 10919, -1213, -2427, 25480, 10930, -1215, -2427, 25471, 10940, -1216,
-	-2427, 25461, 10951, -1217, -2427, 25452, 10962, -1219, -2427, 25443, 10972, -1220, -2427, 25433, 10983, -1221,
-	-2427, 25424, 10994, -1223, -2427, 25414, 11005, -1224, -2427, 25405, 11015, -1225, -2427, 25396, 11026, -1227,
-	-2427, 25386, 11037, -1228, -2427, 25377, 11047, -1229, -2427, 25368, 11058, -1231, -2427, 25358, 11069, -1232,
-	-2427, 25349, 11079, -1233, -2427, 25340, 11090, -1235, -2427, 25330, 11101, -1236, -2427, 25321, 11111, -1237,
-	-2427, 25312, 11122, -1239, -2427, 25302, 11133, -1240, -2427, 25292, 11144, -1241, -2427, 25284, 11154, -1243,
-	-2427, 25274, 11165, -1244, -2427, 25264, 11176, -1245, -2427, 25256, 11186, -1247, -2427, 25246, 11197, -1248,
-	-2427, 25236, 11208, -1249, -2427, 25227, 11219, -1251, -2426, 25217, 11229, -1252, -2426, 25207, 11240, -1253,
-	-2426, 25198, 11251, -1255, -2426, 25189, 11261, -1256, -2426, 25179, 11272, -1257, -2426, 25170, 11283, -1259,
-	-2426, 25160, 11294, -1260, -2426, 25151, 11304, -1261, -2426, 25142, 11315, -1263, -2426, 25132, 11326, -1264,
-	-2426, 25122, 11337, -1265, -2426, 25114, 11347, -1267, -2426, 25104, 11358, -1268, -2426, 25094, 11369, -1269,
-	-2426, 25085, 11380, -1271, -2425, 25075, 11390, -1272, -2425, 25065, 11401, -1273, -2425, 25055, 11412, -1274,
-	-2425, 25047, 11422, -1276, -2425, 25037, 11433, -1277, -2425, 25027, 11444, -1278, -2425, 25018, 11455, -1280,
-	-2425, 25008, 11466, -1281, -2425, 24999, 11476, -1282, -2425, 24990, 11487, -1284, -2424, 24979, 11498, -1285,
-	-2424, 24969, 11509, -1286, -2424, 24961, 11519, -1288, -2424, 24951, 11530, -1289, -2424, 24941, 11541, -1290,
-	-2424, 24932, 11552, -1292, -2424, 24923, 11562, -1293, -2424, 24913, 11573, -1294, -2424, 24904, 11584, -1296,
-	-2423, 24893, 11595, -1297, -2423, 24883, 11606, -1298, -2423, 24875, 11616, -1300, -2423, 24865, 11627, -1301,
-	-2423, 24855, 11638, -1302, -2423, 24846, 11649, -1304, -2423, 24837, 11659, -1305, -2423, 24827, 11670, -1306,
-	-2422, 24817, 11681, -1308, -2422, 24807, 11692, -1309, -2422, 24797, 11703, -1310, -2422, 24789, 11713, -1312,
-	-2422, 24779, 11724, -1313, -2422, 24769, 11735, -1314, -2422, 24760, 11746, -1316, -2421, 24749, 11757, -1317,
-	-2421, 24740, 11767, -1318, -2421, 24731, 11778, -1320, -2421, 24721, 11789, -1321, -2421, 24711, 11800, -1322,
-	-2421, 24702, 11811, -1324, -2421, 24692, 11822, -1325, -2420, 24682, 11832, -1326, -2420, 24673, 11843, -1328,
-	-2420, 24663, 11854, -1329, -2420, 24653, 11865, -1330, -2420, 24644, 11876, -1332, -2420, 24635, 11886, -1333,
-	-2419, 24624, 11897, -1334, -2419, 24615, 11908, -1336, -2419, 24605, 11919, -1337, -2419, 24595, 11930, -1338,
-	-2419, 24586, 11941, -1340, -2419, 24577, 11951, -1341, -2418, 24566, 11962, -1342, -2418, 24557, 11973, -1344,
-	-2418, 24547, 11984, -1345, -2418, 24537, 11995, -1346, -2418, 24528, 12006, -1348, -2417, 24518, 12016, -1349,
-	-2417, 24508, 12027, -1350, -2417, 24499, 12038, -1352, -2417, 24489, 12049, -1353, -2417, 24479, 12060, -1354,
-	-2416, 24469, 12071, -1356, -2416, 24459, 12082, -1357, -2416, 24450, 12092, -1358, -2416, 24441, 12103, -1360,
-	-2416, 24431, 12114, -1361, -2415, 24420, 12125, -1362, -2415, 24411, 12136, -1364, -2415, 24401, 12147, -1365,
-	-2415, 24391, 12158, -1366, -2415, 24382, 12168, -1367, -2414, 24372, 12179, -1369, -2414, 24362, 12190, -1370,
-	-2414, 24352, 12201, -1371, -2414, 24343, 12212, -1373, -2413, 24332, 12223, -1374, -2413, 24322, 12234, -1375,
-	-2413, 24314, 12244, -1377, -2413, 24304, 12255, -1378, -2413, 24294, 12266, -1379, -2412, 24284, 12277, -1381,
-	-2412, 24274, 12288, -1382, -2412, 24264, 12299, -1383, -2412, 24255, 12310, -1385, -2411, 24244, 12321, -1386,
-	-2411, 24234, 12332, -1387, -2411, 24226, 12342, -1389, -2411, 24216, 12353, -1390, -2410, 24205, 12364, -1391,
-	-2410, 24196, 12375, -1393, -2410, 24186, 12386, -1394, -2410, 24176, 12397, -1395, -2409, 24166, 12408, -1397,
-	-2409, 24156, 12419, -1398, -2409, 24146, 12430, -1399, -2409, 24138, 12440, -1401, -2408, 24127, 12451, -1402,
-	-2408, 24117, 12462, -1403, -2408, 24107, 12473, -1404, -2408, 24098, 12484, -1406, -2407, 24087, 12495, -1407,
-	-2407, 24077, 12506, -1408, -2407, 24068, 12517, -1410, -2406, 24057, 12528, -1411, -2406, 24047, 12539, -1412,
-	-2406, 24039, 12549, -1414, -2406, 24029, 12560, -1415, -2405, 24018, 12571, -1416, -2405, 24009, 12582, -1418,
-	-2405, 23999, 12593, -1419, -2404, 23988, 12604, -1420, -2404, 23979, 12615, -1422, -2404, 23969, 12626, -1423,
-	-2404, 23959, 12637, -1424, -2403, 23949, 12648, -1426, -2403, 23939, 12659, -1427, -2403, 23929, 12670, -1428,
-	-2402, 23918, 12681, -1429, -2402, 23910, 12691, -1431, -2402, 23900, 12702, -1432, -2402, 23890, 12713, -1433,
-	-2401, 23880, 12724, -1435, -2401, 23870, 12735, -1436, -2401, 23860, 12746, -1437, -2400, 23850, 12757, -1439,
-	-2400, 23840, 12768, -1440, -2400, 23830, 12779, -1441, -2399, 23820, 12790, -1443, -2399, 23810, 12801, -1444,
-	-2399, 23800, 12812, -1445, -2398, 23790, 12823, -1447, -2398, 23780, 12834, -1448, -2398, 23770, 12845, -1449,
-	-2397, 23759, 12856, -1450, -2397, 23751, 12866, -1452, -2397, 23741, 12877, -1453, -2396, 23730, 12888, -1454,
-	-2396, 23721, 12899, -1456, -2396, 23711, 12910, -1457, -2395, 23700, 12921, -1458, -2395, 23691, 12932, -1460,
-	-2395, 23681, 12943, -1461, -2394, 23670, 12954, -1462, -2394, 23661, 12965, -1464, -2394, 23651, 12976, -1465,
-	-2393, 23640, 12987, -1466, -2393, 23631, 12998, -1468, -2393, 23621, 13009, -1469, -2392, 23610, 13020, -1470,
-	-2392, 23600, 13031, -1471, -2392, 23591, 13042, -1473, -2391, 23580, 13053, -1474, -2391, 23570, 13064, -1475,
-	-2391, 23561, 13075, -1477, -2390, 23550, 13086, -1478, -2390, 23540, 13097, -1479, -2389, 23530, 13108, -1481,
-	-2389, 23520, 13119, -1482, -2389, 23510, 13130, -1483, -2388, 23499, 13141, -1484, -2388, 23490, 13152, -1486,
-	-2388, 23480, 13163, -1487, -2387, 23470, 13173, -1488, -2387, 23461, 13184, -1490, -2387, 23451, 13195, -1491,
-	-2386, 23440, 13206, -1492, -2386, 23431, 13217, -1494, -2385, 23420, 13228, -1495, -2385, 23410, 13239, -1496,
-	-2385, 23400, 13250, -1497, -2384, 23390, 13261, -1499, -2384, 23380, 13272, -1500, -2383, 23369, 13283, -1501,
-	-2383, 23360, 13294, -1503, -2383, 23350, 13305, -1504, -2382, 23339, 13316, -1505, -2382, 23330, 13327, -1507,
-	-2381, 23319, 13338, -1508, -2381, 23309, 13349, -1509, -2381, 23299, 13360, -1510, -2380, 23289, 13371, -1512,
-	-2380, 23279, 13382, -1513, -2379, 23268, 13393, -1514, -2379, 23259, 13404, -1516, -2379, 23249, 13415, -1517,
-	-2378, 23238, 13426, -1518, -2378, 23229, 13437, -1520, -2377, 23218, 13448, -1521, -2377, 23208, 13459, -1522,
-	-2377, 23198, 13470, -1523, -2376, 23188, 13481, -1525, -2376, 23178, 13492, -1526, -2375, 23167, 13503, -1527,
-	-2375, 23158, 13514, -1529, -2374, 23147, 13525, -1530, -2374, 23137, 13536, -1531, -2374, 23127, 13547, -1532,
-	-2373, 23117, 13558, -1534, -2373, 23107, 13569, -1535, -2372, 23096, 13580, -1536, -2372, 23087, 13591, -1538,
-	-2371, 23076, 13602, -1539, -2371, 23066, 13613, -1540, -2371, 23057, 13624, -1542, -2370, 23045, 13636, -1543,
-	-2370, 23035, 13647, -1544, -2369, 23024, 13658, -1545, -2369, 23015, 13669, -1547, -2368, 23004, 13680, -1548,
-	-2368, 22994, 13691, -1549, -2367, 22984, 13702, -1551, -2367, 22974, 13713, -1552, -2367, 22964, 13724, -1553,
-	-2366, 22953, 13735, -1554, -2366, 22944, 13746, -1556, -2365, 22933, 13757, -1557, -2365, 22923, 13768, -1558,
-	-2364, 22913, 13779, -1560, -2364, 22903, 13790, -1561, -2363, 22892, 13801, -1562, -2363, 22882, 13812, -1563,
-	-2362, 22872, 13823, -1565, -2362, 22862, 13834, -1566, -2361, 22851, 13845, -1567, -2361, 22842, 13856, -1569,
-	-2360, 22831, 13867, -1570, -2360, 22821, 13878, -1571, -2359, 22810, 13889, -1572, -2359, 22801, 13900, -1574,
-	-2359, 22791, 13911, -1575, -2358, 22780, 13922, -1576, -2358, 22770, 13933, -1577, -2357, 22760, 13944, -1579,
-	-2357, 22750, 13955, -1580, -2356, 22738, 13967, -1581, -2356, 22729, 13978, -1583, -2355, 22718, 13989, -1584,
-	-2355, 22708, 14000, -1585, -2354, 22697, 14011, -1586, -2354, 22688, 14022, -1588, -2353, 22677, 14033, -1589,
-	-2353, 22667, 14044, -1590, -2352, 22657, 14055, -1592, -2352, 22647, 14066, -1593, -2351, 22636, 14077, -1594,
-	-2351, 22626, 14088, -1595, -2350, 22616, 14099, -1597, -2350, 22606, 14110, -1598, -2349, 22595, 14121, -1599,
-	-2349, 22585, 14132, -1600, -2348, 22575, 14143, -1602, -2348, 22565, 14154, -1603, -2347, 22554, 14165, -1604,
-	-2347, 22544, 14177, -1606, -2346, 22533, 14188, -1607, -2345, 22522, 14199, -1608, -2345, 22512, 14210, -1609,
-	-2344, 22502, 14221, -1611, -2344, 22492, 14232, -1612, -2343, 22481, 14243, -1613, -2343, 22471, 14254, -1614,
-	-2342, 22461, 14265, -1616, -2342, 22451, 14276, -1617, -2341, 22440, 14287, -1618, -2341, 22430, 14298, -1619,
-	-2340, 22420, 14309, -1621, -2340, 22410, 14320, -1622, -2339, 22399, 14331, -1623, -2339, 22389, 14342, -1624,
-	-2338, 22378, 14354, -1626, -2337, 22367, 14365, -1627, -2337, 22357, 14376, -1628, -2336, 22347, 14387, -1630,
-	-2336, 22337, 14398, -1631, -2335, 22326, 14409, -1632, -2335, 22316, 14420, -1633, -2334, 22306, 14431, -1635,
-	-2334, 22296, 14442, -1636, -2333, 22285, 14453, -1637, -2332, 22274, 14464, -1638, -2332, 22265, 14475, -1640,
-	-2331, 22254, 14486, -1641, -2331, 22244, 14497, -1642, -2330, 22232, 14509, -1643, -2330, 22223, 14520, -1645,
-	-2329, 22212, 14531, -1646, -2329, 22202, 14542, -1647, -2328, 22191, 14553, -1648, -2327, 22181, 14564, -1650,
-	-2327, 22171, 14575, -1651, -2326, 22160, 14586, -1652, -2326, 22150, 14597, -1653, -2325, 22140, 14608, -1655,
-	-2325, 22130, 14619, -1656, -2324, 22119, 14630, -1657, -2323, 22107, 14642, -1658, -2323, 22098, 14653, -1660,
-	-2322, 22087, 14664, -1661, -2322, 22077, 14675, -1662, -2321, 22066, 14686, -1663, -2320, 22056, 14697, -1665,
-	-2320, 22046, 14708, -1666, -2319, 22035, 14719, -1667, -2319, 22025, 14730, -1668, -2318, 22015, 14741, -1670,
-	-2317, 22004, 14752, -1671, -2317, 21994, 14763, -1672, -2316, 21982, 14775, -1673, -2316, 21973, 14786, -1675,
-	-2315, 21962, 14797, -1676, -2314, 21951, 14808, -1677, -2314, 21941, 14819, -1678, -2313, 21931, 14830, -1680,
-	-2313, 21921, 14841, -1681, -2312, 21910, 14852, -1682, -2311, 21899, 14863, -1683, -2311, 21890, 14874, -1685,
-	-2310, 21879, 14885, -1686, -2310, 21868, 14897, -1687, -2309, 21857, 14908, -1688, -2308, 21847, 14919, -1690,
-	-2308, 21837, 14930, -1691, -2307, 21826, 14941, -1692, -2306, 21815, 14952, -1693, -2306, 21805, 14963, -1694,
-	-2305, 21795, 14974, -1696, -2305, 21785, 14985, -1697, -2304, 21774, 14996, -1698, -2303, 21763, 15007, -1699,
-	-2303, 21753, 15019, -1701, -2302, 21742, 15030, -1702, -2301, 21731, 15041, -1703, -2301, 21721, 15052, -1704,
-	-2300, 21711, 15063, -1706, -2300, 21701, 15074, -1707, -2299, 21690, 15085, -1708, -2298, 21679, 15096, -1709,
-	-2298, 21669, 15107, -1710, -2297, 21659, 15118, -1712, -2296, 21647, 15130, -1713, -2296, 21637, 15141, -1714,
-	-2295, 21626, 15152, -1715, -2294, 21616, 15163, -1717, -2294, 21606, 15174, -1718, -2293, 21595, 15185, -1719,
-	-2292, 21584, 15196, -1720, -2292, 21575, 15207, -1722, -2291, 21564, 15218, -1723, -2290, 21553, 15229, -1724,
-	-2290, 21542, 15241, -1725, -2289, 21531, 15252, -1726, -2288, 21521, 15263, -1728, -2288, 21511, 15274, -1729,
-	-2287, 21500, 15285, -1730, -2286, 21489, 15296, -1731, -2286, 21480, 15307, -1733, -2285, 21469, 15318, -1734,
-	-2284, 21458, 15329, -1735, -2284, 21447, 15341, -1736, -2283, 21436, 15352, -1737, -2282, 21426, 15363, -1739,
-	-2282, 21416, 15374, -1740, -2281, 21405, 15385, -1741, -2280, 21394, 15396, -1742, -2280, 21384, 15407, -1743,
-	-2279, 21374, 15418, -1745, -2278, 21363, 15429, -1746, -2278, 21353, 15440, -1747, -2277, 21341, 15452, -1748,
-	-2276, 21331, 15463, -1750, -2276, 21321, 15474, -1751, -2275, 21310, 15485, -1752, -2274, 21299, 15496, -1753,
-	-2274, 21289, 15507, -1754, -2273, 21279, 15518, -1756, -2272, 21268, 15529, -1757, -2271, 21257, 15540, -1758,
-	-2271, 21246, 15552, -1759, -2270, 21235, 15563, -1760, -2269, 21225, 15574, -1762, -2269, 21215, 15585, -1763,
-	-2268, 21204, 15596, -1764, -2267, 21193, 15607, -1765, -2267, 21183, 15618, -1766, -2266, 21173, 15629, -1768,
-	-2265, 21162, 15640, -1769, -2264, 21150, 15652, -1770, -2264, 21140, 15663, -1771, -2263, 21129, 15674, -1772,
-	-2262, 21119, 15685, -1774, -2262, 21109, 15696, -1775, -2261, 21098, 15707, -1776, -2260, 21087, 15718, -1777,
-	-2259, 21076, 15729, -1778, -2259, 21067, 15740, -1780, -2258, 21055, 15752, -1781, -2257, 21044, 15763, -1782,
-	-2257, 21034, 15774, -1783, -2256, 21023, 15785, -1784, -2255, 21013, 15796, -1786, -2254, 21002, 15807, -1787,
-	-2254, 20992, 15818, -1788, -2253, 20981, 15829, -1789, -2252, 20970, 15840, -1790, -2251, 20959, 15852, -1792,
-	-2251, 20949, 15863, -1793, -2250, 20938, 15874, -1794, -2249, 20927, 15885, -1795, -2249, 20917, 15896, -1796,
-	-2248, 20906, 15907, -1797, -2247, 20896, 15918, -1799, -2246, 20885, 15929, -1800, -2246, 20875, 15940, -1801,
-	-2245, 20863, 15952, -1802, -2244, 20852, 15963, -1803, -2243, 20842, 15974, -1805, -2243, 20832, 15985, -1806,
-	-2242, 20821, 15996, -1807, -2241, 20810, 16007, -1808, -2240, 20799, 16018, -1809, -2240, 20789, 16029, -1810,
-	-2239, 20779, 16040, -1812, -2238, 20767, 16052, -1813, -2237, 20756, 16063, -1814, -2237, 20746, 16074, -1815,
-	-2236, 20735, 16085, -1816, -2235, 20725, 16096, -1818, -2234, 20714, 16107, -1819, -2233, 20703, 16118, -1820,
-	-2233, 20693, 16129, -1821, -2232, 20682, 16140, -1822, -2231, 20670, 16152, -1823, -2230, 20660, 16163, -1825,
-	-2230, 20650, 16174, -1826, -2229, 20639, 16185, -1827, -2228, 20628, 16196, -1828, -2227, 20617, 16207, -1829,
-	-2227, 20607, 16218, -1830, -2226, 20597, 16229, -1832, -2225, 20586, 16240, -1833, -2224, 20574, 16252, -1834,
-	-2223, 20563, 16263, -1835, -2223, 20553, 16274, -1836, -2222, 20542, 16285, -1837, -2221, 20532, 16296, -1839,
-	-2220, 20521, 16307, -1840, -2220, 20511, 16318, -1841, -2219, 20500, 16329, -1842, -2218, 20489, 16340, -1843,
-	-2217, 20478, 16351, -1844, -2216, 20466, 16363, -1845, -2216, 20457, 16374, -1847, -2215, 20446, 16385, -1848,
-	-2214, 20435, 16396, -1849, -2213, 20424, 16407, -1850, -2212, 20413, 16418, -1851, -2212, 20403, 16429, -1852,
-	-2211, 20393, 16440, -1854, -2210, 20382, 16451, -1855, -2209, 20370, 16463, -1856, -2208, 20359, 16474, -1857,
-	-2208, 20349, 16485, -1858, -2207, 20338, 16496, -1859, -2206, 20327, 16507, -1860, -2205, 20317, 16518, -1862,
-	-2204, 20306, 16529, -1863, -2204, 20296, 16540, -1864, -2203, 20285, 16551, -1865, -2202, 20273, 16563, -1866,
-	-2201, 20262, 16574, -1867, -2200, 20251, 16585, -1868, -2199, 20241, 16596, -1870, -2199, 20231, 16607, -1871,
-	-2198, 20220, 16618, -1872, -2197, 20209, 16629, -1873, -2196, 20198, 16640, -1874, -2195, 20187, 16651, -1875,
-	-2195, 20177, 16662, -1876, -2194, 20166, 16674, -1878, -2193, 20155, 16685, -1879, -2192, 20144, 16696, -1880,
-	-2191, 20133, 16707, -1881, -2190, 20122, 16718, -1882, -2190, 20112, 16729, -1883, -2189, 20101, 16740, -1884,
-	-2188, 20091, 16751, -1886, -2187, 20080, 16762, -1887, -2186, 20069, 16773, -1888, -2185, 20057, 16785, -1889,
-	-2185, 20047, 16796, -1890, -2184, 20036, 16807, -1891, -2183, 20025, 16818, -1892, -2182, 20014, 16829, -1893,
-	-2181, 20004, 16840, -1895, -2180, 19993, 16851, -1896, -2179, 19982, 16862, -1897, -2179, 19972, 16873, -1898,
-	-2178, 19961, 16884, -1899, -2177, 19950, 16895, -1900, -2176, 19938, 16907, -1901, -2175, 19927, 16918, -1902,
-	-2174, 19917, 16929, -1904, -2174, 19907, 16940, -1905, -2173, 19896, 16951, -1906, -2172, 19885, 16962, -1907,
-	-2171, 19874, 16973, -1908, -2170, 19863, 16984, -1909, -2169, 19852, 16995, -1910, -2168, 19841, 17006, -1911,
-	-2168, 19831, 17018, -1913, -2167, 19820, 17029, -1914, -2166, 19809, 17040, -1915, -2165, 19798, 17051, -1916,
-	-2164, 19787, 17062, -1917, -2163, 19776, 17073, -1918, -2162, 19765, 17084, -1919, -2161, 19754, 17095, -1920,
-	-2161, 19744, 17106, -1921, -2160, 19733, 17117, -1922, -2159, 19723, 17128, -1924, -2158, 19712, 17139, -1925,
-	-2157, 19700, 17151, -1926, -2156, 19689, 17162, -1927, -2155, 19678, 17173, -1928, -2154, 19667, 17184, -1929,
-	-2154, 19657, 17195, -1930, -2153, 19646, 17206, -1931, -2152, 19635, 17217, -1932, -2151, 19625, 17228, -1934,
-	-2150, 19614, 17239, -1935, -2149, 19603, 17250, -1936, -2148, 19592, 17261, -1937, -2147, 19581, 17272, -1938,
-	-2146, 19569, 17284, -1939, -2146, 19559, 17295, -1940, -2145, 19548, 17306, -1941, -2144, 19537, 17317, -1942,
-	-2143, 19526, 17328, -1943, -2142, 19515, 17339, -1944, -2141, 19505, 17350, -1946, -2140, 19494, 17361, -1947,
-	-2139, 19483, 17372, -1948, -2138, 19472, 17383, -1949, -2137, 19461, 17394, -1950, -2137, 19451, 17405, -1951,
-	-2136, 19440, 17416, -1952, -2135, 19429, 17427, -1953, -2134, 19417, 17439, -1954, -2133, 19406, 17450, -1955,
-	-2132, 19395, 17461, -1956, -2131, 19384, 17472, -1957, -2130, 19374, 17483, -1959, -2129, 19363, 17494, -1960,
-	-2128, 19352, 17505, -1961, -2127, 19341, 17516, -1962, -2127, 19331, 17527, -1963, -2126, 19320, 17538, -1964,
-	-2125, 19309, 17549, -1965, -2124, 19298, 17560, -1966, -2123, 19287, 17571, -1967, -2122, 19276, 17582, -1968,
-	-2121, 19265, 17593, -1969, -2120, 19253, 17605, -1970, -2119, 19242, 17616, -1971, -2118, 19231, 17627, -1972,
-	-2117, 19221, 17638, -1974, -2116, 19210, 17649, -1975, -2116, 19200, 17660, -1976, -2115, 19189, 17671, -1977,
-	-2114, 19178, 17682, -1978, -2113, 19167, 17693, -1979, -2112, 19156, 17704, -1980, -2111, 19145, 17715, -1981,
-	-2110, 19134, 17726, -1982, -2109, 19123, 17737, -1983, -2108, 19112, 17748, -1984, -2107, 19101, 17759, -1985,
-	-2106, 19090, 17770, -1986, -2105, 19079, 17781, -1987, -2104, 19068, 17792, -1988, -2103, 19056, 17804, -1989,
-	-2102, 19046, 17815, -1991, -2101, 19035, 17826, -1992, -2101, 19025, 17837, -1993, -2100, 19014, 17848, -1994,
-	-2099, 19003, 17859, -1995, -2098, 18992, 17870, -1996, -2097, 18981, 17881, -1997, -2096, 18970, 17892, -1998,
-	-2095, 18959, 17903, -1999, -2094, 18948, 17914, -2000, -2093, 18937, 17925, -2001, -2092, 18926, 17936, -2002,
-	-2091, 18915, 17947, -2003, -2090, 18904, 17958, -2004, -2089, 18893, 17969, -2005, -2088, 18882, 17980, -2006,
-	-2087, 18871, 17991, -2007, -2086, 18860, 18002, -2008, -2085, 18849, 18013, -2009, -2084, 18838, 18024, -2010,
-	-2083, 18827, 18035, -2011, -2082, 18816, 18046, -2012, -2081, 18805, 18057, -2013, -2080, 18794, 18068, -2014,
-	-2079, 18783, 18080, -2016, -2079, 18773, 18091, -2017, -2078, 18762, 18102, -2018, -2077, 18751, 18113, -2019,
-	-2076, 18740, 18124, -2020, -2075, 18729, 18135, -2021, -2074, 18718, 18146, -2022, -2073, 18707, 18157, -2023,
-	-2072, 18696, 18168, -2024, -2071, 18685, 18179, -2025, -2070, 18674, 18190, -2026, -2069, 18663, 18201, -2027,
-	-2068, 18652, 18212, -2028, -2067, 18641, 18223, -2029, -2066, 18630, 18234, -2030, -2065, 18619, 18245, -2031,
-	-2064, 18608, 18256, -2032, -2063, 18597, 18267, -2033, -2062, 18586, 18278, -2034, -2061, 18575, 18289, -2035,
-	-2060, 18564, 18300, -2036, -2059, 18553, 18311, -2037, -2058, 18542, 18322, -2038, -2057, 18531, 18333, -2039,
-	-2056, 18520, 18344, -2040, -2055, 18509, 18355, -2041, -2054, 18498, 18366, -2042, -2053, 18487, 18377, -2043,
-	-2052, 18476, 18388, -2044, -2051, 18465, 18399, -2045, -2050, 18454, 18410, -2046, -2049, 18443, 18421, -2047,
-	-2048, 18432, 18432, -2048, -2047, 18421, 18443, -2049, -2046, 18410, 18454, -2050, -2045, 18399, 18465, -2051,
-	-2044, 18388, 18476, -2052, -2043, 18377, 18487, -2053, -2042, 18366, 18498, -2054, -2041, 18355, 18509, -2055,
-	-2040, 18344, 18520, -2056, -2039, 18333, 18531, -2057, -2038, 18322, 18542, -2058, -2037, 18311, 18553, -2059,
-	-2036, 18300, 18564, -2060, -2035, 18289, 18575, -2061, -2034, 18278, 18586, -2062, -2033, 18267, 18597, -2063,
-	-2032, 18256, 18608, -2064, -2031, 18245, 18619, -2065, -2030, 18234, 18630, -2066, -2029, 18223, 18641, -2067,
-	-2028, 18212, 18652, -2068, -2027, 18201, 18663, -2069, -2026, 18190, 18674, -2070, -2025, 18179, 18685, -2071,
-	-2024, 18168, 18696, -2072, -2023, 18157, 18707, -2073, -2022, 18146, 18718, -2074, -2021, 18135, 18729, -2075,
-	-2020, 18124, 18740, -2076, -2019, 18113, 18751, -2077, -2018, 18102, 18762, -2078, -2017, 18091, 18773, -2079,
-	-2016, 18080, 18783, -2079, -2014, 18068, 18794, -2080, -2013, 18057, 18805, -2081, -2012, 18046, 18816, -2082,
-	-2011, 18035, 18827, -2083, -2010, 18024, 18838, -2084, -2009, 18013, 18849, -2085, -2008, 18002, 18860, -2086,
-	-2007, 17991, 18871, -2087, -2006, 17980, 18882, -2088, -2005, 17969, 18893, -2089, -2004, 17958, 18904, -2090,
-	-2003, 17947, 18915, -2091, -2002, 17936, 18926, -2092, -2001, 17925, 18937, -2093, -2000, 17914, 18948, -2094,
-	-1999, 17903, 18959, -2095, -1998, 17892, 18970, -2096, -1997, 17881, 18981, -2097, -1996, 17870, 18992, -2098,
-	-1995, 17859, 19003, -2099, -1994, 17848, 19014, -2100, -1993, 17837, 19025, -2101, -1992, 17826, 19035, -2101,
-	-1991, 17815, 19046, -2102, -1989, 17804, 19056, -2103, -1988, 17792, 19068, -2104, -1987, 17781, 19079, -2105,
-	-1986, 17770, 19090, -2106, -1985, 17759, 19101, -2107, -1984, 17748, 19112, -2108, -1983, 17737, 19123, -2109,
-	-1982, 17726, 19134, -2110, -1981, 17715, 19145, -2111, -1980, 17704, 19156, -2112, -1979, 17693, 19167, -2113,
-	-1978, 17682, 19178, -2114, -1977, 17671, 19189, -2115, -1976, 17660, 19200, -2116, -1975, 17649, 19210, -2116,
-	-1974, 17638, 19221, -2117, -1972, 17627, 19231, -2118, -1971, 17616, 19242, -2119, -1970, 17605, 19253, -2120,
-	-1969, 17593, 19265, -2121, -1968, 17582, 19276, -2122, -1967, 17571, 19287, -2123, -1966, 17560, 19298, -2124,
-	-1965, 17549, 19309, -2125, -1964, 17538, 19320, -2126, -1963, 17527, 19331, -2127, -1962, 17516, 19341, -2127,
-	-1961, 17505, 19352, -2128, -1960, 17494, 19363, -2129, -1959, 17483, 19374, -2130, -1957, 17472, 19384, -2131,
-	-1956, 17461, 19395, -2132, -1955, 17450, 19406, -2133, -1954, 17439, 19417, -2134, -1953, 17427, 19429, -2135,
-	-1952, 17416, 19440, -2136, -1951, 17405, 19451, -2137, -1950, 17394, 19461, -2137, -1949, 17383, 19472, -2138,
-	-1948, 17372, 19483, -2139, -1947, 17361, 19494, -2140, -1946, 17350, 19505, -2141, -1944, 17339, 19515, -2142,
-	-1943, 17328, 19526, -2143, -1942, 17317, 19537, -2144, -1941, 17306, 19548, -2145, -1940, 17295, 19559, -2146,
-	-1939, 17284, 19569, -2146, -1938, 17272, 19581, -2147, -1937, 17261, 19592, -2148, -1936, 17250, 19603, -2149,
-	-1935, 17239, 19614, -2150, -1934, 17228, 19625, -2151, -1932, 17217, 19635, -2152, -1931, 17206, 19646, -2153,
-	-1930, 17195, 19657, -2154, -1929, 17184, 19667, -2154, -1928, 17173, 19678, -2155, -1927, 17162, 19689, -2156,
-	-1926, 17151, 19700, -2157, -1925, 17139, 19712, -2158, -1924, 17128, 19723, -2159, -1922, 17117, 19733, -2160,
-	-1921, 17106, 19744, -2161, -1920, 17095, 19754, -2161, -1919, 17084, 19765, -2162, -1918, 17073, 19776, -2163,
-	-1917, 17062, 19787, -2164, -1916, 17051, 19798, -2165, -1915, 17040, 19809, -2166, -1914, 17029, 19820, -2167,
-	-1913, 17018, 19831, -2168, -1911, 17006, 19841, -2168, -1910, 16995, 19852, -2169, -1909, 16984, 19863, -2170,
-	-1908, 16973, 19874, -2171, -1907, 16962, 19885, -2172, -1906, 16951, 19896, -2173, -1905, 16940, 19907, -2174,
-	-1904, 16929, 19917, -2174, -1902, 16918, 19927, -2175, -1901, 16907, 19938, -2176, -1900, 16895, 19950, -2177,
-	-1899, 16884, 19961, -2178, -1898, 16873, 19972, -2179, -1897, 16862, 19982, -2179, -1896, 16851, 19993, -2180,
-	-1895, 16840, 20004, -2181, -1893, 16829, 20014, -2182, -1892, 16818, 20025, -2183, -1891, 16807, 20036, -2184,
-	-1890, 16796, 20047, -2185, -1889, 16785, 20057, -2185, -1888, 16773, 20069, -2186, -1887, 16762, 20080, -2187,
-	-1886, 16751, 20091, -2188, -1884, 16740, 20101, -2189, -1883, 16729, 20112, -2190, -1882, 16718, 20122, -2190,
-	-1881, 16707, 20133, -2191, -1880, 16696, 20144, -2192, -1879, 16685, 20155, -2193, -1878, 16674, 20166, -2194,
-	-1876, 16662, 20177, -2195, -1875, 16651, 20187, -2195, -1874, 16640, 20198, -2196, -1873, 16629, 20209, -2197,
-	-1872, 16618, 20220, -2198, -1871, 16607, 20231, -2199, -1870, 16596, 20241, -2199, -1868, 16585, 20251, -2200,
-	-1867, 16574, 20262, -2201, -1866, 16563, 20273, -2202, -1865, 16551, 20285, -2203, -1864, 16540, 20296, -2204,
-	-1863, 16529, 20306, -2204, -1862, 16518, 20317, -2205, -1860, 16507, 20327, -2206, -1859, 16496, 20338, -2207,
-	-1858, 16485, 20349, -2208, -1857, 16474, 20359, -2208, -1856, 16463, 20370, -2209, -1855, 16451, 20382, -2210,
-	-1854, 16440, 20393, -2211, -1852, 16429, 20403, -2212, -1851, 16418, 20413, -2212, -1850, 16407, 20424, -2213,
-	-1849, 16396, 20435, -2214, -1848, 16385, 20446, -2215, -1847, 16374, 20457, -2216, -1845, 16363, 20466, -2216,
-	-1844, 16351, 20478, -2217, -1843, 16340, 20489, -2218, -1842, 16329, 20500, -2219, -1841, 16318, 20511, -2220,
-	-1840, 16307, 20521, -2220, -1839, 16296, 20532, -2221, -1837, 16285, 20542, -2222, -1836, 16274, 20553, -2223,
-	-1835, 16263, 20563, -2223, -1834, 16252, 20574, -2224, -1833, 16240, 20586, -2225, -1832, 16229, 20597, -2226,
-	-1830, 16218, 20607, -2227, -1829, 16207, 20617, -2227, -1828, 16196, 20628, -2228, -1827, 16185, 20639, -2229,
-	-1826, 16174, 20650, -2230, -1825, 16163, 20660, -2230, -1823, 16152, 20670, -2231, -1822, 16140, 20682, -2232,
-	-1821, 16129, 20693, -2233, -1820, 16118, 20703, -2233, -1819, 16107, 20714, -2234, -1818, 16096, 20725, -2235,
-	-1816, 16085, 20735, -2236, -1815, 16074, 20746, -2237, -1814, 16063, 20756, -2237, -1813, 16052, 20767, -2238,
-	-1812, 16040, 20779, -2239, -1810, 16029, 20789, -2240, -1809, 16018, 20799, -2240, -1808, 16007, 20810, -2241,
-	-1807, 15996, 20821, -2242, -1806, 15985, 20832, -2243, -1805, 15974, 20842, -2243, -1803, 15963, 20852, -2244,
-	-1802, 15952, 20863, -2245, -1801, 15940, 20875, -2246, -1800, 15929, 20885, -2246, -1799, 15918, 20896, -2247,
-	-1797, 15907, 20906, -2248, -1796, 15896, 20917, -2249, -1795, 15885, 20927, -2249, -1794, 15874, 20938, -2250,
-	-1793, 15863, 20949, -2251, -1792, 15852, 20959, -2251, -1790, 15840, 20970, -2252, -1789, 15829, 20981, -2253,
-	-1788, 15818, 20992, -2254, -1787, 15807, 21002, -2254, -1786, 15796, 21013, -2255, -1784, 15785, 21023, -2256,
-	-1783, 15774, 21034, -2257, -1782, 15763, 21044, -2257, -1781, 15752, 21055, -2258, -1780, 15740, 21067, -2259,
-	-1778, 15729, 21076, -2259, -1777, 15718, 21087, -2260, -1776, 15707, 21098, -2261, -1775, 15696, 21109, -2262,
-	-1774, 15685, 21119, -2262, -1772, 15674, 21129, -2263, -1771, 15663, 21140, -2264, -1770, 15652, 21150, -2264,
-	-1769, 15640, 21162, -2265, -1768, 15629, 21173, -2266, -1766, 15618, 21183, -2267, -1765, 15607, 21193, -2267,
-	-1764, 15596, 21204, -2268, -1763, 15585, 21215, -2269, -1762, 15574, 21225, -2269, -1760, 15563, 21235, -2270,
-	-1759, 15552, 21246, -2271, -1758, 15540, 21257, -2271, -1757, 15529, 21268, -2272, -1756, 15518, 21279, -2273,
-	-1754, 15507, 21289, -2274, -1753, 15496, 21299, -2274, -1752, 15485, 21310, -2275, -1751, 15474, 21321, -2276,
-	-1750, 15463, 21331, -2276, -1748, 15452, 21341, -2277, -1747, 15440, 21353, -2278, -1746, 15429, 21363, -2278,
-	-1745, 15418, 21374, -2279, -1743, 15407, 21384, -2280, -1742, 15396, 21394, -2280, -1741, 15385, 21405, -2281,
-	-1740, 15374, 21416, -2282, -1739, 15363, 21426, -2282, -1737, 15352, 21436, -2283, -1736, 15341, 21447, -2284,
-	-1735, 15329, 21458, -2284, -1734, 15318, 21469, -2285, -1733, 15307, 21480, -2286, -1731, 15296, 21489, -2286,
-	-1730, 15285, 21500, -2287, -1729, 15274, 21511, -2288, -1728, 15263, 21521, -2288, -1726, 15252, 21531, -2289,
-	-1725, 15241, 21542, -2290, -1724, 15229, 21553, -2290, -1723, 15218, 21564, -2291, -1722, 15207, 21575, -2292,
-	-1720, 15196, 21584, -2292, -1719, 15185, 21595, -2293, -1718, 15174, 21606, -2294, -1717, 15163, 21616, -2294,
-	-1715, 15152, 21626, -2295, -1714, 15141, 21637, -2296, -1713, 15130, 21647, -2296, -1712, 15118, 21659, -2297,
-	-1710, 15107, 21669, -2298, -1709, 15096, 21679, -2298, -1708, 15085, 21690, -2299, -1707, 15074, 21701, -2300,
-	-1706, 15063, 21711, -2300, -1704, 15052, 21721, -2301, -1703, 15041, 21731, -2301, -1702, 15030, 21742, -2302,
-	-1701, 15019, 21753, -2303, -1699, 15007, 21763, -2303, -1698, 14996, 21774, -2304, -1697, 14985, 21785, -2305,
-	-1696, 14974, 21795, -2305, -1694, 14963, 21805, -2306, -1693, 14952, 21815, -2306, -1692, 14941, 21826, -2307,
-	-1691, 14930, 21837, -2308, -1690, 14919, 21847, -2308, -1688, 14908, 21857, -2309, -1687, 14897, 21868, -2310,
-	-1686, 14885, 21879, -2310, -1685, 14874, 21890, -2311, -1683, 14863, 21899, -2311, -1682, 14852, 21910, -2312,
-	-1681, 14841, 21921, -2313, -1680, 14830, 21931, -2313, -1678, 14819, 21941, -2314, -1677, 14808, 21951, -2314,
-	-1676, 14797, 21962, -2315, -1675, 14786, 21973, -2316, -1673, 14775, 21982, -2316, -1672, 14763, 21994, -2317,
-	-1671, 14752, 22004, -2317, -1670, 14741, 22015, -2318, -1668, 14730, 22025, -2319, -1667, 14719, 22035, -2319,
-	-1666, 14708, 22046, -2320, -1665, 14697, 22056, -2320, -1663, 14686, 22066, -2321, -1662, 14675, 22077, -2322,
-	-1661, 14664, 22087, -2322, -1660, 14653, 22098, -2323, -1658, 14642, 22107, -2323, -1657, 14630, 22119, -2324,
-	-1656, 14619, 22130, -2325, -1655, 14608, 22140, -2325, -1653, 14597, 22150, -2326, -1652, 14586, 22160, -2326,
-	-1651, 14575, 22171, -2327, -1650, 14564, 22181, -2327, -1648, 14553, 22191, -2328, -1647, 14542, 22202, -2329,
-	-1646, 14531, 22212, -2329, -1645, 14520, 22223, -2330, -1643, 14509, 22232, -2330, -1642, 14497, 22244, -2331,
-	-1641, 14486, 22254, -2331, -1640, 14475, 22265, -2332, -1638, 14464, 22274, -2332, -1637, 14453, 22285, -2333,
-	-1636, 14442, 22296, -2334, -1635, 14431, 22306, -2334, -1633, 14420, 22316, -2335, -1632, 14409, 22326, -2335,
-	-1631, 14398, 22337, -2336, -1630, 14387, 22347, -2336, -1628, 14376, 22357, -2337, -1627, 14365, 22367, -2337,
-	-1626, 14354, 22378, -2338, -1624, 14342, 22389, -2339, -1623, 14331, 22399, -2339, -1622, 14320, 22410, -2340,
-	-1621, 14309, 22420, -2340, -1619, 14298, 22430, -2341, -1618, 14287, 22440, -2341, -1617, 14276, 22451, -2342,
-	-1616, 14265, 22461, -2342, -1614, 14254, 22471, -2343, -1613, 14243, 22481, -2343, -1612, 14232, 22492, -2344,
-	-1611, 14221, 22502, -2344, -1609, 14210, 22512, -2345, -1608, 14199, 22522, -2345, -1607, 14188, 22533, -2346,
-	-1606, 14177, 22544, -2347, -1604, 14165, 22554, -2347, -1603, 14154, 22565, -2348, -1602, 14143, 22575, -2348,
-	-1600, 14132, 22585, -2349, -1599, 14121, 22595, -2349, -1598, 14110, 22606, -2350, -1597, 14099, 22616, -2350,
-	-1595, 14088, 22626, -2351, -1594, 14077, 22636, -2351, -1593, 14066, 22647, -2352, -1592, 14055, 22657, -2352,
-	-1590, 14044, 22667, -2353, -1589, 14033, 22677, -2353, -1588, 14022, 22688, -2354, -1586, 14011, 22697, -2354,
-	-1585, 14000, 22708, -2355, -1584, 13989, 22718, -2355, -1583, 13978, 22729, -2356, -1581, 13967, 22738, -2356,
-	-1580, 13955, 22750, -2357, -1579, 13944, 22760, -2357, -1577, 13933, 22770, -2358, -1576, 13922, 22780, -2358,
-	-1575, 13911, 22791, -2359, -1574, 13900, 22801, -2359, -1572, 13889, 22810, -2359, -1571, 13878, 22821, -2360,
-	-1570, 13867, 22831, -2360, -1569, 13856, 22842, -2361, -1567, 13845, 22851, -2361, -1566, 13834, 22862, -2362,
-	-1565, 13823, 22872, -2362, -1563, 13812, 22882, -2363, -1562, 13801, 22892, -2363, -1561, 13790, 22903, -2364,
-	-1560, 13779, 22913, -2364, -1558, 13768, 22923, -2365, -1557, 13757, 22933, -2365, -1556, 13746, 22944, -2366,
-	-1554, 13735, 22953, -2366, -1553, 13724, 22964, -2367, -1552, 13713, 22974, -2367, -1551, 13702, 22984, -2367,
-	-1549, 13691, 22994, -2368, -1548, 13680, 23004, -2368, -1547, 13669, 23015, -2369, -1545, 13658, 23024, -2369,
-	-1544, 13647, 23035, -2370, -1543, 13636, 23045, -2370, -1542, 13624, 23057, -2371, -1540, 13613, 23066, -2371,
-	-1539, 13602, 23076, -2371, -1538, 13591, 23087, -2372, -1536, 13580, 23096, -2372, -1535, 13569, 23107, -2373,
-	-1534, 13558, 23117, -2373, -1532, 13547, 23127, -2374, -1531, 13536, 23137, -2374, -1530, 13525, 23147, -2374,
-	-1529, 13514, 23158, -2375, -1527, 13503, 23167, -2375, -1526, 13492, 23178, -2376, -1525, 13481, 23188, -2376,
-	-1523, 13470, 23198, -2377, -1522, 13459, 23208, -2377, -1521, 13448, 23218, -2377, -1520, 13437, 23229, -2378,
-	-1518, 13426, 23238, -2378, -1517, 13415, 23249, -2379, -1516, 13404, 23259, -2379, -1514, 13393, 23268, -2379,
-	-1513, 13382, 23279, -2380, -1512, 13371, 23289, -2380, -1510, 13360, 23299, -2381, -1509, 13349, 23309, -2381,
-	-1508, 13338, 23319, -2381, -1507, 13327, 23330, -2382, -1505, 13316, 23339, -2382, -1504, 13305, 23350, -2383,
-	-1503, 13294, 23360, -2383, -1501, 13283, 23369, -2383, -1500, 13272, 23380, -2384, -1499, 13261, 23390, -2384,
-	-1497, 13250, 23400, -2385, -1496, 13239, 23410, -2385, -1495, 13228, 23420, -2385, -1494, 13217, 23431, -2386,
-	-1492, 13206, 23440, -2386, -1491, 13195, 23451, -2387, -1490, 13184, 23461, -2387, -1488, 13173, 23470, -2387,
-	-1487, 13163, 23480, -2388, -1486, 13152, 23490, -2388, -1484, 13141, 23499, -2388, -1483, 13130, 23510, -2389,
-	-1482, 13119, 23520, -2389, -1481, 13108, 23530, -2389, -1479, 13097, 23540, -2390, -1478, 13086, 23550, -2390,
-	-1477, 13075, 23561, -2391, -1475, 13064, 23570, -2391, -1474, 13053, 23580, -2391, -1473, 13042, 23591, -2392,
-	-1471, 13031, 23600, -2392, -1470, 13020, 23610, -2392, -1469, 13009, 23621, -2393, -1468, 12998, 23631, -2393,
-	-1466, 12987, 23640, -2393, -1465, 12976, 23651, -2394, -1464, 12965, 23661, -2394, -1462, 12954, 23670, -2394,
-	-1461, 12943, 23681, -2395, -1460, 12932, 23691, -2395, -1458, 12921, 23700, -2395, -1457, 12910, 23711, -2396,
-	-1456, 12899, 23721, -2396, -1454, 12888, 23730, -2396, -1453, 12877, 23741, -2397, -1452, 12866, 23751, -2397,
-	-1450, 12856, 23759, -2397, -1449, 12845, 23770, -2398, -1448, 12834, 23780, -2398, -1447, 12823, 23790, -2398,
-	-1445, 12812, 23800, -2399, -1444, 12801, 23810, -2399, -1443, 12790, 23820, -2399, -1441, 12779, 23830, -2400,
-	-1440, 12768, 23840, -2400, -1439, 12757, 23850, -2400, -1437, 12746, 23860, -2401, -1436, 12735, 23870, -2401,
-	-1435, 12724, 23880, -2401, -1433, 12713, 23890, -2402, -1432, 12702, 23900, -2402, -1431, 12691, 23910, -2402,
-	-1429, 12681, 23918, -2402, -1428, 12670, 23929, -2403, -1427, 12659, 23939, -2403, -1426, 12648, 23949, -2403,
-	-1424, 12637, 23959, -2404, -1423, 12626, 23969, -2404, -1422, 12615, 23979, -2404, -1420, 12604, 23988, -2404,
-	-1419, 12593, 23999, -2405, -1418, 12582, 24009, -2405, -1416, 12571, 24018, -2405, -1415, 12560, 24029, -2406,
-	-1414, 12549, 24039, -2406, -1412, 12539, 24047, -2406, -1411, 12528, 24057, -2406, -1410, 12517, 24068, -2407,
-	-1408, 12506, 24077, -2407, -1407, 12495, 24087, -2407, -1406, 12484, 24098, -2408, -1404, 12473, 24107, -2408,
-	-1403, 12462, 24117, -2408, -1402, 12451, 24127, -2408, -1401, 12440, 24138, -2409, -1399, 12430, 24146, -2409,
-	-1398, 12419, 24156, -2409, -1397, 12408, 24166, -2409, -1395, 12397, 24176, -2410, -1394, 12386, 24186, -2410,
-	-1393, 12375, 24196, -2410, -1391, 12364, 24205, -2410, -1390, 12353, 24216, -2411, -1389, 12342, 24226, -2411,
-	-1387, 12332, 24234, -2411, -1386, 12321, 24244, -2411, -1385, 12310, 24255, -2412, -1383, 12299, 24264, -2412,
-	-1382, 12288, 24274, -2412, -1381, 12277, 24284, -2412, -1379, 12266, 24294, -2413, -1378, 12255, 24304, -2413,
-	-1377, 12244, 24314, -2413, -1375, 12234, 24322, -2413, -1374, 12223, 24332, -2413, -1373, 12212, 24343, -2414,
-	-1371, 12201, 24352, -2414, -1370, 12190, 24362, -2414, -1369, 12179, 24372, -2414, -1367, 12168, 24382, -2415,
-	-1366, 12158, 24391, -2415, -1365, 12147, 24401, -2415, -1364, 12136, 24411, -2415, -1362, 12125, 24420, -2415,
-	-1361, 12114, 24431, -2416, -1360, 12103, 24441, -2416, -1358, 12092, 24450, -2416, -1357, 12082, 24459, -2416,
-	-1356, 12071, 24469, -2416, -1354, 12060, 24479, -2417, -1353, 12049, 24489, -2417, -1352, 12038, 24499, -2417,
-	-1350, 12027, 24508, -2417, -1349, 12016, 24518, -2417, -1348, 12006, 24528, -2418, -1346, 11995, 24537, -2418,
-	-1345, 11984, 24547, -2418, -1344, 11973, 24557, -2418, -1342, 11962, 24566, -2418, -1341, 11951, 24577, -2419,
-	-1340, 11941, 24586, -2419, -1338, 11930, 24595, -2419, -1337, 11919, 24605, -2419, -1336, 11908, 24615, -2419,
-	-1334, 11897, 24624, -2419, -1333, 11886, 24635, -2420, -1332, 11876, 24644, -2420, -1330, 11865, 24653, -2420,
-	-1329, 11854, 24663, -2420, -1328, 11843, 24673, -2420, -1326, 11832, 24682, -2420, -1325, 11822, 24692, -2421,
-	-1324, 11811, 24702, -2421, -1322, 11800, 24711, -2421, -1321, 11789, 24721, -2421, -1320, 11778, 24731, -2421,
-	-1318, 11767, 24740, -2421, -1317, 11757, 24749, -2421, -1316, 11746, 24760, -2422, -1314, 11735, 24769, -2422,
-	-1313, 11724, 24779, -2422, -1312, 11713, 24789, -2422, -1310, 11703, 24797, -2422, -1309, 11692, 24807, -2422,
-	-1308, 11681, 24817, -2422, -1306, 11670, 24827, -2423, -1305, 11659, 24837, -2423, -1304, 11649, 24846, -2423,
-	-1302, 11638, 24855, -2423, -1301, 11627, 24865, -2423, -1300, 11616, 24875, -2423, -1298, 11606, 24883, -2423,
-	-1297, 11595, 24893, -2423, -1296, 11584, 24904, -2424, -1294, 11573, 24913, -2424, -1293, 11562, 24923, -2424,
-	-1292, 11552, 24932, -2424, -1290, 11541, 24941, -2424, -1289, 11530, 24951, -2424, -1288, 11519, 24961, -2424,
-	-1286, 11509, 24969, -2424, -1285, 11498, 24979, -2424, -1284, 11487, 24990, -2425, -1282, 11476, 24999, -2425,
-	-1281, 11466, 25008, -2425, -1280, 11455, 25018, -2425, -1278, 11444, 25027, -2425, -1277, 11433, 25037, -2425,
-	-1276, 11422, 25047, -2425, -1274, 11412, 25055, -2425, -1273, 11401, 25065, -2425, -1272, 11390, 25075, -2425,
-	-1271, 11380, 25085, -2426, -1269, 11369, 25094, -2426, -1268, 11358, 25104, -2426, -1267, 11347, 25114, -2426,
-	-1265, 11337, 25122, -2426, -1264, 11326, 25132, -2426, -1263, 11315, 25142, -2426, -1261, 11304, 25151, -2426,
-	-1260, 11294, 25160, -2426, -1259, 11283, 25170, -2426, -1257, 11272, 25179, -2426, -1256, 11261, 25189, -2426,
-	-1255, 11251, 25198, -2426, -1253, 11240, 25207, -2426, -1252, 11229, 25217, -2426, -1251, 11219, 25227, -2427,
-	-1249, 11208, 25236, -2427, -1248, 11197, 25246, -2427, -1247, 11186, 25256, -2427, -1245, 11176, 25264, -2427,
-	-1244, 11165, 25274, -2427, -1243, 11154, 25284, -2427, -1241, 11144, 25292, -2427, -1240, 11133, 25302, -2427,
-	-1239, 11122, 25312, -2427, -1237, 11111, 25321, -2427, -1236, 11101, 25330, -2427, -1235, 11090, 25340, -2427,
-	-1233, 11079, 25349, -2427, -1232, 11069, 25358, -2427, -1231, 11058, 25368, -2427, -1229, 11047, 25377, -2427,
-	-1228, 11037, 25386, -2427, -1227, 11026, 25396, -2427, -1225, 11015, 25405, -2427, -1224, 11005, 25414, -2427,
-	-1223, 10994, 25424, -2427, -1221, 10983, 25433, -2427, -1220, 10972, 25443, -2427, -1219, 10962, 25452, -2427,
-	-1217, 10951, 25461, -2427, -1216, 10940, 25471, -2427, -1215, 10930, 25480, -2427, -1213, 10919, 25489, -2427,
-	-1212, 10908, 25499, -2427, -1211, 10898, 25508, -2427, -1209, 10887, 25517, -2427, -1208, 10876, 25527, -2427,
-	-1207, 10866, 25536, -2427, -1205, 10855, 25545, -2427, -1204, 10844, 25555, -2427, -1203, 10834, 25564, -2427,
-	-1201, 10823, 25573, -2427, -1200, 10813, 25582, -2427, -1199, 10802, 25592, -2427, -1197, 10791, 25601, -2427,
-	-1196, 10781, 25610, -2427, -1195, 10770, 25620, -2427, -1193, 10759, 25629, -2427, -1192, 10749, 25638, -2427,
-	-1191, 10738, 25648, -2427, -1189, 10727, 25657, -2427, -1188, 10717, 25666, -2427, -1187, 10706, 25676, -2427,
-	-1185, 10696, 25684, -2427, -1184, 10685, 25694, -2427, -1183, 10674, 25704, -2427, -1181, 10664, 25712, -2427,
-	-1180, 10653, 25722, -2427, -1179, 10642, 25732, -2427, -1177, 10632, 25740, -2427, -1176, 10621, 25749, -2426,
-	-1175, 10611, 25758, -2426, -1173, 10600, 25767, -2426, -1172, 10589, 25777, -2426, -1171, 10579, 25786, -2426,
-	-1169, 10568, 25795, -2426, -1168, 10558, 25804, -2426, -1167, 10547, 25814, -2426, -1165, 10536, 25823, -2426,
-	-1164, 10526, 25832, -2426, -1163, 10515, 25842, -2426, -1161, 10505, 25850, -2426, -1160, 10494, 25860, -2426,
-	-1159, 10483, 25870, -2426, -1157, 10473, 25877, -2425, -1156, 10462, 25887, -2425, -1155, 10452, 25896, -2425,
-	-1153, 10441, 25905, -2425, -1152, 10431, 25914, -2425, -1151, 10420, 25924, -2425, -1149, 10409, 25933, -2425,
-	-1148, 10399, 25942, -2425, -1147, 10388, 25952, -2425, -1145, 10378, 25960, -2425, -1144, 10367, 25970, -2425,
-	-1143, 10357, 25978, -2424, -1141, 10346, 25987, -2424, -1140, 10336, 25996, -2424, -1139, 10325, 26006, -2424,
-	-1137, 10314, 26015, -2424, -1136, 10304, 26024, -2424, -1135, 10293, 26034, -2424, -1133, 10283, 26042, -2424,
-	-1132, 10272, 26052, -2424, -1131, 10262, 26060, -2423, -1129, 10251, 26069, -2423, -1128, 10241, 26078, -2423,
-	-1127, 10230, 26088, -2423, -1125, 10220, 26096, -2423, -1124, 10209, 26106, -2423, -1123, 10199, 26115, -2423,
-	-1121, 10188, 26123, -2422, -1120, 10178, 26132, -2422, -1119, 10167, 26142, -2422, -1117, 10156, 26151, -2422,
-	-1116, 10146, 26160, -2422, -1115, 10135, 26170, -2422, -1113, 10125, 26178, -2422, -1112, 10114, 26187, -2421,
-	-1111, 10104, 26196, -2421, -1109, 10093, 26205, -2421, -1108, 10083, 26214, -2421, -1107, 10072, 26224, -2421,
-	-1105, 10062, 26232, -2421, -1104, 10051, 26242, -2421, -1103, 10041, 26250, -2420, -1101, 10030, 26259, -2420,
-	-1100, 10020, 26268, -2420, -1099, 10010, 26277, -2420, -1097,  9999, 26286, -2420, -1096,  9989, 26294, -2419,
-	-1095,  9978, 26304, -2419, -1093,  9968, 26312, -2419, -1092,  9957, 26322, -2419, -1091,  9947, 26331, -2419,
-	-1089,  9936, 26340, -2419, -1088,  9926, 26348, -2418, -1087,  9915, 26358, -2418, -1085,  9905, 26366, -2418,
-	-1084,  9894, 26376, -2418, -1083,  9884, 26385, -2418, -1081,  9873, 26393, -2417, -1080,  9863, 26402, -2417,
-	-1079,  9853, 26411, -2417, -1077,  9842, 26420, -2417, -1076,  9832, 26429, -2417, -1075,  9821, 26438, -2416,
-	-1073,  9811, 26446, -2416, -1072,  9800, 26456, -2416, -1071,  9790, 26465, -2416, -1069,  9779, 26473, -2415,
-	-1068,  9769, 26482, -2415, -1067,  9759, 26491, -2415, -1066,  9748, 26501, -2415, -1064,  9738, 26509, -2415,
-	-1063,  9727, 26518, -2414, -1062,  9717, 26527, -2414, -1060,  9707, 26535, -2414, -1059,  9696, 26545, -2414,
-	-1058,  9686, 26553, -2413, -1056,  9675, 26562, -2413, -1055,  9665, 26571, -2413, -1054,  9654, 26581, -2413,
-	-1052,  9644, 26588, -2412, -1051,  9634, 26597, -2412, -1050,  9623, 26607, -2412, -1048,  9613, 26615, -2412,
-	-1047,  9603, 26623, -2411, -1046,  9592, 26633, -2411, -1044,  9582, 26641, -2411, -1043,  9571, 26651, -2411,
-	-1042,  9561, 26659, -2410, -1040,  9551, 26667, -2410, -1039,  9540, 26677, -2410, -1038,  9530, 26686, -2410,
-	-1036,  9520, 26693, -2409, -1035,  9509, 26703, -2409, -1034,  9499, 26712, -2409, -1032,  9488, 26721, -2409,
-	-1031,  9478, 26729, -2408, -1030,  9468, 26738, -2408, -1028,  9457, 26747, -2408, -1027,  9447, 26755, -2407,
-	-1026,  9437, 26764, -2407, -1025,  9426, 26774, -2407, -1023,  9416, 26781, -2406, -1022,  9406, 26790, -2406,
-	-1021,  9395, 26800, -2406, -1019,  9385, 26808, -2406, -1018,  9375, 26816, -2405, -1017,  9364, 26826, -2405,
-	-1015,  9354, 26834, -2405, -1014,  9344, 26842, -2404, -1013,  9333, 26852, -2404, -1011,  9323, 26860, -2404,
-	-1010,  9313, 26868, -2403, -1009,  9302, 26878, -2403, -1007,  9292, 26886, -2403, -1006,  9282, 26894, -2402,
-	-1005,  9271, 26904, -2402, -1003,  9261, 26912, -2402, -1002,  9251, 26921, -2402, -1001,  9240, 26930, -2401,
-	-1000,  9230, 26939, -2401,  -998,  9220, 26947, -2401,  -997,  9210, 26955, -2400,  -996,  9199, 26965, -2400,
-	 -994,  9189, 26972, -2399,  -993,  9179, 26981, -2399,  -992,  9168, 26991, -2399,  -990,  9158, 26998, -2398,
-	 -989,  9148, 27007, -2398,  -988,  9138, 27016, -2398,  -986,  9127, 27024, -2397,  -985,  9117, 27033, -2397,
-	 -984,  9107, 27042, -2397,  -982,  9097, 27049, -2396,  -981,  9086, 27059, -2396,  -980,  9076, 27068, -2396,
-	 -979,  9066, 27076, -2395,  -977,  9056, 27084, -2395,  -976,  9045, 27093, -2394,  -975,  9035, 27102, -2394,
-	 -973,  9025, 27110, -2394,  -972,  9015, 27118, -2393,  -971,  9004, 27128, -2393,  -969,  8994, 27136, -2393,
-	 -968,  8984, 27144, -2392,  -967,  8974, 27153, -2392,  -965,  8963, 27161, -2391,  -964,  8953, 27170, -2391,
-	 -963,  8943, 27179, -2391,  -961,  8933, 27186, -2390,  -960,  8923, 27195, -2390,  -959,  8912, 27204, -2389,
-	 -958,  8902, 27213, -2389,  -956,  8892, 27221, -2389,  -955,  8882, 27229, -2388,  -954,  8872, 27238, -2388,
-	 -952,  8861, 27246, -2387,  -951,  8851, 27255, -2387,  -950,  8841, 27264, -2387,  -948,  8831, 27271, -2386,
-	 -947,  8821, 27280, -2386,  -946,  8810, 27289, -2385,  -945,  8800, 27298, -2385,  -943,  8790, 27305, -2384,
-	 -942,  8780, 27314, -2384,  -941,  8770, 27323, -2384,  -939,  8759, 27331, -2383,  -938,  8749, 27340, -2383,
-	 -937,  8739, 27348, -2382,  -935,  8729, 27356, -2382,  -934,  8719, 27364, -2381,  -933,  8709, 27373, -2381,
-	 -932,  8699, 27382, -2381,  -930,  8688, 27390, -2380,  -929,  8678, 27399, -2380,  -928,  8668, 27407, -2379,
-	 -926,  8658, 27415, -2379,  -925,  8648, 27423, -2378,  -924,  8638, 27432, -2378,  -922,  8628, 27439, -2377,
-	 -921,  8617, 27449, -2377,  -920,  8607, 27457, -2376,  -919,  8597, 27466, -2376,  -917,  8587, 27473, -2375,
-	 -916,  8577, 27482, -2375,  -915,  8567, 27490, -2374,  -913,  8557, 27498, -2374,  -912,  8547, 27507, -2374,
-	 -911,  8536, 27516, -2373,  -909,  8526, 27524, -2373,  -908,  8516, 27532, -2372,  -907,  8506, 27541, -2372,
-	 -906,  8496, 27549, -2371,  -904,  8486, 27557, -2371,  -903,  8476, 27565, -2370,  -902,  8466, 27574, -2370,
-	 -900,  8456, 27581, -2369,  -899,  8446, 27590, -2369,  -898,  8436, 27598, -2368,  -896,  8425, 27607, -2368,
-	 -895,  8415, 27615, -2367,  -894,  8405, 27624, -2367,  -893,  8395, 27632, -2366,  -891,  8385, 27639, -2365,
-	 -890,  8375, 27648, -2365,  -889,  8365, 27656, -2364,  -887,  8355, 27664, -2364,  -886,  8345, 27672, -2363,
-	 -885,  8335, 27681, -2363,  -884,  8325, 27689, -2362,  -882,  8315, 27697, -2362,  -881,  8305, 27705, -2361,
-	 -880,  8295, 27714, -2361,  -878,  8285, 27721, -2360,  -877,  8275, 27730, -2360,  -876,  8265, 27738, -2359,
-	 -875,  8255, 27747, -2359,  -873,  8245, 27754, -2358,  -872,  8235, 27762, -2357,  -871,  8225, 27771, -2357,
-	 -869,  8215, 27778, -2356,  -868,  8205, 27787, -2356,  -867,  8195, 27795, -2355,  -866,  8185, 27804, -2355,
-	 -864,  8175, 27811, -2354,  -863,  8165, 27819, -2353,  -862,  8155, 27828, -2353,  -860,  8145, 27835, -2352,
-	 -859,  8135, 27844, -2352,  -858,  8125, 27852, -2351,  -857,  8115, 27861, -2351,  -855,  8105, 27868, -2350,
-	 -854,  8095, 27876, -2349,  -853,  8085, 27885, -2349,  -851,  8075, 27892, -2348,  -850,  8065, 27901, -2348,
-	 -849,  8055, 27909, -2347,  -848,  8045, 27917, -2346,  -846,  8035, 27925, -2346,  -845,  8025, 27933, -2345,
-	 -844,  8015, 27942, -2345,  -843,  8005, 27950, -2344,  -841,  7995, 27957, -2343,  -840,  7985, 27966, -2343,
-	 -839,  7975, 27974, -2342,  -837,  7965, 27982, -2342,  -836,  7955, 27990, -2341,  -835,  7945, 27998, -2340,
-	 -834,  7936, 28006, -2340,  -832,  7926, 28013, -2339,  -831,  7916, 28021, -2338,  -830,  7906, 28030, -2338,
-	 -829,  7896, 28038, -2337,  -827,  7886, 28046, -2337,  -826,  7876, 28054, -2336,  -825,  7866, 28062, -2335,
-	 -823,  7856, 28070, -2335,  -822,  7846, 28078, -2334,  -821,  7836, 28086, -2333,  -820,  7827, 28094, -2333,
-	 -818,  7817, 28101, -2332,  -817,  7807, 28109, -2331,  -816,  7797, 28118, -2331,  -815,  7787, 28126, -2330,
-	 -813,  7777, 28133, -2329,  -812,  7767, 28142, -2329,  -811,  7757, 28150, -2328,  -810,  7748, 28157, -2327,
-	 -808,  7738, 28165, -2327,  -807,  7728, 28173, -2326,  -806,  7718, 28181, -2325,  -804,  7708, 28189, -2325,
-	 -803,  7698, 28197, -2324,  -802,  7688, 28205, -2323,  -801,  7679, 28213, -2323,  -799,  7669, 28220, -2322,
-	 -798,  7659, 28228, -2321,  -797,  7649, 28237, -2321,  -796,  7639, 28245, -2320,  -794,  7629, 28252, -2319,
-	 -793,  7620, 28260, -2319,  -792,  7610, 28268, -2318,  -791,  7600, 28276, -2317,  -789,  7590, 28283, -2316,
-	 -788,  7580, 28292, -2316,  -787,  7571, 28299, -2315,  -786,  7561, 28307, -2314,  -784,  7551, 28315, -2314,
-	 -783,  7541, 28323, -2313,  -782,  7531, 28331, -2312,  -781,  7522, 28338, -2311,  -779,  7512, 28346, -2311,
-	 -778,  7502, 28354, -2310,  -777,  7492, 28362, -2309,  -776,  7483, 28369, -2308,  -774,  7473, 28377, -2308,
-	 -773,  7463, 28385, -2307,  -772,  7453, 28393, -2306,  -771,  7444, 28400, -2305,  -769,  7434, 28408, -2305,
-	 -768,  7424, 28416, -2304,  -767,  7414, 28424, -2303,  -766,  7405, 28431, -2302,  -764,  7395, 28439, -2302,
-	 -763,  7385, 28447, -2301,  -762,  7375, 28455, -2300,  -761,  7366, 28462, -2299,  -759,  7356, 28470, -2299,
-	 -758,  7346, 28478, -2298,  -757,  7336, 28486, -2297,  -756,  7327, 28493, -2296,  -754,  7317, 28501, -2296,
-	 -753,  7307, 28509, -2295,  -752,  7298, 28516, -2294,  -751,  7288, 28524, -2293,  -749,  7278, 28531, -2292,
-	 -748,  7268, 28540, -2292,  -747,  7259, 28547, -2291,  -746,  7249, 28555, -2290,  -744,  7239, 28562, -2289,
-	 -743,  7230, 28570, -2289,  -742,  7220, 28578, -2288,  -741,  7210, 28586, -2287,  -739,  7201, 28592, -2286,
-	 -738,  7191, 28600, -2285,  -737,  7181, 28608, -2284,  -736,  7172, 28616, -2284,  -734,  7162, 28623, -2283,
-	 -733,  7152, 28631, -2282,  -732,  7143, 28638, -2281,  -731,  7133, 28646, -2280,  -729,  7123, 28654, -2280,
-	 -728,  7114, 28661, -2279,  -727,  7104, 28669, -2278,  -726,  7095, 28676, -2277,  -725,  7085, 28684, -2276,
-	 -723,  7075, 28691, -2275,  -722,  7066, 28699, -2275,  -721,  7056, 28707, -2274,  -720,  7046, 28715, -2273,
-	 -718,  7037, 28721, -2272,  -717,  7027, 28729, -2271,  -716,  7018, 28736, -2270,  -715,  7008, 28744, -2269,
-	 -713,  6998, 28752, -2269,  -712,  6989, 28759, -2268,  -711,  6979, 28767, -2267,  -710,  6970, 28774, -2266,
-	 -709,  6960, 28782, -2265,  -707,  6950, 28789, -2264,  -706,  6941, 28796, -2263,  -705,  6931, 28805, -2263,
-	 -704,  6922, 28812, -2262,  -702,  6912, 28819, -2261,  -701,  6903, 28826, -2260,  -700,  6893, 28834, -2259,
-	 -699,  6883, 28842, -2258,  -698,  6874, 28849, -2257,  -696,  6864, 28856, -2256,  -695,  6855, 28863, -2255,
-	 -694,  6845, 28872, -2255,  -693,  6836, 28879, -2254,  -691,  6826, 28886, -2253,  -690,  6817, 28893, -2252,
-	 -689,  6807, 28901, -2251,  -688,  6798, 28908, -2250,  -687,  6788, 28916, -2249,  -685,  6779, 28922, -2248,
-	 -684,  6769, 28930, -2247,  -683,  6760, 28937, -2246,  -682,  6750, 28945, -2245,  -681,  6741, 28953, -2245,
-	 -679,  6731, 28960, -2244,  -678,  6722, 28967, -2243,  -677,  6712, 28975, -2242,  -676,  6703, 28982, -2241,
-	 -675,  6693, 28990, -2240,  -673,  6684, 28996, -2239,  -672,  6674, 29004, -2238,  -671,  6665, 29011, -2237,
-	 -670,  6655, 29019, -2236,  -668,  6646, 29025, -2235,  -667,  6636, 29033, -2234,  -666,  6627, 29040, -2233,
-	 -665,  6617, 29048, -2232,  -664,  6608, 29055, -2231,  -662,  6599, 29061, -2230,  -661,  6589, 29069, -2229,
-	 -660,  6580, 29076, -2228,  -659,  6570, 29084, -2227,  -658,  6561, 29091, -2226,  -656,  6551, 29098, -2225,
-	 -655,  6542, 29105, -2224,  -654,  6533, 29113, -2224,  -653,  6523, 29121, -2223,  -652,  6514, 29128, -2222,
-	 -650,  6504, 29135, -2221,  -649,  6495, 29142, -2220,  -648,  6486, 29149, -2219,  -647,  6476, 29157, -2218,
-	 -646,  6467, 29164, -2217,  -644,  6457, 29171, -2216,  -643,  6448, 29178, -2215,  -642,  6439, 29185, -2214,
-	 -641,  6429, 29193, -2213,  -640,  6420, 29200, -2212,  -639,  6411, 29207, -2211,  -637,  6401, 29213, -2209,
-	 -636,  6392, 29220, -2208,  -635,  6382, 29228, -2207,  -634,  6373, 29235, -2206,  -633,  6364, 29242, -2205,
-	 -631,  6354, 29249, -2204,  -630,  6345, 29256, -2203,  -629,  6336, 29263, -2202,  -628,  6326, 29271, -2201,
-	 -627,  6317, 29278, -2200,  -625,  6308, 29284, -2199,  -624,  6298, 29292, -2198,  -623,  6289, 29299, -2197,
-	 -622,  6280, 29306, -2196,  -621,  6271, 29313, -2195,  -620,  6261, 29321, -2194,  -618,  6252, 29327, -2193,
-	 -617,  6243, 29334, -2192,  -616,  6233, 29342, -2191,  -615,  6224, 29349, -2190,  -614,  6215, 29356, -2189,
-	 -613,  6206, 29363, -2188,  -611,  6196, 29369, -2186,  -610,  6187, 29376, -2185,  -609,  6178, 29383, -2184,
-	 -608,  6168, 29391, -2183,  -607,  6159, 29398, -2182,  -605,  6150, 29404, -2181,  -604,  6141, 29411, -2180,
-	 -603,  6131, 29419, -2179,  -602,  6122, 29426, -2178,  -601,  6113, 29433, -2177,  -600,  6104, 29440, -2176,
-	 -598,  6094, 29446, -2174,  -597,  6085, 29453, -2173,  -596,  6076, 29460, -2172,  -595,  6067, 29467, -2171,
-	 -594,  6058, 29474, -2170,  -593,  6048, 29482, -2169,  -591,  6039, 29488, -2168,  -590,  6030, 29495, -2167,
-	 -589,  6021, 29501, -2165,  -588,  6012, 29508, -2164,  -587,  6002, 29516, -2163,  -586,  5993, 29523, -2162,
-	 -584,  5984, 29529, -2161,  -583,  5975, 29536, -2160,  -582,  5966, 29543, -2159,  -581,  5956, 29551, -2158,
-	 -580,  5947, 29557, -2156,  -579,  5938, 29564, -2155,  -578,  5929, 29571, -2154,  -576,  5920, 29577, -2153,
-	 -575,  5911, 29584, -2152,  -574,  5902, 29591, -2151,  -573,  5892, 29598, -2149,  -572,  5883, 29605, -2148,
-	 -571,  5874, 29612, -2147,  -569,  5865, 29618, -2146,  -568,  5856, 29625, -2145,  -567,  5847, 29632, -2144,
-	 -566,  5838, 29638, -2142,  -565,  5829, 29645, -2141,  -564,  5819, 29653, -2140,  -563,  5810, 29660, -2139,
-	 -561,  5801, 29666, -2138,  -560,  5792, 29672, -2136,  -559,  5783, 29679, -2135,  -558,  5774, 29686, -2134,
-	 -557,  5765, 29693, -2133,  -556,  5756, 29700, -2132,  -555,  5747, 29706, -2130,  -553,  5738, 29712, -2129,
-	 -552,  5729, 29719, -2128,  -551,  5719, 29727, -2127,  -550,  5710, 29734, -2126,  -549,  5701, 29740, -2124,
-	 -548,  5692, 29747, -2123,  -547,  5683, 29754, -2122,  -545,  5674, 29760, -2121,  -544,  5665, 29767, -2120,
-	 -543,  5656, 29773, -2118,  -542,  5647, 29780, -2117,  -541,  5638, 29787, -2116,  -540,  5629, 29794, -2115,
-	 -539,  5620, 29800, -2113,  -538,  5611, 29807, -2112,  -536,  5602, 29813, -2111,  -535,  5593, 29820, -2110,
-	 -534,  5584, 29826, -2108,  -533,  5575, 29833, -2107,  -532,  5566, 29840, -2106,  -531,  5557, 29847, -2105,
-	 -530,  5548, 29853, -2103,  -529,  5539, 29860, -2102,  -527,  5530, 29866, -2101,  -526,  5521, 29872, -2099,
-	 -525,  5512, 29879, -2098,  -524,  5503, 29886, -2097,  -523,  5494, 29893, -2096,  -522,  5485, 29899, -2094,
-	 -521,  5476, 29906, -2093,  -520,  5467, 29913, -2092,  -518,  5458, 29918, -2090,  -517,  5450, 29924, -2089,
-	 -516,  5441, 29931, -2088,  -515,  5432, 29938, -2087,  -514,  5423, 29944, -2085,  -513,  5414, 29951, -2084,
-	 -512,  5405, 29958, -2083,  -511,  5396, 29964, -2081,  -510,  5387, 29971, -2080,  -508,  5378, 29977, -2079,
-	 -507,  5369, 29983, -2077,  -506,  5360, 29990, -2076,  -505,  5352, 29996, -2075,  -504,  5343, 30002, -2073,
-	 -503,  5334, 30009, -2072,  -502,  5325, 30016, -2071,  -501,  5316, 30022, -2069,  -500,  5307, 30029, -2068,
-	 -499,  5298, 30036, -2067,  -497,  5289, 30041, -2065,  -496,  5281, 30047, -2064,  -495,  5272, 30054, -2063,
-	 -494,  5263, 30060, -2061,  -493,  5254, 30067, -2060,  -492,  5245, 30074, -2059,  -491,  5236, 30080, -2057,
-	 -490,  5228, 30086, -2056,  -489,  5219, 30093, -2055,  -488,  5210, 30099, -2053,  -486,  5201, 30105, -2052,
-	 -485,  5192, 30111, -2050,  -484,  5184, 30117, -2049,  -483,  5175, 30124, -2048,  -482,  5166, 30130, -2046,
-	 -481,  5157, 30137, -2045,  -480,  5148, 30143, -2043,  -479,  5140, 30149, -2042,  -478,  5131, 30156, -2041,
-	 -477,  5122, 30162, -2039,  -476,  5113, 30169, -2038,  -474,  5104, 30174, -2036,  -473,  5096, 30180, -2035,
-	 -472,  5087, 30187, -2034,  -471,  5078, 30193, -2032,  -470,  5069, 30200, -2031,  -469,  5061, 30205, -2029,
-	 -468,  5052, 30212, -2028,  -467,  5043, 30219, -2027,  -466,  5035, 30224, -2025,  -465,  5026, 30231, -2024,
-	 -464,  5017, 30237, -2022,  -463,  5008, 30244, -2021,  -462,  5000, 30249, -2019,  -460,  4991, 30255, -2018,
-	 -459,  4982, 30262, -2017,  -458,  4974, 30267, -2015,  -457,  4965, 30274, -2014,  -456,  4956, 30280, -2012,
-	 -455,  4948, 30286, -2011,  -454,  4939, 30292, -2009,  -453,  4930, 30299, -2008,  -452,  4921, 30305, -2006,
-	 -451,  4913, 30311, -2005,  -450,  4904, 30317, -2003,  -449,  4896, 30323, -2002,  -448,  4887, 30329, -2000,
-	 -447,  4878, 30336, -1999,  -446,  4870, 30342, -1998,  -444,  4861, 30347, -1996,  -443,  4852, 30354, -1995,
-	 -442,  4844, 30359, -1993,  -441,  4835, 30366, -1992,  -440,  4826, 30372, -1990,  -439,  4818, 30378, -1989,
-	 -438,  4809, 30384, -1987,  -437,  4801, 30390, -1986,  -436,  4792, 30396, -1984,  -435,  4783, 30403, -1983,
-	 -434,  4775, 30408, -1981,  -433,  4766, 30415, -1980,  -432,  4758, 30420, -1978,  -431,  4749, 30427, -1977,
-	 -430,  4741, 30432, -1975,  -429,  4732, 30438, -1973,  -428,  4723, 30445, -1972,  -427,  4715, 30450, -1970,
-	 -426,  4706, 30457, -1969,  -425,  4698, 30462, -1967,  -423,  4689, 30468, -1966,  -422,  4681, 30473, -1964,
-	 -421,  4672, 30480, -1963,  -420,  4664, 30485, -1961,  -419,  4655, 30492, -1960,  -418,  4647, 30497, -1958,
-	 -417,  4638, 30503, -1956,  -416,  4630, 30509, -1955,  -415,  4621, 30515, -1953,  -414,  4613, 30521, -1952,
-	 -413,  4604, 30527, -1950,  -412,  4596, 30533, -1949,  -411,  4587, 30539, -1947,  -410,  4579, 30545, -1946,
-	 -409,  4570, 30551, -1944,  -408,  4562, 30556, -1942,  -407,  4553, 30563, -1941,  -406,  4545, 30568, -1939,
-	 -405,  4536, 30575, -1938,  -404,  4528, 30580, -1936,  -403,  4519, 30586, -1934,  -402,  4511, 30592, -1933,
-	 -401,  4502, 30598, -1931,  -400,  4494, 30604, -1930,  -399,  4486, 30609, -1928,  -398,  4477, 30615, -1926,
-	 -397,  4469, 30621, -1925,  -396,  4460, 30627, -1923,  -395,  4452, 30633, -1922,  -394,  4443, 30639, -1920,
-	 -393,  4435, 30644, -1918,  -392,  4427, 30650, -1917,  -391,  4418, 30656, -1915,  -390,  4410, 30661, -1913,
-	 -389,  4402, 30667, -1912,  -388,  4393, 30673, -1910,  -387,  4385, 30678, -1908,  -386,  4376, 30685, -1907,
-	 -385,  4368, 30690, -1905,  -384,  4360, 30695, -1903,  -383,  4351, 30702, -1902,  -382,  4343, 30707, -1900,
-	 -381,  4335, 30713, -1899,  -380,  4326, 30719, -1897,  -379,  4318, 30724, -1895,  -378,  4310, 30730, -1894,
-	 -377,  4301, 30736, -1892,  -376,  4293, 30741, -1890,  -375,  4285, 30746, -1888,  -374,  4276, 30753, -1887,
-	 -373,  4268, 30758, -1885,  -372,  4260, 30763, -1883,  -371,  4252, 30769, -1882,  -370,  4243, 30775, -1880,
-	 -369,  4235, 30780, -1878,  -368,  4227, 30786, -1877,  -367,  4218, 30792, -1875,  -366,  4210, 30797, -1873,
-	 -365,  4202, 30803, -1872,  -364,  4194, 30808, -1870,  -363,  4185, 30814, -1868,  -362,  4177, 30819, -1866,
-	 -361,  4169, 30825, -1865,  -360,  4161, 30830, -1863,  -359,  4152, 30836, -1861,  -358,  4144, 30841, -1859,
-	 -357,  4136, 30847, -1858,  -356,  4128, 30852, -1856,  -355,  4119, 30858, -1854,  -354,  4111, 30864, -1853,
-	 -353,  4103, 30869, -1851,  -352,  4095, 30874, -1849,  -351,  4087, 30879, -1847,  -350,  4079, 30885, -1846,
-	 -349,  4070, 30891, -1844,  -348,  4062, 30896, -1842,  -347,  4054, 30901, -1840,  -346,  4046, 30907, -1839,
-	 -345,  4038, 30912, -1837,  -344,  4029, 30918, -1835,  -343,  4021, 30923, -1833,  -342,  4013, 30928, -1831,
-	 -341,  4005, 30934, -1830,  -340,  3997, 30939, -1828,  -339,  3989, 30944, -1826,  -338,  3981, 30949, -1824,
-	 -338,  3973, 30956, -1823,  -337,  3964, 30962, -1821,  -336,  3956, 30967, -1819,  -335,  3948, 30972, -1817,
-	 -334,  3940, 30977, -1815,  -333,  3932, 30982, -1813,  -332,  3924, 30988, -1812,  -331,  3916, 30993, -1810,
-	 -330,  3908, 30998, -1808,  -329,  3900, 31003, -1806,  -328,  3892, 31008, -1804,  -327,  3883, 31015, -1803,
-	 -326,  3875, 31020, -1801,  -325,  3867, 31025, -1799,  -324,  3859, 31030, -1797,  -323,  3851, 31035, -1795,
-	 -322,  3843, 31040, -1793,  -321,  3835, 31046, -1792,  -320,  3827, 31051, -1790,  -320,  3819, 31057, -1788,
-	 -319,  3811, 31062, -1786,  -318,  3803, 31067, -1784,  -317,  3795, 31072, -1782,  -316,  3787, 31077, -1780,
-	 -315,  3779, 31083, -1779,  -314,  3771, 31088, -1777,  -313,  3763, 31093, -1775,  -312,  3755, 31098, -1773,
-	 -311,  3747, 31103, -1771,  -310,  3739, 31108, -1769,  -309,  3731, 31113, -1767,  -308,  3723, 31118, -1765,
-	 -307,  3715, 31124, -1764,  -306,  3707, 31129, -1762,  -306,  3699, 31135, -1760,  -305,  3691, 31140, -1758,
-	 -304,  3683, 31145, -1756,  -303,  3676, 31149, -1754,  -302,  3668, 31154, -1752,  -301,  3660, 31159, -1750,
-	 -300,  3652, 31164, -1748,  -299,  3644, 31169, -1746,  -298,  3636, 31175, -1745,  -297,  3628, 31180, -1743,
-	 -296,  3620, 31185, -1741,  -296,  3612, 31191, -1739,  -295,  3604, 31196, -1737,  -294,  3596, 31201, -1735,
-	 -293,  3589, 31205, -1733,  -292,  3581, 31210, -1731,  -291,  3573, 31215, -1729,  -290,  3565, 31220, -1727,
-	 -289,  3557, 31225, -1725,  -288,  3549, 31230, -1723,  -287,  3541, 31235, -1721,  -286,  3534, 31239, -1719,
-	 -286,  3526, 31245, -1717,  -285,  3518, 31250, -1715,  -284,  3510, 31255, -1713,  -283,  3502, 31260, -1711,
-	 -282,  3495, 31264, -1709,  -281,  3487, 31270, -1708,  -280,  3479, 31275, -1706,  -279,  3471, 31280, -1704,
-	 -278,  3463, 31285, -1702,  -278,  3456, 31290, -1700,  -277,  3448, 31295, -1698,  -276,  3440, 31300, -1696,
-	 -275,  3432, 31305, -1694,  -274,  3424, 31310, -1692,  -273,  3417, 31314, -1690,  -272,  3409, 31319, -1688,
-	 -271,  3401, 31324, -1686,  -270,  3393, 31329, -1684,  -270,  3386, 31334, -1682,  -269,  3378, 31339, -1680,
-	 -268,  3370, 31343, -1677,  -267,  3363, 31347, -1675,  -266,  3355, 31352, -1673,  -265,  3347, 31357, -1671,
-	 -264,  3339, 31362, -1669,  -264,  3332, 31367, -1667,  -263,  3324, 31372, -1665,  -262,  3316, 31377, -1663,
-	 -261,  3309, 31381, -1661,  -260,  3301, 31386, -1659,  -259,  3293, 31391, -1657,  -258,  3286, 31395, -1655,
-	 -257,  3278, 31400, -1653,  -257,  3270, 31406, -1651,  -256,  3263, 31410, -1649,  -255,  3255, 31415, -1647,
-	 -254,  3247, 31420, -1645,  -253,  3240, 31424, -1643,  -252,  3232, 31429, -1641,  -251,  3224, 31433, -1638,
-	 -251,  3217, 31438, -1636,  -250,  3209, 31443, -1634,  -249,  3202, 31447, -1632,  -248,  3194, 31452, -1630,
-	 -247,  3186, 31457, -1628,  -246,  3179, 31461, -1626,  -246,  3171, 31467, -1624,  -245,  3164, 31471, -1622,
-	 -244,  3156, 31476, -1620,  -243,  3149, 31479, -1617,  -242,  3141, 31484, -1615,  -241,  3133, 31489, -1613,
-	 -240,  3126, 31493, -1611,  -240,  3118, 31499, -1609,  -239,  3111, 31503, -1607,  -238,  3103, 31508, -1605,
-	 -237,  3096, 31512, -1603,  -236,  3088, 31516, -1600,  -235,  3081, 31520, -1598,  -235,  3073, 31526, -1596,
-	 -234,  3066, 31530, -1594,  -233,  3058, 31535, -1592,  -232,  3051, 31539, -1590,  -231,  3043, 31544, -1588,
-	 -231,  3036, 31548, -1585,  -230,  3028, 31553, -1583,  -229,  3021, 31557, -1581,  -228,  3013, 31562, -1579,
-	 -227,  3006, 31566, -1577,  -226,  2998, 31571, -1575,  -226,  2991, 31575, -1572,  -225,  2983, 31580, -1570,
-	 -224,  2976, 31584, -1568,  -223,  2969, 31588, -1566,  -222,  2961, 31593, -1564,  -222,  2954, 31597, -1561,
-	 -221,  2946, 31602, -1559,  -220,  2939, 31606, -1557,  -219,  2931, 31611, -1555,  -218,  2924, 31615, -1553,
-	 -218,  2917, 31619, -1550,  -217,  2909, 31624, -1548,  -216,  2902, 31628, -1546,  -215,  2895, 31632, -1544,
-	 -214,  2887, 31637, -1542,  -214,  2880, 31641, -1539,  -213,  2872, 31646, -1537,  -212,  2865, 31650, -1535,
-	 -211,  2858, 31654, -1533,  -210,  2850, 31658, -1530,  -210,  2843, 31663, -1528,  -209,  2836, 31667, -1526,
-	 -208,  2828, 31672, -1524,  -207,  2821, 31675, -1521,  -206,  2814, 31679, -1519,  -206,  2806, 31685, -1517,
-	 -205,  2799, 31689, -1515,  -204,  2792, 31692, -1512,  -203,  2785, 31696, -1510,  -203,  2777, 31702, -1508,
-	 -202,  2770, 31706, -1506,  -201,  2763, 31709, -1503,  -200,  2755, 31714, -1501,  -199,  2748, 31718, -1499,
-	 -199,  2741, 31722, -1496,  -198,  2734, 31726, -1494,  -197,  2726, 31731, -1492,  -196,  2719, 31734, -1489,
-	 -196,  2712, 31739, -1487,  -195,  2705, 31743, -1485,  -194,  2697, 31748, -1483,  -193,  2690, 31751, -1480,
-	 -192,  2683, 31755, -1478,  -192,  2676, 31760, -1476,  -191,  2669, 31763, -1473,  -190,  2661, 31768, -1471,
-	 -189,  2654, 31772, -1469,  -189,  2647, 31776, -1466,  -188,  2640, 31780, -1464,  -187,  2633, 31784, -1462,
-	 -186,  2626, 31787, -1459,  -186,  2618, 31793, -1457,  -185,  2611, 31797, -1455,  -184,  2604, 31800, -1452,
-	 -183,  2597, 31804, -1450,  -183,  2590, 31809, -1448,  -182,  2583, 31812, -1445,  -181,  2576, 31816, -1443,
-	 -180,  2568, 31820, -1440,  -180,  2561, 31825, -1438,  -179,  2554, 31829, -1436,  -178,  2547, 31832, -1433,
-	 -177,  2540, 31836, -1431,  -177,  2533, 31841, -1429,  -176,  2526, 31844, -1426,  -175,  2519, 31848, -1424,
-	 -175,  2512, 31852, -1421,  -174,  2505, 31856, -1419,  -173,  2498, 31860, -1417,  -172,  2491, 31863, -1414,
-	 -172,  2483, 31869, -1412,  -171,  2476, 31872, -1409,  -170,  2469, 31876, -1407,  -169,  2462, 31880, -1405,
-	 -169,  2455, 31884, -1402,  -168,  2448, 31888, -1400,  -167,  2441, 31891, -1397,  -167,  2434, 31896, -1395,
-	 -166,  2427, 31899, -1392,  -165,  2420, 31903, -1390,  -164,  2413, 31907, -1388,  -164,  2406, 31911, -1385,
-	 -163,  2399, 31915, -1383,  -162,  2392, 31918, -1380,  -162,  2385, 31923, -1378,  -161,  2378, 31926, -1375,
-	 -160,  2371, 31930, -1373,  -159,  2365, 31932, -1370,  -159,  2358, 31937, -1368,  -158,  2351, 31941, -1366,
-	 -157,  2344, 31944, -1363,  -157,  2337, 31949, -1361,  -156,  2330, 31952, -1358,  -155,  2323, 31956, -1356,
-	 -155,  2316, 31960, -1353,  -154,  2309, 31964, -1351,  -153,  2302, 31967, -1348,  -153,  2295, 31972, -1346,
-	 -152,  2289, 31974, -1343,  -151,  2282, 31978, -1341,  -150,  2275, 31981, -1338,  -150,  2268, 31986, -1336,
-	 -149,  2261, 31989, -1333,  -148,  2254, 31993, -1331,  -148,  2247, 31997, -1328,  -147,  2241, 32000, -1326,
-	 -146,  2234, 32003, -1323,  -146,  2227, 32008, -1321,  -145,  2220, 32011, -1318,  -144,  2213, 32014, -1315,
-	 -144,  2206, 32019, -1313,  -143,  2200, 32021, -1310,  -142,  2193, 32025, -1308,  -142,  2186, 32029, -1305,
-	 -141,  2179, 32033, -1303,  -140,  2172, 32036, -1300,  -140,  2166, 32040, -1298,  -139,  2159, 32043, -1295,
-	 -138,  2152, 32047, -1293,  -138,  2145, 32051, -1290,  -137,  2139, 32053, -1287,  -136,  2132, 32057, -1285,
-	 -136,  2125, 32061, -1282,  -135,  2118, 32065, -1280,  -134,  2112, 32067, -1277,  -134,  2105, 32071, -1274,
-	 -133,  2098, 32075, -1272,  -132,  2092, 32077, -1269,  -132,  2085, 32082, -1267,  -131,  2078, 32085, -1264,
-	 -131,  2072, 32089, -1262,  -130,  2065, 32092, -1259,  -129,  2058, 32095, -1256,  -129,  2051, 32100, -1254,
-	 -128,  2045, 32102, -1251,  -127,  2038, 32105, -1248,  -127,  2032, 32109, -1246,  -126,  2025, 32112, -1243,
-	 -125,  2018, 32116, -1241,  -125,  2012, 32119, -1238,  -124,  2005, 32122, -1235,  -123,  1998, 32126, -1233,
-	 -123,  1992, 32129, -1230,  -122,  1985, 32132, -1227,  -122,  1979, 32136, -1225,  -121,  1972, 32139, -1222,
-	 -120,  1965, 32142, -1219,  -120,  1959, 32146, -1217,  -119,  1952, 32149, -1214,  -119,  1946, 32152, -1211,
-	 -118,  1939, 32156, -1209,  -117,  1933, 32158, -1206,  -117,  1926, 32162, -1203,  -116,  1919, 32166, -1201,
-	 -115,  1913, 32168, -1198,  -115,  1906, 32172, -1195,  -114,  1900, 32175, -1193,  -114,  1893, 32179, -1190,
-	 -113,  1887, 32181, -1187,  -112,  1880, 32185, -1185,  -112,  1874, 32188, -1182,  -111,  1867, 32191, -1179,
-	 -111,  1861, 32194, -1176,  -110,  1854, 32198, -1174,  -109,  1848, 32200, -1171,  -109,  1841, 32204, -1168,
-	 -108,  1835, 32207, -1166,  -108,  1828, 32211, -1163,  -107,  1822, 32213, -1160,  -106,  1816, 32215, -1157,
-	 -106,  1809, 32220, -1155,  -105,  1803, 32222, -1152,  -105,  1796, 32226, -1149,  -104,  1790, 32228, -1146,
-	 -104,  1783, 32233, -1144,  -103,  1777, 32235, -1141,  -102,  1771, 32237, -1138,  -102,  1764, 32241, -1135,
-	 -101,  1758, 32244, -1133,  -101,  1751, 32248, -1130,  -100,  1745, 32250, -1127,   -99,  1739, 32252, -1124,
-	  -99,  1732, 32256, -1121,   -98,  1726, 32259, -1119,   -98,  1720, 32262, -1116,   -97,  1713, 32265, -1113,
-	  -97,  1707, 32268, -1110,   -96,  1701, 32270, -1107,   -96,  1694, 32275, -1105,   -95,  1688, 32277, -1102,
-	  -94,  1682, 32279, -1099,   -94,  1675, 32283, -1096,   -93,  1669, 32285, -1093,   -93,  1663, 32289, -1091,
-	  -92,  1657, 32291, -1088,   -92,  1650, 32295, -1085,   -91,  1644, 32297, -1082,   -91,  1638, 32300, -1079,
-	  -90,  1631, 32303, -1076,   -89,  1625, 32306, -1074,   -89,  1619, 32309, -1071,   -88,  1613, 32311, -1068,
-	  -88,  1607, 32314, -1065,   -87,  1600, 32317, -1062,   -87,  1594, 32320, -1059,   -86,  1588, 32323, -1057,
-	  -86,  1582, 32326, -1054,   -85,  1575, 32329, -1051,   -85,  1569, 32332, -1048,   -84,  1563, 32334, -1045,
-	  -84,  1557, 32337, -1042,   -83,  1551, 32339, -1039,   -82,  1545, 32341, -1036,   -82,  1538, 32346, -1034,
-	  -81,  1532, 32348, -1031,   -81,  1526, 32351, -1028,   -80,  1520, 32353, -1025,   -80,  1514, 32356, -1022,
-	  -79,  1508, 32358, -1019,   -79,  1502, 32361, -1016,   -78,  1495, 32364, -1013,   -78,  1489, 32367, -1010,
-	  -77,  1483, 32369, -1007,   -77,  1477, 32372, -1004,   -76,  1471, 32375, -1002,   -76,  1465, 32378,  -999,
-	  -75,  1459, 32380,  -996,   -75,  1453, 32383,  -993,   -74,  1447, 32385,  -990,   -74,  1441, 32388,  -987,
-	  -73,  1435, 32390,  -984,   -73,  1429, 32393,  -981,   -72,  1423, 32395,  -978,   -72,  1417, 32398,  -975,
-	  -71,  1411, 32400,  -972,   -71,  1405, 32403,  -969,   -70,  1399, 32405,  -966,   -70,  1393, 32408,  -963,
-	  -69,  1387, 32410,  -960,   -69,  1381, 32413,  -957,   -68,  1375, 32415,  -954,   -68,  1369, 32418,  -951,
-	  -67,  1363, 32420,  -948,   -67,  1357, 32423,  -945,   -66,  1351, 32425,  -942,   -66,  1345, 32428,  -939,
-	  -66,  1339, 32431,  -936,   -65,  1333, 32433,  -933,   -65,  1327, 32436,  -930,   -64,  1321, 32438,  -927,
-	  -64,  1315, 32441,  -924,   -63,  1309, 32443,  -921,   -63,  1303, 32446,  -918,   -62,  1297, 32448,  -915,
-	  -62,  1291, 32451,  -912,   -61,  1286, 32452,  -909,   -61,  1280, 32455,  -906,   -60,  1274, 32457,  -903,
-	  -60,  1268, 32460,  -900,   -60,  1262, 32463,  -897,   -59,  1256, 32465,  -894,   -59,  1250, 32468,  -891,
-	  -58,  1245, 32469,  -888,   -58,  1239, 32472,  -885,   -57,  1233, 32474,  -882,   -57,  1227, 32477,  -879,
-	  -56,  1221, 32479,  -876,   -56,  1216, 32480,  -872,   -56,  1210, 32483,  -869,   -55,  1204, 32485,  -866,
-	  -55,  1198, 32488,  -863,   -54,  1192, 32490,  -860,   -54,  1187, 32492,  -857,   -53,  1181, 32494,  -854,
-	  -53,  1175, 32497,  -851,   -53,  1169, 32500,  -848,   -52,  1164, 32501,  -845,   -52,  1158, 32503,  -841,
-	  -51,  1152, 32505,  -838,   -51,  1146, 32508,  -835,   -50,  1141, 32509,  -832,   -50,  1135, 32512,  -829,
-	  -50,  1129, 32515,  -826,   -49,  1124, 32516,  -823,   -49,  1118, 32519,  -820,   -48,  1112, 32520,  -816,
-	  -48,  1107, 32522,  -813,   -48,  1101, 32525,  -810,   -47,  1095, 32527,  -807,   -47,  1090, 32529,  -804,
-	  -46,  1084, 32531,  -801,   -46,  1078, 32534,  -798,   -46,  1073, 32535,  -794,   -45,  1067, 32537,  -791,
-	  -45,  1061, 32540,  -788,   -44,  1056, 32541,  -785,   -44,  1050, 32544,  -782,   -44,  1045, 32545,  -778,
-	  -43,  1039, 32547,  -775,   -43,  1033, 32550,  -772,   -42,  1028, 32551,  -769,   -42,  1022, 32554,  -766,
-	  -42,  1017, 32555,  -762,   -41,  1011, 32557,  -759,   -41,  1006, 32559,  -756,   -40,  1000, 32561,  -753,
-	  -40,   995, 32563,  -750,   -40,   989, 32565,  -746,   -39,   984, 32566,  -743,   -39,   978, 32569,  -740,
-	  -39,   972, 32572,  -737,   -38,   967, 32573,  -734,   -38,   961, 32575,  -730,   -38,   956, 32577,  -727,
-	  -37,   951, 32578,  -724,   -37,   945, 32581,  -721,   -36,   940, 32581,  -717,   -36,   934, 32584,  -714,
-	  -36,   929, 32586,  -711,   -35,   923, 32588,  -708,   -35,   918, 32589,  -704,   -35,   912, 32592,  -701,
-	  -34,   907, 32593,  -698,   -34,   902, 32594,  -694,   -34,   896, 32597,  -691,   -33,   891, 32598,  -688,
-	  -33,   885, 32601,  -685,   -33,   880, 32602,  -681,   -32,   875, 32603,  -678,   -32,   869, 32606,  -675,
-	  -32,   864, 32607,  -671,   -31,   858, 32609,  -668,   -31,   853, 32611,  -665,   -31,   848, 32612,  -661,
-	  -30,   842, 32614,  -658,   -30,   837, 32616,  -655,   -30,   832, 32617,  -651,   -29,   826, 32619,  -648,
-	  -29,   821, 32621,  -645,   -29,   816, 32622,  -641,   -28,   810, 32624,  -638,   -28,   805, 32626,  -635,
-	  -28,   800, 32627,  -631,   -27,   795, 32628,  -628,   -27,   789, 32631,  -625,   -27,   784, 32632,  -621,
-	  -26,   779, 32633,  -618,   -26,   774, 32635,  -615,   -26,   768, 32637,  -611,   -26,   763, 32639,  -608,
-	  -25,   758, 32640,  -605,   -25,   753, 32641,  -601,   -25,   747, 32644,  -598,   -24,   742, 32644,  -594,
-	  -24,   737, 32646,  -591,   -24,   732, 32648,  -588,   -23,   727, 32648,  -584,   -23,   722, 32650,  -581,
-	  -23,   716, 32652,  -577,   -23,   711, 32654,  -574,   -22,   706, 32655,  -571,   -22,   701, 32656,  -567,
-	  -22,   696, 32658,  -564,   -21,   691, 32658,  -560,   -21,   685, 32661,  -557,   -21,   680, 32662,  -553,
-	  -21,   675, 32664,  -550,   -20,   670, 32665,  -547,   -20,   665, 32666,  -543,   -20,   660, 32668,  -540,
-	  -20,   655, 32669,  -536,   -19,   650, 32670,  -533,   -19,   645, 32671,  -529,   -19,   640, 32673,  -526,
-	  -18,   635, 32673,  -522,   -18,   630, 32675,  -519,   -18,   625, 32676,  -515,   -18,   619, 32679,  -512,
-	  -17,   614, 32679,  -508,   -17,   609, 32681,  -505,   -17,   604, 32683,  -502,   -17,   599, 32684,  -498,
-	  -16,   594, 32685,  -495,   -16,   589, 32686,  -491,   -16,   584, 32688,  -488,   -16,   579, 32689,  -484,
-	  -16,   575, 32690,  -481,   -15,   570, 32690,  -477,   -15,   565, 32691,  -473,   -15,   560, 32693,  -470,
-	  -15,   555, 32694,  -466,   -14,   550, 32695,  -463,   -14,   545, 32696,  -459,   -14,   540, 32698,  -456,
-	  -14,   535, 32699,  -452,   -13,   530, 32700,  -449,   -13,   525, 32701,  -445,   -13,   520, 32703,  -442,
-	  -13,   515, 32704,  -438,   -13,   511, 32705,  -435,   -12,   506, 32705,  -431,   -12,   501, 32706,  -427,
-	  -12,   496, 32708,  -424,   -12,   491, 32709,  -420,   -11,   486, 32710,  -417,   -11,   481, 32711,  -413,
-	  -11,   477, 32712,  -410,   -11,   472, 32713,  -406,   -11,   467, 32714,  -402,   -10,   462, 32715,  -399,
-	  -10,   457, 32716,  -395,   -10,   453, 32717,  -392,   -10,   448, 32718,  -388,   -10,   443, 32719,  -384,
-	  -10,   438, 32721,  -381,    -9,   434, 32720,  -377,    -9,   429, 32721,  -373,    -9,   424, 32723,  -370,
-	   -9,   419, 32724,  -366,    -9,   415, 32725,  -363,    -8,   410, 32725,  -359,    -8,   405, 32726,  -355,
-	   -8,   401, 32727,  -352,    -8,   396, 32728,  -348,    -8,   391, 32729,  -344,    -8,   386, 32731,  -341,
-	   -7,   382, 32730,  -337,    -7,   377, 32731,  -333,    -7,   372, 32733,  -330,    -7,   368, 32733,  -326,
-	   -7,   363, 32734,  -322,    -7,   359, 32735,  -319,    -6,   354, 32735,  -315,    -6,   349, 32736,  -311,
-	   -6,   345, 32737,  -308,    -6,   340, 32738,  -304,    -6,   335, 32739,  -300,    -6,   331, 32740,  -297,
-	   -6,   326, 32741,  -293,    -5,   322, 32740,  -289,    -5,   317, 32741,  -285,    -5,   313, 32742,  -282,
-	   -5,   308, 32743,  -278,    -5,   303, 32744,  -274,    -5,   299, 32745,  -271,    -5,   294, 32746,  -267,
-	   -4,   290, 32745,  -263,    -4,   285, 32746,  -259,    -4,   281, 32747,  -256,    -4,   276, 32748,  -252,
-	   -4,   272, 32748,  -248,    -4,   267, 32749,  -244,    -4,   263, 32750,  -241,    -4,   258, 32751,  -237,
-	   -3,   254, 32750,  -233,    -3,   249, 32751,  -229,    -3,   245, 32751,  -225,    -3,   241, 32752,  -222,
-	   -3,   236, 32753,  -218,    -3,   232, 32753,  -214,    -3,   227, 32754,  -210,    -3,   223, 32755,  -207,
-	   -3,   218, 32756,  -203,    -3,   214, 32756,  -199,    -2,   210, 32755,  -195,    -2,   205, 32756,  -191,
-	   -2,   201, 32757,  -188,    -2,   197, 32757,  -184,    -2,   192, 32758,  -180,    -2,   188, 32758,  -176,
-	   -2,   184, 32758,  -172,    -2,   179, 32759,  -168,    -2,   175, 32760,  -165,    -2,   171, 32760,  -161,
-	   -2,   166, 32761,  -157,    -1,   162, 32760,  -153,    -1,   158, 32760,  -149,    -1,   153, 32761,  -145,
-	   -1,   149, 32761,  -141,    -1,   145, 32762,  -138,    -1,   140, 32763,  -134,    -1,   136, 32763,  -130,
-	   -1,   132, 32763,  -126,    -1,   128, 32763,  -122,    -1,   123, 32764,  -118,    -1,   119, 32764,  -114,
-	   -1,   115, 32764,  -110,    -1,   111, 32765,  -107,    -1,   107, 32765,  -103,    -1,   102, 32766,   -99,
-	   -1,    98, 32766,   -95,    -1,    94, 32766,   -91,     0,    90, 32765,   -87,     0,    86, 32765,   -83,
-	    0,    82, 32765,   -79,     0,    77, 32766,   -75,     0,    73, 32766,   -71,     0,    69, 32766,   -67,
-	    0,    65, 32767,   -64,     0,    61, 32767,   -60,     0,    57, 32767,   -56,     0,    53, 32767,   -52,
-	    0,    49, 32767,   -48,     0,    44, 32767,   -44,     0,    40, 32767,   -40,     0,    36, 32767,   -36,
-	    0,    32, 32767,   -32,     0,    28, 32767,   -28,     0,    24, 32767,   -24,     0,    20, 32767,   -20,
-	    0,    16, 32767,   -16,     0,    12, 32767,   -12,     0,     8, 32767,    -8,     0,     4, 32767,    -4
-};
-
-#else
-
-// for non-x86_64 CPUs: 15-bit precision, 1024 phases (less hard on the CPU cache)
-
-const int16_t cubicSplineTable[CUBIC_WIDTH * CUBIC_PHASES] =
-{
-	    0, 32767,     0,     0,   -16, 32767,    16,     0,   -32, 32767,    32,     0,   -48, 32767,    49,     0,
-	  -64, 32767,    65,     0,   -79, 32765,    82,     0,   -95, 32766,    98,    -1,  -110, 32764,   115,    -1,
-	 -126, 32763,   132,    -1,  -141, 32761,   149,    -1,  -157, 32761,   166,    -2,  -172, 32758,   184,    -2,
-	 -188, 32757,   201,    -2,  -203, 32756,   218,    -3,  -218, 32753,   236,    -3,  -233, 32750,   254,    -3,
-	 -248, 32748,   272,    -4,  -263, 32745,   290,    -4,  -278, 32743,   308,    -5,  -293, 32741,   326,    -6,
-	 -308, 32737,   345,    -6,  -322, 32734,   363,    -7,  -337, 32730,   382,    -7,  -352, 32727,   401,    -8,
-	 -366, 32724,   419,    -9,  -381, 32721,   438,   -10,  -395, 32716,   457,   -10,  -410, 32712,   477,   -11,
-	 -424, 32708,   496,   -12,  -438, 32704,   515,   -13,  -452, 32699,   535,   -14,  -466, 32694,   555,   -15,
-	 -481, 32690,   575,   -16,  -495, 32685,   594,   -16,  -508, 32679,   614,   -17,  -522, 32673,   635,   -18,
-	 -536, 32669,   655,   -20,  -550, 32664,   675,   -21,  -564, 32658,   696,   -22,  -577, 32652,   716,   -23,
-	 -591, 32646,   737,   -24,  -605, 32640,   758,   -25,  -618, 32633,   779,   -26,  -631, 32627,   800,   -28,
-	 -645, 32621,   821,   -29,  -658, 32614,   842,   -30,  -671, 32607,   864,   -32,  -685, 32601,   885,   -33,
-	 -698, 32593,   907,   -34,  -711, 32586,   929,   -36,  -724, 32578,   951,   -37,  -737, 32572,   972,   -39,
-	 -750, 32563,   995,   -40,  -762, 32555,  1017,   -42,  -775, 32547,  1039,   -43,  -788, 32540,  1061,   -45,
-	 -801, 32531,  1084,   -46,  -813, 32522,  1107,   -48,  -826, 32515,  1129,   -50,  -838, 32505,  1152,   -51,
-	 -851, 32497,  1175,   -53,  -863, 32488,  1198,   -55,  -876, 32479,  1221,   -56,  -888, 32469,  1245,   -58,
-	 -900, 32460,  1268,   -60,  -912, 32451,  1291,   -62,  -924, 32441,  1315,   -64,  -936, 32431,  1339,   -66,
-	 -948, 32420,  1363,   -67,  -960, 32410,  1387,   -69,  -972, 32400,  1411,   -71,  -984, 32390,  1435,   -73,
-	 -996, 32380,  1459,   -75, -1007, 32369,  1483,   -77, -1019, 32358,  1508,   -79, -1031, 32348,  1532,   -81,
-	-1042, 32337,  1557,   -84, -1054, 32326,  1582,   -86, -1065, 32314,  1607,   -88, -1076, 32303,  1631,   -90,
-	-1088, 32291,  1657,   -92, -1099, 32279,  1682,   -94, -1110, 32268,  1707,   -97, -1121, 32256,  1732,   -99,
-	-1133, 32244,  1758,  -101, -1144, 32233,  1783,  -104, -1155, 32220,  1809,  -106, -1166, 32207,  1835,  -108,
-	-1176, 32194,  1861,  -111, -1187, 32181,  1887,  -113, -1198, 32168,  1913,  -115, -1209, 32156,  1939,  -118,
-	-1219, 32142,  1965,  -120, -1230, 32129,  1992,  -123, -1241, 32116,  2018,  -125, -1251, 32102,  2045,  -128,
-	-1262, 32089,  2072,  -131, -1272, 32075,  2098,  -133, -1282, 32061,  2125,  -136, -1293, 32047,  2152,  -138,
-	-1303, 32033,  2179,  -141, -1313, 32019,  2206,  -144, -1323, 32003,  2234,  -146, -1333, 31989,  2261,  -149,
-	-1343, 31974,  2289,  -152, -1353, 31960,  2316,  -155, -1363, 31944,  2344,  -157, -1373, 31930,  2371,  -160,
-	-1383, 31915,  2399,  -163, -1392, 31899,  2427,  -166, -1402, 31884,  2455,  -169, -1412, 31869,  2483,  -172,
-	-1421, 31852,  2512,  -175, -1431, 31836,  2540,  -177, -1440, 31820,  2568,  -180, -1450, 31804,  2597,  -183,
-	-1459, 31787,  2626,  -186, -1469, 31772,  2654,  -189, -1478, 31755,  2683,  -192, -1487, 31739,  2712,  -196,
-	-1496, 31722,  2741,  -199, -1506, 31706,  2770,  -202, -1515, 31689,  2799,  -205, -1524, 31672,  2828,  -208,
-	-1533, 31654,  2858,  -211, -1542, 31637,  2887,  -214, -1550, 31619,  2917,  -218, -1559, 31602,  2946,  -221,
-	-1568, 31584,  2976,  -224, -1577, 31566,  3006,  -227, -1585, 31548,  3036,  -231, -1594, 31530,  3066,  -234,
-	-1603, 31512,  3096,  -237, -1611, 31493,  3126,  -240, -1620, 31476,  3156,  -244, -1628, 31457,  3186,  -247,
-	-1636, 31438,  3217,  -251, -1645, 31420,  3247,  -254, -1653, 31400,  3278,  -257, -1661, 31381,  3309,  -261,
-	-1669, 31362,  3339,  -264, -1677, 31343,  3370,  -268, -1686, 31324,  3401,  -271, -1694, 31305,  3432,  -275,
-	-1702, 31285,  3463,  -278, -1709, 31264,  3495,  -282, -1717, 31245,  3526,  -286, -1725, 31225,  3557,  -289,
-	-1733, 31205,  3589,  -293, -1741, 31185,  3620,  -296, -1748, 31164,  3652,  -300, -1756, 31145,  3683,  -304,
-	-1764, 31124,  3715,  -307, -1771, 31103,  3747,  -311, -1779, 31083,  3779,  -315, -1786, 31062,  3811,  -319,
-	-1793, 31040,  3843,  -322, -1801, 31020,  3875,  -326, -1808, 30998,  3908,  -330, -1815, 30977,  3940,  -334,
-	-1823, 30956,  3973,  -338, -1830, 30934,  4005,  -341, -1837, 30912,  4038,  -345, -1844, 30891,  4070,  -349,
-	-1851, 30869,  4103,  -353, -1858, 30847,  4136,  -357, -1865, 30825,  4169,  -361, -1872, 30803,  4202,  -365,
-	-1878, 30780,  4235,  -369, -1885, 30758,  4268,  -373, -1892, 30736,  4301,  -377, -1899, 30713,  4335,  -381,
-	-1905, 30690,  4368,  -385, -1912, 30667,  4402,  -389, -1918, 30644,  4435,  -393, -1925, 30621,  4469,  -397,
-	-1931, 30598,  4502,  -401, -1938, 30575,  4536,  -405, -1944, 30551,  4570,  -409, -1950, 30527,  4604,  -413,
-	-1956, 30503,  4638,  -417, -1963, 30480,  4672,  -421, -1969, 30457,  4706,  -426, -1975, 30432,  4741,  -430,
-	-1981, 30408,  4775,  -434, -1987, 30384,  4809,  -438, -1993, 30359,  4844,  -442, -1999, 30336,  4878,  -447,
-	-2005, 30311,  4913,  -451, -2011, 30286,  4948,  -455, -2017, 30262,  4982,  -459, -2022, 30237,  5017,  -464,
-	-2028, 30212,  5052,  -468, -2034, 30187,  5087,  -472, -2039, 30162,  5122,  -477, -2045, 30137,  5157,  -481,
-	-2050, 30111,  5192,  -485, -2056, 30086,  5228,  -490, -2061, 30060,  5263,  -494, -2067, 30036,  5298,  -499,
-	-2072, 30009,  5334,  -503, -2077, 29983,  5369,  -507, -2083, 29958,  5405,  -512, -2088, 29931,  5441,  -516,
-	-2093, 29906,  5476,  -521, -2098, 29879,  5512,  -525, -2103, 29853,  5548,  -530, -2108, 29826,  5584,  -534,
-	-2113, 29800,  5620,  -539, -2118, 29773,  5656,  -543, -2123, 29747,  5692,  -548, -2128, 29719,  5729,  -552,
-	-2133, 29693,  5765,  -557, -2138, 29666,  5801,  -561, -2142, 29638,  5838,  -566, -2147, 29612,  5874,  -571,
-	-2152, 29584,  5911,  -575, -2156, 29557,  5947,  -580, -2161, 29529,  5984,  -584, -2165, 29501,  6021,  -589,
-	-2170, 29474,  6058,  -594, -2174, 29446,  6094,  -598, -2179, 29419,  6131,  -603, -2183, 29391,  6168,  -608,
-	-2188, 29363,  6206,  -613, -2192, 29334,  6243,  -617, -2196, 29306,  6280,  -622, -2200, 29278,  6317,  -627,
-	-2204, 29249,  6354,  -631, -2208, 29220,  6392,  -636, -2213, 29193,  6429,  -641, -2217, 29164,  6467,  -646,
-	-2221, 29135,  6504,  -650, -2224, 29105,  6542,  -655, -2228, 29076,  6580,  -660, -2232, 29048,  6617,  -665,
-	-2236, 29019,  6655,  -670, -2240, 28990,  6693,  -675, -2244, 28960,  6731,  -679, -2247, 28930,  6769,  -684,
-	-2251, 28901,  6807,  -689, -2255, 28872,  6845,  -694, -2258, 28842,  6883,  -699, -2262, 28812,  6922,  -704,
-	-2265, 28782,  6960,  -709, -2269, 28752,  6998,  -713, -2272, 28721,  7037,  -718, -2275, 28691,  7075,  -723,
-	-2279, 28661,  7114,  -728, -2282, 28631,  7152,  -733, -2285, 28600,  7191,  -738, -2289, 28570,  7230,  -743,
-	-2292, 28540,  7268,  -748, -2295, 28509,  7307,  -753, -2298, 28478,  7346,  -758, -2301, 28447,  7385,  -763,
-	-2304, 28416,  7424,  -768, -2307, 28385,  7463,  -773, -2310, 28354,  7502,  -778, -2313, 28323,  7541,  -783,
-	-2316, 28292,  7580,  -788, -2319, 28260,  7620,  -793, -2321, 28228,  7659,  -798, -2324, 28197,  7698,  -803,
-	-2327, 28165,  7738,  -808, -2329, 28133,  7777,  -813, -2332, 28101,  7817,  -818, -2335, 28070,  7856,  -823,
-	-2337, 28038,  7896,  -829, -2340, 28006,  7936,  -834, -2342, 27974,  7975,  -839, -2345, 27942,  8015,  -844,
-	-2347, 27909,  8055,  -849, -2349, 27876,  8095,  -854, -2352, 27844,  8135,  -859, -2354, 27811,  8175,  -864,
-	-2356, 27778,  8215,  -869, -2359, 27747,  8255,  -875, -2361, 27714,  8295,  -880, -2363, 27681,  8335,  -885,
-	-2365, 27648,  8375,  -890, -2367, 27615,  8415,  -895, -2369, 27581,  8456,  -900, -2371, 27549,  8496,  -906,
-	-2373, 27516,  8536,  -911, -2375, 27482,  8577,  -916, -2377, 27449,  8617,  -921, -2379, 27415,  8658,  -926,
-	-2381, 27382,  8699,  -932, -2382, 27348,  8739,  -937, -2384, 27314,  8780,  -942, -2386, 27280,  8821,  -947,
-	-2387, 27246,  8861,  -952, -2389, 27213,  8902,  -958, -2391, 27179,  8943,  -963, -2392, 27144,  8984,  -968,
-	-2394, 27110,  9025,  -973, -2395, 27076,  9066,  -979, -2397, 27042,  9107,  -984, -2398, 27007,  9148,  -989,
-	-2399, 26972,  9189,  -994, -2401, 26939,  9230, -1000, -2402, 26904,  9271, -1005, -2403, 26868,  9313, -1010,
-	-2405, 26834,  9354, -1015, -2406, 26800,  9395, -1021, -2407, 26764,  9437, -1026, -2408, 26729,  9478, -1031,
-	-2409, 26693,  9520, -1036, -2410, 26659,  9561, -1042, -2411, 26623,  9603, -1047, -2412, 26588,  9644, -1052,
-	-2413, 26553,  9686, -1058, -2414, 26518,  9727, -1063, -2415, 26482,  9769, -1068, -2416, 26446,  9811, -1073,
-	-2417, 26411,  9853, -1079, -2418, 26376,  9894, -1084, -2419, 26340,  9936, -1089, -2419, 26304,  9978, -1095,
-	-2420, 26268, 10020, -1100, -2421, 26232, 10062, -1105, -2421, 26196, 10104, -1111, -2422, 26160, 10146, -1116,
-	-2422, 26123, 10188, -1121, -2423, 26088, 10230, -1127, -2424, 26052, 10272, -1132, -2424, 26015, 10314, -1137,
-	-2424, 25978, 10357, -1143, -2425, 25942, 10399, -1148, -2425, 25905, 10441, -1153, -2426, 25870, 10483, -1159,
-	-2426, 25832, 10526, -1164, -2426, 25795, 10568, -1169, -2426, 25758, 10611, -1175, -2427, 25722, 10653, -1180,
-	-2427, 25684, 10696, -1185, -2427, 25648, 10738, -1191, -2427, 25610, 10781, -1196, -2427, 25573, 10823, -1201,
-	-2427, 25536, 10866, -1207, -2427, 25499, 10908, -1212, -2427, 25461, 10951, -1217, -2427, 25424, 10994, -1223,
-	-2427, 25386, 11037, -1228, -2427, 25349, 11079, -1233, -2427, 25312, 11122, -1239, -2427, 25274, 11165, -1244,
-	-2427, 25236, 11208, -1249, -2426, 25198, 11251, -1255, -2426, 25160, 11294, -1260, -2426, 25122, 11337, -1265,
-	-2426, 25085, 11380, -1271, -2425, 25047, 11422, -1276, -2425, 25008, 11466, -1281, -2424, 24969, 11509, -1286,
-	-2424, 24932, 11552, -1292, -2423, 24893, 11595, -1297, -2423, 24855, 11638, -1302, -2422, 24817, 11681, -1308,
-	-2422, 24779, 11724, -1313, -2421, 24740, 11767, -1318, -2421, 24702, 11811, -1324, -2420, 24663, 11854, -1329,
-	-2419, 24624, 11897, -1334, -2419, 24586, 11941, -1340, -2418, 24547, 11984, -1345, -2417, 24508, 12027, -1350,
-	-2416, 24469, 12071, -1356, -2416, 24431, 12114, -1361, -2415, 24391, 12158, -1366, -2414, 24352, 12201, -1371,
-	-2413, 24314, 12244, -1377, -2412, 24274, 12288, -1382, -2411, 24234, 12332, -1387, -2410, 24196, 12375, -1393,
-	-2409, 24156, 12419, -1398, -2408, 24117, 12462, -1403, -2407, 24077, 12506, -1408, -2406, 24039, 12549, -1414,
-	-2405, 23999, 12593, -1419, -2404, 23959, 12637, -1424, -2402, 23918, 12681, -1429, -2401, 23880, 12724, -1435,
-	-2400, 23840, 12768, -1440, -2399, 23800, 12812, -1445, -2397, 23759, 12856, -1450, -2396, 23721, 12899, -1456,
-	-2395, 23681, 12943, -1461, -2393, 23640, 12987, -1466, -2392, 23600, 13031, -1471, -2391, 23561, 13075, -1477,
-	-2389, 23520, 13119, -1482, -2388, 23480, 13163, -1487, -2386, 23440, 13206, -1492, -2385, 23400, 13250, -1497,
-	-2383, 23360, 13294, -1503, -2381, 23319, 13338, -1508, -2380, 23279, 13382, -1513, -2378, 23238, 13426, -1518,
-	-2377, 23198, 13470, -1523, -2375, 23158, 13514, -1529, -2373, 23117, 13558, -1534, -2371, 23076, 13602, -1539,
-	-2370, 23035, 13647, -1544, -2368, 22994, 13691, -1549, -2366, 22953, 13735, -1554, -2364, 22913, 13779, -1560,
-	-2362, 22872, 13823, -1565, -2360, 22831, 13867, -1570, -2359, 22791, 13911, -1575, -2357, 22750, 13955, -1580,
-	-2355, 22708, 14000, -1585, -2353, 22667, 14044, -1590, -2351, 22626, 14088, -1595, -2349, 22585, 14132, -1600,
-	-2347, 22544, 14177, -1606, -2344, 22502, 14221, -1611, -2342, 22461, 14265, -1616, -2340, 22420, 14309, -1621,
-	-2338, 22378, 14354, -1626, -2336, 22337, 14398, -1631, -2334, 22296, 14442, -1636, -2331, 22254, 14486, -1641,
-	-2329, 22212, 14531, -1646, -2327, 22171, 14575, -1651, -2325, 22130, 14619, -1656, -2322, 22087, 14664, -1661,
-	-2320, 22046, 14708, -1666, -2317, 22004, 14752, -1671, -2315, 21962, 14797, -1676, -2313, 21921, 14841, -1681,
-	-2310, 21879, 14885, -1686, -2308, 21837, 14930, -1691, -2305, 21795, 14974, -1696, -2303, 21753, 15019, -1701,
-	-2300, 21711, 15063, -1706, -2298, 21669, 15107, -1710, -2295, 21626, 15152, -1715, -2292, 21584, 15196, -1720,
-	-2290, 21542, 15241, -1725, -2287, 21500, 15285, -1730, -2284, 21458, 15329, -1735, -2282, 21416, 15374, -1740,
-	-2279, 21374, 15418, -1745, -2276, 21331, 15463, -1750, -2274, 21289, 15507, -1754, -2271, 21246, 15552, -1759,
-	-2268, 21204, 15596, -1764, -2265, 21162, 15640, -1769, -2262, 21119, 15685, -1774, -2259, 21076, 15729, -1778,
-	-2257, 21034, 15774, -1783, -2254, 20992, 15818, -1788, -2251, 20949, 15863, -1793, -2248, 20906, 15907, -1797,
-	-2245, 20863, 15952, -1802, -2242, 20821, 15996, -1807, -2239, 20779, 16040, -1812, -2236, 20735, 16085, -1816,
-	-2233, 20693, 16129, -1821, -2230, 20650, 16174, -1826, -2227, 20607, 16218, -1830, -2223, 20563, 16263, -1835,
-	-2220, 20521, 16307, -1840, -2217, 20478, 16351, -1844, -2214, 20435, 16396, -1849, -2211, 20393, 16440, -1854,
-	-2208, 20349, 16485, -1858, -2204, 20306, 16529, -1863, -2201, 20262, 16574, -1867, -2198, 20220, 16618, -1872,
-	-2195, 20177, 16662, -1876, -2191, 20133, 16707, -1881, -2188, 20091, 16751, -1886, -2185, 20047, 16796, -1890,
-	-2181, 20004, 16840, -1895, -2178, 19961, 16884, -1899, -2174, 19917, 16929, -1904, -2171, 19874, 16973, -1908,
-	-2168, 19831, 17018, -1913, -2164, 19787, 17062, -1917, -2161, 19744, 17106, -1921, -2157, 19700, 17151, -1926,
-	-2154, 19657, 17195, -1930, -2150, 19614, 17239, -1935, -2146, 19569, 17284, -1939, -2143, 19526, 17328, -1943,
-	-2139, 19483, 17372, -1948, -2136, 19440, 17416, -1952, -2132, 19395, 17461, -1956, -2128, 19352, 17505, -1961,
-	-2125, 19309, 17549, -1965, -2121, 19265, 17593, -1969, -2117, 19221, 17638, -1974, -2114, 19178, 17682, -1978,
-	-2110, 19134, 17726, -1982, -2106, 19090, 17770, -1986, -2102, 19046, 17815, -1991, -2099, 19003, 17859, -1995,
-	-2095, 18959, 17903, -1999, -2091, 18915, 17947, -2003, -2087, 18871, 17991, -2007, -2083, 18827, 18035, -2011,
-	-2079, 18783, 18080, -2016, -2076, 18740, 18124, -2020, -2072, 18696, 18168, -2024, -2068, 18652, 18212, -2028,
-	-2064, 18608, 18256, -2032, -2060, 18564, 18300, -2036, -2056, 18520, 18344, -2040, -2052, 18476, 18388, -2044,
-	-2048, 18432, 18432, -2048, -2044, 18388, 18476, -2052, -2040, 18344, 18520, -2056, -2036, 18300, 18564, -2060,
-	-2032, 18256, 18608, -2064, -2028, 18212, 18652, -2068, -2024, 18168, 18696, -2072, -2020, 18124, 18740, -2076,
-	-2016, 18080, 18783, -2079, -2011, 18035, 18827, -2083, -2007, 17991, 18871, -2087, -2003, 17947, 18915, -2091,
-	-1999, 17903, 18959, -2095, -1995, 17859, 19003, -2099, -1991, 17815, 19046, -2102, -1986, 17770, 19090, -2106,
-	-1982, 17726, 19134, -2110, -1978, 17682, 19178, -2114, -1974, 17638, 19221, -2117, -1969, 17593, 19265, -2121,
-	-1965, 17549, 19309, -2125, -1961, 17505, 19352, -2128, -1956, 17461, 19395, -2132, -1952, 17416, 19440, -2136,
-	-1948, 17372, 19483, -2139, -1943, 17328, 19526, -2143, -1939, 17284, 19569, -2146, -1935, 17239, 19614, -2150,
-	-1930, 17195, 19657, -2154, -1926, 17151, 19700, -2157, -1921, 17106, 19744, -2161, -1917, 17062, 19787, -2164,
-	-1913, 17018, 19831, -2168, -1908, 16973, 19874, -2171, -1904, 16929, 19917, -2174, -1899, 16884, 19961, -2178,
-	-1895, 16840, 20004, -2181, -1890, 16796, 20047, -2185, -1886, 16751, 20091, -2188, -1881, 16707, 20133, -2191,
-	-1876, 16662, 20177, -2195, -1872, 16618, 20220, -2198, -1867, 16574, 20262, -2201, -1863, 16529, 20306, -2204,
-	-1858, 16485, 20349, -2208, -1854, 16440, 20393, -2211, -1849, 16396, 20435, -2214, -1844, 16351, 20478, -2217,
-	-1840, 16307, 20521, -2220, -1835, 16263, 20563, -2223, -1830, 16218, 20607, -2227, -1826, 16174, 20650, -2230,
-	-1821, 16129, 20693, -2233, -1816, 16085, 20735, -2236, -1812, 16040, 20779, -2239, -1807, 15996, 20821, -2242,
-	-1802, 15952, 20863, -2245, -1797, 15907, 20906, -2248, -1793, 15863, 20949, -2251, -1788, 15818, 20992, -2254,
-	-1783, 15774, 21034, -2257, -1778, 15729, 21076, -2259, -1774, 15685, 21119, -2262, -1769, 15640, 21162, -2265,
-	-1764, 15596, 21204, -2268, -1759, 15552, 21246, -2271, -1754, 15507, 21289, -2274, -1750, 15463, 21331, -2276,
-	-1745, 15418, 21374, -2279, -1740, 15374, 21416, -2282, -1735, 15329, 21458, -2284, -1730, 15285, 21500, -2287,
-	-1725, 15241, 21542, -2290, -1720, 15196, 21584, -2292, -1715, 15152, 21626, -2295, -1710, 15107, 21669, -2298,
-	-1706, 15063, 21711, -2300, -1701, 15019, 21753, -2303, -1696, 14974, 21795, -2305, -1691, 14930, 21837, -2308,
-	-1686, 14885, 21879, -2310, -1681, 14841, 21921, -2313, -1676, 14797, 21962, -2315, -1671, 14752, 22004, -2317,
-	-1666, 14708, 22046, -2320, -1661, 14664, 22087, -2322, -1656, 14619, 22130, -2325, -1651, 14575, 22171, -2327,
-	-1646, 14531, 22212, -2329, -1641, 14486, 22254, -2331, -1636, 14442, 22296, -2334, -1631, 14398, 22337, -2336,
-	-1626, 14354, 22378, -2338, -1621, 14309, 22420, -2340, -1616, 14265, 22461, -2342, -1611, 14221, 22502, -2344,
-	-1606, 14177, 22544, -2347, -1600, 14132, 22585, -2349, -1595, 14088, 22626, -2351, -1590, 14044, 22667, -2353,
-	-1585, 14000, 22708, -2355, -1580, 13955, 22750, -2357, -1575, 13911, 22791, -2359, -1570, 13867, 22831, -2360,
-	-1565, 13823, 22872, -2362, -1560, 13779, 22913, -2364, -1554, 13735, 22953, -2366, -1549, 13691, 22994, -2368,
-	-1544, 13647, 23035, -2370, -1539, 13602, 23076, -2371, -1534, 13558, 23117, -2373, -1529, 13514, 23158, -2375,
-	-1523, 13470, 23198, -2377, -1518, 13426, 23238, -2378, -1513, 13382, 23279, -2380, -1508, 13338, 23319, -2381,
-	-1503, 13294, 23360, -2383, -1497, 13250, 23400, -2385, -1492, 13206, 23440, -2386, -1487, 13163, 23480, -2388,
-	-1482, 13119, 23520, -2389, -1477, 13075, 23561, -2391, -1471, 13031, 23600, -2392, -1466, 12987, 23640, -2393,
-	-1461, 12943, 23681, -2395, -1456, 12899, 23721, -2396, -1450, 12856, 23759, -2397, -1445, 12812, 23800, -2399,
-	-1440, 12768, 23840, -2400, -1435, 12724, 23880, -2401, -1429, 12681, 23918, -2402, -1424, 12637, 23959, -2404,
-	-1419, 12593, 23999, -2405, -1414, 12549, 24039, -2406, -1408, 12506, 24077, -2407, -1403, 12462, 24117, -2408,
-	-1398, 12419, 24156, -2409, -1393, 12375, 24196, -2410, -1387, 12332, 24234, -2411, -1382, 12288, 24274, -2412,
-	-1377, 12244, 24314, -2413, -1371, 12201, 24352, -2414, -1366, 12158, 24391, -2415, -1361, 12114, 24431, -2416,
-	-1356, 12071, 24469, -2416, -1350, 12027, 24508, -2417, -1345, 11984, 24547, -2418, -1340, 11941, 24586, -2419,
-	-1334, 11897, 24624, -2419, -1329, 11854, 24663, -2420, -1324, 11811, 24702, -2421, -1318, 11767, 24740, -2421,
-	-1313, 11724, 24779, -2422, -1308, 11681, 24817, -2422, -1302, 11638, 24855, -2423, -1297, 11595, 24893, -2423,
-	-1292, 11552, 24932, -2424, -1286, 11509, 24969, -2424, -1281, 11466, 25008, -2425, -1276, 11422, 25047, -2425,
-	-1271, 11380, 25085, -2426, -1265, 11337, 25122, -2426, -1260, 11294, 25160, -2426, -1255, 11251, 25198, -2426,
-	-1249, 11208, 25236, -2427, -1244, 11165, 25274, -2427, -1239, 11122, 25312, -2427, -1233, 11079, 25349, -2427,
-	-1228, 11037, 25386, -2427, -1223, 10994, 25424, -2427, -1217, 10951, 25461, -2427, -1212, 10908, 25499, -2427,
-	-1207, 10866, 25536, -2427, -1201, 10823, 25573, -2427, -1196, 10781, 25610, -2427, -1191, 10738, 25648, -2427,
-	-1185, 10696, 25684, -2427, -1180, 10653, 25722, -2427, -1175, 10611, 25758, -2426, -1169, 10568, 25795, -2426,
-	-1164, 10526, 25832, -2426, -1159, 10483, 25870, -2426, -1153, 10441, 25905, -2425, -1148, 10399, 25942, -2425,
-	-1143, 10357, 25978, -2424, -1137, 10314, 26015, -2424, -1132, 10272, 26052, -2424, -1127, 10230, 26088, -2423,
-	-1121, 10188, 26123, -2422, -1116, 10146, 26160, -2422, -1111, 10104, 26196, -2421, -1105, 10062, 26232, -2421,
-	-1100, 10020, 26268, -2420, -1095,  9978, 26304, -2419, -1089,  9936, 26340, -2419, -1084,  9894, 26376, -2418,
-	-1079,  9853, 26411, -2417, -1073,  9811, 26446, -2416, -1068,  9769, 26482, -2415, -1063,  9727, 26518, -2414,
-	-1058,  9686, 26553, -2413, -1052,  9644, 26588, -2412, -1047,  9603, 26623, -2411, -1042,  9561, 26659, -2410,
-	-1036,  9520, 26693, -2409, -1031,  9478, 26729, -2408, -1026,  9437, 26764, -2407, -1021,  9395, 26800, -2406,
-	-1015,  9354, 26834, -2405, -1010,  9313, 26868, -2403, -1005,  9271, 26904, -2402, -1000,  9230, 26939, -2401,
-	 -994,  9189, 26972, -2399,  -989,  9148, 27007, -2398,  -984,  9107, 27042, -2397,  -979,  9066, 27076, -2395,
-	 -973,  9025, 27110, -2394,  -968,  8984, 27144, -2392,  -963,  8943, 27179, -2391,  -958,  8902, 27213, -2389,
-	 -952,  8861, 27246, -2387,  -947,  8821, 27280, -2386,  -942,  8780, 27314, -2384,  -937,  8739, 27348, -2382,
-	 -932,  8699, 27382, -2381,  -926,  8658, 27415, -2379,  -921,  8617, 27449, -2377,  -916,  8577, 27482, -2375,
-	 -911,  8536, 27516, -2373,  -906,  8496, 27549, -2371,  -900,  8456, 27581, -2369,  -895,  8415, 27615, -2367,
-	 -890,  8375, 27648, -2365,  -885,  8335, 27681, -2363,  -880,  8295, 27714, -2361,  -875,  8255, 27747, -2359,
-	 -869,  8215, 27778, -2356,  -864,  8175, 27811, -2354,  -859,  8135, 27844, -2352,  -854,  8095, 27876, -2349,
-	 -849,  8055, 27909, -2347,  -844,  8015, 27942, -2345,  -839,  7975, 27974, -2342,  -834,  7936, 28006, -2340,
-	 -829,  7896, 28038, -2337,  -823,  7856, 28070, -2335,  -818,  7817, 28101, -2332,  -813,  7777, 28133, -2329,
-	 -808,  7738, 28165, -2327,  -803,  7698, 28197, -2324,  -798,  7659, 28228, -2321,  -793,  7620, 28260, -2319,
-	 -788,  7580, 28292, -2316,  -783,  7541, 28323, -2313,  -778,  7502, 28354, -2310,  -773,  7463, 28385, -2307,
-	 -768,  7424, 28416, -2304,  -763,  7385, 28447, -2301,  -758,  7346, 28478, -2298,  -753,  7307, 28509, -2295,
-	 -748,  7268, 28540, -2292,  -743,  7230, 28570, -2289,  -738,  7191, 28600, -2285,  -733,  7152, 28631, -2282,
-	 -728,  7114, 28661, -2279,  -723,  7075, 28691, -2275,  -718,  7037, 28721, -2272,  -713,  6998, 28752, -2269,
-	 -709,  6960, 28782, -2265,  -704,  6922, 28812, -2262,  -699,  6883, 28842, -2258,  -694,  6845, 28872, -2255,
-	 -689,  6807, 28901, -2251,  -684,  6769, 28930, -2247,  -679,  6731, 28960, -2244,  -675,  6693, 28990, -2240,
-	 -670,  6655, 29019, -2236,  -665,  6617, 29048, -2232,  -660,  6580, 29076, -2228,  -655,  6542, 29105, -2224,
-	 -650,  6504, 29135, -2221,  -646,  6467, 29164, -2217,  -641,  6429, 29193, -2213,  -636,  6392, 29220, -2208,
-	 -631,  6354, 29249, -2204,  -627,  6317, 29278, -2200,  -622,  6280, 29306, -2196,  -617,  6243, 29334, -2192,
-	 -613,  6206, 29363, -2188,  -608,  6168, 29391, -2183,  -603,  6131, 29419, -2179,  -598,  6094, 29446, -2174,
-	 -594,  6058, 29474, -2170,  -589,  6021, 29501, -2165,  -584,  5984, 29529, -2161,  -580,  5947, 29557, -2156,
-	 -575,  5911, 29584, -2152,  -571,  5874, 29612, -2147,  -566,  5838, 29638, -2142,  -561,  5801, 29666, -2138,
-	 -557,  5765, 29693, -2133,  -552,  5729, 29719, -2128,  -548,  5692, 29747, -2123,  -543,  5656, 29773, -2118,
-	 -539,  5620, 29800, -2113,  -534,  5584, 29826, -2108,  -530,  5548, 29853, -2103,  -525,  5512, 29879, -2098,
-	 -521,  5476, 29906, -2093,  -516,  5441, 29931, -2088,  -512,  5405, 29958, -2083,  -507,  5369, 29983, -2077,
-	 -503,  5334, 30009, -2072,  -499,  5298, 30036, -2067,  -494,  5263, 30060, -2061,  -490,  5228, 30086, -2056,
-	 -485,  5192, 30111, -2050,  -481,  5157, 30137, -2045,  -477,  5122, 30162, -2039,  -472,  5087, 30187, -2034,
-	 -468,  5052, 30212, -2028,  -464,  5017, 30237, -2022,  -459,  4982, 30262, -2017,  -455,  4948, 30286, -2011,
-	 -451,  4913, 30311, -2005,  -447,  4878, 30336, -1999,  -442,  4844, 30359, -1993,  -438,  4809, 30384, -1987,
-	 -434,  4775, 30408, -1981,  -430,  4741, 30432, -1975,  -426,  4706, 30457, -1969,  -421,  4672, 30480, -1963,
-	 -417,  4638, 30503, -1956,  -413,  4604, 30527, -1950,  -409,  4570, 30551, -1944,  -405,  4536, 30575, -1938,
-	 -401,  4502, 30598, -1931,  -397,  4469, 30621, -1925,  -393,  4435, 30644, -1918,  -389,  4402, 30667, -1912,
-	 -385,  4368, 30690, -1905,  -381,  4335, 30713, -1899,  -377,  4301, 30736, -1892,  -373,  4268, 30758, -1885,
-	 -369,  4235, 30780, -1878,  -365,  4202, 30803, -1872,  -361,  4169, 30825, -1865,  -357,  4136, 30847, -1858,
-	 -353,  4103, 30869, -1851,  -349,  4070, 30891, -1844,  -345,  4038, 30912, -1837,  -341,  4005, 30934, -1830,
-	 -338,  3973, 30956, -1823,  -334,  3940, 30977, -1815,  -330,  3908, 30998, -1808,  -326,  3875, 31020, -1801,
-	 -322,  3843, 31040, -1793,  -319,  3811, 31062, -1786,  -315,  3779, 31083, -1779,  -311,  3747, 31103, -1771,
-	 -307,  3715, 31124, -1764,  -304,  3683, 31145, -1756,  -300,  3652, 31164, -1748,  -296,  3620, 31185, -1741,
-	 -293,  3589, 31205, -1733,  -289,  3557, 31225, -1725,  -286,  3526, 31245, -1717,  -282,  3495, 31264, -1709,
-	 -278,  3463, 31285, -1702,  -275,  3432, 31305, -1694,  -271,  3401, 31324, -1686,  -268,  3370, 31343, -1677,
-	 -264,  3339, 31362, -1669,  -261,  3309, 31381, -1661,  -257,  3278, 31400, -1653,  -254,  3247, 31420, -1645,
-	 -251,  3217, 31438, -1636,  -247,  3186, 31457, -1628,  -244,  3156, 31476, -1620,  -240,  3126, 31493, -1611,
-	 -237,  3096, 31512, -1603,  -234,  3066, 31530, -1594,  -231,  3036, 31548, -1585,  -227,  3006, 31566, -1577,
-	 -224,  2976, 31584, -1568,  -221,  2946, 31602, -1559,  -218,  2917, 31619, -1550,  -214,  2887, 31637, -1542,
-	 -211,  2858, 31654, -1533,  -208,  2828, 31672, -1524,  -205,  2799, 31689, -1515,  -202,  2770, 31706, -1506,
-	 -199,  2741, 31722, -1496,  -196,  2712, 31739, -1487,  -192,  2683, 31755, -1478,  -189,  2654, 31772, -1469,
-	 -186,  2626, 31787, -1459,  -183,  2597, 31804, -1450,  -180,  2568, 31820, -1440,  -177,  2540, 31836, -1431,
-	 -175,  2512, 31852, -1421,  -172,  2483, 31869, -1412,  -169,  2455, 31884, -1402,  -166,  2427, 31899, -1392,
-	 -163,  2399, 31915, -1383,  -160,  2371, 31930, -1373,  -157,  2344, 31944, -1363,  -155,  2316, 31960, -1353,
-	 -152,  2289, 31974, -1343,  -149,  2261, 31989, -1333,  -146,  2234, 32003, -1323,  -144,  2206, 32019, -1313,
-	 -141,  2179, 32033, -1303,  -138,  2152, 32047, -1293,  -136,  2125, 32061, -1282,  -133,  2098, 32075, -1272,
-	 -131,  2072, 32089, -1262,  -128,  2045, 32102, -1251,  -125,  2018, 32116, -1241,  -123,  1992, 32129, -1230,
-	 -120,  1965, 32142, -1219,  -118,  1939, 32156, -1209,  -115,  1913, 32168, -1198,  -113,  1887, 32181, -1187,
-	 -111,  1861, 32194, -1176,  -108,  1835, 32207, -1166,  -106,  1809, 32220, -1155,  -104,  1783, 32233, -1144,
-	 -101,  1758, 32244, -1133,   -99,  1732, 32256, -1121,   -97,  1707, 32268, -1110,   -94,  1682, 32279, -1099,
-	  -92,  1657, 32291, -1088,   -90,  1631, 32303, -1076,   -88,  1607, 32314, -1065,   -86,  1582, 32326, -1054,
-	  -84,  1557, 32337, -1042,   -81,  1532, 32348, -1031,   -79,  1508, 32358, -1019,   -77,  1483, 32369, -1007,
-	  -75,  1459, 32380,  -996,   -73,  1435, 32390,  -984,   -71,  1411, 32400,  -972,   -69,  1387, 32410,  -960,
-	  -67,  1363, 32420,  -948,   -66,  1339, 32431,  -936,   -64,  1315, 32441,  -924,   -62,  1291, 32451,  -912,
-	  -60,  1268, 32460,  -900,   -58,  1245, 32469,  -888,   -56,  1221, 32479,  -876,   -55,  1198, 32488,  -863,
-	  -53,  1175, 32497,  -851,   -51,  1152, 32505,  -838,   -50,  1129, 32515,  -826,   -48,  1107, 32522,  -813,
-	  -46,  1084, 32531,  -801,   -45,  1061, 32540,  -788,   -43,  1039, 32547,  -775,   -42,  1017, 32555,  -762,
-	  -40,   995, 32563,  -750,   -39,   972, 32572,  -737,   -37,   951, 32578,  -724,   -36,   929, 32586,  -711,
-	  -34,   907, 32593,  -698,   -33,   885, 32601,  -685,   -32,   864, 32607,  -671,   -30,   842, 32614,  -658,
-	  -29,   821, 32621,  -645,   -28,   800, 32627,  -631,   -26,   779, 32633,  -618,   -25,   758, 32640,  -605,
-	  -24,   737, 32646,  -591,   -23,   716, 32652,  -577,   -22,   696, 32658,  -564,   -21,   675, 32664,  -550,
-	  -20,   655, 32669,  -536,   -18,   635, 32673,  -522,   -17,   614, 32679,  -508,   -16,   594, 32685,  -495,
-	  -16,   575, 32690,  -481,   -15,   555, 32694,  -466,   -14,   535, 32699,  -452,   -13,   515, 32704,  -438,
-	  -12,   496, 32708,  -424,   -11,   477, 32712,  -410,   -10,   457, 32716,  -395,   -10,   438, 32721,  -381,
-	   -9,   419, 32724,  -366,    -8,   401, 32727,  -352,    -7,   382, 32730,  -337,    -7,   363, 32734,  -322,
-	   -6,   345, 32737,  -308,    -6,   326, 32741,  -293,    -5,   308, 32743,  -278,    -4,   290, 32745,  -263,
-	   -4,   272, 32748,  -248,    -3,   254, 32750,  -233,    -3,   236, 32753,  -218,    -3,   218, 32756,  -203,
-	   -2,   201, 32757,  -188,    -2,   184, 32758,  -172,    -2,   166, 32761,  -157,    -1,   149, 32761,  -141,
-	   -1,   132, 32763,  -126,    -1,   115, 32764,  -110,    -1,    98, 32766,   -95,     0,    82, 32765,   -79,
-	    0,    65, 32767,   -64,     0,    49, 32767,   -48,     0,    32, 32767,   -32,     0,    16, 32767,   -16
+	0x00000000,0x3F800000,0x00000000,0x00000000,0xB8FFE001,0x3F7FFFFE,0x39001FFE,0xB2FFF000,
+	0xB97FC004,0x3F7FFFF6,0x39803FFA,0xB3FFE000,0xB9BFB807,0x3F7FFFEA,0x39C08FEC,0xB48FE500,
+	0xB9FF8010,0x3F7FFFD8,0x3A007FE8,0xB4FFC000,0xBA1F9C10,0x3F7FFFC2,0x3A20C7D1,0xB547C180,
+	0xBA3F701B,0x3F7FFFA6,0x3A411FAF,0xB58FCA00,0xBA5F3C2B,0x3F7FFF86,0x3A61877F,0xB5C3AA40,
+	0xBA7F0040,0x3F7FFF60,0x3A80FFA0,0xB5FF8000,0xBA8F5E2E,0x3F7FFF36,0x3A914377,0xB621A4E0,
+	0xBA9F383E,0x3F7FFF06,0x3AA18F44,0xB6478300,0xBAAF0E53,0x3F7FFED2,0x3AB1E306,0xB67159A0,
+	0xBABEE06C,0x3F7FFE99,0x3AC23EBC,0xB68F9400,0xBACEAE89,0x3F7FFE5A,0x3AD2A264,0xB6A876B0,
+	0xBADE78AC,0x3F7FFE17,0x3AE30DFE,0xB6C35480,0xBAEE3ED3,0x3F7FFDCF,0x3AF38187,0xB6E02D10,
+	0xBAFE0100,0x3F7FFD82,0x3B01FE80,0xB6FF0000,0xBB06DF9A,0x3F7FFD2F,0x3B0A4033,0xB70FE678,
+	0xBB0EBCB6,0x3F7FFCD8,0x3B1285DD,0xB72149C0,0xBB1697D6,0x3F7FFC7C,0x3B1ACF7D,0xB733A9A8,
+	0xBB1E70FA,0x3F7FFC1B,0x3B231D12,0xB7470600,0xBB264821,0x3F7FFBB5,0x3B2B6E9C,0xB75B5E98,
+	0xBB2E1D4D,0x3F7FFB4A,0x3B33C41A,0xB770B340,0xBB35F07C,0x3F7FFADA,0x3B3C1D8B,0xB78381E4,
+	0xBB3DC1B0,0x3F7FFA65,0x3B447AF0,0xB78F2800,0xBB4590E8,0x3F7FF9EB,0x3B4CDC47,0xB79B4BDC,
+	0xBB4D5E25,0x3F7FF96C,0x3B554190,0xB7A7ED60,0xBB552967,0x3F7FF8E9,0x3B5DAACB,0xB7B50C74,
+	0xBB5CF2AE,0x3F7FF860,0x3B6617F6,0xB7C2A900,0xBB64B9FA,0x3F7FF7D2,0x3B6E8912,0xB7D0C2EC,
+	0xBB6C7F4C,0x3F7FF740,0x3B76FE1D,0xB7DF5A20,0xBB7442A3,0x3F7FF6A8,0x3B7F7717,0xB7EE6E84,
+	0xBB7C0400,0x3F7FF60C,0x3B83FA00,0xB7FE0000,0xBB81E1B2,0x3F7FF56B,0x3B883A6B,0xB807073E,
+	0xBB85C066,0x3F7FF4C4,0x3B8C7CCE,0xB80F4CF0,0xBB899E1E,0x3F7FF419,0x3B90C126,0xB817D10A,
+	0xBB8D7AD9,0x3F7FF369,0x3B950775,0xB8209380,0xBB915697,0x3F7FF2B4,0x3B994FBA,0xB8299446,
+	0xBB953159,0x3F7FF1FA,0x3B9D99F4,0xB832D350,0xBB990B1F,0x3F7FF13B,0x3BA1E623,0xB83C5092,
+	0xBB9CE3E8,0x3F7FF077,0x3BA63448,0xB8460C00,0xBBA0BBB5,0x3F7FEFAF,0x3BAA8461,0xB850058E,
+	0xBBA49286,0x3F7FEEE1,0x3BAED66F,0xB85A3D30,0xBBA8685A,0x3F7FEE0F,0x3BB32A71,0xB864B2DA,
+	0xBBAC3D33,0x3F7FED37,0x3BB78067,0xB86F6680,0xBBB01110,0x3F7FEC5B,0x3BBBD851,0xB87A5816,
+	0xBBB3E3F1,0x3F7FEB7A,0x3BC0322D,0xB882C3C8,0xBBB7B5D6,0x3F7FEA94,0x3BC48DFD,0xB8887A71,
+	0xBBBB86C0,0x3F7FE9A8,0x3BC8EBC0,0xB88E5000,0xBBBF56AE,0x3F7FE8B9,0x3BCD4B75,0xB894446F,
+	0xBBC325A1,0x3F7FE7C4,0x3BD1AD1D,0xB89A57B8,0xBBC6F399,0x3F7FE6CA,0x3BD610B6,0xB8A089D5,
+	0xBBCAC095,0x3F7FE5CB,0x3BDA7641,0xB8A6DAC0,0xBBCE8C96,0x3F7FE4C8,0x3BDEDDBD,0xB8AD4A73,
+	0xBBD2579C,0x3F7FE3C0,0x3BE3472B,0xB8B3D8E8,0xBBD621A8,0x3F7FE2B2,0x3BE7B289,0xB8BA8619,
+	0xBBD9EAB8,0x3F7FE1A0,0x3BEC1FD8,0xB8C15200,0xBBDDB2CE,0x3F7FE089,0x3BF08F17,0xB8C83C97,
+	0xBBE179E9,0x3F7FDF6D,0x3BF50046,0xB8CF45D8,0xBBE54009,0x3F7FDE4D,0x3BF97365,0xB8D66DBD,
+	0xBBE9052F,0x3F7FDD27,0x3BFDE873,0xB8DDB440,0xBBECC95B,0x3F7FDBFD,0x3C012FB8,0xB8E5195B,
+	0xBBF08C8C,0x3F7FDACD,0x3C036C2E,0xB8EC9D08,0xBBF44EC3,0x3F7FD999,0x3C05A99C,0xB8F43F41,
+	0xBBF81000,0x3F7FD860,0x3C07E800,0xB8FC0000,0xBBFBD043,0x3F7FD722,0x3C0A275B,0xB901EFA0,
+	0xBBFF8F8C,0x3F7FD5DF,0x3C0C67AE,0xB905EE7C,0xBC01A6EE,0x3F7FD498,0x3C0EA8F7,0xB909FC92,
+	0xBC038598,0x3F7FD34B,0x3C10EB36,0xB90E19E0,0xBC0563C6,0x3F7FD1FA,0x3C132E6D,0xB9124662,
+	0xBC074178,0x3F7FD0A4,0x3C157299,0xB9168214,0xBC091EAC,0x3F7FCF49,0x3C17B7BB,0xB91ACCF4,
+	0xBC0AFB64,0x3F7FCDE9,0x3C19FDD4,0xB91F2700,0xBC0CD79F,0x3F7FCC84,0x3C1C44E2,0xB9239034,
+	0xBC0EB35E,0x3F7FCB1A,0x3C1E8CE7,0xB928088C,0xBC108EA0,0x3F7FC9AC,0x3C20D5E0,0xB92C9006,
+	0xBC126966,0x3F7FC839,0x3C231FD0,0xB93126A0,0xBC1443AF,0x3F7FC6C1,0x3C256AB4,0xB935CC56,
+	0xBC161D7B,0x3F7FC544,0x3C27B68E,0xB93A8124,0xBC17F6CC,0x3F7FC3C2,0x3C2A035C,0xB93F4508,
+	0xBC19CFA0,0x3F7FC23C,0x3C2C5120,0xB9441800,0xBC1BA7F8,0x3F7FC0B0,0x3C2E9FD8,0xB948FA08,
+	0xBC1D7FD4,0x3F7FBF20,0x3C30EF85,0xB94DEB1C,0xBC1F5733,0x3F7FBD8B,0x3C334027,0xB952EB3A,
+	0xBC212E16,0x3F7FBBF1,0x3C3591BC,0xB957FA60,0xBC23047E,0x3F7FBA52,0x3C37E446,0xB95D188A,
+	0xBC24DA69,0x3F7FB8AF,0x3C3A37C4,0xB96245B4,0xBC26AFD9,0x3F7FB707,0x3C3C8C36,0xB96781DC,
+	0xBC2884CC,0x3F7FB55A,0x3C3EE19C,0xB96CCD00,0xBC2A5944,0x3F7FB3A8,0x3C4137F5,0xB972271C,
+	0xBC2C2D3F,0x3F7FB1F1,0x3C438F42,0xB977902C,0xBC2E00BF,0x3F7FB035,0x3C45E782,0xB97D082E,
+	0xBC2FD3C4,0x3F7FAE75,0x3C4840B6,0xB9814790,0xBC31A64C,0x3F7FACB0,0x3C4A9ADC,0xB984127F,
+	0xBC337859,0x3F7FAAE6,0x3C4CF5F5,0xB986E4E2,0xBC3549EA,0x3F7FA917,0x3C4F5201,0xB989BEB8,
+	0xBC371B00,0x3F7FA744,0x3C51AF00,0xB98CA000,0xBC38EB9A,0x3F7FA56C,0x3C540CF1,0xB98F88B8,
+	0xBC3ABBB9,0x3F7FA38F,0x3C566BD5,0xB99278DE,0xBC3C8B5C,0x3F7FA1AD,0x3C58CBAB,0xB9957071,
+	0xBC3E5A84,0x3F7F9FC6,0x3C5B2C72,0xB9986F70,0xBC402931,0x3F7F9DDB,0x3C5D8E2C,0xB99B75D9,
+	0xBC41F763,0x3F7F9BEB,0x3C5FF0D8,0xB99E83AA,0xBC43C519,0x3F7F99F6,0x3C625475,0xB9A198E2,
+	0xBC459254,0x3F7F97FC,0x3C64B904,0xB9A4B580,0xBC475F14,0x3F7F95FD,0x3C671E84,0xB9A7D982,
+	0xBC492B59,0x3F7F93FA,0x3C6984F6,0xB9AB04E6,0xBC4AF723,0x3F7F91F2,0x3C6BEC58,0xB9AE37AB,
+	0xBC4CC272,0x3F7F8FE5,0x3C6E54AC,0xB9B171D0,0xBC4E8D45,0x3F7F8DD4,0x3C70BDF0,0xB9B4B353,
+	0xBC50579E,0x3F7F8BBD,0x3C732825,0xB9B7FC32,0xBC52217D,0x3F7F89A2,0x3C75934A,0xB9BB4C6C,
+	0xBC53EAE0,0x3F7F8782,0x3C77FF60,0xB9BEA400,0xBC55B3C9,0x3F7F855E,0x3C7A6C66,0xB9C202EC,
+	0xBC577C37,0x3F7F8335,0x3C7CDA5C,0xB9C5692E,0xBC59442A,0x3F7F8106,0x3C7F4942,0xB9C8D6C5,
+	0xBC5B0BA2,0x3F7F7ED4,0x3C80DC8C,0xB9CC4BB0,0xBC5CD2A1,0x3F7F7C9C,0x3C8214EF,0xB9CFC7ED,
+	0xBC5E9924,0x3F7F7A60,0x3C834DCA,0xB9D34B7A,0xBC605F2D,0x3F7F781F,0x3C84871C,0xB9D6D656,
+	0xBC6224BC,0x3F7F75D9,0x3C85C0E6,0xB9DA6880,0xBC63E9D0,0x3F7F738E,0x3C86FB28,0xB9DE01F6,
+	0xBC65AE6A,0x3F7F713F,0x3C8835E1,0xB9E1A2B6,0xBC67728A,0x3F7F6EEB,0x3C897111,0xB9E54ABF,
+	0xBC693630,0x3F7F6C92,0x3C8AACB9,0xB9E8FA10,0xBC6AF95B,0x3F7F6A35,0x3C8BE8D8,0xB9ECB0A7,
+	0xBC6CBC0C,0x3F7F67D3,0x3C8D256E,0xB9F06E82,0xBC6E7E43,0x3F7F656C,0x3C8E627C,0xB9F433A0,
+	0xBC704000,0x3F7F6300,0x3C8FA000,0xB9F80000,0xBC720143,0x3F7F6090,0x3C90DDFB,0xB9FBD3A0,
+	0xBC73C20C,0x3F7F5E1B,0x3C921C6E,0xB9FFAE7E,0xBC75825B,0x3F7F5BA1,0x3C935B57,0xBA01C84D,
+	0xBC774230,0x3F7F5922,0x3C949AB7,0xBA03BCF8,0xBC79018C,0x3F7F569F,0x3C95DA8E,0xBA05B540,
+	0xBC7AC06E,0x3F7F5417,0x3C971ADB,0xBA07B125,0xBC7C7ED6,0x3F7F518B,0x3C985B9F,0xBA09B0A5,
+	0xBC7E3CC4,0x3F7F4EF9,0x3C999CDA,0xBA0BB3C0,0xBC7FFA39,0x3F7F4C63,0x3C9ADE8B,0xBA0DBA75,
+	0xBC80DB9A,0x3F7F49C8,0x3C9C20B2,0xBA0FC4C3,0xBC81B9DB,0x3F7F4729,0x3C9D6350,0xBA11D2AA,
+	0xBC8297DF,0x3F7F4485,0x3C9EA664,0xBA13E428,0xBC8375A6,0x3F7F41DC,0x3C9FE9EE,0xBA15F93D,
+	0xBC845331,0x3F7F3F2F,0x3CA12DEE,0xBA1811E9,0xBC85307F,0x3F7F3C7C,0x3CA27264,0xBA1A2E2A,
+	0xBC860D90,0x3F7F39C6,0x3CA3B750,0xBA1C4E00,0xBC86EA65,0x3F7F370A,0x3CA4FCB2,0xBA1E716A,
+	0xBC87C6FD,0x3F7F344A,0x3CA6428A,0xBA209867,0xBC88A358,0x3F7F3185,0x3CA788D7,0xBA22C2F7,
+	0xBC897F77,0x3F7F2EBB,0x3CA8CF9A,0xBA24F118,0xBC8A5B5A,0x3F7F2BED,0x3CAA16D3,0xBA2722CA,
+	0xBC8B3700,0x3F7F291A,0x3CAB5E81,0xBA29580D,0xBC8C1269,0x3F7F2642,0x3CACA6A5,0xBA2B90DF,
+	0xBC8CED96,0x3F7F2366,0x3CADEF3E,0xBA2DCD40,0xBC8DC887,0x3F7F2085,0x3CAF384C,0xBA300D2F,
+	0xBC8EA33B,0x3F7F1D9F,0x3CB081D0,0xBA3250AB,0xBC8F7DB2,0x3F7F1AB5,0x3CB1CBC9,0xBA3497B4,
+	0xBC9057EE,0x3F7F17C6,0x3CB31637,0xBA36E248,0xBC9131ED,0x3F7F14D3,0x3CB4611A,0xBA393067,
+	0xBC920BAF,0x3F7F11DA,0x3CB5AC72,0xBA3B8211,0xBC92E536,0x3F7F0EDE,0x3CB6F83E,0xBA3DD744,
+	0xBC93BE80,0x3F7F0BDC,0x3CB84480,0xBA403000,0xBC94978E,0x3F7F08D6,0x3CB99136,0xBA428C44,
+	0xBC957060,0x3F7F05CB,0x3CBADE61,0xBA44EC0F,0xBC9648F5,0x3F7F02BB,0x3CBC2C01,0xBA474F61,
+	0xBC97214E,0x3F7EFFA7,0x3CBD7A15,0xBA49B638,0xBC97F96B,0x3F7EFC8F,0x3CBEC89E,0xBA4C2094,
+	0xBC98D14C,0x3F7EF971,0x3CC0179B,0xBA4E8E75,0xBC99A8F1,0x3F7EF64F,0x3CC1670C,0xBA50FFD9,
+	0xBC9A805A,0x3F7EF328,0x3CC2B6F2,0xBA5374C0,0xBC9B5787,0x3F7EEFFD,0x3CC4074C,0xBA55ED29,
+	0xBC9C2E77,0x3F7EECCD,0x3CC5581A,0xBA586913,0xBC9D052C,0x3F7EE999,0x3CC6A95C,0xBA5AE87E,
+	0xBC9DDBA5,0x3F7EE65F,0x3CC7FB12,0xBA5D6B68,0xBC9EB1E1,0x3F7EE322,0x3CC94D3C,0xBA5FF1D1,
+	0xBC9F87E2,0x3F7EDFDF,0x3CCA9FD9,0xBA627BB9,0xBCA05DA7,0x3F7EDC98,0x3CCBF2EB,0xBA65091E,
+	0xBCA13330,0x3F7ED94C,0x3CCD4670,0xBA679A00,0xBCA2087D,0x3F7ED5FC,0x3CCE9A69,0xBA6A2E5E,
+	0xBCA2DD8E,0x3F7ED2A7,0x3CCFEED5,0xBA6CC637,0xBCA3B264,0x3F7ECF4E,0x3CD143B5,0xBA6F618B,
+	0xBCA486FD,0x3F7ECBF0,0x3CD29908,0xBA720058,0xBCA55B5B,0x3F7EC88D,0x3CD3EECF,0xBA74A29E,
+	0xBCA62F7D,0x3F7EC526,0x3CD54509,0xBA77485D,0xBCA70363,0x3F7EC1BA,0x3CD69BB6,0xBA79F193,
+	0xBCA7D70E,0x3F7EBE49,0x3CD7F2D6,0xBA7C9E40,0xBCA8AA7D,0x3F7EBAD4,0x3CD94A69,0xBA7F4E63,
+	0xBCA97DB0,0x3F7EB75B,0x3CDAA270,0xBA8100FE,0xBCAA50A8,0x3F7EB3DC,0x3CDBFAE9,0xBA825C84,
+	0xBCAB2364,0x3F7EB059,0x3CDD53D5,0xBA83B9C4,0xBCABF5E4,0x3F7EACD2,0x3CDEAD34,0xBA8518BE,
+	0xBCACC829,0x3F7EA946,0x3CE00705,0xBA867970,0xBCAD9A32,0x3F7EA5B5,0x3CE16149,0xBA87DBDC,
+	0xBCAE6C00,0x3F7EA220,0x3CE2BC00,0xBA894000,0xBCAF3D92,0x3F7E9E86,0x3CE41729,0xBA8AA5DC,
+	0xBCB00EE9,0x3F7E9AE8,0x3CE572C5,0xBA8C0D70,0xBCB0E004,0x3F7E9745,0x3CE6CED3,0xBA8D76BA,
+	0xBCB1B0E4,0x3F7E939D,0x3CE82B53,0xBA8EE1BC,0xBCB28189,0x3F7E8FF1,0x3CE98846,0xBA904E74,
+	0xBCB351F2,0x3F7E8C41,0x3CEAE5AA,0xBA91BCE2,0xBCB42220,0x3F7E888B,0x3CEC4381,0xBA932D07,
+	0xBCB4F212,0x3F7E84D2,0x3CEDA1CA,0xBA949EE0,0xBCB5C1C9,0x3F7E8113,0x3CEF0085,0xBA96126E,
+	0xBCB69145,0x3F7E7D50,0x3CF05FB1,0xBA9787B2,0xBCB76085,0x3F7E7989,0x3CF1BF50,0xBA98FEA9,
+	0xBCB82F8B,0x3F7E75BD,0x3CF31F60,0xBA9A7754,0xBCB8FE55,0x3F7E71EC,0x3CF47FE2,0xBA9BF1B3,
+	0xBCB9CCE4,0x3F7E6E17,0x3CF5E0D5,0xBA9D6DC4,0xBCBA9B37,0x3F7E6A3E,0x3CF7423A,0xBA9EEB89,
+	0xBCBB6950,0x3F7E6660,0x3CF8A410,0xBAA06B00,0xBCBC372D,0x3F7E627D,0x3CFA0658,0xBAA1EC29,
+	0xBCBD04D0,0x3F7E5E95,0x3CFB6911,0xBAA36F04,0xBCBDD237,0x3F7E5AAA,0x3CFCCC3B,0xBAA4F38F,
+	0xBCBE9F63,0x3F7E56B9,0x3CFE2FD6,0xBAA679CC,0xBCBF6C54,0x3F7E52C4,0x3CFF93E3,0xBAA801B9,
+	0xBCC0390B,0x3F7E4ECB,0x3D007C30,0xBAA98B56,0xBCC10586,0x3F7E4ACD,0x3D012EA7,0xBAAB16A4,
+	0xBCC1D1C6,0x3F7E46CB,0x3D01E157,0xBAACA3A0,0xBCC29DCB,0x3F7E42C4,0x3D02943F,0xBAAE324B,
+	0xBCC36996,0x3F7E3EB8,0x3D034760,0xBAAFC2A6,0xBCC43525,0x3F7E3AA8,0x3D03FAB8,0xBAB154AE,
+	0xBCC5007A,0x3F7E3693,0x3D04AE49,0xBAB2E864,0xBCC5CB94,0x3F7E327A,0x3D056213,0xBAB47DC8,
+	0xBCC69672,0x3F7E2E5D,0x3D061614,0xBAB614D8,0xBCC76117,0x3F7E2A3B,0x3D06CA4E,0xBAB7AD96,
+	0xBCC82B80,0x3F7E2614,0x3D077EC0,0xBAB94800,0xBCC8F5AF,0x3F7E21E9,0x3D08336A,0xBABAE416,
+	0xBCC9BFA3,0x3F7E1DB9,0x3D08E84C,0xBABC81D8,0xBCCA895C,0x3F7E1985,0x3D099D66,0xBABE2144,
+	0xBCCB52DA,0x3F7E154C,0x3D0A52B9,0xBABFC25C,0xBCCC1C1E,0x3F7E110F,0x3D0B0843,0xBAC1651E,
+	0xBCCCE527,0x3F7E0CCE,0x3D0BBE05,0xBAC3098A,0xBCCDADF6,0x3F7E0888,0x3D0C73FF,0xBAC4AFA1,
+	0xBCCE768A,0x3F7E043D,0x3D0D2A31,0xBAC65760,0xBCCF3EE3,0x3F7DFFEE,0x3D0DE09B,0xBAC800C8,
+	0xBCD00702,0x3F7DFB9A,0x3D0E973C,0xBAC9ABDA,0xBCD0CEE7,0x3F7DF742,0x3D0F4E16,0xBACB5893,
+	0xBCD19691,0x3F7DF2E6,0x3D100527,0xBACD06F4,0xBCD25E00,0x3F7DEE85,0x3D10BC70,0xBACEB6FD,
+	0xBCD32535,0x3F7DEA1F,0x3D1173F0,0xBAD068AC,0xBCD3EC30,0x3F7DE5B5,0x3D122BA8,0xBAD21C03,
+	0xBCD4B2F0,0x3F7DE146,0x3D12E398,0xBAD3D100,0xBCD57976,0x3F7DDCD4,0x3D139BBF,0xBAD587A3,
+	0xBCD63FC1,0x3F7DD85C,0x3D14541E,0xBAD73FEC,0xBCD705D2,0x3F7DD3E0,0x3D150CB4,0xBAD8F9D9,
+	0xBCD7CBA9,0x3F7DCF60,0x3D15C582,0xBADAB56C,0xBCD89146,0x3F7DCADB,0x3D167E87,0xBADC72A3,
+	0xBCD956A8,0x3F7DC652,0x3D1737C4,0xBADE317E,0xBCDA1BD0,0x3F7DC1C4,0x3D17F138,0xBADFF1FE,
+	0xBCDAE0BE,0x3F7DBD32,0x3D18AAE3,0xBAE1B420,0xBCDBA572,0x3F7DB89B,0x3D1964C6,0xBAE377E5,
+	0xBCDC69EB,0x3F7DB400,0x3D1A1EDF,0xBAE53D4E,0xBCDD2E2B,0x3F7DAF60,0x3D1AD930,0xBAE70458,
+	0xBCDDF230,0x3F7DAABC,0x3D1B93B8,0xBAE8CD04,0xBCDEB5FB,0x3F7DA614,0x3D1C4E78,0xBAEA9752,
+	0xBCDF798C,0x3F7DA167,0x3D1D096E,0xBAEC6340,0xBCE03CE3,0x3F7D9CB6,0x3D1DC49C,0xBAEE30D0,
+	0xBCE10000,0x3F7D9800,0x3D1E8000,0xBAF00000,0xBCE1C2E3,0x3F7D9346,0x3D1F3B9B,0xBAF1D0D0,
+	0xBCE2858C,0x3F7D8E87,0x3D1FF76E,0xBAF3A340,0xBCE347FB,0x3F7D89C4,0x3D20B377,0xBAF5774E,
+	0xBCE40A30,0x3F7D84FD,0x3D216FB8,0xBAF74CFC,0xBCE4CC2B,0x3F7D8031,0x3D222C2F,0xBAF92448,
+	0xBCE58DED,0x3F7D7B60,0x3D22E8DD,0xBAFAFD32,0xBCE64F74,0x3F7D768B,0x3D23A5C1,0xBAFCD7BB,
+	0xBCE710C2,0x3F7D71B2,0x3D2462DD,0xBAFEB3E0,0xBCE7D1D6,0x3F7D6CD5,0x3D25202F,0xBB0048D1,
+	0xBCE892B0,0x3F7D67F2,0x3D25DDB8,0xBB013881,0xBCE95350,0x3F7D630C,0x3D269B78,0xBB0228FE,
+	0xBCEA13B7,0x3F7D5E21,0x3D27596E,0xBB031A4A,0xBCEAD3E4,0x3F7D5932,0x3D28179B,0xBB040C63,
+	0xBCEB93D7,0x3F7D543E,0x3D28D5FE,0xBB04FF4A,0xBCEC5390,0x3F7D4F46,0x3D299498,0xBB05F2FF,
+	0xBCED1310,0x3F7D4A4A,0x3D2A5368,0xBB06E780,0xBCEDD256,0x3F7D4549,0x3D2B126F,0xBB07DCCE,
+	0xBCEE9163,0x3F7D4043,0x3D2BD1AC,0xBB08D2EA,0xBCEF5036,0x3F7D3B3A,0x3D2C911F,0xBB09C9D2,
+	0xBCF00ECF,0x3F7D362B,0x3D2D50C9,0xBB0AC186,0xBCF0CD2F,0x3F7D3119,0x3D2E10A9,0xBB0BBA07,
+	0xBCF18B56,0x3F7D2C02,0x3D2ED0C0,0xBB0CB353,0xBCF24943,0x3F7D26E7,0x3D2F910C,0xBB0DAD6C,
+	0xBCF306F6,0x3F7D21C7,0x3D30518F,0xBB0EA850,0xBCF3C470,0x3F7D1CA3,0x3D311248,0xBB0FA400,
+	0xBCF481B1,0x3F7D177B,0x3D31D337,0xBB10A07B,0xBCF53EB8,0x3F7D124E,0x3D32945C,0xBB119DC1,
+	0xBCF5FB86,0x3F7D0D1D,0x3D3355B7,0xBB129BD2,0xBCF6B81A,0x3F7D07E7,0x3D341749,0xBB139AAE,
+	0xBCF77475,0x3F7D02AD,0x3D34D910,0xBB149A54,0xBCF83097,0x3F7CFD6F,0x3D359B0D,0xBB159AC5,
+	0xBCF8EC80,0x3F7CF82C,0x3D365D40,0xBB169C00,0xBCF9A82F,0x3F7CF2E5,0x3D371FA9,0xBB179E05,
+	0xBCFA63A6,0x3F7CED9A,0x3D37E248,0xBB18A0D4,0xBCFB1EE2,0x3F7CE84A,0x3D38A51C,0xBB19A46C,
+	0xBCFBD9E6,0x3F7CE2F6,0x3D396827,0xBB1AA8CE,0xBCFC94B1,0x3F7CDD9D,0x3D3A2B67,0xBB1BADF9,
+	0xBCFD4F42,0x3F7CD840,0x3D3AEEDC,0xBB1CB3ED,0xBCFE099B,0x3F7CD2DF,0x3D3BB288,0xBB1DBAAA,
+	0xBCFEC3BA,0x3F7CCD79,0x3D3C7669,0xBB1EC230,0xBCFF7DA0,0x3F7CC810,0x3D3D3A80,0xBB1FCA7E,
+	0xBD001BA7,0x3F7CC2A1,0x3D3DFECC,0xBB20D395,0xBD007861,0x3F7CBD2F,0x3D3EC34E,0xBB21DD73,
+	0xBD00D4FE,0x3F7CB7B8,0x3D3F8805,0xBB22E81A,0xBD01317F,0x3F7CB23C,0x3D404CF2,0xBB23F388,
+	0xBD018DE4,0x3F7CACBD,0x3D411214,0xBB24FFBE,0xBD01EA2C,0x3F7CA739,0x3D41D76B,0xBB260CBC,
+	0xBD024658,0x3F7CA1B0,0x3D429CF8,0xBB271A80,0xBD02A267,0x3F7C9C24,0x3D4362BA,0xBB28290B,
+	0xBD02FE5A,0x3F7C9693,0x3D4428B2,0xBB29385E,0xBD035A31,0x3F7C90FE,0x3D44EEDE,0xBB2A4877,
+	0xBD03B5EB,0x3F7C8B64,0x3D45B540,0xBB2B5956,0xBD041188,0x3F7C85C6,0x3D467BD7,0xBB2C6AFC,
+	0xBD046D0A,0x3F7C8024,0x3D4742A3,0xBB2D7D67,0xBD04C86E,0x3F7C7A7D,0x3D4809A5,0xBB2E9099,
+	0xBD0523B7,0x3F7C74D2,0x3D48D0DB,0xBB2FA490,0xBD057EE3,0x3F7C6F23,0x3D499846,0xBB30B94D,
+	0xBD05D9F3,0x3F7C6970,0x3D4A5FE7,0xBB31CECF,0xBD0634E7,0x3F7C63B8,0x3D4B27BC,0xBB32E516,
+	0xBD068FBE,0x3F7C5DFC,0x3D4BEFC6,0xBB33FC22,0xBD06EA79,0x3F7C583B,0x3D4CB806,0xBB3513F3,
+	0xBD074517,0x3F7C5276,0x3D4D807A,0xBB362C88,0xBD079F9A,0x3F7C4CAD,0x3D4E4922,0xBB3745E2,
+	0xBD07FA00,0x3F7C46E0,0x3D4F1200,0xBB386000,0xBD08544A,0x3F7C410E,0x3D4FDB12,0xBB397AE2,
+	0xBD08AE78,0x3F7C3B38,0x3D50A459,0xBB3A9688,0xBD090889,0x3F7C355E,0x3D516DD5,0xBB3BB2F1,
+	0xBD09627E,0x3F7C2F80,0x3D523786,0xBB3CD01E,0xBD09BC57,0x3F7C299D,0x3D53016B,0xBB3DEE0E,
+	0xBD0A1614,0x3F7C23B6,0x3D53CB84,0xBB3F0CC1,0xBD0A6FB5,0x3F7C1DCA,0x3D5495D2,0xBB402C37,
+	0xBD0AC939,0x3F7C17DB,0x3D556055,0xBB414C70,0xBD0B22A1,0x3F7C11E7,0x3D562B0C,0xBB426D6B,
+	0xBD0B7BED,0x3F7C0BEF,0x3D56F5F8,0xBB438F29,0xBD0BD51D,0x3F7C05F2,0x3D57C118,0xBB44B1A8,
+	0xBD0C2E31,0x3F7BFFF1,0x3D588C6C,0xBB45D4EA,0xBD0C8729,0x3F7BF9EC,0x3D5957F5,0xBB46F8ED,
+	0xBD0CE005,0x3F7BF3E3,0x3D5A23B1,0xBB481DB2,0xBD0D38C4,0x3F7BEDD5,0x3D5AEFA3,0xBB494339,
+	0xBD0D9168,0x3F7BE7C4,0x3D5BBBC8,0xBB4A6980,0xBD0DE9EF,0x3F7BE1AD,0x3D5C8822,0xBB4B9088,
+	0xBD0E425B,0x3F7BDB93,0x3D5D54AF,0xBB4CB852,0xBD0E9AAA,0x3F7BD574,0x3D5E2171,0xBB4DE0DC,
+	0xBD0EF2DE,0x3F7BCF52,0x3D5EEE67,0xBB4F0A26,0xBD0F4AF5,0x3F7BC92A,0x3D5FBB91,0xBB503431,
+	0xBD0FA2F0,0x3F7BC2FF,0x3D6088EF,0xBB515EFB,0xBD0FFAD0,0x3F7BBCCF,0x3D615681,0xBB528A86,
+	0xBD105293,0x3F7BB69C,0x3D622447,0xBB53B6D0,0xBD10AA3A,0x3F7BB063,0x3D62F241,0xBB54E3DA,
+	0xBD1101C6,0x3F7BAA27,0x3D63C06F,0xBB5611A3,0xBD115935,0x3F7BA3E6,0x3D648ED0,0xBB57402B,
+	0xBD11B089,0x3F7B9DA2,0x3D655D65,0xBB586F72,0xBD1207C1,0x3F7B9759,0x3D662C2E,0xBB599F78,
+	0xBD125EDC,0x3F7B910B,0x3D66FB2B,0xBB5AD03C,0xBD12B5DC,0x3F7B8ABA,0x3D67CA5C,0xBB5C01BF,
+	0xBD130CC0,0x3F7B8464,0x3D6899C0,0xBB5D3400,0xBD136388,0x3F7B7E0A,0x3D696958,0xBB5E66FF,
+	0xBD13BA34,0x3F7B77AC,0x3D6A3923,0xBB5F9ABC,0xBD1410C5,0x3F7B7149,0x3D6B0922,0xBB60CF36,
+	0xBD146739,0x3F7B6AE3,0x3D6BD955,0xBB62046E,0xBD14BD92,0x3F7B6478,0x3D6CA9BB,0xBB633A63,
+	0xBD1513CF,0x3F7B5E09,0x3D6D7A54,0xBB647115,0xBD1569F0,0x3F7B5795,0x3D6E4B21,0xBB65A884,
+	0xBD15BFF5,0x3F7B511E,0x3D6F1C21,0xBB66E0B0,0xBD1615DE,0x3F7B4AA2,0x3D6FED55,0xBB681998,
+	0xBD166BAC,0x3F7B4422,0x3D70BEBB,0xBB69533D,0xBD16C15E,0x3F7B3D9E,0x3D719056,0xBB6A8D9D,
+	0xBD1716F4,0x3F7B3716,0x3D726223,0xBB6BC8BA,0xBD176C6F,0x3F7B3089,0x3D733423,0xBB6D0492,
+	0xBD17C1CE,0x3F7B29F9,0x3D740657,0xBB6E4126,0xBD181711,0x3F7B2364,0x3D74D8BE,0xBB6F7E76,
+	0xBD186C38,0x3F7B1CCA,0x3D75AB58,0xBB70BC80,0xBD18C144,0x3F7B162D,0x3D767E25,0xBB71FB45,
+	0xBD191634,0x3F7B0F8C,0x3D775125,0xBB733AC6,0xBD196B08,0x3F7B08E6,0x3D782458,0xBB747B01,
+	0xBD19BFC1,0x3F7B023C,0x3D78F7BE,0xBB75BBF6,0xBD1A145E,0x3F7AFB8E,0x3D79CB57,0xBB76FDA6,
+	0xBD1A68DF,0x3F7AF4DC,0x3D7A9F23,0xBB78400F,0xBD1ABD45,0x3F7AEE25,0x3D7B7322,0xBB798333,
+	0xBD1B118F,0x3F7AE76B,0x3D7C4753,0xBB7AC710,0xBD1B65BE,0x3F7AE0AC,0x3D7D1BB7,0xBB7C0BA7,
+	0xBD1BB9D1,0x3F7AD9E9,0x3D7DF04E,0xBB7D50F7,0xBD1C0DC8,0x3F7AD322,0x3D7EC518,0xBB7E9700,
+	0xBD1C61A4,0x3F7ACC57,0x3D7F9A14,0xBB7FDDC2,0xBD1CB564,0x3F7AC587,0x3D8037A2,0xBB80929E,
+	0xBD1D0909,0x3F7ABEB4,0x3D80A253,0xBB8136B8,0xBD1D5C92,0x3F7AB7DC,0x3D810D1D,0xBB81DB2E,
+	0xBD1DB000,0x3F7AB100,0x3D817800,0xBB828000,0xBD1E0352,0x3F7AAA20,0x3D81E2FD,0xBB83252E,
+	0xBD1E5689,0x3F7AA33C,0x3D824E12,0xBB83CAB8,0xBD1EA9A4,0x3F7A9C53,0x3D82B942,0xBB84709E,
+	0xBD1EFCA4,0x3F7A9567,0x3D83248A,0xBB8516DF,0xBD1F4F88,0x3F7A8E76,0x3D838FEB,0xBB85BD7C,
+	0xBD1FA251,0x3F7A8781,0x3D83FB66,0xBB866475,0xBD1FF4FF,0x3F7A8088,0x3D8466FA,0xBB870BC9,
+	0xBD204791,0x3F7A798B,0x3D84D2A6,0xBB87B378,0xBD209A08,0x3F7A728A,0x3D853E6C,0xBB885B83,
+	0xBD20EC63,0x3F7A6B85,0x3D85AA4C,0xBB8903E8,0xBD213EA3,0x3F7A647B,0x3D861644,0xBB89ACA9,
+	0xBD2190C7,0x3F7A5D6D,0x3D868255,0xBB8A55C5,0xBD21E2D1,0x3F7A565C,0x3D86EE7F,0xBB8AFF3C,
+	0xBD2234BE,0x3F7A4F46,0x3D875AC2,0xBB8BA90D,0xBD228691,0x3F7A482C,0x3D87C71F,0xBB8C5339,
+	0xBD22D848,0x3F7A410E,0x3D883394,0xBB8CFDC0,0xBD2329E4,0x3F7A39EB,0x3D88A022,0xBB8DA8A1,
+	0xBD237B64,0x3F7A32C5,0x3D890CC9,0xBB8E53DD,0xBD23CCCA,0x3F7A2B9A,0x3D89798A,0xBB8EFF73,
+	0xBD241E14,0x3F7A246C,0x3D89E663,0xBB8FAB63,0xBD246F42,0x3F7A1D39,0x3D8A5354,0xBB9057AD,
+	0xBD24C056,0x3F7A1602,0x3D8AC05F,0xBB910452,0xBD25114E,0x3F7A0EC7,0x3D8B2D83,0xBB91B150,
+	0xBD25622B,0x3F7A0788,0x3D8B9AC0,0xBB925EA8,0xBD25B2ED,0x3F7A0045,0x3D8C0815,0xBB930C5A,
+	0xBD260393,0x3F79F8FE,0x3D8C7583,0xBB93BA65,0xBD26541F,0x3F79F1B2,0x3D8CE30A,0xBB9468CA,
+	0xBD26A48F,0x3F79EA63,0x3D8D50AA,0xBB951789,0xBD26F4E4,0x3F79E30F,0x3D8DBE62,0xBB95C6A1,
+	0xBD27451E,0x3F79DBB8,0x3D8E2C33,0xBB967612,0xBD27953C,0x3F79D45C,0x3D8E9A1D,0xBB9725DD,
+	0xBD27E540,0x3F79CCFC,0x3D8F0820,0xBB97D600,0xBD283528,0x3F79C598,0x3D8F763B,0xBB98867C,
+	0xBD2884F6,0x3F79BE30,0x3D8FE46F,0xBB993752,0xBD28D4A8,0x3F79B6C4,0x3D9052BC,0xBB99E880,
+	0xBD29243F,0x3F79AF54,0x3D90C121,0xBB9A9A07,0xBD2973BB,0x3F79A7E0,0x3D912F9F,0xBB9B4BE7,
+	0xBD29C31C,0x3F79A067,0x3D919E36,0xBB9BFE1F,0xBD2A1262,0x3F7998EB,0x3D920CE5,0xBB9CB0AF,
+	0xBD2A618D,0x3F79916A,0x3D927BAC,0xBB9D6398,0xBD2AB09D,0x3F7989E6,0x3D92EA8D,0xBB9E16D9,
+	0xBD2AFF92,0x3F79825D,0x3D935985,0xBB9ECA72,0xBD2B4E6C,0x3F797AD1,0x3D93C897,0xBB9F7E64,
+	0xBD2B9D2A,0x3F797340,0x3D9437C0,0xBBA032AD,0xBD2BEBCE,0x3F796BAB,0x3D94A703,0xBBA0E74E,
+	0xBD2C3A57,0x3F796412,0x3D95165D,0xBBA19C47,0xBD2C88C5,0x3F795C75,0x3D9585D0,0xBBA25198,
+	0xBD2CD718,0x3F7954D4,0x3D95F55C,0xBBA30740,0xBD2D2550,0x3F794D30,0x3D966500,0xBBA3BD40,
+	0xBD2D736D,0x3F794586,0x3D96D4BC,0xBBA47397,0xBD2DC16F,0x3F793DD9,0x3D974491,0xBBA52A45,
+	0xBD2E0F57,0x3F793628,0x3D97B47E,0xBBA5E14B,0xBD2E5D23,0x3F792E73,0x3D982483,0xBBA698A8,
+	0xBD2EAAD5,0x3F7926BA,0x3D9894A1,0xBBA7505C,0xBD2EF86B,0x3F791EFD,0x3D9904D7,0xBBA80866,
+	0xBD2F45E7,0x3F79173B,0x3D997526,0xBBA8C0C8,0xBD2F9348,0x3F790F76,0x3D99E58C,0xBBA97980,
+	0xBD2FE08E,0x3F7907AD,0x3D9A560B,0xBBAA328F,0xBD302DB9,0x3F78FFDF,0x3D9AC6A2,0xBBAAEBF5,
+	0xBD307ACA,0x3F78F80E,0x3D9B3751,0xBBABA5B1,0xBD30C7C0,0x3F78F038,0x3D9BA819,0xBBAC5FC3,
+	0xBD31149A,0x3F78E85F,0x3D9C18F8,0xBBAD1A2C,0xBD31615B,0x3F78E081,0x3D9C89F0,0xBBADD4EB,
+	0xBD31AE00,0x3F78D8A0,0x3D9CFB00,0xBBAE9000,0xBD31FA8B,0x3F78D0BA,0x3D9D6C28,0xBBAF4B6B,
+	0xBD3246FB,0x3F78C8D1,0x3D9DDD68,0xBBB0072C,0xBD329350,0x3F78C0E3,0x3D9E4EC0,0xBBB0C343,
+	0xBD32DF8A,0x3F78B8F2,0x3D9EC031,0xBBB17FAF,0xBD332BAA,0x3F78B0FC,0x3D9F31B9,0xBBB23C71,
+	0xBD3377AF,0x3F78A903,0x3D9FA35A,0xBBB2F989,0xBD33C399,0x3F78A105,0x3DA01512,0xBBB3B6F6,
+	0xBD340F69,0x3F789904,0x3DA086E2,0xBBB474B8,0xBD345B1E,0x3F7890FE,0x3DA0F8CB,0xBBB532D0,
+	0xBD34A6B8,0x3F7888F5,0x3DA16ACB,0xBBB5F13C,0xBD34F238,0x3F7880E7,0x3DA1DCE4,0xBBB6AFFE,
+	0xBD353D9D,0x3F7878D6,0x3DA24F14,0xBBB76F15,0xBD3588E8,0x3F7870C0,0x3DA2C15C,0xBBB82E81,
+	0xBD35D418,0x3F7868A6,0x3DA333BC,0xBBB8EE41,0xBD361F2D,0x3F786089,0x3DA3A634,0xBBB9AE56,
+	0xBD366A28,0x3F785868,0x3DA418C4,0xBBBA6EC0,0xBD36B508,0x3F785042,0x3DA48B6C,0xBBBB2F7E,
+	0xBD36FFCE,0x3F784819,0x3DA4FE2B,0xBBBBF091,0xBD374A79,0x3F783FEB,0x3DA57102,0xBBBCB1F8,
+	0xBD37950A,0x3F7837BA,0x3DA5E3F2,0xBBBD73B3,0xBD37DF80,0x3F782F84,0x3DA656F8,0xBBBE35C2,
+	0xBD3829DB,0x3F78274B,0x3DA6CA17,0xBBBEF826,0xBD38741C,0x3F781F0E,0x3DA73D4D,0xBBBFBADD,
+	0xBD38BE43,0x3F7816CD,0x3DA7B09C,0xBBC07DE8,0xBD39084F,0x3F780E87,0x3DA82401,0xBBC14147,
+	0xBD395241,0x3F78063E,0x3DA8977F,0xBBC204F9,0xBD399C18,0x3F77FDF1,0x3DA90B14,0xBBC2C8FF,
+	0xBD39E5D5,0x3F77F5A0,0x3DA97EC1,0xBBC38D59,0xBD3A2F77,0x3F77ED4B,0x3DA9F285,0xBBC45206,
+	0xBD3A78FF,0x3F77E4F2,0x3DAA6661,0xBBC51706,0xBD3AC26D,0x3F77DC95,0x3DAADA55,0xBBC5DC5A,
+	0xBD3B0BC0,0x3F77D434,0x3DAB4E60,0xBBC6A200,0xBD3B54F9,0x3F77CBCF,0x3DABC283,0xBBC767F9,
+	0xBD3B9E17,0x3F77C366,0x3DAC36BD,0xBBC82E46,0xBD3BE71B,0x3F77BAFA,0x3DACAB0F,0xBBC8F4E5,
+	0xBD3C3005,0x3F77B289,0x3DAD1F78,0xBBC9BBD7,0xBD3C78D5,0x3F77AA14,0x3DAD93F9,0xBBCA831C,
+	0xBD3CC18A,0x3F77A19C,0x3DAE0891,0xBBCB4AB3,0xBD3D0A24,0x3F77991F,0x3DAE7D41,0xBBCC129C,
+	0xBD3D52A5,0x3F77909F,0x3DAEF208,0xBBCCDAD8,0xBD3D9B0B,0x3F77881B,0x3DAF66E7,0xBBCDA366,
+	0xBD3DE357,0x3F777F92,0x3DAFDBDD,0xBBCE6C46,0xBD3E2B89,0x3F777706,0x3DB050EB,0xBBCF3579,
+	0xBD3E73A0,0x3F776E76,0x3DB0C60F,0xBBCFFEFD,0xBD3EBB9E,0x3F7765E2,0x3DB13B4C,0xBBD0C8D3,
+	0xBD3F0381,0x3F775D4A,0x3DB1B09F,0xBBD192FB,0xBD3F4B49,0x3F7754AE,0x3DB2260A,0xBBD25D75,
+	0xBD3F92F8,0x3F774C0E,0x3DB29B8C,0xBBD32840,0xBD3FDA8C,0x3F77436B,0x3DB31125,0xBBD3F35D,
+	0xBD402207,0x3F773AC3,0x3DB386D6,0xBBD4BECB,0xBD406967,0x3F773218,0x3DB3FC9E,0xBBD58A8A,
+	0xBD40B0AD,0x3F772968,0x3DB4727D,0xBBD6569B,0xBD40F7D8,0x3F7720B5,0x3DB4E873,0xBBD722FD,
+	0xBD413EEA,0x3F7717FE,0x3DB55E81,0xBBD7EFB0,0xBD4185E2,0x3F770F43,0x3DB5D4A6,0xBBD8BCB3,
+	0xBD41CCBF,0x3F770684,0x3DB64AE2,0xBBD98A08,0xBD421382,0x3F76FDC1,0x3DB6C135,0xBBDA57AD,
+	0xBD425A2C,0x3F76F4FA,0x3DB7379F,0xBBDB25A3,0xBD42A0BB,0x3F76EC30,0x3DB7AE20,0xBBDBF3EA,
+	0xBD42E730,0x3F76E361,0x3DB824B8,0xBBDCC281,0xBD432D8B,0x3F76DA8F,0x3DB89B68,0xBBDD9168,
+	0xBD4373CC,0x3F76D1B8,0x3DB9122E,0xBBDE60A0,0xBD43B9F3,0x3F76C8DE,0x3DB9890C,0xBBDF3028,
+	0xBD440000,0x3F76C000,0x3DBA0000,0xBBE00000,0xBD4445F3,0x3F76B71E,0x3DBA770B,0xBBE0D028,
+	0xBD448BCC,0x3F76AE38,0x3DBAEE2E,0xBBE1A0A0,0xBD44D18B,0x3F76A54F,0x3DBB6567,0xBBE27168,
+	0xBD451730,0x3F769C61,0x3DBBDCB8,0xBBE3427F,0xBD455CBB,0x3F769370,0x3DBC541F,0xBBE413E6,
+	0xBD45A22C,0x3F768A7A,0x3DBCCB9D,0xBBE4E59D,0xBD45E784,0x3F768181,0x3DBD4332,0xBBE5B7A3,
+	0xBD462CC1,0x3F767884,0x3DBDBADE,0xBBE689F8,0xBD4671E4,0x3F766F83,0x3DBE32A1,0xBBE75C9D,
+	0xBD46B6EE,0x3F76667F,0x3DBEAA7B,0xBBE82F90,0xBD46FBDE,0x3F765D76,0x3DBF226C,0xBBE902D3,
+	0xBD4740B3,0x3F76546A,0x3DBF9A73,0xBBE9D665,0xBD47856F,0x3F764B59,0x3DC01291,0xBBEAAA46,
+	0xBD47CA11,0x3F764245,0x3DC08AC6,0xBBEB7E75,0xBD480E9A,0x3F76392D,0x3DC10312,0xBBEC52F3,
+	0xBD485308,0x3F763012,0x3DC17B74,0xBBED27C0,0xBD48975D,0x3F7626F2,0x3DC1F3ED,0xBBEDFCDB,
+	0xBD48DB97,0x3F761DCE,0x3DC26C7D,0xBBEED245,0xBD491FB8,0x3F7614A7,0x3DC2E523,0xBBEFA7FD,
+	0xBD4963C0,0x3F760B7C,0x3DC35DE1,0xBBF07E03,0xBD49A7AD,0x3F76024D,0x3DC3D6B4,0xBBF15457,
+	0xBD49EB81,0x3F75F91A,0x3DC44F9F,0xBBF22AFA,0xBD4A2F3B,0x3F75EFE4,0x3DC4C8A0,0xBBF301EA,
+	0xBD4A72DB,0x3F75E6A9,0x3DC541B8,0xBBF3D928,0xBD4AB662,0x3F75DD6B,0x3DC5BAE6,0xBBF4B0B4,
+	0xBD4AF9CE,0x3F75D429,0x3DC6342B,0xBBF5888D,0xBD4B3D21,0x3F75CAE3,0x3DC6AD86,0xBBF660B4,
+	0xBD4B805B,0x3F75C199,0x3DC726F8,0xBBF73929,0xBD4BC37B,0x3F75B84B,0x3DC7A080,0xBBF811EB,
+	0xBD4C0681,0x3F75AEFA,0x3DC81A1F,0xBBF8EAFA,0xBD4C496D,0x3F75A5A5,0x3DC893D4,0xBBF9C457,
+	0xBD4C8C40,0x3F759C4C,0x3DC90DA0,0xBBFA9E00,0xBD4CCEF9,0x3F7592EF,0x3DC98782,0xBBFB77F6,
+	0xBD4D1199,0x3F75898F,0x3DCA017B,0xBBFC523A,0xBD4D541F,0x3F75802A,0x3DCA7B8A,0xBBFD2CCA,
+	0xBD4D968B,0x3F7576C2,0x3DCAF5AF,0xBBFE07A7,0xBD4DD8DE,0x3F756D56,0x3DCB6FEB,0xBBFEE2D1,
+	0xBD4E1B17,0x3F7563E6,0x3DCBEA3D,0xBBFFBE47,0xBD4E5D37,0x3F755A73,0x3DCC64A6,0xBC004D05,
+	0xBD4E9F3D,0x3F7550FB,0x3DCCDF24,0xBC00BB0C,0xBD4EE12A,0x3F754780,0x3DCD59BA,0xBC01293A,
+	0xBD4F22FD,0x3F753E01,0x3DCDD465,0xBC01978D,0xBD4F64B6,0x3F75347F,0x3DCE4F27,0xBC020607,
+	0xBD4FA656,0x3F752AF8,0x3DCEC9FE,0xBC0274A6,0xBD4FE7DD,0x3F75216E,0x3DCF44ED,0xBC02E36C,
+	0xBD50294A,0x3F7517E0,0x3DCFBFF1,0xBC035258,0xBD506A9E,0x3F750E4E,0x3DD03B0B,0xBC03C169,
+	0xBD50ABD8,0x3F7504B8,0x3DD0B63C,0xBC0430A0,0xBD50ECF9,0x3F74FB1F,0x3DD13183,0xBC049FFD,
+	0xBD512E00,0x3F74F182,0x3DD1ACE0,0xBC050F7F,0xBD516EEE,0x3F74E7E1,0x3DD22853,0xBC057F28,
+	0xBD51AFC3,0x3F74DE3C,0x3DD2A3DC,0xBC05EEF6,0xBD51F07E,0x3F74D494,0x3DD31F7B,0xBC065EE9,
+	0xBD523120,0x3F74CAE8,0x3DD39B31,0xBC06CF02,0xBD5271A8,0x3F74C138,0x3DD416FC,0xBC073F40,
+	0xBD52B217,0x3F74B784,0x3DD492DE,0xBC07AFA4,0xBD52F26D,0x3F74ADCD,0x3DD50ED5,0xBC08202D,
+	0xBD5332A9,0x3F74A412,0x3DD58AE2,0xBC0890DC,0xBD5372CC,0x3F749A53,0x3DD60706,0xBC0901AF,
+	0xBD53B2D6,0x3F749090,0x3DD6833F,0xBC0972A8,0xBD53F2C6,0x3F7486CA,0x3DD6FF8F,0xBC09E3C7,
+	0xBD54329D,0x3F747D00,0x3DD77BF4,0xBC0A550A,0xBD54725B,0x3F747332,0x3DD7F86F,0xBC0AC673,
+	0xBD54B200,0x3F746960,0x3DD87500,0xBC0B3800,0xBD54F18B,0x3F745F8B,0x3DD8F1A7,0xBC0BA9B2,
+	0xBD5530FE,0x3F7455B2,0x3DD96E64,0xBC0C1B8A,0xBD557056,0x3F744BD5,0x3DD9EB36,0xBC0C8D86,
+	0xBD55AF96,0x3F7441F4,0x3DDA681F,0xBC0CFFA8,0xBD55EEBD,0x3F743810,0x3DDAE51D,0xBC0D71EE,
+	0xBD562DCA,0x3F742E28,0x3DDB6231,0xBC0DE458,0xBD566CBE,0x3F74243C,0x3DDBDF5B,0xBC0E56E8,
+	0xBD56AB99,0x3F741A4D,0x3DDC5C9A,0xBC0EC99C,0xBD56EA5B,0x3F74105A,0x3DDCD9F0,0xBC0F3C75,
+	0xBD572903,0x3F740663,0x3DDD575B,0xBC0FAF72,0xBD576793,0x3F73FC68,0x3DDDD4DC,0xBC102294,
+	0xBD57A609,0x3F73F26A,0x3DDE5272,0xBC1095DA,0xBD57E467,0x3F73E868,0x3DDED01E,0xBC110945,
+	0xBD5822AB,0x3F73DE62,0x3DDF4DE0,0xBC117CD5,0xBD5860D6,0x3F73D459,0x3DDFCBB7,0xBC11F088,
+	0xBD589EE8,0x3F73CA4C,0x3DE049A4,0xBC126460,0xBD58DCE1,0x3F73C03B,0x3DE0C7A7,0xBC12D85C,
+	0xBD591AC1,0x3F73B626,0x3DE145BF,0xBC134C7C,0xBD595888,0x3F73AC0E,0x3DE1C3EC,0xBC13C0C1,
+	0xBD599636,0x3F73A1F2,0x3DE24230,0xBC14352A,0xBD59D3CA,0x3F7397D2,0x3DE2C088,0xBC14A9B6,
+	0xBD5A1146,0x3F738DAF,0x3DE33EF7,0xBC151E67,0xBD5A4EA9,0x3F738388,0x3DE3BD7A,0xBC15933B,
+	0xBD5A8BF3,0x3F73795E,0x3DE43C14,0xBC160834,0xBD5AC924,0x3F736F2F,0x3DE4BAC2,0xBC167D50,
+	0xBD5B063C,0x3F7364FD,0x3DE53986,0xBC16F291,0xBD5B433B,0x3F735AC8,0x3DE5B860,0xBC1767F5,
+	0xBD5B8021,0x3F73508E,0x3DE6374F,0xBC17DD7C,0xBD5BBCEE,0x3F734651,0x3DE6B653,0xBC185328,
+	0xBD5BF9A2,0x3F733C10,0x3DE7356D,0xBC18C8F7,0xBD5C363E,0x3F7331CC,0x3DE7B49C,0xBC193EEA,
+	0xBD5C72C0,0x3F732784,0x3DE833E0,0xBC19B500,0xBD5CAF2A,0x3F731D38,0x3DE8B33A,0xBC1A2B3A,
+	0xBD5CEB7A,0x3F7312E9,0x3DE932A9,0xBC1AA197,0xBD5D27B2,0x3F730896,0x3DE9B22D,0xBC1B1818,
+	0xBD5D63D1,0x3F72FE3F,0x3DEA31C6,0xBC1B8EBC,0xBD5D9FD7,0x3F72F3E5,0x3DEAB175,0xBC1C0583,
+	0xBD5DDBC5,0x3F72E987,0x3DEB3139,0xBC1C7C6D,0xBD5E1799,0x3F72DF25,0x3DEBB112,0xBC1CF37B,
+	0xBD5E5355,0x3F72D4C0,0x3DEC3100,0xBC1D6AAC,0xBD5E8EF8,0x3F72CA57,0x3DECB104,0xBC1DE200,
+	0xBD5ECA82,0x3F72BFEA,0x3DED311D,0xBC1E5977,0xBD5F05F4,0x3F72B57A,0x3DEDB14B,0xBC1ED111,
+	0xBD5F414C,0x3F72AB06,0x3DEE318D,0xBC1F48CE,0xBD5F7C8C,0x3F72A08F,0x3DEEB1E5,0xBC1FC0AF,
+	0xBD5FB7B4,0x3F729614,0x3DEF3253,0xBC2038B2,0xBD5FF2C2,0x3F728B95,0x3DEFB2D5,0xBC20B0D7,
+	0xBD602DB8,0x3F728112,0x3DF0336C,0xBC212920,0xBD606895,0x3F72768C,0x3DF0B418,0xBC21A18B,
+	0xBD60A35A,0x3F726C03,0x3DF134DA,0xBC221A19,0xBD60DE05,0x3F726176,0x3DF1B5B0,0xBC2292CA,
+	0xBD611899,0x3F7256E5,0x3DF2369B,0xBC230B9E,0xBD615313,0x3F724C50,0x3DF2B79B,0xBC238493,
+	0xBD618D75,0x3F7241B8,0x3DF338B0,0xBC23FDAC,0xBD61C7BE,0x3F72371C,0x3DF3B9DB,0xBC2476E7,
+	0xBD6201EF,0x3F722C7D,0x3DF43B1A,0xBC24F044,0xBD623C07,0x3F7221DA,0x3DF4BC6D,0xBC2569C4,
+	0xBD627607,0x3F721733,0x3DF53DD6,0xBC25E366,0xBD62AFEE,0x3F720C89,0x3DF5BF54,0xBC265D2A,
+	0xBD62E9BC,0x3F7201DB,0x3DF640E6,0xBC26D710,0xBD632372,0x3F71F72A,0x3DF6C28D,0xBC275119,
+	0xBD635D0F,0x3F71EC75,0x3DF7444A,0xBC27CB44,0xBD639694,0x3F71E1BC,0x3DF7C61A,0xBC284591,
+	0xBD63D000,0x3F71D700,0x3DF84800,0xBC28C000,0xBD640954,0x3F71CC40,0x3DF8C9FA,0xBC293A91,
+	0xBD64428F,0x3F71C17D,0x3DF94C09,0xBC29B544,0xBD647BB2,0x3F71B6B6,0x3DF9CE2D,0xBC2A3019,
+	0xBD64B4BC,0x3F71ABEB,0x3DFA5066,0xBC2AAB10,0xBD64EDAE,0x3F71A11D,0x3DFAD2B3,0xBC2B2628,
+	0xBD652687,0x3F71964B,0x3DFB5515,0xBC2BA162,0xBD655F48,0x3F718B76,0x3DFBD78B,0xBC2C1CBE,
+	0xBD6597F1,0x3F71809D,0x3DFC5A16,0xBC2C983C,0xBD65D081,0x3F7175C1,0x3DFCDCB6,0xBC2D13DB,
+	0xBD6608F9,0x3F716AE1,0x3DFD5F6B,0xBC2D8F9C,0xBD664158,0x3F715FFD,0x3DFDE233,0xBC2E0B7F,
+	0xBD66799F,0x3F715516,0x3DFE6511,0xBC2E8782,0xBD66B1CE,0x3F714A2B,0x3DFEE803,0xBC2F03A8,
+	0xBD66E9E4,0x3F713F3D,0x3DFF6B09,0xBC2F7FEF,0xBD6721E2,0x3F71344B,0x3DFFEE24,0xBC2FFC57,
+	0xBD6759C8,0x3F712956,0x3E0038AA,0xBC3078E0,0xBD679195,0x3F711E5D,0x3E007A4C,0xBC30F58B,
+	0xBD67C94A,0x3F711360,0x3E00BBF8,0xBC317256,0xBD6800E7,0x3F710860,0x3E00FDAF,0xBC31EF43,
+	0xBD68386C,0x3F70FD5C,0x3E013F6F,0xBC326C52,0xBD686FD8,0x3F70F255,0x3E01813A,0xBC32E981,
+	0xBD68A72C,0x3F70E74A,0x3E01C30F,0xBC3366D1,0xBD68DE68,0x3F70DC3C,0x3E0204EE,0xBC33E442,
+	0xBD69158B,0x3F70D12A,0x3E0246D8,0xBC3461D4,0xBD694C96,0x3F70C615,0x3E0288CB,0xBC34DF87,
+	0xBD698389,0x3F70BAFC,0x3E02CAC9,0xBC355D5B,0xBD69BA64,0x3F70AFDF,0x3E030CD1,0xBC35DB4F,
+	0xBD69F127,0x3F70A4BF,0x3E034EE3,0xBC365964,0xBD6A27D1,0x3F70999C,0x3E0390FF,0xBC36D79A,
+	0xBD6A5E64,0x3F708E75,0x3E03D325,0xBC3755F1,0xBD6A94DE,0x3F70834A,0x3E041556,0xBC37D468,
+	0xBD6ACB40,0x3F70781C,0x3E045790,0xBC385300,0xBD6B018A,0x3F706CEA,0x3E0499D5,0xBC38D1B8,
+	0xBD6B37BC,0x3F7061B5,0x3E04DC23,0xBC395091,0xBD6B6DD5,0x3F70567D,0x3E051E7C,0xBC39CF8A,
+	0xBD6BA3D7,0x3F704B40,0x3E0560DF,0xBC3A4EA4,0xBD6BD9C1,0x3F704001,0x3E05A34B,0xBC3ACDDD,
+	0xBD6C0F92,0x3F7034BD,0x3E05E5C2,0xBC3B4D37,0xBD6C454C,0x3F702977,0x3E062843,0xBC3BCCB2,
+	0xBD6C7AED,0x3F701E2C,0x3E066ACE,0xBC3C4C4C,0xBD6CB076,0x3F7012DF,0x3E06AD63,0xBC3CCC07,
+	0xBD6CE5E8,0x3F70078D,0x3E06F002,0xBC3D4BE1,0xBD6D1B41,0x3F6FFC39,0x3E0732AB,0xBC3DCBDC,
+	0xBD6D5082,0x3F6FF0E0,0x3E07755E,0xBC3E4BF6,0xBD6D85AC,0x3F6FE585,0x3E07B81B,0xBC3ECC31,
+	0xBD6DBABD,0x3F6FDA25,0x3E07FAE2,0xBC3F4C8C,0xBD6DEFB7,0x3F6FCEC3,0x3E083DB3,0xBC3FCD06,
+	0xBD6E2498,0x3F6FC35C,0x3E08808E,0xBC404DA0,0xBD6E5962,0x3F6FB7F3,0x3E08C373,0xBC40CE5A,
+	0xBD6E8E13,0x3F6FAC86,0x3E090662,0xBC414F33,0xBD6EC2AD,0x3F6FA115,0x3E09495A,0xBC41D02D,
+	0xBD6EF72F,0x3F6F95A1,0x3E098C5D,0xBC425146,0xBD6F2B99,0x3F6F8A29,0x3E09CF6A,0xBC42D27E,
+	0xBD6F5FEB,0x3F6F7EAE,0x3E0A1280,0xBC4353D6,0xBD6F9425,0x3F6F732F,0x3E0A55A0,0xBC43D54D,
+	0xBD6FC847,0x3F6F67AD,0x3E0A98CB,0xBC4456E4,0xBD6FFC51,0x3F6F5C28,0x3E0ADBFF,0xBC44D89A,
+	0xBD703044,0x3F6F509F,0x3E0B1F3D,0xBC455A70,0xBD70641F,0x3F6F4512,0x3E0B6285,0xBC45DC64,
+	0xBD7097E2,0x3F6F3982,0x3E0BA5D7,0xBC465E78,0xBD70CB8D,0x3F6F2DEF,0x3E0BE932,0xBC46E0AC,
+	0xBD70FF20,0x3F6F2258,0x3E0C2C98,0xBC4762FE,0xBD71329C,0x3F6F16BE,0x3E0C7007,0xBC47E570,
+	0xBD716600,0x3F6F0B20,0x3E0CB380,0xBC486800,0xBD71994C,0x3F6EFF7F,0x3E0CF703,0xBC48EAAF,
+	0xBD71CC81,0x3F6EF3DA,0x3E0D3A90,0xBC496D7E,0xBD71FF9D,0x3F6EE832,0x3E0D7E26,0xBC49F06B,
+	0xBD7232A2,0x3F6EDC86,0x3E0DC1C6,0xBC4A7378,0xBD72658F,0x3F6ED0D7,0x3E0E0570,0xBC4AF6A3,
+	0xBD729865,0x3F6EC525,0x3E0E4924,0xBC4B79EC,0xBD72CB23,0x3F6EB96F,0x3E0E8CE2,0xBC4BFD55,
+	0xBD72FDC9,0x3F6EADB6,0x3E0ED0A9,0xBC4C80DC,0xBD733058,0x3F6EA1F9,0x3E0F147A,0xBC4D0482,
+	0xBD7362CE,0x3F6E9639,0x3E0F5855,0xBC4D8846,0xBD73952E,0x3F6E8A75,0x3E0F9C3A,0xBC4E0C29,
+	0xBD73C775,0x3F6E7EAE,0x3E0FE028,0xBC4E902A,0xBD73F9A5,0x3F6E72E4,0x3E102420,0xBC4F144A,
+	0xBD742BBE,0x3F6E6716,0x3E106822,0xBC4F9889,0xBD745DBF,0x3F6E5B44,0x3E10AC2D,0xBC501CE5,
+	0xBD748FA8,0x3F6E4F70,0x3E10F042,0xBC50A160,0xBD74C17A,0x3F6E4397,0x3E113461,0xBC5125F9,
+	0xBD74F334,0x3F6E37BC,0x3E117889,0xBC51AAB0,0xBD7524D7,0x3F6E2BDD,0x3E11BCBB,0xBC522F86,
+	0xBD755662,0x3F6E1FFA,0x3E1200F7,0xBC52B47A,0xBD7587D5,0x3F6E1414,0x3E12453C,0xBC53398B,
+	0xBD75B931,0x3F6E082B,0x3E12898B,0xBC53BEBB,0xBD75EA76,0x3F6DFC3F,0x3E12CDE4,0xBC544408,
+	0xBD761BA3,0x3F6DF04F,0x3E131246,0xBC54C974,0xBD764CB9,0x3F6DE45B,0x3E1356B2,0xBC554EFD,
+	0xBD767DB7,0x3F6DD864,0x3E139B27,0xBC55D4A5,0xBD76AE9E,0x3F6DCC6A,0x3E13DFA6,0xBC565A6A,
+	0xBD76DF6D,0x3F6DC06C,0x3E14242E,0xBC56E04C,0xBD771025,0x3F6DB46B,0x3E1468C0,0xBC57664D,
+	0xBD7740C5,0x3F6DA867,0x3E14AD5C,0xBC57EC6B,0xBD77714E,0x3F6D9C5F,0x3E14F201,0xBC5872A7,
+	0xBD77A1C0,0x3F6D9054,0x3E1536B0,0xBC58F900,0xBD77D21A,0x3F6D8445,0x3E157B68,0xBC597F77,
+	0xBD78025D,0x3F6D7833,0x3E15C02A,0xBC5A060B,0xBD783289,0x3F6D6C1E,0x3E1604F5,0xBC5A8CBD,
+	0xBD78629D,0x3F6D6005,0x3E1649CA,0xBC5B138C,0xBD78929A,0x3F6D53E9,0x3E168EA8,0xBC5B9A78,
+	0xBD78C280,0x3F6D47CA,0x3E16D390,0xBC5C2181,0xBD78F24E,0x3F6D3BA7,0x3E171882,0xBC5CA8A8,
+	0xBD792205,0x3F6D2F81,0x3E175D7C,0xBC5D2FEC,0xBD7951A5,0x3F6D2357,0x3E17A280,0xBC5DB74D,
+	0xBD79812D,0x3F6D172A,0x3E17E78E,0xBC5E3ECB,0xBD79B09E,0x3F6D0AFA,0x3E182CA5,0xBC5EC666,
+	0xBD79DFF8,0x3F6CFEC7,0x3E1871C6,0xBC5F4E1E,0xBD7A0F3B,0x3F6CF290,0x3E18B6F0,0xBC5FD5F4,
+	0xBD7A3E67,0x3F6CE655,0x3E18FC23,0xBC605DE6,0xBD7A6D7B,0x3F6CDA18,0x3E194160,0xBC60E5F4,
+	0xBD7A9C78,0x3F6CCDD6,0x3E1986A6,0xBC616E20,0xBD7ACB5E,0x3F6CC192,0x3E19CBF6,0xBC61F668,
+	0xBD7AFA2D,0x3F6CB54A,0x3E1A114F,0xBC627ECD,0xBD7B28E4,0x3F6CA8FF,0x3E1A56B1,0xBC63074F,
+	0xBD7B5785,0x3F6C9CB1,0x3E1A9C1D,0xBC638FEE,0xBD7B860E,0x3F6C905F,0x3E1AE192,0xBC6418A8,
+	0xBD7BB480,0x3F6C840A,0x3E1B2710,0xBC64A180,0xBD7BE2DB,0x3F6C77B2,0x3E1B6C98,0xBC652A74,
+	0xBD7C111F,0x3F6C6B56,0x3E1BB229,0xBC65B384,0xBD7C3F4C,0x3F6C5EF7,0x3E1BF7C3,0xBC663CB1,
+	0xBD7C6D62,0x3F6C5294,0x3E1C3D67,0xBC66C5FA,0xBD7C9B60,0x3F6C462F,0x3E1C8314,0xBC674F5F,
+	0xBD7CC948,0x3F6C39C5,0x3E1CC8CA,0xBC67D8E0,0xBD7CF718,0x3F6C2D59,0x3E1D0E8A,0xBC68627E,
+	0xBD7D24D2,0x3F6C20E9,0x3E1D5453,0xBC68EC38,0xBD7D5274,0x3F6C1476,0x3E1D9A25,0xBC69760E,
+	0xBD7D8000,0x3F6C0800,0x3E1DE000,0xBC6A0000,0xBD7DAD75,0x3F6BFB86,0x3E1E25E5,0xBC6A8A0E,
+	0xBD7DDAD2,0x3F6BEF09,0x3E1E6BD2,0xBC6B1438,0xBD7E0819,0x3F6BE289,0x3E1EB1CA,0xBC6B9E7E,
+	0xBD7E3548,0x3F6BD606,0x3E1EF7CA,0xBC6C28E0,0xBD7E6261,0x3F6BC97F,0x3E1F3DD3,0xBC6CB35D,
+	0xBD7E8F62,0x3F6BBCF4,0x3E1F83E6,0xBC6D3DF6,0xBD7EBC4D,0x3F6BB067,0x3E1FCA02,0xBC6DC8AB,
+	0xBD7EE921,0x3F6BA3D6,0x3E201027,0xBC6E537C,0xBD7F15DE,0x3F6B9742,0x3E205656,0xBC6EDE68,
+	0xBD7F4284,0x3F6B8AAB,0x3E209C8D,0xBC6F6970,0xBD7F6F13,0x3F6B7E10,0x3E20E2CE,0xBC6FF494,
+	0xBD7F9B8B,0x3F6B7172,0x3E212917,0xBC707FD2,0xBD7FC7ED,0x3F6B64D1,0x3E216F6A,0xBC710B2D,
+	0xBD7FF437,0x3F6B582C,0x3E21B5C6,0xBC7196A3,0xBD801036,0x3F6B4B85,0x3E21FC2C,0xBC722234,
+	0xBD802644,0x3F6B3EDA,0x3E22429A,0xBC72ADE0,0xBD803C47,0x3F6B322B,0x3E228911,0xBC7339A8,
+	0xBD80523F,0x3F6B257A,0x3E22CF92,0xBC73C58A,0xBD80682B,0x3F6B18C5,0x3E23161C,0xBC745188,
+	0xBD807E0C,0x3F6B0C0C,0x3E235CAE,0xBC74DDA2,0xBD8093E1,0x3F6AFF51,0x3E23A34A,0xBC7569D6,
+	0xBD80A9AB,0x3F6AF292,0x3E23E9EF,0xBC75F625,0xBD80BF6A,0x3F6AE5D0,0x3E24309D,0xBC76828F,
+	0xBD80D51E,0x3F6AD90B,0x3E247754,0xBC770F14,0xBD80EAC6,0x3F6ACC43,0x3E24BE14,0xBC779BB4,
+	0xBD810062,0x3F6ABF77,0x3E2504DD,0xBC78286F,0xBD8115F3,0x3F6AB2A8,0x3E254BAF,0xBC78B544,
+	0xBD812B79,0x3F6AA5D6,0x3E25928A,0xBC794234,0xBD8140F4,0x3F6A9900,0x3E25D96E,0xBC79CF3F,
+	0xBD815663,0x3F6A8C27,0x3E26205B,0xBC7A5C65,0xBD816BC7,0x3F6A7F4B,0x3E266751,0xBC7AE9A5,
+	0xBD818120,0x3F6A726C,0x3E26AE50,0xBC7B7700,0xBD81966D,0x3F6A658A,0x3E26F558,0xBC7C0475,
+	0xBD81ABAF,0x3F6A58A4,0x3E273C69,0xBC7C9205,0xBD81C0E6,0x3F6A4BBB,0x3E278383,0xBC7D1FAF,
+	0xBD81D612,0x3F6A3ECF,0x3E27CAA6,0xBC7DAD74,0xBD81EB32,0x3F6A31DF,0x3E2811D1,0xBC7E3B52,
+	0xBD820047,0x3F6A24EC,0x3E285906,0xBC7EC94B,0xBD821550,0x3F6A17F7,0x3E28A044,0xBC7F575F,
+	0xBD822A4E,0x3F6A0AFD,0x3E28E78A,0xBC7FE58C,0xBD823F42,0x3F69FE01,0x3E292EDA,0xBC8039EA,
+	0xBD825429,0x3F69F102,0x3E297632,0xBC80811B,0xBD826906,0x3F69E3FF,0x3E29BD93,0xBC80C858,
+	0xBD827DD7,0x3F69D6F9,0x3E2A04FD,0xBC810FA3,0xBD82929D,0x3F69C9EF,0x3E2A4C70,0xBC8156FB,
+	0xBD82A758,0x3F69BCE3,0x3E2A93EC,0xBC819E60,0xBD82BC08,0x3F69AFD3,0x3E2ADB71,0xBC81E5D1,
+	0xBD82D0AC,0x3F69A2C0,0x3E2B22FE,0xBC822D50,0xBD82E545,0x3F6995AA,0x3E2B6A94,0xBC8274DB,
+	0xBD82F9D3,0x3F698891,0x3E2BB233,0xBC82BC74,0xBD830E56,0x3F697B75,0x3E2BF9DB,0xBC830419,
+	0xBD8322CD,0x3F696E55,0x3E2C418C,0xBC834BCB,0xBD83373A,0x3F696132,0x3E2C8946,0xBC839389,
+	0xBD834B9B,0x3F69540C,0x3E2CD108,0xBC83DB55,0xBD835FF1,0x3F6946E3,0x3E2D18D3,0xBC84232D,
+	0xBD83743C,0x3F6939B6,0x3E2D60A7,0xBC846B12,0xBD83887B,0x3F692C87,0x3E2DA883,0xBC84B304,
+	0xBD839CB0,0x3F691F54,0x3E2DF069,0xBC84FB02,0xBD83B0D9,0x3F69121E,0x3E2E3857,0xBC85430D,
+	0xBD83C4F7,0x3F6904E5,0x3E2E804E,0xBC858B24,0xBD83D90A,0x3F68F7A8,0x3E2EC84D,0xBC85D348,
+	0xBD83ED12,0x3F68EA69,0x3E2F1055,0xBC861B79,0xBD84010E,0x3F68DD26,0x3E2F5866,0xBC8663B6,
+	0xBD841500,0x3F68CFE0,0x3E2FA080,0xBC86AC00,0xBD8428E6,0x3F68C297,0x3E2FE8A2,0xBC86F456,
+	0xBD843CC2,0x3F68B54B,0x3E3030CD,0xBC873CB9,0xBD845092,0x3F68A7FB,0x3E307901,0xBC878528,
+	0xBD846457,0x3F689AA9,0x3E30C13D,0xBC87CDA4,0xBD847811,0x3F688D53,0x3E310982,0xBC88162C,
+	0xBD848BC0,0x3F687FFA,0x3E3151D0,0xBC885EC0,0xBD849F64,0x3F68729E,0x3E319A26,0xBC88A761,
+	0xBD84B2FC,0x3F68653F,0x3E31E285,0xBC88F00E,0xBD84C68A,0x3F6857DC,0x3E322AED,0xBC8938C7,
+	0xBD84DA0D,0x3F684A77,0x3E32735D,0xBC89818D,0xBD84ED84,0x3F683D0E,0x3E32BBD6,0xBC89CA5F,
+	0xBD8500F1,0x3F682FA2,0x3E330457,0xBC8A133D,0xBD851452,0x3F682233,0x3E334CE1,0xBC8A5C28,
+	0xBD8527A8,0x3F6814C1,0x3E339573,0xBC8AA51E,0xBD853AF4,0x3F68074C,0x3E33DE0E,0xBC8AEE21,
+	0xBD854E34,0x3F67F9D4,0x3E3426B2,0xBC8B3730,0xBD856169,0x3F67EC58,0x3E346F5E,0xBC8B804B,
+	0xBD857493,0x3F67DED9,0x3E34B813,0xBC8BC972,0xBD8587B3,0x3F67D157,0x3E3500D0,0xBC8C12A5,
+	0xBD859AC7,0x3F67C3D3,0x3E354996,0xBC8C5BE5,0xBD85ADD0,0x3F67B64A,0x3E359264,0xBC8CA530,
+	0xBD85C0CE,0x3F67A8BF,0x3E35DB3B,0xBC8CEE87,0xBD85D3C1,0x3F679B31,0x3E36241A,0xBC8D37EB,
+	0xBD85E6AA,0x3F678DA0,0x3E366D02,0xBC8D815A,0xBD85F987,0x3F67800B,0x3E36B5F2,0xBC8DCAD5,
+	0xBD860C59,0x3F677273,0x3E36FEEB,0xBC8E145C,0xBD861F20,0x3F6764D9,0x3E3747EC,0xBC8E5DEF,
+	0xBD8631DC,0x3F67573B,0x3E3790F5,0xBC8EA78E,0xBD86448E,0x3F67499A,0x3E37DA07,0xBC8EF139,
+	0xBD865734,0x3F673BF6,0x3E382322,0xBC8F3AF0,0xBD8669D0,0x3F672E4E,0x3E386C45,0xBC8F84B2,
+	0xBD867C60,0x3F6720A4,0x3E38B570,0xBC8FCE80,0xBD868EE6,0x3F6712F7,0x3E38FEA4,0xBC90185A,
+	0xBD86A160,0x3F670546,0x3E3947E0,0xBC90623F,0xBD86B3D0,0x3F66F792,0x3E399124,0xBC90AC31,
+	0xBD86C635,0x3F66E9DC,0x3E39DA71,0xBC90F62E,0xBD86D88E,0x3F66DC22,0x3E3A23C6,0xBC914036,
+	0xBD86EADD,0x3F66CE65,0x3E3A6D24,0xBC918A4B,0xBD86FD21,0x3F66C0A5,0x3E3AB68A,0xBC91D46B,
+	0xBD870F5A,0x3F66B2E2,0x3E3AFFF8,0xBC921E96,0xBD872189,0x3F66A51C,0x3E3B496F,0xBC9268CD,
+	0xBD8733AC,0x3F669753,0x3E3B92EE,0xBC92B310,0xBD8745C5,0x3F668986,0x3E3BDC75,0xBC92FD5E,
+	0xBD8757D2,0x3F667BB7,0x3E3C2605,0xBC9347B7,0xBD8769D5,0x3F666DE4,0x3E3C6F9D,0xBC93921C,
+	0xBD877BCD,0x3F66600F,0x3E3CB93D,0xBC93DC8D,0xBD878DBA,0x3F665236,0x3E3D02E5,0xBC942709,
+	0xBD879F9C,0x3F66445A,0x3E3D4C96,0xBC947190,0xBD87B173,0x3F66367C,0x3E3D964F,0xBC94BC23,
+	0xBD87C340,0x3F66289A,0x3E3DE010,0xBC9506C1,0xBD87D501,0x3F661AB5,0x3E3E29DA,0xBC95516A,
+	0xBD87E6B8,0x3F660CCD,0x3E3E73AC,0xBC959C1F,0xBD87F864,0x3F65FEE2,0x3E3EBD86,0xBC95E6DF,
+	0xBD880A06,0x3F65F0F4,0x3E3F0768,0xBC9631AA,0xBD881B9C,0x3F65E303,0x3E3F5152,0xBC967C80,
+	0xBD882D28,0x3F65D50F,0x3E3F9B45,0xBC96C762,0xBD883EA8,0x3F65C718,0x3E3FE540,0xBC97124F,
+	0xBD88501E,0x3F65B91D,0x3E402F43,0xBC975D47,0xBD88618A,0x3F65AB20,0x3E40794E,0xBC97A84A,
+	0xBD8872EA,0x3F659D20,0x3E40C361,0xBC97F358,0xBD888440,0x3F658F1C,0x3E410D7D,0xBC983E72,
+	0xBD88958A,0x3F658116,0x3E4157A0,0xBC988996,0xBD88A6CB,0x3F65730C,0x3E41A1CC,0xBC98D4C6,
+	0xBD88B800,0x3F656500,0x3E41EC00,0xBC992000,0xBD88C92B,0x3F6556F0,0x3E42363C,0xBC996B45,
+	0xBD88DA4B,0x3F6548DE,0x3E428080,0xBC99B696,0xBD88EB60,0x3F653AC8,0x3E42CACD,0xBC9A01F1,
+	0xBD88FC6A,0x3F652CB0,0x3E431521,0xBC9A4D58,0xBD890D6A,0x3F651E94,0x3E435F7D,0xBC9A98C9,
+	0xBD891E5F,0x3F651076,0x3E43A9E2,0xBC9AE445,0xBD892F49,0x3F650254,0x3E43F44F,0xBC9B2FCC,
+	0xBD894028,0x3F64F42F,0x3E443EC3,0xBC9B7B5E,0xBD8950FD,0x3F64E608,0x3E448940,0xBC9BC6FB,
+	0xBD8961C7,0x3F64D7DD,0x3E44D3C5,0xBC9C12A2,0xBD897287,0x3F64C9AF,0x3E451E52,0xBC9C5E54,
+	0xBD89833C,0x3F64BB7E,0x3E4568E6,0xBC9CAA11,0xBD8993E6,0x3F64AD4B,0x3E45B383,0xBC9CF5D9,
+	0xBD89A485,0x3F649F14,0x3E45FE28,0xBC9D41AB,0xBD89B51A,0x3F6490DA,0x3E4648D5,0xBC9D8D88,
+	0xBD89C5A4,0x3F64829E,0x3E46938A,0xBC9DD970,0xBD89D623,0x3F64745E,0x3E46DE47,0xBC9E2562,
+	0xBD89E698,0x3F64661B,0x3E47290C,0xBC9E715F,0xBD89F702,0x3F6457D5,0x3E4773D9,0xBC9EBD67,
+	0xBD8A0762,0x3F64498D,0x3E47BEAD,0xBC9F0979,0xBD8A17B7,0x3F643B41,0x3E48098A,0xBC9F5595,
+	0xBD8A2801,0x3F642CF2,0x3E48546F,0xBC9FA1BC,0xBD8A3841,0x3F641EA1,0x3E489F5B,0xBC9FEDEE,
+	0xBD8A4876,0x3F64104C,0x3E48EA50,0xBCA03A2A,0xBD8A58A0,0x3F6401F4,0x3E49354C,0xBCA08670,
+	0xBD8A68C0,0x3F63F39A,0x3E498051,0xBCA0D2C1,0xBD8A78D5,0x3F63E53C,0x3E49CB5D,0xBCA11F1D,
+	0xBD8A88DF,0x3F63D6DC,0x3E4A1671,0xBCA16B82,0xBD8A98DF,0x3F63C878,0x3E4A618D,0xBCA1B7F2,
+	0xBD8AA8D5,0x3F63BA12,0x3E4AACB1,0xBCA2046D,0xBD8AB8C0,0x3F63ABA8,0x3E4AF7DC,0xBCA250F1,
+	0xBD8AC8A0,0x3F639D3C,0x3E4B4310,0xBCA29D80,0xBD8AD876,0x3F638ECD,0x3E4B8E4B,0xBCA2EA19,
+	0xBD8AE841,0x3F63805A,0x3E4BD98F,0xBCA336BC,0xBD8AF801,0x3F6371E5,0x3E4C24DA,0xBCA3836A,
+	0xBD8B07B8,0x3F63636D,0x3E4C702D,0xBCA3D022,0xBD8B1763,0x3F6354F2,0x3E4CBB87,0xBCA41CE4,
+	0xBD8B2704,0x3F634674,0x3E4D06EA,0xBCA469B0,0xBD8B369B,0x3F6337F2,0x3E4D5254,0xBCA4B686,
+	0xBD8B4626,0x3F63296E,0x3E4D9DC6,0xBCA50366,0xBD8B55A8,0x3F631AE7,0x3E4DE940,0xBCA55050,
+	0xBD8B651F,0x3F630C5E,0x3E4E34C2,0xBCA59D45,0xBD8B748B,0x3F62FDD1,0x3E4E804B,0xBCA5EA43,
+	0xBD8B83ED,0x3F62EF41,0x3E4ECBDC,0xBCA6374B,0xBD8B9345,0x3F62E0AE,0x3E4F1775,0xBCA6845E,
+	0xBD8BA292,0x3F62D219,0x3E4F6316,0xBCA6D17A,0xBD8BB1D4,0x3F62C380,0x3E4FAEBE,0xBCA71EA0,
+	0xBD8BC10C,0x3F62B4E4,0x3E4FFA6E,0xBCA76BD0,0xBD8BD03A,0x3F62A646,0x3E504626,0xBCA7B90A,
+	0xBD8BDF5D,0x3F6297A5,0x3E5091E5,0xBCA8064E,0xBD8BEE75,0x3F628900,0x3E50DDAC,0xBCA8539B,
+	0xBD8BFD83,0x3F627A59,0x3E51297B,0xBCA8A0F3,0xBD8C0C87,0x3F626BAF,0x3E517551,0xBCA8EE54,
+	0xBD8C1B80,0x3F625D02,0x3E51C130,0xBCA93BBF,0xBD8C2A6F,0x3F624E52,0x3E520D15,0xBCA98934,
+	0xBD8C3954,0x3F623F9F,0x3E525903,0xBCA9D6B2,0xBD8C482D,0x3F6230EA,0x3E52A4F8,0xBCAA243A,
+	0xBD8C56FD,0x3F622231,0x3E52F0F4,0xBCAA71CC,0xBD8C65C2,0x3F621375,0x3E533CF9,0xBCAABF67,
+	0xBD8C747D,0x3F6204B7,0x3E538905,0xBCAB0D0C,0xBD8C832D,0x3F61F5F5,0x3E53D518,0xBCAB5ABB,
+	0xBD8C91D3,0x3F61E731,0x3E542133,0xBCABA873,0xBD8CA06F,0x3F61D86A,0x3E546D56,0xBCABF635,
+	0xBD8CAF00,0x3F61C9A0,0x3E54B980,0xBCAC4400,0xBD8CBD87,0x3F61BAD3,0x3E5505B2,0xBCAC91D5,
+	0xBD8CCC03,0x3F61AC03,0x3E5551EB,0xBCACDFB3,0xBD8CDA75,0x3F619D31,0x3E559E2C,0xBCAD2D9B,
+	0xBD8CE8DD,0x3F618E5B,0x3E55EA74,0xBCAD7B8C,0xBD8CF73A,0x3F617F82,0x3E5636C4,0xBCADC986,
+	0xBD8D058D,0x3F6170A7,0x3E56831C,0xBCAE178A,0xBD8D13D6,0x3F6161C9,0x3E56CF7B,0xBCAE6597,
+	0xBD8D2214,0x3F6152E8,0x3E571BE1,0xBCAEB3AE,0xBD8D3049,0x3F614404,0x3E57684F,0xBCAF01CE,
+	0xBD8D3E72,0x3F61351D,0x3E57B4C5,0xBCAF4FF7,0xBD8D4C92,0x3F612633,0x3E580142,0xBCAF9E2A,
+	0xBD8D5AA7,0x3F611747,0x3E584DC6,0xBCAFEC65,0xBD8D68B1,0x3F610857,0x3E589A52,0xBCB03AAA,
+	0xBD8D76B2,0x3F60F965,0x3E58E6E5,0xBCB088F8,0xBD8D84A8,0x3F60EA70,0x3E593380,0xBCB0D750,
+	0xBD8D9294,0x3F60DB78,0x3E598022,0xBCB125B0,0xBD8DA076,0x3F60CC7D,0x3E59CCCC,0xBCB1741A,
+	0xBD8DAE4D,0x3F60BD7F,0x3E5A197D,0xBCB1C28C,0xBD8DBC1A,0x3F60AE7E,0x3E5A6635,0xBCB21108,
+	0xBD8DC9DD,0x3F609F7B,0x3E5AB2F5,0xBCB25F8D,0xBD8DD795,0x3F609075,0x3E5AFFBC,0xBCB2AE1B,
+	0xBD8DE544,0x3F60816B,0x3E5B4C8B,0xBCB2FCB1,0xBD8DF2E8,0x3F60725F,0x3E5B9960,0xBCB34B51,
+	0xBD8E0082,0x3F606351,0x3E5BE63E,0xBCB399FA,0xBD8E0E11,0x3F60543F,0x3E5C3322,0xBCB3E8AC,
+	0xBD8E1B96,0x3F60452A,0x3E5C800E,0xBCB43766,0xBD8E2912,0x3F603613,0x3E5CCD02,0xBCB4862A,
+	0xBD8E3682,0x3F6026F9,0x3E5D19FC,0xBCB4D4F6,0xBD8E43E9,0x3F6017DC,0x3E5D66FE,0xBCB523CB,
+	0xBD8E5146,0x3F6008BC,0x3E5DB408,0xBCB572AA,0xBD8E5E98,0x3F5FF999,0x3E5E0118,0xBCB5C190,
+	0xBD8E6BE0,0x3F5FEA74,0x3E5E4E30,0xBCB61080,0xBD8E791E,0x3F5FDB4C,0x3E5E9B4F,0xBCB65F78,
+	0xBD8E8652,0x3F5FCC21,0x3E5EE876,0xBCB6AE79,0xBD8E937B,0x3F5FBCF3,0x3E5F35A3,0xBCB6FD83,
+	0xBD8EA09B,0x3F5FADC2,0x3E5F82D8,0xBCB74C96,0xBD8EADB0,0x3F5F9E8E,0x3E5FD014,0xBCB79BB1,
+	0xBD8EBABB,0x3F5F8F58,0x3E601D58,0xBCB7EAD5,0xBD8EC7BC,0x3F5F801F,0x3E606AA2,0xBCB83A01,
+	0xBD8ED4B2,0x3F5F70E3,0x3E60B7F4,0xBCB88936,0xBD8EE19F,0x3F5F61A4,0x3E61054D,0xBCB8D874,
+	0xBD8EEE82,0x3F5F5263,0x3E6152AE,0xBCB927BA,0xBD8EFB5A,0x3F5F431E,0x3E61A015,0xBCB97708,
+	0xBD8F0828,0x3F5F33D7,0x3E61ED84,0xBCB9C65F,0xBD8F14EC,0x3F5F248D,0x3E623AFA,0xBCBA15BF,
+	0xBD8F21A6,0x3F5F1540,0x3E628877,0xBCBA6527,0xBD8F2E56,0x3F5F05F1,0x3E62D5FB,0xBCBAB497,
+	0xBD8F3AFC,0x3F5EF69E,0x3E632386,0xBCBB0410,0xBD8F4798,0x3F5EE749,0x3E637118,0xBCBB5391,
+	0xBD8F5429,0x3F5ED7F1,0x3E63BEB2,0xBCBBA31B,0xBD8F60B1,0x3F5EC897,0x3E640C53,0xBCBBF2AD,
+	0xBD8F6D2E,0x3F5EB939,0x3E6459FB,0xBCBC4247,0xBD8F79A2,0x3F5EA9D9,0x3E64A7A9,0xBCBC91E9,
+	0xBD8F860B,0x3F5E9A76,0x3E64F55F,0xBCBCE194,0xBD8F926A,0x3F5E8B10,0x3E65431D,0xBCBD3147,
+	0xBD8F9EC0,0x3F5E7BA8,0x3E6590E1,0xBCBD8102,0xBD8FAB0B,0x3F5E6C3C,0x3E65DEAC,0xBCBDD0C5,
+	0xBD8FB74C,0x3F5E5CCE,0x3E662C7E,0xBCBE2091,0xBD8FC383,0x3F5E4D5E,0x3E667A58,0xBCBE7064,
+	0xBD8FCFB0,0x3F5E3DEA,0x3E66C838,0xBCBEC040,0xBD8FDBD3,0x3F5E2E74,0x3E671620,0xBCBF1024,
+	0xBD8FE7EC,0x3F5E1EFA,0x3E67640E,0xBCBF6010,0xBD8FF3FB,0x3F5E0F7F,0x3E67B204,0xBCBFB004,
+	0xBD900000,0x3F5E0000,0x3E680000,0xBCC00000,0xBD900BFB,0x3F5DF07F,0x3E684E03,0xBCC05004,
+	0xBD9017EC,0x3F5DE0FB,0x3E689C0E,0xBCC0A010,0xBD9023D3,0x3F5DD174,0x3E68EA1F,0xBCC0F024,
+	0xBD902FB0,0x3F5DC1EA,0x3E693838,0xBCC14040,0xBD903B83,0x3F5DB25E,0x3E698657,0xBCC19064,
+	0xBD90474C,0x3F5DA2CF,0x3E69D47E,0xBCC1E08F,0xBD90530B,0x3F5D933D,0x3E6A22AB,0xBCC230C3,
+	0xBD905EC0,0x3F5D83A8,0x3E6A70DF,0xBCC280FE,0xBD906A6C,0x3F5D7411,0x3E6ABF1A,0xBCC2D141,
+	0xBD90760D,0x3F5D6477,0x3E6B0D5D,0xBCC3218C,0xBD9081A4,0x3F5D54DA,0x3E6B5BA6,0xBCC371DF,
+	0xBD908D32,0x3F5D453B,0x3E6BA9F5,0xBCC3C239,0xBD9098B5,0x3F5D3598,0x3E6BF84C,0xBCC4129B,
+	0xBD90A42F,0x3F5D25F4,0x3E6C46AA,0xBCC46305,0xBD90AF9E,0x3F5D164C,0x3E6C950F,0xBCC4B377,
+	0xBD90BB04,0x3F5D06A2,0x3E6CE37A,0xBCC503F0,0xBD90C660,0x3F5CF6F4,0x3E6D31EC,0xBCC55471,
+	0xBD90D1B2,0x3F5CE745,0x3E6D8065,0xBCC5A4F9,0xBD90DCFA,0x3F5CD792,0x3E6DCEE5,0xBCC5F589,
+	0xBD90E838,0x3F5CC7DD,0x3E6E1D6C,0xBCC64621,0xBD90F36C,0x3F5CB825,0x3E6E6BFA,0xBCC696C0,
+	0xBD90FE96,0x3F5CA86A,0x3E6EBA8E,0xBCC6E766,0xBD9109B7,0x3F5C98AD,0x3E6F092A,0xBCC73814,
+	0xBD9114CE,0x3F5C88ED,0x3E6F57CC,0xBCC788CA,0xBD911FDA,0x3F5C792A,0x3E6FA675,0xBCC7D987,
+	0xBD912ADD,0x3F5C6965,0x3E6FF524,0xBCC82A4B,0xBD9135D6,0x3F5C599D,0x3E7043DB,0xBCC87B17,
+	0xBD9140C5,0x3F5C49D2,0x3E709298,0xBCC8CBEA,0xBD914BAB,0x3F5C3A05,0x3E70E15C,0xBCC91CC5,
+	0xBD915686,0x3F5C2A34,0x3E713026,0xBCC96DA7,0xBD916158,0x3F5C1A62,0x3E717EF8,0xBCC9BE90,
+	0xBD916C20,0x3F5C0A8C,0x3E71CDD0,0xBCCA0F80,0xBD9176DE,0x3F5BFAB4,0x3E721CAF,0xBCCA6078,
+	0xBD918192,0x3F5BEAD9,0x3E726B94,0xBCCAB176,0xBD918C3D,0x3F5BDAFB,0x3E72BA81,0xBCCB027D,
+	0xBD9196DE,0x3F5BCB1B,0x3E730974,0xBCCB538A,0xBD91A174,0x3F5BBB38,0x3E73586D,0xBCCBA49E,
+	0xBD91AC02,0x3F5BAB53,0x3E73A76E,0xBCCBF5BA,0xBD91B685,0x3F5B9B6A,0x3E73F675,0xBCCC46DC,
+	0xBD91C0FE,0x3F5B8B7F,0x3E744582,0xBCCC9806,0xBD91CB6E,0x3F5B7B92,0x3E749497,0xBCCCE937,
+	0xBD91D5D4,0x3F5B6BA2,0x3E74E3B1,0xBCCD3A6F,0xBD91E031,0x3F5B5BAF,0x3E7532D3,0xBCCD8BAD,
+	0xBD91EA83,0x3F5B4BB9,0x3E7581FB,0xBCCDDCF3,0xBD91F4CC,0x3F5B3BC1,0x3E75D12A,0xBCCE2E40,
+	0xBD91FF0B,0x3F5B2BC6,0x3E76205F,0xBCCE7F94,0xBD920940,0x3F5B1BC9,0x3E766F9B,0xBCCED0EE,
+	0xBD92136C,0x3F5B0BC8,0x3E76BEDE,0xBCCF2250,0xBD921D8E,0x3F5AFBC6,0x3E770E27,0xBCCF73B8,
+	0xBD9227A6,0x3F5AEBC0,0x3E775D77,0xBCCFC528,0xBD9231B5,0x3F5ADBB8,0x3E77ACCD,0xBCD0169E,
+	0xBD923BB9,0x3F5ACBAD,0x3E77FC2A,0xBCD0681B,0xBD9245B4,0x3F5ABBA0,0x3E784B8D,0xBCD0B99E,
+	0xBD924FA6,0x3F5AAB90,0x3E789AF7,0xBCD10B29,0xBD92598D,0x3F5A9B7E,0x3E78EA68,0xBCD15CBA,
+	0xBD92636C,0x3F5A8B68,0x3E7939DF,0xBCD1AE52,0xBD926D40,0x3F5A7B50,0x3E79895C,0xBCD1FFF1,
+	0xBD92770B,0x3F5A6B36,0x3E79D8E0,0xBCD25196,0xBD9280CC,0x3F5A5B19,0x3E7A286B,0xBCD2A342,
+	0xBD928A83,0x3F5A4AF9,0x3E7A77FC,0xBCD2F4F4,0xBD929431,0x3F5A3AD7,0x3E7AC793,0xBCD346AD,
+	0xBD929DD5,0x3F5A2AB2,0x3E7B1731,0xBCD3986D,0xBD92A76F,0x3F5A1A8A,0x3E7B66D5,0xBCD3EA33,
+	0xBD92B100,0x3F5A0A60,0x3E7BB680,0xBCD43C00,0xBD92BA87,0x3F59FA33,0x3E7C0631,0xBCD48DD3,
+	0xBD92C405,0x3F59EA04,0x3E7C55E9,0xBCD4DFAD,0xBD92CD79,0x3F59D9D2,0x3E7CA5A7,0xBCD5318D,
+	0xBD92D6E3,0x3F59C99D,0x3E7CF56B,0xBCD58374,0xBD92E044,0x3F59B966,0x3E7D4536,0xBCD5D561,
+	0xBD92E99B,0x3F59A92C,0x3E7D9508,0xBCD62754,0xBD92F2E9,0x3F5998F0,0x3E7DE4DF,0xBCD6794E,
+	0xBD92FC2C,0x3F5988B1,0x3E7E34BD,0xBCD6CB4E,0xBD930567,0x3F59786F,0x3E7E84A2,0xBCD71D54,
+	0xBD930E98,0x3F59682B,0x3E7ED48C,0xBCD76F61,0xBD9317BF,0x3F5957E4,0x3E7F247E,0xBCD7C174,
+	0xBD9320DD,0x3F59479B,0x3E7F7475,0xBCD8138D,0xBD9329F1,0x3F59374F,0x3E7FC473,0xBCD865AD,
+	0xBD9332FB,0x3F592700,0x3E800A3B,0xBCD8B7D2,0xBD933BFC,0x3F5916AF,0x3E803241,0xBCD909FE,
+	0xBD9344F4,0x3F59065C,0x3E805A49,0xBCD95C30,0xBD934DE2,0x3F58F605,0x3E808255,0xBCD9AE68,
+	0xBD9356C6,0x3F58E5AC,0x3E80AA63,0xBCDA00A6,0xBD935FA1,0x3F58D551,0x3E80D275,0xBCDA52EA,
+	0xBD936873,0x3F58C4F3,0x3E80FA8A,0xBCDAA535,0xBD93713B,0x3F58B493,0x3E8122A2,0xBCDAF785,
+	0xBD9379F9,0x3F58A42F,0x3E814ABD,0xBCDB49DB,0xBD9382AE,0x3F5893CA,0x3E8172DB,0xBCDB9C38,
+	0xBD938B5A,0x3F588362,0x3E819AFD,0xBCDBEE9A,0xBD9393FB,0x3F5872F7,0x3E81C321,0xBCDC4102,
+	0xBD939C94,0x3F586289,0x3E81EB49,0xBCDC9370,0xBD93A523,0x3F58521A,0x3E821374,0xBCDCE5E4,
+	0xBD93ADA8,0x3F5841A7,0x3E823BA2,0xBCDD385E,0xBD93B625,0x3F583132,0x3E8263D3,0xBCDD8ADE,
+	0xBD93BE97,0x3F5820BB,0x3E828C07,0xBCDDDD64,0xBD93C700,0x3F581041,0x3E82B43E,0xBCDE2FEF,
+	0xBD93CF60,0x3F57FFC4,0x3E82DC78,0xBCDE8280,0xBD93D7B6,0x3F57EF45,0x3E8304B5,0xBCDED517,
+	0xBD93E003,0x3F57DEC3,0x3E832CF6,0xBCDF27B3,0xBD93E847,0x3F57CE3F,0x3E835539,0xBCDF7A56,
+	0xBD93F081,0x3F57BDB8,0x3E837D80,0xBCDFCCFE,0xBD93F8B1,0x3F57AD2F,0x3E83A5C9,0xBCE01FAB,
+	0xBD9400D8,0x3F579CA3,0x3E83CE16,0xBCE0725F,0xBD9408F6,0x3F578C15,0x3E83F665,0xBCE0C518,
+	0xBD94110A,0x3F577B84,0x3E841EB8,0xBCE117D6,0xBD941915,0x3F576AF1,0x3E84470E,0xBCE16A9A,
+	0xBD942117,0x3F575A5B,0x3E846F67,0xBCE1BD64,0xBD94290F,0x3F5749C2,0x3E8497C3,0xBCE21033,
+	0xBD9430FE,0x3F573927,0x3E84C021,0xBCE26307,0xBD9438E4,0x3F57288A,0x3E84E883,0xBCE2B5E1,
+	0xBD9440C0,0x3F5717EA,0x3E8510E8,0xBCE308C1,0xBD944893,0x3F570747,0x3E853950,0xBCE35BA6,
+	0xBD94505C,0x3F56F6A2,0x3E8561BB,0xBCE3AE90,0xBD94581C,0x3F56E5FB,0x3E858A29,0xBCE40180,
+	0xBD945FD3,0x3F56D551,0x3E85B29A,0xBCE45475,0xBD946780,0x3F56C4A5,0x3E85DB0E,0xBCE4A76F,
+	0xBD946F24,0x3F56B3F6,0x3E860385,0xBCE4FA6F,0xBD9476BF,0x3F56A344,0x3E862BFF,0xBCE54D74,
+	0xBD947E51,0x3F569290,0x3E86547C,0xBCE5A07E,0xBD9485D9,0x3F5681DA,0x3E867CFC,0xBCE5F38D,
+	0xBD948D58,0x3F567121,0x3E86A57E,0xBCE646A2,0xBD9494CD,0x3F566065,0x3E86CE04,0xBCE699BC,
+	0xBD949C39,0x3F564FA7,0x3E86F68D,0xBCE6ECDB,0xBD94A39C,0x3F563EE7,0x3E871F19,0xBCE73FFF,
+	0xBD94AAF6,0x3F562E24,0x3E8747A8,0xBCE79328,0xBD94B246,0x3F561D5F,0x3E877039,0xBCE7E657,
+	0xBD94B98D,0x3F560C97,0x3E8798CE,0xBCE8398A,0xBD94C0CB,0x3F55FBCD,0x3E87C165,0xBCE88CC3,
+	0xBD94C800,0x3F55EB00,0x3E87EA00,0xBCE8E000,0xBD94CF2B,0x3F55DA31,0x3E88129D,0xBCE93342,
+	0xBD94D64E,0x3F55C95F,0x3E883B3E,0xBCE9868A,0xBD94DD66,0x3F55B88B,0x3E8863E1,0xBCE9D9D6,
+	0xBD94E476,0x3F55A7B4,0x3E888C87,0xBCEA2D28,0xBD94EB7C,0x3F5596DB,0x3E88B531,0xBCEA807E,
+	0xBD94F27A,0x3F558600,0x3E88DDDD,0xBCEAD3D9,0xBD94F96E,0x3F557522,0x3E89068C,0xBCEB2739,
+	0xBD950058,0x3F556441,0x3E892F3E,0xBCEB7A9E,0xBD95073A,0x3F55535E,0x3E8957F2,0xBCEBCE08,
+	0xBD950E12,0x3F554279,0x3E8980AA,0xBCEC2176,0xBD9514E2,0x3F553191,0x3E89A965,0xBCEC74E9,
+	0xBD951BA8,0x3F5520A7,0x3E89D222,0xBCECC861,0xBD952265,0x3F550FBA,0x3E89FAE3,0xBCED1BDE,
+	0xBD952918,0x3F54FECB,0x3E8A23A6,0xBCED6F5F,0xBD952FC3,0x3F54EDDA,0x3E8A4C6C,0xBCEDC2E5,
+	0xBD953664,0x3F54DCE6,0x3E8A7535,0xBCEE1670,0xBD953CFC,0x3F54CBEF,0x3E8A9E01,0xBCEE69FF,
+	0xBD95438B,0x3F54BAF6,0x3E8AC6D0,0xBCEEBD93,0xBD954A11,0x3F54A9FB,0x3E8AEFA1,0xBCEF112C,
+	0xBD95508E,0x3F5498FD,0x3E8B1876,0xBCEF64C9,0xBD955701,0x3F5487FD,0x3E8B414D,0xBCEFB86A,
+	0xBD955D6C,0x3F5476FA,0x3E8B6A27,0xBCF00C10,0xBD9563CD,0x3F5465F5,0x3E8B9304,0xBCF05FBB,
+	0xBD956A26,0x3F5454EE,0x3E8BBBE4,0xBCF0B36A,0xBD957075,0x3F5443E4,0x3E8BE4C7,0xBCF1071D,
+	0xBD9576BB,0x3F5432D8,0x3E8C0DAC,0xBCF15AD5,0xBD957CF8,0x3F5421C9,0x3E8C3694,0xBCF1AE92,
+	0xBD95832B,0x3F5410B8,0x3E8C5F7F,0xBCF20252,0xBD958956,0x3F53FFA5,0x3E8C886D,0xBCF25617,
+	0xBD958F78,0x3F53EE8F,0x3E8CB15E,0xBCF2A9E1,0xBD959590,0x3F53DD77,0x3E8CDA52,0xBCF2FDAE,
+	0xBD959BA0,0x3F53CC5C,0x3E8D0348,0xBCF35180,0xBD95A1A6,0x3F53BB3F,0x3E8D2C41,0xBCF3A556,
+	0xBD95A7A4,0x3F53AA1F,0x3E8D553D,0xBCF3F930,0xBD95AD98,0x3F5398FE,0x3E8D7E3C,0xBCF44D0F,
+	0xBD95B384,0x3F5387D9,0x3E8DA73D,0xBCF4A0F2,0xBD95B966,0x3F5376B3,0x3E8DD042,0xBCF4F4D9,
+	0xBD95BF3F,0x3F53658A,0x3E8DF949,0xBCF548C4,0xBD95C50F,0x3F53545E,0x3E8E2253,0xBCF59CB3,
+	0xBD95CAD6,0x3F534330,0x3E8E4B5F,0xBCF5F0A6,0xBD95D095,0x3F533200,0x3E8E746E,0xBCF6449D,
+	0xBD95D64A,0x3F5320CE,0x3E8E9D81,0xBCF69899,0xBD95DBF6,0x3F530F99,0x3E8EC695,0xBCF6EC98,
+	0xBD95E199,0x3F52FE61,0x3E8EEFAD,0xBCF7409B,0xBD95E733,0x3F52ED28,0x3E8F18C7,0xBCF794A3,
+	0xBD95ECC5,0x3F52DBEC,0x3E8F41E5,0xBCF7E8AE,0xBD95F24D,0x3F52CAAD,0x3E8F6B04,0xBCF83CBD,
+	0xBD95F7CC,0x3F52B96C,0x3E8F9427,0xBCF890D0,0xBD95FD42,0x3F52A829,0x3E8FBD4C,0xBCF8E4E7,
+	0xBD9602B0,0x3F5296E4,0x3E8FE674,0xBCF93902,0xBD960814,0x3F52859C,0x3E900F9F,0xBCF98D20,
+	0xBD960D6F,0x3F527452,0x3E9038CD,0xBCF9E143,0xBD9612C2,0x3F526305,0x3E9061FD,0xBCFA3569,
+	0xBD96180B,0x3F5251B6,0x3E908B30,0xBCFA8993,0xBD961D4C,0x3F524065,0x3E90B465,0xBCFADDC1,
+	0xBD962284,0x3F522F11,0x3E90DD9D,0xBCFB31F2,0xBD9627B2,0x3F521DBB,0x3E9106D8,0xBCFB8627,
+	0xBD962CD8,0x3F520C63,0x3E913016,0xBCFBDA60,0xBD9631F5,0x3F51FB08,0x3E915956,0xBCFC2E9C,
+	0xBD963709,0x3F51E9AB,0x3E918299,0xBCFC82DC,0xBD963C14,0x3F51D84C,0x3E91ABDF,0xBCFCD720,
+	0xBD964116,0x3F51C6EA,0x3E91D527,0xBCFD2B67,0xBD964610,0x3F51B586,0x3E91FE72,0xBCFD7FB2,
+	0xBD964B00,0x3F51A420,0x3E9227C0,0xBCFDD400,0xBD964FE8,0x3F5192B7,0x3E925110,0xBCFE2852,
+	0xBD9654C6,0x3F51814C,0x3E927A63,0xBCFE7CA7,0xBD96599C,0x3F516FDF,0x3E92A3B9,0xBCFED100,
+	0xBD965E69,0x3F515E6F,0x3E92CD11,0xBCFF255C,0xBD96632D,0x3F514CFD,0x3E92F66C,0xBCFF79BB,
+	0xBD9667E8,0x3F513B89,0x3E931FCA,0xBCFFCE1E,0xBD966C9B,0x3F512A13,0x3E93492A,0xBD001142,
+	0xBD967144,0x3F51189A,0x3E93728D,0xBD003B77,0xBD9675E5,0x3F51071E,0x3E939BF2,0xBD0065AD,
+	0xBD967A7D,0x3F50F5A1,0x3E93C55A,0xBD008FE6,0xBD967F0C,0x3F50E421,0x3E93EEC5,0xBD00BA1F,
+	0xBD968393,0x3F50D29F,0x3E941832,0xBD00E45B,0xBD968810,0x3F50C11B,0x3E9441A2,0xBD010E98,
+	0xBD968C85,0x3F50AF94,0x3E946B14,0xBD0138D6,0xBD9690F1,0x3F509E0B,0x3E949489,0xBD016316,
+	0xBD969554,0x3F508C80,0x3E94BE01,0xBD018D58,0xBD9699AE,0x3F507AF2,0x3E94E77B,0xBD01B79B,
+	0xBD969E00,0x3F506962,0x3E9510F8,0xBD01E1E0,0xBD96A249,0x3F5057D0,0x3E953A77,0xBD020C26,
+	0xBD96A689,0x3F50463B,0x3E9563F9,0xBD02366E,0xBD96AAC0,0x3F5034A5,0x3E958D7E,0xBD0260B8,
+	0xBD96AEEF,0x3F50230B,0x3E95B705,0xBD028B03,0xBD96B314,0x3F501170,0x3E95E08F,0xBD02B54F,
+	0xBD96B732,0x3F4FFFD3,0x3E960A1B,0xBD02DF9D,0xBD96BB46,0x3F4FEE33,0x3E9633AA,0xBD0309EC,
+	0xBD96BF51,0x3F4FDC91,0x3E965D3B,0xBD03343D,0xBD96C354,0x3F4FCAEC,0x3E9686CF,0xBD035E8F,
+	0xBD96C74E,0x3F4FB945,0x3E96B065,0xBD0388E3,0xBD96CB40,0x3F4FA79C,0x3E96D9FE,0xBD03B338,
+	0xBD96CF29,0x3F4F95F1,0x3E97039A,0xBD03DD8F,0xBD96D309,0x3F4F8444,0x3E972D38,0xBD0407E7,
+	0xBD96D6E0,0x3F4F7294,0x3E9756D8,0xBD043240,0xBD96DAAF,0x3F4F60E2,0x3E97807B,0xBD045C9B,
+	0xBD96DE75,0x3F4F4F2E,0x3E97AA21,0xBD0486F7,0xBD96E232,0x3F4F3D77,0x3E97D3C9,0xBD04B154,
+	0xBD96E5E7,0x3F4F2BBE,0x3E97FD73,0xBD04DBB3,0xBD96E993,0x3F4F1A03,0x3E982720,0xBD050613,
+	0xBD96ED36,0x3F4F0846,0x3E9850D0,0xBD053074,0xBD96F0D0,0x3F4EF687,0x3E987A82,0xBD055AD7,
+	0xBD96F462,0x3F4EE4C5,0x3E98A436,0xBD05853B,0xBD96F7EC,0x3F4ED301,0x3E98CDED,0xBD05AFA0,
+	0xBD96FB6D,0x3F4EC13B,0x3E98F7A7,0xBD05DA07,0xBD96FEE5,0x3F4EAF72,0x3E992162,0xBD06046F,
+	0xBD970254,0x3F4E9DA8,0x3E994B21,0xBD062ED8,0xBD9705BB,0x3F4E8BDB,0x3E9974E2,0xBD065942,
+	0xBD970919,0x3F4E7A0B,0x3E999EA5,0xBD0683AD,0xBD970C6F,0x3F4E683A,0x3E99C86B,0xBD06AE1A,
+	0xBD970FBC,0x3F4E5666,0x3E99F233,0xBD06D888,0xBD971300,0x3F4E4491,0x3E9A1BFE,0xBD0702F7,
+	0xBD97163C,0x3F4E32B9,0x3E9A45CB,0xBD072D67,0xBD971970,0x3F4E20DE,0x3E9A6F9A,0xBD0757D9,
+	0xBD971C9A,0x3F4E0F02,0x3E9A996C,0xBD07824B,0xBD971FBC,0x3F4DFD23,0x3E9AC341,0xBD07ACBF,
+	0xBD9722D6,0x3F4DEB42,0x3E9AED17,0xBD07D734,0xBD9725E7,0x3F4DD95F,0x3E9B16F1,0xBD0801AA,
+	0xBD9728F0,0x3F4DC77A,0x3E9B40CC,0xBD082C21,0xBD972BEF,0x3F4DB592,0x3E9B6AAA,0xBD085699,
+	0xBD972EE7,0x3F4DA3A9,0x3E9B948B,0xBD088112,0xBD9731D6,0x3F4D91BD,0x3E9BBE6E,0xBD08AB8D,
+	0xBD9734BC,0x3F4D7FCE,0x3E9BE853,0xBD08D608,0xBD97379A,0x3F4D6DDE,0x3E9C123B,0xBD090085,
+	0xBD973A6F,0x3F4D5BEC,0x3E9C3C25,0xBD092B02,0xBD973D3C,0x3F4D49F7,0x3E9C6611,0xBD095581,
+	0xBD974000,0x3F4D3800,0x3E9C9000,0xBD098000,0xBD9742BC,0x3F4D2607,0x3E9CB9F1,0xBD09AA80,
+	0xBD97456F,0x3F4D140C,0x3E9CE3E5,0xBD09D502,0xBD97481A,0x3F4D020E,0x3E9D0DDB,0xBD09FF84,
+	0xBD974ABC,0x3F4CF00F,0x3E9D37D3,0xBD0A2A08,0xBD974D56,0x3F4CDE0D,0x3E9D61CE,0xBD0A548C,
+	0xBD974FE7,0x3F4CCC09,0x3E9D8BCB,0xBD0A7F12,0xBD975270,0x3F4CBA03,0x3E9DB5CA,0xBD0AA998,
+	0xBD9754F0,0x3F4CA7FA,0x3E9DDFCC,0xBD0AD41F,0xBD975768,0x3F4C95F0,0x3E9E09D0,0xBD0AFEA7,
+	0xBD9759D8,0x3F4C83E3,0x3E9E33D6,0xBD0B2930,0xBD975C3F,0x3F4C71D4,0x3E9E5DDF,0xBD0B53BA,
+	0xBD975E9E,0x3F4C5FC3,0x3E9E87EA,0xBD0B7E45,0xBD9760F4,0x3F4C4DB0,0x3E9EB1F7,0xBD0BA8D0,
+	0xBD976342,0x3F4C3B9B,0x3E9EDC07,0xBD0BD35D,0xBD976587,0x3F4C2983,0x3E9F0619,0xBD0BFDEA,
+	0xBD9767C4,0x3F4C176A,0x3E9F302D,0xBD0C2878,0xBD9769F9,0x3F4C054E,0x3E9F5A44,0xBD0C5307,
+	0xBD976C25,0x3F4BF330,0x3E9F845C,0xBD0C7D97,0xBD976E48,0x3F4BE110,0x3E9FAE78,0xBD0CA827,
+	0xBD977064,0x3F4BCEED,0x3E9FD895,0xBD0CD2B8,0xBD977277,0x3F4BBCC9,0x3EA002B5,0xBD0CFD4A,
+	0xBD977481,0x3F4BAAA3,0x3EA02CD7,0xBD0D27DD,0xBD977684,0x3F4B987A,0x3EA056FB,0xBD0D5271,
+	0xBD97787E,0x3F4B864F,0x3EA08122,0xBD0D7D05,0xBD977A6F,0x3F4B7422,0x3EA0AB4B,0xBD0DA79A,
+	0xBD977C58,0x3F4B61F3,0x3EA0D576,0xBD0DD230,0xBD977E39,0x3F4B4FC2,0x3EA0FFA3,0xBD0DFCC6,
+	0xBD978011,0x3F4B3D8F,0x3EA129D3,0xBD0E275D,0xBD9781E2,0x3F4B2B59,0x3EA15405,0xBD0E51F5,
+	0xBD9783A9,0x3F4B1922,0x3EA17E39,0xBD0E7C8D,0xBD978569,0x3F4B06E8,0x3EA1A86F,0xBD0EA726,
+	0xBD978720,0x3F4AF4AC,0x3EA1D2A8,0xBD0ED1C0,0xBD9788CF,0x3F4AE26E,0x3EA1FCE3,0xBD0EFC5A,
+	0xBD978A75,0x3F4AD02E,0x3EA22720,0xBD0F26F5,0xBD978C14,0x3F4ABDEC,0x3EA2515F,0xBD0F5191,
+	0xBD978DAA,0x3F4AABA8,0x3EA27BA1,0xBD0F7C2D,0xBD978F37,0x3F4A9961,0x3EA2A5E5,0xBD0FA6CA,
+	0xBD9790BD,0x3F4A8719,0x3EA2D02B,0xBD0FD167,0xBD97923A,0x3F4A74CE,0x3EA2FA73,0xBD0FFC05,
+	0xBD9793AE,0x3F4A6281,0x3EA324BD,0xBD1026A3,0xBD97951B,0x3F4A5033,0x3EA34F0A,0xBD105142,
+	0xBD97967F,0x3F4A3DE2,0x3EA37958,0xBD107BE1,0xBD9797DB,0x3F4A2B8F,0x3EA3A3A9,0xBD10A681,
+	0xBD97992F,0x3F4A193A,0x3EA3CDFD,0xBD10D122,0xBD979A7B,0x3F4A06E3,0x3EA3F852,0xBD10FBC3,
+	0xBD979BBE,0x3F49F489,0x3EA422A9,0xBD112664,0xBD979CF9,0x3F49E22E,0x3EA44D03,0xBD115106,
+	0xBD979E2C,0x3F49CFD0,0x3EA4775F,0xBD117BA8,0xBD979F57,0x3F49BD71,0x3EA4A1BD,0xBD11A64B,
+	0xBD97A079,0x3F49AB0F,0x3EA4CC1D,0xBD11D0EE,0xBD97A193,0x3F4998AC,0x3EA4F680,0xBD11FB91,
+	0xBD97A2A5,0x3F498646,0x3EA520E4,0xBD122635,0xBD97A3AF,0x3F4973DE,0x3EA54B4B,0xBD1250DA,
+	0xBD97A4B1,0x3F496174,0x3EA575B3,0xBD127B7E,0xBD97A5AA,0x3F494F08,0x3EA5A01E,0xBD12A624,
+	0xBD97A69C,0x3F493C9A,0x3EA5CA8B,0xBD12D0C9,0xBD97A785,0x3F492A2A,0x3EA5F4FB,0xBD12FB6F,
+	0xBD97A866,0x3F4917B8,0x3EA61F6C,0xBD132615,0xBD97A93E,0x3F490544,0x3EA649DF,0xBD1350BB,
+	0xBD97AA0F,0x3F48F2CE,0x3EA67455,0xBD137B62,0xBD97AAD7,0x3F48E055,0x3EA69ECC,0xBD13A609,
+	0xBD97AB98,0x3F48CDDB,0x3EA6C946,0xBD13D0B1,0xBD97AC50,0x3F48BB5E,0x3EA6F3C2,0xBD13FB58,
+	0xBD97AD00,0x3F48A8E0,0x3EA71E40,0xBD142600,0xBD97ADA8,0x3F48965F,0x3EA748C0,0xBD1450A8,
+	0xBD97AE48,0x3F4883DD,0x3EA77342,0xBD147B50,0xBD97AEDF,0x3F487158,0x3EA79DC6,0xBD14A5F9,
+	0xBD97AF6F,0x3F485ED2,0x3EA7C84D,0xBD14D0A2,0xBD97AFF7,0x3F484C49,0x3EA7F2D5,0xBD14FB4B,
+	0xBD97B076,0x3F4839BE,0x3EA81D60,0xBD1525F4,0xBD97B0ED,0x3F482731,0x3EA847EC,0xBD15509D,
+	0xBD97B15C,0x3F4814A3,0x3EA8727B,0xBD157B47,0xBD97B1C4,0x3F480212,0x3EA89D0B,0xBD15A5F1,
+	0xBD97B223,0x3F47EF7F,0x3EA8C79E,0xBD15D09B,0xBD97B27A,0x3F47DCEA,0x3EA8F233,0xBD15FB45,
+	0xBD97B2C9,0x3F47CA53,0x3EA91CC9,0xBD1625EF,0xBD97B310,0x3F47B7BA,0x3EA94762,0xBD165099,
+	0xBD97B34E,0x3F47A51F,0x3EA971FD,0xBD167B43,0xBD97B385,0x3F479282,0x3EA99C9A,0xBD16A5EE,
+	0xBD97B3B4,0x3F477FE4,0x3EA9C739,0xBD16D098,0xBD97B3DB,0x3F476D43,0x3EA9F1DA,0xBD16FB43,
+	0xBD97B3F9,0x3F475AA0,0x3EAA1C7D,0xBD1725ED,0xBD97B410,0x3F4747FB,0x3EAA4722,0xBD175098,
+	0xBD97B41F,0x3F473554,0x3EAA71C9,0xBD177B42,0xBD97B425,0x3F4722AB,0x3EAA9C72,0xBD17A5ED,
+	0xBD97B424,0x3F471000,0x3EAAC71D,0xBD17D098,0xBD97B41B,0x3F46FD53,0x3EAAF1CA,0xBD17FB42,
+	0xBD97B40A,0x3F46EAA4,0x3EAB1C79,0xBD1825ED,0xBD97B3F0,0x3F46D7F3,0x3EAB472A,0xBD185098,
+	0xBD97B3CF,0x3F46C540,0x3EAB71DD,0xBD187B42,0xBD97B3A6,0x3F46B28B,0x3EAB9C92,0xBD18A5ED,
+	0xBD97B374,0x3F469FD4,0x3EABC749,0xBD18D097,0xBD97B33B,0x3F468D1B,0x3EABF202,0xBD18FB41,
+	0xBD97B2FA,0x3F467A60,0x3EAC1CBC,0xBD1925EC,0xBD97B2B1,0x3F4667A3,0x3EAC4779,0xBD195096,
+	0xBD97B260,0x3F4654E4,0x3EAC7238,0xBD197B40,0xBD97B207,0x3F464223,0x3EAC9CF9,0xBD19A5EA,
+	0xBD97B1A6,0x3F462F60,0x3EACC7BB,0xBD19D094,0xBD97B13D,0x3F461C9B,0x3EACF280,0xBD19FB3D,
+	0xBD97B0CD,0x3F4609D5,0x3EAD1D47,0xBD1A25E7,0xBD97B054,0x3F45F70C,0x3EAD480F,0xBD1A5090,
+	0xBD97AFD3,0x3F45E441,0x3EAD72D9,0xBD1A7B39,0xBD97AF4B,0x3F45D175,0x3EAD9DA6,0xBD1AA5E2,
+	0xBD97AEBA,0x3F45BEA6,0x3EADC874,0xBD1AD08B,0xBD97AE22,0x3F45ABD5,0x3EADF344,0xBD1AFB34,
+	0xBD97AD82,0x3F459903,0x3EAE1E16,0xBD1B25DC,0xBD97ACDA,0x3F45862E,0x3EAE48EA,0xBD1B5084,
+	0xBD97AC2A,0x3F457358,0x3EAE73C0,0xBD1B7B2C,0xBD97AB72,0x3F45607F,0x3EAE9E98,0xBD1BA5D3,
+	0xBD97AAB3,0x3F454DA5,0x3EAEC972,0xBD1BD07A,0xBD97A9EB,0x3F453AC9,0x3EAEF44E,0xBD1BFB21,
+	0xBD97A91C,0x3F4527EA,0x3EAF1F2B,0xBD1C25C8,0xBD97A845,0x3F45150A,0x3EAF4A0A,0xBD1C506E,
+	0xBD97A766,0x3F450228,0x3EAF74EC,0xBD1C7B14,0xBD97A67F,0x3F44EF44,0x3EAF9FCF,0xBD1CA5BA,
+	0xBD97A590,0x3F44DC5E,0x3EAFCAB4,0xBD1CD05F,0xBD97A49A,0x3F44C976,0x3EAFF59B,0xBD1CFB04,
+	0xBD97A39C,0x3F44B68C,0x3EB02083,0xBD1D25A9,0xBD97A295,0x3F44A3A1,0x3EB04B6E,0xBD1D504D,
+	0xBD97A188,0x3F4490B3,0x3EB0765A,0xBD1D7AF1,0xBD97A072,0x3F447DC3,0x3EB0A149,0xBD1DA594,
+	0xBD979F54,0x3F446AD2,0x3EB0CC39,0xBD1DD037,0xBD979E2F,0x3F4457DE,0x3EB0F72B,0xBD1DFADA,
+	0xBD979D02,0x3F4444E9,0x3EB1221F,0xBD1E257C,0xBD979BCD,0x3F4431F1,0x3EB14D14,0xBD1E501E,
+	0xBD979A90,0x3F441EF8,0x3EB1780C,0xBD1E7ABF,0xBD97994C,0x3F440BFD,0x3EB1A305,0xBD1EA560,
+	0xBD979800,0x3F43F900,0x3EB1CE00,0xBD1ED000,0xBD9796AC,0x3F43E601,0x3EB1F8FD,0xBD1EFAA0,
+	0xBD979551,0x3F43D300,0x3EB223FC,0xBD1F253F,0xBD9793ED,0x3F43BFFD,0x3EB24EFC,0xBD1F4FDE,
+	0xBD979282,0x3F43ACF9,0x3EB279FE,0xBD1F7A7C,0xBD97910F,0x3F4399F2,0x3EB2A503,0xBD1FA51A,
+	0xBD978F95,0x3F4386EA,0x3EB2D008,0xBD1FCFB7,0xBD978E12,0x3F4373DF,0x3EB2FB10,0xBD1FFA53,
+	0xBD978C88,0x3F4360D3,0x3EB3261A,0xBD2024EF,0xBD978AF7,0x3F434DC5,0x3EB35125,0xBD204F8A,
+	0xBD97895D,0x3F433AB5,0x3EB37C32,0xBD207A25,0xBD9787BC,0x3F4327A3,0x3EB3A741,0xBD20A4BF,
+	0xBD978614,0x3F43148F,0x3EB3D251,0xBD20CF59,0xBD978463,0x3F43017A,0x3EB3FD64,0xBD20F9F1,
+	0xBD9782AB,0x3F42EE62,0x3EB42878,0xBD21248A,0xBD9780EB,0x3F42DB49,0x3EB4538D,0xBD214F21,
+	0xBD977F24,0x3F42C82E,0x3EB47EA5,0xBD2179B8,0xBD977D55,0x3F42B510,0x3EB4A9BE,0xBD21A44E,
+	0xBD977B7E,0x3F42A1F1,0x3EB4D4D9,0xBD21CEE4,0xBD9779A0,0x3F428ED0,0x3EB4FFF6,0xBD21F978,
+	0xBD9777BA,0x3F427BAE,0x3EB52B15,0xBD22240C,0xBD9775CC,0x3F426889,0x3EB55635,0xBD224EA0,
+	0xBD9773D7,0x3F425563,0x3EB58157,0xBD227932,0xBD9771DA,0x3F42423A,0x3EB5AC7A,0xBD22A3C4,
+	0xBD976FD6,0x3F422F10,0x3EB5D7A0,0xBD22CE55,0xBD976DC9,0x3F421BE4,0x3EB602C7,0xBD22F8E5,
+	0xBD976BB6,0x3F4208B6,0x3EB62DF0,0xBD232375,0xBD97699A,0x3F41F586,0x3EB6591A,0xBD234E03,
+	0xBD976777,0x3F41E255,0x3EB68446,0xBD237891,0xBD97654D,0x3F41CF21,0x3EB6AF74,0xBD23A31E,
+	0xBD97631B,0x3F41BBEC,0x3EB6DAA4,0xBD23CDAA,0xBD9760E1,0x3F41A8B5,0x3EB705D5,0xBD23F836,
+	0xBD975EA0,0x3F41957C,0x3EB73108,0xBD2422C0,0xBD975C57,0x3F418241,0x3EB75C3D,0xBD244D4A,
+	0xBD975A07,0x3F416F05,0x3EB78773,0xBD2477D2,0xBD9757AF,0x3F415BC6,0x3EB7B2AB,0xBD24A25A,
+	0xBD975550,0x3F414886,0x3EB7DDE4,0xBD24CCE1,0xBD9752E9,0x3F413544,0x3EB80920,0xBD24F767,
+	0xBD97507A,0x3F412200,0x3EB8345C,0xBD2521EC,0xBD974E04,0x3F410EBA,0x3EB85F9B,0xBD254C70,
+	0xBD974B86,0x3F40FB72,0x3EB88ADB,0xBD2576F3,0xBD974901,0x3F40E829,0x3EB8B61D,0xBD25A175,
+	0xBD974675,0x3F40D4DE,0x3EB8E160,0xBD25CBF6,0xBD9743E1,0x3F40C191,0x3EB90CA5,0xBD25F676,
+	0xBD974145,0x3F40AE42,0x3EB937EC,0xBD2620F6,0xBD973EA2,0x3F409AF1,0x3EB96334,0xBD264B74,
+	0xBD973BF8,0x3F40879F,0x3EB98E7E,0xBD2675F1,0xBD973946,0x3F40744B,0x3EB9B9CA,0xBD26A06D,
+	0xBD97368C,0x3F4060F4,0x3EB9E517,0xBD26CAE8,0xBD9733CB,0x3F404D9D,0x3EBA1066,0xBD26F562,
+	0xBD973103,0x3F403A43,0x3EBA3BB6,0xBD271FDB,0xBD972E33,0x3F4026E8,0x3EBA6708,0xBD274A53,
+	0xBD972B5B,0x3F40138A,0x3EBA925C,0xBD2774C9,0xBD97287D,0x3F40002B,0x3EBABDB1,0xBD279F3F,
+	0xBD972596,0x3F3FECCA,0x3EBAE907,0xBD27C9B3,0xBD9722A9,0x3F3FD968,0x3EBB1460,0xBD27F427,
+	0xBD971FB4,0x3F3FC603,0x3EBB3FB9,0xBD281E99,0xBD971CB7,0x3F3FB29D,0x3EBB6B15,0xBD28490A,
+	0xBD9719B3,0x3F3F9F35,0x3EBB9672,0xBD28737A,0xBD9716A8,0x3F3F8BCB,0x3EBBC1D0,0xBD289DE9,
+	0xBD971395,0x3F3F7860,0x3EBBED30,0xBD28C856,0xBD97107B,0x3F3F64F3,0x3EBC1892,0xBD28F2C2,
+	0xBD970D59,0x3F3F5183,0x3EBC43F5,0xBD291D2E,0xBD970A30,0x3F3F3E13,0x3EBC6F5A,0xBD294797,
+	0xBD970700,0x3F3F2AA0,0x3EBC9AC0,0xBD297200,0xBD9703C8,0x3F3F172C,0x3EBCC628,0xBD299C67,
+	0xBD970089,0x3F3F03B5,0x3EBCF191,0xBD29C6CD,0xBD96FD43,0x3F3EF03E,0x3EBD1CFC,0xBD29F132,
+	0xBD96F9F5,0x3F3EDCC4,0x3EBD4868,0xBD2A1B96,0xBD96F6A0,0x3F3EC948,0x3EBD73D6,0xBD2A45F8,
+	0xBD96F343,0x3F3EB5CB,0x3EBD9F45,0xBD2A7059,0xBD96EFE0,0x3F3EA24C,0x3EBDCAB6,0xBD2A9AB9,
+	0xBD96EC74,0x3F3E8ECC,0x3EBDF629,0xBD2AC517,0xBD96E902,0x3F3E7B49,0x3EBE219C,0xBD2AEF74,
+	0xBD96E588,0x3F3E67C5,0x3EBE4D12,0xBD2B19D0,0xBD96E207,0x3F3E543F,0x3EBE7889,0xBD2B442A,
+	0xBD96DE7F,0x3F3E40B8,0x3EBEA401,0xBD2B6E83,0xBD96DAEF,0x3F3E2D2E,0x3EBECF7B,0xBD2B98DA,
+	0xBD96D758,0x3F3E19A3,0x3EBEFAF6,0xBD2BC330,0xBD96D3BA,0x3F3E0616,0x3EBF2673,0xBD2BED85,
+	0xBD96D014,0x3F3DF288,0x3EBF51F1,0xBD2C17D8,0xBD96CC67,0x3F3DDEF7,0x3EBF7D71,0xBD2C422A,
+	0xBD96C8B3,0x3F3DCB65,0x3EBFA8F2,0xBD2C6C7A,0xBD96C4F8,0x3F3DB7D1,0x3EBFD474,0xBD2C96C9,
+	0xBD96C135,0x3F3DA43C,0x3EBFFFF8,0xBD2CC116,0xBD96BD6B,0x3F3D90A5,0x3EC02B7E,0xBD2CEB62,
+	0xBD96B99A,0x3F3D7D0C,0x3EC05705,0xBD2D15AD,0xBD96B5C1,0x3F3D6971,0x3EC0828D,0xBD2D3FF6,
+	0xBD96B1E2,0x3F3D55D5,0x3EC0AE17,0xBD2D6A3D,0xBD96ADFB,0x3F3D4236,0x3EC0D9A2,0xBD2D9483,
+	0xBD96AA0C,0x3F3D2E97,0x3EC1052F,0xBD2DBEC7,0xBD96A617,0x3F3D1AF5,0x3EC130BD,0xBD2DE90A,
+	0xBD96A21A,0x3F3D0752,0x3EC15C4C,0xBD2E134B,0xBD969E17,0x3F3CF3AD,0x3EC187DD,0xBD2E3D8B,
+	0xBD969A0C,0x3F3CE006,0x3EC1B36F,0xBD2E67C9,0xBD9695F9,0x3F3CCC5E,0x3EC1DF03,0xBD2E9205,
+	0xBD9691E0,0x3F3CB8B4,0x3EC20A98,0xBD2EBC40,0xBD968DBF,0x3F3CA508,0x3EC2362E,0xBD2EE679,
+	0xBD968998,0x3F3C915B,0x3EC261C6,0xBD2F10B1,0xBD968569,0x3F3C7DAC,0x3EC28D5F,0xBD2F3AE7,
+	0xBD968133,0x3F3C69FB,0x3EC2B8FA,0xBD2F651B,0xBD967CF5,0x3F3C5648,0x3EC2E496,0xBD2F8F4D,
+	0xBD9678B1,0x3F3C4294,0x3EC31033,0xBD2FB97E,0xBD967465,0x3F3C2EDE,0x3EC33BD2,0xBD2FE3AE,
+	0xBD967012,0x3F3C1B27,0x3EC36772,0xBD300DDB,0xBD966BB9,0x3F3C076E,0x3EC39314,0xBD303807,
+	0xBD966758,0x3F3BF3B3,0x3EC3BEB6,0xBD306231,0xBD9662EF,0x3F3BDFF6,0x3EC3EA5A,0xBD308C59,
+	0xBD965E80,0x3F3BCC38,0x3EC41600,0xBD30B680,0xBD965A0A,0x3F3BB878,0x3EC441A7,0xBD30E0A4,
+	0xBD96558C,0x3F3BA4B7,0x3EC46D4F,0xBD310AC7,0xBD965108,0x3F3B90F3,0x3EC498F8,0xBD3134E9,
+	0xBD964C7C,0x3F3B7D2E,0x3EC4C4A3,0xBD315F08,0xBD9647E9,0x3F3B6968,0x3EC4F04F,0xBD318926,
+	0xBD96434F,0x3F3B55A0,0x3EC51BFD,0xBD31B341,0xBD963EAE,0x3F3B41D6,0x3EC547AB,0xBD31DD5B,
+	0xBD963A06,0x3F3B2E0A,0x3EC5735B,0xBD320773,0xBD963557,0x3F3B1A3D,0x3EC59F0D,0xBD32318A,
+	0xBD9630A1,0x3F3B066E,0x3EC5CABF,0xBD325B9E,0xBD962BE4,0x3F3AF29E,0x3EC5F673,0xBD3285B0,
+	0xBD962720,0x3F3ADECC,0x3EC62228,0xBD32AFC1,0xBD962254,0x3F3ACAF8,0x3EC64DDF,0xBD32D9D0,
+	0xBD961D82,0x3F3AB723,0x3EC67997,0xBD3303DC,0xBD9618A8,0x3F3AA34C,0x3EC6A550,0xBD332DE7,
+	0xBD9613C8,0x3F3A8F73,0x3EC6D10A,0xBD3357F0,0xBD960EE0,0x3F3A7B99,0x3EC6FCC6,0xBD3381F7,
+	0xBD9609F2,0x3F3A67BD,0x3EC72883,0xBD33ABFC,0xBD9604FC,0x3F3A53DF,0x3EC75441,0xBD33D5FF,
+	0xBD960000,0x3F3A4000,0x3EC78000,0xBD340000,0xBD95FAFD,0x3F3A2C1F,0x3EC7ABC1,0xBD3429FF,
+	0xBD95F5F2,0x3F3A183D,0x3EC7D782,0xBD3453FC,0xBD95F0E1,0x3F3A0459,0x3EC80346,0xBD347DF7,
+	0xBD95EBC8,0x3F39F073,0x3EC82F0A,0xBD34A7F0,0xBD95E6A9,0x3F39DC8C,0x3EC85AD0,0xBD34D1E7,
+	0xBD95E182,0x3F39C8A3,0x3EC88696,0xBD34FBDC,0xBD95DC55,0x3F39B4B8,0x3EC8B25E,0xBD3525CE,
+	0xBD95D720,0x3F39A0CC,0x3EC8DE28,0xBD354FBF,0xBD95D1E5,0x3F398CDE,0x3EC909F2,0xBD3579AE,
+	0xBD95CCA3,0x3F3978EF,0x3EC935BE,0xBD35A39A,0xBD95C75A,0x3F3964FE,0x3EC9618B,0xBD35CD84,
+	0xBD95C20A,0x3F39510C,0x3EC98D59,0xBD35F76D,0xBD95BCB3,0x3F393D17,0x3EC9B928,0xBD362153,
+	0xBD95B755,0x3F392922,0x3EC9E4F8,0xBD364B37,0xBD95B1F0,0x3F39152A,0x3ECA10CA,0xBD367518,
+	0xBD95AC84,0x3F390132,0x3ECA3C9D,0xBD369EF8,0xBD95A711,0x3F38ED37,0x3ECA6871,0xBD36C8D5,
+	0xBD95A198,0x3F38D93B,0x3ECA9446,0xBD36F2B1,0xBD959C17,0x3F38C53D,0x3ECAC01D,0xBD371C8A,
+	0xBD959690,0x3F38B13E,0x3ECAEBF4,0xBD374660,0xBD959102,0x3F389D3D,0x3ECB17CD,0xBD377035,
+	0xBD958B6C,0x3F38893B,0x3ECB43A7,0xBD379A07,0xBD9585D0,0x3F387537,0x3ECB6F82,0xBD37C3D7,
+	0xBD95802E,0x3F386131,0x3ECB9B5E,0xBD37EDA5,0xBD957A84,0x3F384D2A,0x3ECBC73B,0xBD381770,
+	0xBD9574D3,0x3F383921,0x3ECBF31A,0xBD38413A,0xBD956F1C,0x3F382517,0x3ECC1EF9,0xBD386B01,
+	0xBD95695D,0x3F38110B,0x3ECC4ADA,0xBD3894C5,0xBD956398,0x3F37FCFE,0x3ECC76BC,0xBD38BE87,
+	0xBD955DCC,0x3F37E8EF,0x3ECCA29F,0xBD38E847,0xBD9557FA,0x3F37D4DE,0x3ECCCE83,0xBD391205,
+	0xBD955220,0x3F37C0CC,0x3ECCFA68,0xBD393BC0,0xBD954C40,0x3F37ACB8,0x3ECD264E,0xBD396579,
+	0xBD954658,0x3F3798A3,0x3ECD5236,0xBD398F2F,0xBD95406A,0x3F37848C,0x3ECD7E1E,0xBD39B8E3,
+	0xBD953A76,0x3F377074,0x3ECDAA08,0xBD39E295,0xBD95347A,0x3F375C5A,0x3ECDD5F3,0xBD3A0C44,
+	0xBD952E78,0x3F37483F,0x3ECE01DE,0xBD3A35F1,0xBD95286E,0x3F373422,0x3ECE2DCB,0xBD3A5F9B,
+	0xBD95225E,0x3F372003,0x3ECE59B9,0xBD3A8943,0xBD951C48,0x3F370BE3,0x3ECE85A8,0xBD3AB2E8,
+	0xBD95162A,0x3F36F7C2,0x3ECEB198,0xBD3ADC8B,0xBD951006,0x3F36E39F,0x3ECEDD89,0xBD3B062C,
+	0xBD9509DB,0x3F36CF7A,0x3ECF097C,0xBD3B2FCA,0xBD9503A9,0x3F36BB54,0x3ECF356F,0xBD3B5965,
+	0xBD94FD71,0x3F36A72C,0x3ECF6163,0xBD3B82FE,0xBD94F732,0x3F369303,0x3ECF8D59,0xBD3BAC94,
+	0xBD94F0EC,0x3F367ED8,0x3ECFB94F,0xBD3BD628,0xBD94EA9F,0x3F366AAC,0x3ECFE546,0xBD3BFFB9,
+	0xBD94E44C,0x3F36567F,0x3ED0113F,0xBD3C2948,0xBD94DDF2,0x3F36424F,0x3ED03D38,0xBD3C52D4,
+	0xBD94D791,0x3F362E1E,0x3ED06933,0xBD3C7C5D,0xBD94D12A,0x3F3619EC,0x3ED0952F,0xBD3CA5E4,
+	0xBD94CABC,0x3F3605B8,0x3ED0C12B,0xBD3CCF68,0xBD94C447,0x3F35F183,0x3ED0ED29,0xBD3CF8EA,
+	0xBD94BDCC,0x3F35DD4C,0x3ED11927,0xBD3D2269,0xBD94B749,0x3F35C914,0x3ED14527,0xBD3D4BE5,
+	0xBD94B0C1,0x3F35B4DA,0x3ED17128,0xBD3D755F,0xBD94AA31,0x3F35A09F,0x3ED19D29,0xBD3D9ED6,
+	0xBD94A39B,0x3F358C62,0x3ED1C92C,0xBD3DC84A,0xBD949CFE,0x3F357824,0x3ED1F52F,0xBD3DF1BC,
+	0xBD94965B,0x3F3563E4,0x3ED22134,0xBD3E1B2B,0xBD948FB1,0x3F354FA3,0x3ED24D39,0xBD3E4497,
+	0xBD948900,0x3F353B60,0x3ED27940,0xBD3E6E00,0xBD948249,0x3F35271C,0x3ED2A547,0xBD3E9767,
+	0xBD947B8B,0x3F3512D6,0x3ED2D150,0xBD3EC0CA,0xBD9474C6,0x3F34FE8F,0x3ED2FD59,0xBD3EEA2C,
+	0xBD946DFB,0x3F34EA46,0x3ED32964,0xBD3F138A,0xBD946729,0x3F34D5FC,0x3ED3556F,0xBD3F3CE5,
+	0xBD946051,0x3F34C1B0,0x3ED3817B,0xBD3F663E,0xBD945972,0x3F34AD63,0x3ED3AD88,0xBD3F8F94,
+	0xBD94528C,0x3F349915,0x3ED3D997,0xBD3FB8E7,0xBD944BA0,0x3F3484C5,0x3ED405A6,0xBD3FE237,
+	0xBD9444AE,0x3F347073,0x3ED431B6,0xBD400B85,0xBD943DB4,0x3F345C20,0x3ED45DC7,0xBD4034CF,
+	0xBD9436B5,0x3F3447CC,0x3ED489D8,0xBD405E17,0xBD942FAE,0x3F343376,0x3ED4B5EB,0xBD40875B,
+	0xBD9428A1,0x3F341F1F,0x3ED4E1FF,0xBD40B09D,0xBD94218E,0x3F340AC6,0x3ED50E14,0xBD40D9DC,
+	0xBD941A74,0x3F33F66C,0x3ED53A29,0xBD410318,0xBD941353,0x3F33E210,0x3ED5663F,0xBD412C51,
+	0xBD940C2C,0x3F33CDB3,0x3ED59257,0xBD415587,0xBD9404FF,0x3F33B954,0x3ED5BE6F,0xBD417EBA,
+	0xBD93FDCB,0x3F33A4F4,0x3ED5EA88,0xBD41A7EA,0xBD93F690,0x3F339093,0x3ED616A2,0xBD41D118,
+	0xBD93EF4F,0x3F337C30,0x3ED642BD,0xBD41FA42,0xBD93E808,0x3F3367CB,0x3ED66ED8,0xBD422369,
+	0xBD93E0BA,0x3F335366,0x3ED69AF5,0xBD424C8D,0xBD93D965,0x3F333EFE,0x3ED6C712,0xBD4275AE,
+	0xBD93D20A,0x3F332A96,0x3ED6F331,0xBD429ECC,0xBD93CAA8,0x3F33162C,0x3ED71F50,0xBD42C7E7,
+	0xBD93C340,0x3F3301C0,0x3ED74B70,0xBD42F0FF,0xBD93BBD2,0x3F32ED53,0x3ED77790,0xBD431A14,
+	0xBD93B45D,0x3F32D8E5,0x3ED7A3B2,0xBD434326,0xBD93ACE2,0x3F32C475,0x3ED7CFD5,0xBD436C34,
+	0xBD93A560,0x3F32B004,0x3ED7FBF8,0xBD439540,0xBD939DD8,0x3F329B91,0x3ED8281C,0xBD43BE48,
+	0xBD939649,0x3F32871D,0x3ED85441,0xBD43E74E,0xBD938EB4,0x3F3272A8,0x3ED88067,0xBD441050,
+	0xBD938719,0x3F325E31,0x3ED8AC8E,0xBD44394F,0xBD937F77,0x3F3249B9,0x3ED8D8B5,0xBD44624B,
+	0xBD9377CE,0x3F32353F,0x3ED904DD,0xBD448B43,0xBD937020,0x3F3220C4,0x3ED93106,0xBD44B439,
+	0xBD93686A,0x3F320C48,0x3ED95D30,0xBD44DD2B,0xBD9360AF,0x3F31F7CA,0x3ED9895B,0xBD45061A,
+	0xBD9358ED,0x3F31E34B,0x3ED9B586,0xBD452F06,0xBD935125,0x3F31CECA,0x3ED9E1B2,0xBD4557EE,
+	0xBD934956,0x3F31BA48,0x3EDA0DDF,0xBD4580D4,0xBD934181,0x3F31A5C5,0x3EDA3A0D,0xBD45A9B6,
+	0xBD9339A6,0x3F319140,0x3EDA663C,0xBD45D294,0xBD9331C4,0x3F317CBA,0x3EDA926B,0xBD45FB70,
+	0xBD9329DC,0x3F316832,0x3EDABE9B,0xBD462448,0xBD9321EE,0x3F3153AA,0x3EDAEACC,0xBD464D1D,
+	0xBD9319F9,0x3F313F1F,0x3EDB16FD,0xBD4675EE,0xBD9311FE,0x3F312A94,0x3EDB4330,0xBD469EBD,
+	0xBD9309FC,0x3F311607,0x3EDB6F63,0xBD46C787,0xBD9301F5,0x3F310178,0x3EDB9B97,0xBD46F04F,
+	0xBD92F9E7,0x3F30ECE8,0x3EDBC7CB,0xBD471913,0xBD92F1D2,0x3F30D857,0x3EDBF400,0xBD4741D4,
+	0xBD92E9B8,0x3F30C3C5,0x3EDC2036,0xBD476A91,0xBD92E197,0x3F30AF31,0x3EDC4C6D,0xBD47934B,
+	0xBD92D96F,0x3F309A9C,0x3EDC78A5,0xBD47BC01,0xBD92D142,0x3F308605,0x3EDCA4DD,0xBD47E4B4,
+	0xBD92C90E,0x3F30716D,0x3EDCD116,0xBD480D64,0xBD92C0D4,0x3F305CD4,0x3EDCFD4F,0xBD483610,
+	0xBD92B893,0x3F304839,0x3EDD2989,0xBD485EB9,0xBD92B04D,0x3F30339D,0x3EDD55C4,0xBD48875E,
+	0xBD92A800,0x3F301F00,0x3EDD8200,0xBD48B000,0xBD929FAD,0x3F300A61,0x3EDDAE3C,0xBD48D89E,
+	0xBD929754,0x3F2FF5C1,0x3EDDDA79,0xBD490139,0xBD928EF4,0x3F2FE120,0x3EDE06B7,0xBD4929D0,
+	0xBD92868E,0x3F2FCC7D,0x3EDE32F5,0xBD495264,0xBD927E22,0x3F2FB7D9,0x3EDE5F35,0xBD497AF4,
+	0xBD9275B0,0x3F2FA334,0x3EDE8B74,0xBD49A381,0xBD926D37,0x3F2F8E8D,0x3EDEB7B5,0xBD49CC0A,
+	0xBD9264B8,0x3F2F79E5,0x3EDEE3F6,0xBD49F48F,0xBD925C34,0x3F2F653C,0x3EDF1037,0xBD4A1D11,
+	0xBD9253A8,0x3F2F5091,0x3EDF3C7A,0xBD4A458F,0xBD924B17,0x3F2F3BE5,0x3EDF68BD,0xBD4A6E0A,
+	0xBD924280,0x3F2F2738,0x3EDF9500,0xBD4A9681,0xBD9239E2,0x3F2F1289,0x3EDFC144,0xBD4ABEF4,
+	0xBD92313E,0x3F2EFDD9,0x3EDFED89,0xBD4AE764,0xBD922894,0x3F2EE928,0x3EE019CF,0xBD4B0FD0,
+	0xBD921FE4,0x3F2ED476,0x3EE04615,0xBD4B3838,0xBD92172E,0x3F2EBFC2,0x3EE0725C,0xBD4B609D,
+	0xBD920E71,0x3F2EAB0C,0x3EE09EA3,0xBD4B88FE,0xBD9205AF,0x3F2E9656,0x3EE0CAEB,0xBD4BB15B,
+	0xBD91FCE6,0x3F2E819E,0x3EE0F734,0xBD4BD9B4,0xBD91F417,0x3F2E6CE5,0x3EE1237D,0xBD4C020A,
+	0xBD91EB42,0x3F2E582B,0x3EE14FC7,0xBD4C2A5C,0xBD91E267,0x3F2E436F,0x3EE17C11,0xBD4C52AA,
+	0xBD91D986,0x3F2E2EB2,0x3EE1A85C,0xBD4C7AF5,0xBD91D09E,0x3F2E19F4,0x3EE1D4A7,0xBD4CA33C,
+	0xBD91C7B1,0x3F2E0534,0x3EE200F4,0xBD4CCB7F,0xBD91BEBD,0x3F2DF073,0x3EE22D40,0xBD4CF3BE,
+	0xBD91B5C3,0x3F2DDBB1,0x3EE2598D,0xBD4D1BF9,0xBD91ACC4,0x3F2DC6EE,0x3EE285DB,0xBD4D4431,
+	0xBD91A3BE,0x3F2DB229,0x3EE2B22A,0xBD4D6C64,0xBD919AB2,0x3F2D9D63,0x3EE2DE79,0xBD4D9494,
+	0xBD9191A0,0x3F2D889C,0x3EE30AC8,0xBD4DBCC0,0xBD918888,0x3F2D73D3,0x3EE33718,0xBD4DE4E8,
+	0xBD917F6A,0x3F2D5F0A,0x3EE36369,0xBD4E0D0C,0xBD917646,0x3F2D4A3F,0x3EE38FBA,0xBD4E352D,
+	0xBD916D1C,0x3F2D3572,0x3EE3BC0B,0xBD4E5D49,0xBD9163EB,0x3F2D20A5,0x3EE3E85D,0xBD4E8561,
+	0xBD915AB5,0x3F2D0BD6,0x3EE414B0,0xBD4EAD76,0xBD915179,0x3F2CF706,0x3EE44103,0xBD4ED586,
+	0xBD914836,0x3F2CE234,0x3EE46D57,0xBD4EFD93,0xBD913EEE,0x3F2CCD62,0x3EE499AB,0xBD4F259C,
+	0xBD9135A0,0x3F2CB88E,0x3EE4C600,0xBD4F4DA0,0xBD912C4C,0x3F2CA3B9,0x3EE4F255,0xBD4F75A1,
+	0xBD9122F1,0x3F2C8EE2,0x3EE51EAB,0xBD4F9D9E,0xBD911991,0x3F2C7A0B,0x3EE54B01,0xBD4FC596,
+	0xBD91102B,0x3F2C6532,0x3EE57758,0xBD4FED8B,0xBD9106BE,0x3F2C5058,0x3EE5A3AF,0xBD50157B,
+	0xBD90FD4C,0x3F2C3B7C,0x3EE5D007,0xBD503D68,0xBD90F3D4,0x3F2C26A0,0x3EE5FC5F,0xBD506550,
+	0xBD90EA56,0x3F2C11C2,0x3EE628B8,0xBD508D35,0xBD90E0D1,0x3F2BFCE3,0x3EE65511,0xBD50B515,
+	0xBD90D747,0x3F2BE803,0x3EE6816B,0xBD50DCF1,0xBD90CDB7,0x3F2BD321,0x3EE6ADC5,0xBD5104C9,
+	0xBD90C421,0x3F2BBE3E,0x3EE6DA1F,0xBD512C9D,0xBD90BA85,0x3F2BA95B,0x3EE7067A,0xBD51546D,
+	0xBD90B0E4,0x3F2B9475,0x3EE732D5,0xBD517C39,0xBD90A73C,0x3F2B7F8F,0x3EE75F31,0xBD51A401,
+	0xBD909D8E,0x3F2B6AA7,0x3EE78B8D,0xBD51CBC4,0xBD9093DA,0x3F2B55BE,0x3EE7B7EA,0xBD51F383,
+	0xBD908A21,0x3F2B40D4,0x3EE7E447,0xBD521B3E,0xBD908062,0x3F2B2BE9,0x3EE810A5,0xBD5242F5,
+	0xBD90769C,0x3F2B16FD,0x3EE83D03,0xBD526AA8,0xBD906CD1,0x3F2B020F,0x3EE86961,0xBD529256,
+	0xBD906300,0x3F2AED20,0x3EE895C0,0xBD52BA00,0xBD905929,0x3F2AD830,0x3EE8C21F,0xBD52E1A6,
+	0xBD904F4C,0x3F2AC33F,0x3EE8EE7F,0xBD530947,0xBD90456A,0x3F2AAE4C,0x3EE91ADF,0xBD5330E5,
+	0xBD903B81,0x3F2A9958,0x3EE9473F,0xBD53587E,0xBD903193,0x3F2A8464,0x3EE973A0,0xBD538013,
+	0xBD90279E,0x3F2A6F6D,0x3EE9A001,0xBD53A7A3,0xBD901DA4,0x3F2A5A76,0x3EE9CC63,0xBD53CF2F,
+	0xBD9013A4,0x3F2A457E,0x3EE9F8C5,0xBD53F6B7,0xBD90099F,0x3F2A3084,0x3EEA2527,0xBD541E3A,
+	0xBD8FFF93,0x3F2A1B89,0x3EEA518A,0xBD5445BA,0xBD8FF582,0x3F2A068D,0x3EEA7DED,0xBD546D34,
+	0xBD8FEB6B,0x3F29F190,0x3EEAAA50,0xBD5494AB,0xBD8FE14E,0x3F29DC92,0x3EEAD6B4,0xBD54BC1D,
+	0xBD8FD72B,0x3F29C792,0x3EEB0318,0xBD54E38A,0xBD8FCD02,0x3F29B291,0x3EEB2F7C,0xBD550AF3,
+	0xBD8FC2D4,0x3F299D90,0x3EEB5BE1,0xBD553258,0xBD8FB8A0,0x3F29888C,0x3EEB8846,0xBD5559B8,
+	0xBD8FAE66,0x3F297388,0x3EEBB4AC,0xBD558114,0xBD8FA426,0x3F295E83,0x3EEBE111,0xBD55A86B,
+	0xBD8F99E1,0x3F29497C,0x3EEC0D77,0xBD55CFBE,0xBD8F8F96,0x3F293475,0x3EEC39DE,0xBD55F70D,
+	0xBD8F8545,0x3F291F6C,0x3EEC6645,0xBD561E57,0xBD8F7AEE,0x3F290A62,0x3EEC92AC,0xBD56459C,
+	0xBD8F7092,0x3F28F557,0x3EECBF13,0xBD566CDD,0xBD8F662F,0x3F28E04A,0x3EECEB7B,0xBD569419,
+	0xBD8F5BC7,0x3F28CB3D,0x3EED17E2,0xBD56BB51,0xBD8F515A,0x3F28B62E,0x3EED444B,0xBD56E284,
+	0xBD8F46E6,0x3F28A11E,0x3EED70B3,0xBD5709B3,0xBD8F3C6D,0x3F288C0E,0x3EED9D1C,0xBD5730DD,
+	0xBD8F31EF,0x3F2876FB,0x3EEDC985,0xBD575803,0xBD8F276A,0x3F2861E8,0x3EEDF5EE,0xBD577F24,
+	0xBD8F1CE0,0x3F284CD4,0x3EEE2258,0xBD57A640,0xBD8F1250,0x3F2837BF,0x3EEE4EC2,0xBD57CD58,
+	0xBD8F07BB,0x3F2822A8,0x3EEE7B2C,0xBD57F46B,0xBD8EFD1F,0x3F280D90,0x3EEEA796,0xBD581B79,
+	0xBD8EF27F,0x3F27F877,0x3EEED401,0xBD584283,0xBD8EE7D8,0x3F27E35E,0x3EEF006C,0xBD586988,
+	0xBD8EDD2C,0x3F27CE42,0x3EEF2CD7,0xBD589088,0xBD8ED27A,0x3F27B926,0x3EEF5943,0xBD58B784,
+	0xBD8EC7C2,0x3F27A409,0x3EEF85AE,0xBD58DE7B,0xBD8EBD05,0x3F278EEB,0x3EEFB21A,0xBD59056D,
+	0xBD8EB243,0x3F2779CB,0x3EEFDE86,0xBD592C5B,0xBD8EA77A,0x3F2764AA,0x3EF00AF2,0xBD595344,
+	0xBD8E9CAC,0x3F274F89,0x3EF0375F,0xBD597A28,0xBD8E91D9,0x3F273A66,0x3EF063CC,0xBD59A107,
+	0xBD8E86FF,0x3F272542,0x3EF09039,0xBD59C7E1,0xBD8E7C20,0x3F27101D,0x3EF0BCA6,0xBD59EEB7,
+	0xBD8E713C,0x3F26FAF6,0x3EF0E913,0xBD5A1588,0xBD8E6652,0x3F26E5CF,0x3EF11581,0xBD5A3C54,
+	0xBD8E5B62,0x3F26D0A7,0x3EF141EE,0xBD5A631B,0xBD8E506D,0x3F26BB7D,0x3EF16E5C,0xBD5A89DE,
+	0xBD8E4572,0x3F26A653,0x3EF19ACA,0xBD5AB09B,0xBD8E3A72,0x3F269127,0x3EF1C739,0xBD5AD754,
+	0xBD8E2F6C,0x3F267BFB,0x3EF1F3A7,0xBD5AFE08,0xBD8E2461,0x3F2666CD,0x3EF22016,0xBD5B24B7,
+	0xBD8E1950,0x3F26519E,0x3EF24C84,0xBD5B4B61,0xBD8E0E39,0x3F263C6E,0x3EF278F3,0xBD5B7206,
+	0xBD8E031D,0x3F26273D,0x3EF2A562,0xBD5B98A6,0xBD8DF7FB,0x3F26120B,0x3EF2D1D2,0xBD5BBF42,
+	0xBD8DECD4,0x3F25FCD7,0x3EF2FE41,0xBD5BE5D8,0xBD8DE1A7,0x3F25E7A3,0x3EF32AB1,0xBD5C0C6A,
+	0xBD8DD675,0x3F25D26E,0x3EF35720,0xBD5C32F6,0xBD8DCB3D,0x3F25BD37,0x3EF38390,0xBD5C597E,
+	0xBD8DC000,0x3F25A800,0x3EF3B000,0xBD5C8000,0xBD8DB4BD,0x3F2592C7,0x3EF3DC70,0xBD5CA67D,
+	0xBD8DA975,0x3F257D8E,0x3EF408E0,0xBD5CCCF6,0xBD8D9E27,0x3F256853,0x3EF43551,0xBD5CF369,
+	0xBD8D92D4,0x3F255318,0x3EF461C1,0xBD5D19D8,0xBD8D877B,0x3F253DDB,0x3EF48E31,0xBD5D4041,
+	0xBD8D7C1D,0x3F25289D,0x3EF4BAA2,0xBD5D66A6,0xBD8D70BA,0x3F25135E,0x3EF4E713,0xBD5D8D05,
+	0xBD8D6550,0x3F24FE1E,0x3EF51384,0xBD5DB35F,0xBD8D59E2,0x3F24E8DD,0x3EF53FF5,0xBD5DD9B4,
+	0xBD8D4E6E,0x3F24D39B,0x3EF56C66,0xBD5E0004,0xBD8D42F5,0x3F24BE58,0x3EF598D7,0xBD5E264F,
+	0xBD8D3776,0x3F24A914,0x3EF5C548,0xBD5E4C95,0xBD8D2BF1,0x3F2493CF,0x3EF5F1B9,0xBD5E72D5,
+	0xBD8D2068,0x3F247E89,0x3EF61E2A,0xBD5E9911,0xBD8D14D9,0x3F246942,0x3EF64A9C,0xBD5EBF47,
+	0xBD8D0944,0x3F2453FA,0x3EF6770D,0xBD5EE578,0xBD8CFDAA,0x3F243EB0,0x3EF6A37E,0xBD5F0BA4,
+	0xBD8CF20B,0x3F242966,0x3EF6CFF0,0xBD5F31CB,0xBD8CE666,0x3F24141B,0x3EF6FC62,0xBD5F57EC,
+	0xBD8CDABC,0x3F23FECE,0x3EF728D3,0xBD5F7E08,0xBD8CCF0C,0x3F23E981,0x3EF75545,0xBD5FA41F,
+	0xBD8CC357,0x3F23D433,0x3EF781B6,0xBD5FCA31,0xBD8CB79D,0x3F23BEE3,0x3EF7AE28,0xBD5FF03E,
+	0xBD8CABDE,0x3F23A993,0x3EF7DA9A,0xBD601645,0xBD8CA019,0x3F239442,0x3EF8070C,0xBD603C47,
+	0xBD8C944E,0x3F237EEF,0x3EF8337D,0xBD606244,0xBD8C887E,0x3F23699C,0x3EF85FEF,0xBD60883B,
+	0xBD8C7CA9,0x3F235448,0x3EF88C61,0xBD60AE2D,0xBD8C70CF,0x3F233EF2,0x3EF8B8D3,0xBD60D41A,
+	0xBD8C64EF,0x3F23299C,0x3EF8E544,0xBD60FA01,0xBD8C590A,0x3F231444,0x3EF911B6,0xBD611FE3,
+	0xBD8C4D20,0x3F22FEEC,0x3EF93E28,0xBD6145C0,0xBD8C4130,0x3F22E993,0x3EF96A9A,0xBD616B97,
+	0xBD8C353B,0x3F22D438,0x3EF9970B,0xBD619169,0xBD8C2941,0x3F22BEDD,0x3EF9C37D,0xBD61B736,
+	0xBD8C1D42,0x3F22A981,0x3EF9EFEF,0xBD61DCFD,0xBD8C113D,0x3F229423,0x3EFA1C60,0xBD6202BF,
+	0xBD8C0533,0x3F227EC5,0x3EFA48D2,0xBD62287B,0xBD8BF923,0x3F226966,0x3EFA7544,0xBD624E32,
+	0xBD8BED0E,0x3F225405,0x3EFAA1B5,0xBD6273E3,0xBD8BE0F5,0x3F223EA4,0x3EFACE27,0xBD62998F,
+	0xBD8BD4D5,0x3F222942,0x3EFAFA98,0xBD62BF35,0xBD8BC8B1,0x3F2213DF,0x3EFB2709,0xBD62E4D6,
+	0xBD8BBC87,0x3F21FE7B,0x3EFB537B,0xBD630A72,0xBD8BB058,0x3F21E916,0x3EFB7FEC,0xBD633008,
+	0xBD8BA424,0x3F21D3B0,0x3EFBAC5D,0xBD635598,0xBD8B97EB,0x3F21BE48,0x3EFBD8CE,0xBD637B23,
+	0xBD8B8BAC,0x3F21A8E0,0x3EFC053F,0xBD63A0A8,0xBD8B7F68,0x3F219378,0x3EFC31B0,0xBD63C628,
+	0xBD8B731F,0x3F217E0E,0x3EFC5E21,0xBD63EBA2,0xBD8B66D1,0x3F2168A3,0x3EFC8A91,0xBD641116,
+	0xBD8B5A7D,0x3F215337,0x3EFCB702,0xBD643685,0xBD8B4E25,0x3F213DCA,0x3EFCE373,0xBD645BEF,
+	0xBD8B41C7,0x3F21285D,0x3EFD0FE3,0xBD648152,0xBD8B3564,0x3F2112EE,0x3EFD3C53,0xBD64A6B1,
+	0xBD8B28FC,0x3F20FD7E,0x3EFD68C3,0xBD64CC09,0xBD8B1C8E,0x3F20E80E,0x3EFD9533,0xBD64F15C,
+	0xBD8B101C,0x3F20D29C,0x3EFDC1A3,0xBD6516A9,0xBD8B03A4,0x3F20BD2A,0x3EFDEE13,0xBD653BF0,
+	0xBD8AF727,0x3F20A7B7,0x3EFE1A83,0xBD656132,0xBD8AEAA5,0x3F209242,0x3EFE46F2,0xBD65866E,
+	0xBD8ADE1E,0x3F207CCD,0x3EFE7362,0xBD65ABA5,0xBD8AD191,0x3F206757,0x3EFE9FD1,0xBD65D0D5,
+	0xBD8AC500,0x3F2051E0,0x3EFECC40,0xBD65F600,0xBD8AB869,0x3F203C68,0x3EFEF8AF,0xBD661B25,
+	0xBD8AABCE,0x3F2026EF,0x3EFF251E,0xBD664044,0xBD8A9F2D,0x3F201175,0x3EFF518C,0xBD66655E,
+	0xBD8A9287,0x3F1FFBFB,0x3EFF7DFB,0xBD668A72,0xBD8A85DC,0x3F1FE67F,0x3EFFAA69,0xBD66AF80,
+	0xBD8A792C,0x3F1FD102,0x3EFFD6D7,0xBD66D488,0xBD8A6C77,0x3F1FBB85,0x3F0001A2,0xBD66F98A,
+	0xBD8A5FBC,0x3F1FA607,0x3F0017D9,0xBD671E87,0xBD8A52FD,0x3F1F9087,0x3F002E10,0xBD67437E,
+	0xBD8A4639,0x3F1F7B07,0x3F004447,0xBD67686F,0xBD8A396F,0x3F1F6586,0x3F005A7D,0xBD678D5A,
+	0xBD8A2CA1,0x3F1F5004,0x3F0070B4,0xBD67B23F,0xBD8A1FCD,0x3F1F3A81,0x3F0086EA,0xBD67D71E,
+	0xBD8A12F4,0x3F1F24FE,0x3F009D20,0xBD67FBF7,0xBD8A0617,0x3F1F0F79,0x3F00B356,0xBD6820CB,
+	0xBD89F934,0x3F1EF9F4,0x3F00C98C,0xBD684598,0xBD89EC4C,0x3F1EE46D,0x3F00DFC2,0xBD686A60,
+	0xBD89DF5F,0x3F1ECEE6,0x3F00F5F8,0xBD688F21,0xBD89D26E,0x3F1EB95E,0x3F010C2E,0xBD68B3DD,
+	0xBD89C577,0x3F1EA3D5,0x3F012263,0xBD68D892,0xBD89B87B,0x3F1E8E4B,0x3F013899,0xBD68FD42,
+	0xBD89AB7A,0x3F1E78C0,0x3F014ECE,0xBD6921EC,0xBD899E74,0x3F1E6334,0x3F016503,0xBD69468F,
+	0xBD89916A,0x3F1E4DA8,0x3F017B38,0xBD696B2D,0xBD89845A,0x3F1E381A,0x3F01916D,0xBD698FC5,
+	0xBD897745,0x3F1E228C,0x3F01A7A2,0xBD69B456,0xBD896A2B,0x3F1E0CFD,0x3F01BDD7,0xBD69D8E2,
+	0xBD895D0C,0x3F1DF76D,0x3F01D40B,0xBD69FD67,0xBD894FE9,0x3F1DE1DC,0x3F01EA40,0xBD6A21E6,
+	0xBD8942C0,0x3F1DCC4A,0x3F020074,0xBD6A4660,0xBD893593,0x3F1DB6B7,0x3F0216A8,0xBD6A6AD3,
+	0xBD892860,0x3F1DA124,0x3F022CDC,0xBD6A8F40,0xBD891B29,0x3F1D8B90,0x3F024310,0xBD6AB3A7,
+	0xBD890DEC,0x3F1D75FB,0x3F025943,0xBD6AD808,0xBD8900AB,0x3F1D6065,0x3F026F77,0xBD6AFC62,
+	0xBD88F365,0x3F1D4ACE,0x3F0285AA,0xBD6B20B7,0xBD88E619,0x3F1D3536,0x3F029BDD,0xBD6B4505,
+	0xBD88D8C9,0x3F1D1F9E,0x3F02B210,0xBD6B694D,0xBD88CB74,0x3F1D0A04,0x3F02C843,0xBD6B8D8F,
+	0xBD88BE1A,0x3F1CF46A,0x3F02DE76,0xBD6BB1CB,0xBD88B0BC,0x3F1CDECF,0x3F02F4A9,0xBD6BD601,
+	0xBD88A358,0x3F1CC933,0x3F030ADB,0xBD6BFA30,0xBD8895F0,0x3F1CB396,0x3F03210D,0xBD6C1E59,
+	0xBD888882,0x3F1C9DF9,0x3F03373F,0xBD6C427C,0xBD887B10,0x3F1C885A,0x3F034D71,0xBD6C6698,
+	0xBD886D99,0x3F1C72BB,0x3F0363A3,0xBD6C8AAE,0xBD88601D,0x3F1C5D1B,0x3F0379D4,0xBD6CAEBE,
+	0xBD88529C,0x3F1C477A,0x3F039006,0xBD6CD2C8,0xBD884516,0x3F1C31D9,0x3F03A637,0xBD6CF6CB,
+	0xBD88378C,0x3F1C1C36,0x3F03BC68,0xBD6D1AC8,0xBD8829FC,0x3F1C0693,0x3F03D298,0xBD6D3EBF,
+	0xBD881C68,0x3F1BF0EF,0x3F03E8C9,0xBD6D62AF,0xBD880ECF,0x3F1BDB4A,0x3F03FEF9,0xBD6D8699,
+	0xBD880132,0x3F1BC5A5,0x3F041529,0xBD6DAA7D,0xBD87F38F,0x3F1BAFFE,0x3F042B59,0xBD6DCE5A,
+	0xBD87E5E8,0x3F1B9A57,0x3F044189,0xBD6DF231,0xBD87D83B,0x3F1B84AF,0x3F0457B9,0xBD6E1601,
+	0xBD87CA8A,0x3F1B6F06,0x3F046DE8,0xBD6E39CB,0xBD87BCD5,0x3F1B595C,0x3F048417,0xBD6E5D8F,
+	0xBD87AF1A,0x3F1B43B2,0x3F049A46,0xBD6E814C,0xBD87A15B,0x3F1B2E06,0x3F04B075,0xBD6EA503,
+	0xBD879396,0x3F1B185A,0x3F04C6A4,0xBD6EC8B3,0xBD8785CE,0x3F1B02AE,0x3F04DCD2,0xBD6EEC5D,
+	0xBD877800,0x3F1AED00,0x3F04F300,0xBD6F1000,0xBD876A2E,0x3F1AD752,0x3F05092E,0xBD6F339D,
+	0xBD875C57,0x3F1AC1A2,0x3F051F5C,0xBD6F5733,0xBD874E7B,0x3F1AABF2,0x3F053589,0xBD6F7AC3,
+	0xBD87409A,0x3F1A9642,0x3F054BB6,0xBD6F9E4C,0xBD8732B5,0x3F1A8090,0x3F0561E3,0xBD6FC1CF,
+	0xBD8724CB,0x3F1A6ADE,0x3F057810,0xBD6FE54B,0xBD8716DC,0x3F1A552B,0x3F058E3D,0xBD7008C0,
+	0xBD8708E8,0x3F1A3F77,0x3F05A469,0xBD702C2F,0xBD86FAF0,0x3F1A29C3,0x3F05BA95,0xBD704F97,
+	0xBD86ECF3,0x3F1A140D,0x3F05D0C1,0xBD7072F9,0xBD86DEF2,0x3F19FE57,0x3F05E6EC,0xBD709654,
+	0xBD86D0EC,0x3F19E8A0,0x3F05FD18,0xBD70B9A9,0xBD86C2E1,0x3F19D2E9,0x3F061343,0xBD70DCF6,
+	0xBD86B4D1,0x3F19BD30,0x3F06296E,0xBD71003E,0xBD86A6BD,0x3F19A777,0x3F063F98,0xBD71237E,
+	0xBD8698A4,0x3F1991BE,0x3F0655C2,0xBD7146B8,0xBD868A86,0x3F197C03,0x3F066BED,0xBD7169EB,
+	0xBD867C64,0x3F196648,0x3F068216,0xBD718D18,0xBD866E3D,0x3F19508B,0x3F069840,0xBD71B03D,
+	0xBD866012,0x3F193ACF,0x3F06AE69,0xBD71D35C,0xBD8651E2,0x3F192511,0x3F06C492,0xBD71F675,
+	0xBD8643AD,0x3F190F53,0x3F06DABB,0xBD721986,0xBD863574,0x3F18F994,0x3F06F0E4,0xBD723C91,
+	0xBD862736,0x3F18E3D4,0x3F07070C,0xBD725F95,0xBD8618F3,0x3F18CE14,0x3F071D34,0xBD728292,
+	0xBD860AAC,0x3F18B852,0x3F07335C,0xBD72A589,0xBD85FC60,0x3F18A290,0x3F074983,0xBD72C878,
+	0xBD85EE0F,0x3F188CCE,0x3F075FAA,0xBD72EB61,0xBD85DFBA,0x3F18770A,0x3F0775D1,0xBD730E43,
+	0xBD85D161,0x3F186146,0x3F078BF8,0xBD73311E,0xBD85C303,0x3F184B82,0x3F07A21E,0xBD7353F3,
+	0xBD85B4A0,0x3F1835BC,0x3F07B844,0xBD7376C0,0xBD85A639,0x3F181FF6,0x3F07CE6A,0xBD739987,
+	0xBD8597CD,0x3F180A2F,0x3F07E48F,0xBD73BC46,0xBD85895C,0x3F17F467,0x3F07FAB4,0xBD73DEFF,
+	0xBD857AE8,0x3F17DE9F,0x3F0810D9,0xBD7401B1,0xBD856C6E,0x3F17C8D6,0x3F0826FE,0xBD74245C,
+	0xBD855DF0,0x3F17B30C,0x3F083D22,0xBD744700,0xBD854F6E,0x3F179D42,0x3F085346,0xBD74699D,
+	0xBD8540E6,0x3F178776,0x3F08696A,0xBD748C33,0xBD85325B,0x3F1771AB,0x3F087F8D,0xBD74AEC2,
+	0xBD8523CB,0x3F175BDE,0x3F0895B0,0xBD74D14A,0xBD851536,0x3F174611,0x3F08ABD3,0xBD74F3CB,
+	0xBD85069D,0x3F173043,0x3F08C1F5,0xBD751646,0xBD84F800,0x3F171A74,0x3F08D817,0xBD7538B9,
+	0xBD84E95E,0x3F1704A5,0x3F08EE39,0xBD755B25,0xBD84DAB7,0x3F16EED5,0x3F09045A,0xBD757D8A,
+	0xBD84CC0C,0x3F16D904,0x3F091A7C,0xBD759FE8,0xBD84BD5D,0x3F16C333,0x3F09309C,0xBD75C23F,
+	0xBD84AEA9,0x3F16AD61,0x3F0946BD,0xBD75E48F,0xBD849FF0,0x3F16978F,0x3F095CDD,0xBD7606D8,
+	0xBD849133,0x3F1681BB,0x3F0972FD,0xBD762919,0xBD848272,0x3F166BE7,0x3F09891C,0xBD764B54,
+	0xBD8473AC,0x3F165613,0x3F099F3B,0xBD766D87,0xBD8464E2,0x3F16403D,0x3F09B55A,0xBD768FB4,
+	0xBD845614,0x3F162A67,0x3F09CB79,0xBD76B1D9,0xBD844740,0x3F161491,0x3F09E197,0xBD76D3F7,
+	0xBD843869,0x3F15FEB9,0x3F09F7B5,0xBD76F60E,0xBD84298D,0x3F15E8E1,0x3F0A0DD2,0xBD77181E,
+	0xBD841AAD,0x3F15D309,0x3F0A23EF,0xBD773A26,0xBD840BC8,0x3F15BD30,0x3F0A3A0C,0xBD775C27,
+	0xBD83FCDF,0x3F15A756,0x3F0A5028,0xBD777E22,0xBD83EDF2,0x3F15917B,0x3F0A6644,0xBD77A014,
+	0xBD83DF00,0x3F157BA0,0x3F0A7C60,0xBD77C200,0xBD83D00A,0x3F1565C4,0x3F0A927B,0xBD77E3E4,
+	0xBD83C10F,0x3F154FE8,0x3F0AA896,0xBD7805C1,0xBD83B210,0x3F153A0B,0x3F0ABEB1,0xBD782797,
+	0xBD83A30D,0x3F15242D,0x3F0AD4CB,0xBD784966,0xBD839405,0x3F150E4F,0x3F0AEAE5,0xBD786B2D,
+	0xBD8384F9,0x3F14F870,0x3F0B00FE,0xBD788CED,0xBD8375E9,0x3F14E290,0x3F0B1718,0xBD78AEA6,
+	0xBD8366D4,0x3F14CCB0,0x3F0B2D30,0xBD78D057,0xBD8357BC,0x3F14B6CF,0x3F0B4349,0xBD78F201,
+	0xBD83489E,0x3F14A0ED,0x3F0B5961,0xBD7913A4,0xBD83397D,0x3F148B0B,0x3F0B6F78,0xBD79353F,
+	0xBD832A57,0x3F147529,0x3F0B858F,0xBD7956D3,0xBD831B2C,0x3F145F45,0x3F0B9BA6,0xBD79785F,
+	0xBD830BFE,0x3F144961,0x3F0BB1BD,0xBD7999E4,0xBD82FCCB,0x3F14337D,0x3F0BC7D3,0xBD79BB62,
+	0xBD82ED94,0x3F141D98,0x3F0BDDE8,0xBD79DCD8,0xBD82DE59,0x3F1407B2,0x3F0BF3FE,0xBD79FE47,
+	0xBD82CF19,0x3F13F1CB,0x3F0C0A13,0xBD7A1FAE,0xBD82BFD5,0x3F13DBE4,0x3F0C2027,0xBD7A410E,
+	0xBD82B08D,0x3F13C5FD,0x3F0C363B,0xBD7A6266,0xBD82A140,0x3F13B015,0x3F0C4C4F,0xBD7A83B7,
+	0xBD8291F0,0x3F139A2C,0x3F0C6262,0xBD7AA501,0xBD82829B,0x3F138443,0x3F0C7875,0xBD7AC643,
+	0xBD827342,0x3F136E59,0x3F0C8E87,0xBD7AE77D,0xBD8263E4,0x3F13586E,0x3F0CA499,0xBD7B08B0,
+	0xBD825482,0x3F134283,0x3F0CBAAB,0xBD7B29DB,0xBD82451D,0x3F132C97,0x3F0CD0BC,0xBD7B4AFF,
+	0xBD8235B2,0x3F1316AB,0x3F0CE6CD,0xBD7B6C1B,0xBD822644,0x3F1300BE,0x3F0CFCDD,0xBD7B8D30,
+	0xBD8216D2,0x3F12EAD1,0x3F0D12ED,0xBD7BAE3D,0xBD82075B,0x3F12D4E3,0x3F0D28FD,0xBD7BCF42,
+	0xBD81F7E0,0x3F12BEF4,0x3F0D3F0C,0xBD7BF040,0xBD81E861,0x3F12A905,0x3F0D551B,0xBD7C1136,
+	0xBD81D8DE,0x3F129315,0x3F0D6B29,0xBD7C3225,0xBD81C956,0x3F127D25,0x3F0D8137,0xBD7C530C,
+	0xBD81B9CB,0x3F126734,0x3F0D9744,0xBD7C73EB,0xBD81AA3B,0x3F125143,0x3F0DAD51,0xBD7C94C2,
+	0xBD819AA7,0x3F123B51,0x3F0DC35D,0xBD7CB592,0xBD818B0F,0x3F12255E,0x3F0DD969,0xBD7CD65B,
+	0xBD817B72,0x3F120F6B,0x3F0DEF75,0xBD7CF71B,0xBD816BD2,0x3F11F977,0x3F0E0580,0xBD7D17D4,
+	0xBD815C2E,0x3F11E383,0x3F0E1B8B,0xBD7D3885,0xBD814C85,0x3F11CD8E,0x3F0E3195,0xBD7D592E,
+	0xBD813CD8,0x3F11B799,0x3F0E479F,0xBD7D79D0,0xBD812D27,0x3F11A1A3,0x3F0E5DA8,0xBD7D9A69,
+	0xBD811D72,0x3F118BAD,0x3F0E73B1,0xBD7DBAFB,0xBD810DB9,0x3F1175B6,0x3F0E89BA,0xBD7DDB86,
+	0xBD80FDFC,0x3F115FBE,0x3F0E9FC2,0xBD7DFC08,0xBD80EE3B,0x3F1149C7,0x3F0EB5C9,0xBD7E1C83,
+	0xBD80DE75,0x3F1133CE,0x3F0ECBD0,0xBD7E3CF5,0xBD80CEAC,0x3F111DD5,0x3F0EE1D7,0xBD7E5D60,
+	0xBD80BEDE,0x3F1107DB,0x3F0EF7DD,0xBD7E7DC3,0xBD80AF0D,0x3F10F1E1,0x3F0F0DE2,0xBD7E9E1F,
+	0xBD809F37,0x3F10DBE7,0x3F0F23E7,0xBD7EBE72,0xBD808F5D,0x3F10C5EB,0x3F0F39EC,0xBD7EDEBD,
+	0xBD807F80,0x3F10AFF0,0x3F0F4FF0,0xBD7EFF01,0xBD806F9E,0x3F1099F4,0x3F0F65F4,0xBD7F1F3D,
+	0xBD805FB8,0x3F1083F7,0x3F0F7BF7,0xBD7F3F70,0xBD804FCE,0x3F106DFA,0x3F0F91FA,0xBD7F5F9C,
+	0xBD803FE0,0x3F1057FC,0x3F0FA7FC,0xBD7F7FC0,0xBD802FEE,0x3F1041FE,0x3F0FBDFE,0xBD7F9FDC,
+	0xBD801FF8,0x3F102BFF,0x3F0FD3FF,0xBD7FBFF0,0xBD800FFE,0x3F101600,0x3F0FEA00,0xBD7FDFFC,
+	0xBD800000,0x3F100000,0x3F100000,0xBD800000,0xBD7FDFFC,0x3F0FEA00,0x3F101600,0xBD800FFE,
+	0xBD7FBFF0,0x3F0FD3FF,0x3F102BFF,0xBD801FF8,0xBD7F9FDC,0x3F0FBDFE,0x3F1041FE,0xBD802FEE,
+	0xBD7F7FC0,0x3F0FA7FC,0x3F1057FC,0xBD803FE0,0xBD7F5F9C,0x3F0F91FA,0x3F106DFA,0xBD804FCE,
+	0xBD7F3F70,0x3F0F7BF7,0x3F1083F7,0xBD805FB8,0xBD7F1F3D,0x3F0F65F4,0x3F1099F4,0xBD806F9E,
+	0xBD7EFF01,0x3F0F4FF0,0x3F10AFF0,0xBD807F80,0xBD7EDEBD,0x3F0F39EC,0x3F10C5EB,0xBD808F5D,
+	0xBD7EBE72,0x3F0F23E7,0x3F10DBE7,0xBD809F37,0xBD7E9E1F,0x3F0F0DE2,0x3F10F1E1,0xBD80AF0D,
+	0xBD7E7DC3,0x3F0EF7DD,0x3F1107DB,0xBD80BEDE,0xBD7E5D60,0x3F0EE1D7,0x3F111DD5,0xBD80CEAC,
+	0xBD7E3CF5,0x3F0ECBD0,0x3F1133CE,0xBD80DE75,0xBD7E1C83,0x3F0EB5C9,0x3F1149C7,0xBD80EE3B,
+	0xBD7DFC08,0x3F0E9FC2,0x3F115FBE,0xBD80FDFC,0xBD7DDB86,0x3F0E89BA,0x3F1175B6,0xBD810DB9,
+	0xBD7DBAFB,0x3F0E73B1,0x3F118BAD,0xBD811D72,0xBD7D9A69,0x3F0E5DA8,0x3F11A1A3,0xBD812D27,
+	0xBD7D79D0,0x3F0E479F,0x3F11B799,0xBD813CD8,0xBD7D592E,0x3F0E3195,0x3F11CD8E,0xBD814C85,
+	0xBD7D3885,0x3F0E1B8B,0x3F11E383,0xBD815C2E,0xBD7D17D4,0x3F0E0580,0x3F11F977,0xBD816BD2,
+	0xBD7CF71B,0x3F0DEF75,0x3F120F6B,0xBD817B72,0xBD7CD65B,0x3F0DD969,0x3F12255E,0xBD818B0F,
+	0xBD7CB592,0x3F0DC35D,0x3F123B51,0xBD819AA7,0xBD7C94C2,0x3F0DAD51,0x3F125143,0xBD81AA3B,
+	0xBD7C73EB,0x3F0D9744,0x3F126734,0xBD81B9CB,0xBD7C530C,0x3F0D8137,0x3F127D25,0xBD81C956,
+	0xBD7C3225,0x3F0D6B29,0x3F129315,0xBD81D8DE,0xBD7C1136,0x3F0D551B,0x3F12A905,0xBD81E861,
+	0xBD7BF040,0x3F0D3F0C,0x3F12BEF4,0xBD81F7E0,0xBD7BCF42,0x3F0D28FD,0x3F12D4E3,0xBD82075B,
+	0xBD7BAE3D,0x3F0D12ED,0x3F12EAD1,0xBD8216D2,0xBD7B8D30,0x3F0CFCDD,0x3F1300BE,0xBD822644,
+	0xBD7B6C1B,0x3F0CE6CD,0x3F1316AB,0xBD8235B2,0xBD7B4AFF,0x3F0CD0BC,0x3F132C97,0xBD82451D,
+	0xBD7B29DB,0x3F0CBAAB,0x3F134283,0xBD825482,0xBD7B08B0,0x3F0CA499,0x3F13586E,0xBD8263E4,
+	0xBD7AE77D,0x3F0C8E87,0x3F136E59,0xBD827342,0xBD7AC643,0x3F0C7875,0x3F138443,0xBD82829B,
+	0xBD7AA501,0x3F0C6262,0x3F139A2C,0xBD8291F0,0xBD7A83B7,0x3F0C4C4F,0x3F13B015,0xBD82A140,
+	0xBD7A6266,0x3F0C363B,0x3F13C5FD,0xBD82B08D,0xBD7A410E,0x3F0C2027,0x3F13DBE4,0xBD82BFD5,
+	0xBD7A1FAE,0x3F0C0A13,0x3F13F1CB,0xBD82CF19,0xBD79FE47,0x3F0BF3FE,0x3F1407B2,0xBD82DE59,
+	0xBD79DCD8,0x3F0BDDE8,0x3F141D98,0xBD82ED94,0xBD79BB62,0x3F0BC7D3,0x3F14337D,0xBD82FCCB,
+	0xBD7999E4,0x3F0BB1BD,0x3F144961,0xBD830BFE,0xBD79785F,0x3F0B9BA6,0x3F145F45,0xBD831B2C,
+	0xBD7956D3,0x3F0B858F,0x3F147529,0xBD832A57,0xBD79353F,0x3F0B6F78,0x3F148B0B,0xBD83397D,
+	0xBD7913A4,0x3F0B5961,0x3F14A0ED,0xBD83489E,0xBD78F201,0x3F0B4349,0x3F14B6CF,0xBD8357BC,
+	0xBD78D057,0x3F0B2D30,0x3F14CCB0,0xBD8366D4,0xBD78AEA6,0x3F0B1718,0x3F14E290,0xBD8375E9,
+	0xBD788CED,0x3F0B00FE,0x3F14F870,0xBD8384F9,0xBD786B2D,0x3F0AEAE5,0x3F150E4F,0xBD839405,
+	0xBD784966,0x3F0AD4CB,0x3F15242D,0xBD83A30D,0xBD782797,0x3F0ABEB1,0x3F153A0B,0xBD83B210,
+	0xBD7805C1,0x3F0AA896,0x3F154FE8,0xBD83C10F,0xBD77E3E4,0x3F0A927B,0x3F1565C4,0xBD83D00A,
+	0xBD77C200,0x3F0A7C60,0x3F157BA0,0xBD83DF00,0xBD77A014,0x3F0A6644,0x3F15917B,0xBD83EDF2,
+	0xBD777E22,0x3F0A5028,0x3F15A756,0xBD83FCDF,0xBD775C27,0x3F0A3A0C,0x3F15BD30,0xBD840BC8,
+	0xBD773A26,0x3F0A23EF,0x3F15D309,0xBD841AAD,0xBD77181E,0x3F0A0DD2,0x3F15E8E1,0xBD84298D,
+	0xBD76F60E,0x3F09F7B5,0x3F15FEB9,0xBD843869,0xBD76D3F7,0x3F09E197,0x3F161491,0xBD844740,
+	0xBD76B1D9,0x3F09CB79,0x3F162A67,0xBD845614,0xBD768FB4,0x3F09B55A,0x3F16403D,0xBD8464E2,
+	0xBD766D87,0x3F099F3B,0x3F165613,0xBD8473AC,0xBD764B54,0x3F09891C,0x3F166BE7,0xBD848272,
+	0xBD762919,0x3F0972FD,0x3F1681BB,0xBD849133,0xBD7606D8,0x3F095CDD,0x3F16978F,0xBD849FF0,
+	0xBD75E48F,0x3F0946BD,0x3F16AD61,0xBD84AEA9,0xBD75C23F,0x3F09309C,0x3F16C333,0xBD84BD5D,
+	0xBD759FE8,0x3F091A7C,0x3F16D904,0xBD84CC0C,0xBD757D8A,0x3F09045A,0x3F16EED5,0xBD84DAB7,
+	0xBD755B25,0x3F08EE39,0x3F1704A5,0xBD84E95E,0xBD7538B9,0x3F08D817,0x3F171A74,0xBD84F800,
+	0xBD751646,0x3F08C1F5,0x3F173043,0xBD85069D,0xBD74F3CB,0x3F08ABD3,0x3F174611,0xBD851536,
+	0xBD74D14A,0x3F0895B0,0x3F175BDE,0xBD8523CB,0xBD74AEC2,0x3F087F8D,0x3F1771AB,0xBD85325B,
+	0xBD748C33,0x3F08696A,0x3F178776,0xBD8540E6,0xBD74699D,0x3F085346,0x3F179D42,0xBD854F6E,
+	0xBD744700,0x3F083D22,0x3F17B30C,0xBD855DF0,0xBD74245C,0x3F0826FE,0x3F17C8D6,0xBD856C6E,
+	0xBD7401B1,0x3F0810D9,0x3F17DE9F,0xBD857AE8,0xBD73DEFF,0x3F07FAB4,0x3F17F467,0xBD85895C,
+	0xBD73BC46,0x3F07E48F,0x3F180A2F,0xBD8597CD,0xBD739987,0x3F07CE6A,0x3F181FF6,0xBD85A639,
+	0xBD7376C0,0x3F07B844,0x3F1835BC,0xBD85B4A0,0xBD7353F3,0x3F07A21E,0x3F184B82,0xBD85C303,
+	0xBD73311E,0x3F078BF8,0x3F186146,0xBD85D161,0xBD730E43,0x3F0775D1,0x3F18770A,0xBD85DFBA,
+	0xBD72EB61,0x3F075FAA,0x3F188CCE,0xBD85EE0F,0xBD72C878,0x3F074983,0x3F18A290,0xBD85FC60,
+	0xBD72A589,0x3F07335C,0x3F18B852,0xBD860AAC,0xBD728292,0x3F071D34,0x3F18CE14,0xBD8618F3,
+	0xBD725F95,0x3F07070C,0x3F18E3D4,0xBD862736,0xBD723C91,0x3F06F0E4,0x3F18F994,0xBD863574,
+	0xBD721986,0x3F06DABB,0x3F190F53,0xBD8643AD,0xBD71F675,0x3F06C492,0x3F192511,0xBD8651E2,
+	0xBD71D35C,0x3F06AE69,0x3F193ACF,0xBD866012,0xBD71B03D,0x3F069840,0x3F19508B,0xBD866E3D,
+	0xBD718D18,0x3F068216,0x3F196648,0xBD867C64,0xBD7169EB,0x3F066BED,0x3F197C03,0xBD868A86,
+	0xBD7146B8,0x3F0655C2,0x3F1991BE,0xBD8698A4,0xBD71237E,0x3F063F98,0x3F19A777,0xBD86A6BD,
+	0xBD71003E,0x3F06296E,0x3F19BD30,0xBD86B4D1,0xBD70DCF6,0x3F061343,0x3F19D2E9,0xBD86C2E1,
+	0xBD70B9A9,0x3F05FD18,0x3F19E8A0,0xBD86D0EC,0xBD709654,0x3F05E6EC,0x3F19FE57,0xBD86DEF2,
+	0xBD7072F9,0x3F05D0C1,0x3F1A140D,0xBD86ECF3,0xBD704F97,0x3F05BA95,0x3F1A29C3,0xBD86FAF0,
+	0xBD702C2F,0x3F05A469,0x3F1A3F77,0xBD8708E8,0xBD7008C0,0x3F058E3D,0x3F1A552B,0xBD8716DC,
+	0xBD6FE54B,0x3F057810,0x3F1A6ADE,0xBD8724CB,0xBD6FC1CF,0x3F0561E3,0x3F1A8090,0xBD8732B5,
+	0xBD6F9E4C,0x3F054BB6,0x3F1A9642,0xBD87409A,0xBD6F7AC3,0x3F053589,0x3F1AABF2,0xBD874E7B,
+	0xBD6F5733,0x3F051F5C,0x3F1AC1A2,0xBD875C57,0xBD6F339D,0x3F05092E,0x3F1AD752,0xBD876A2E,
+	0xBD6F1000,0x3F04F300,0x3F1AED00,0xBD877800,0xBD6EEC5D,0x3F04DCD2,0x3F1B02AE,0xBD8785CE,
+	0xBD6EC8B3,0x3F04C6A4,0x3F1B185A,0xBD879396,0xBD6EA503,0x3F04B075,0x3F1B2E06,0xBD87A15B,
+	0xBD6E814C,0x3F049A46,0x3F1B43B2,0xBD87AF1A,0xBD6E5D8F,0x3F048417,0x3F1B595C,0xBD87BCD5,
+	0xBD6E39CB,0x3F046DE8,0x3F1B6F06,0xBD87CA8A,0xBD6E1601,0x3F0457B9,0x3F1B84AF,0xBD87D83B,
+	0xBD6DF231,0x3F044189,0x3F1B9A57,0xBD87E5E8,0xBD6DCE5A,0x3F042B59,0x3F1BAFFE,0xBD87F38F,
+	0xBD6DAA7D,0x3F041529,0x3F1BC5A5,0xBD880132,0xBD6D8699,0x3F03FEF9,0x3F1BDB4A,0xBD880ECF,
+	0xBD6D62AF,0x3F03E8C9,0x3F1BF0EF,0xBD881C68,0xBD6D3EBF,0x3F03D298,0x3F1C0693,0xBD8829FC,
+	0xBD6D1AC8,0x3F03BC68,0x3F1C1C36,0xBD88378C,0xBD6CF6CB,0x3F03A637,0x3F1C31D9,0xBD884516,
+	0xBD6CD2C8,0x3F039006,0x3F1C477A,0xBD88529C,0xBD6CAEBE,0x3F0379D4,0x3F1C5D1B,0xBD88601D,
+	0xBD6C8AAE,0x3F0363A3,0x3F1C72BB,0xBD886D99,0xBD6C6698,0x3F034D71,0x3F1C885A,0xBD887B10,
+	0xBD6C427C,0x3F03373F,0x3F1C9DF9,0xBD888882,0xBD6C1E59,0x3F03210D,0x3F1CB396,0xBD8895F0,
+	0xBD6BFA30,0x3F030ADB,0x3F1CC933,0xBD88A358,0xBD6BD601,0x3F02F4A9,0x3F1CDECF,0xBD88B0BC,
+	0xBD6BB1CB,0x3F02DE76,0x3F1CF46A,0xBD88BE1A,0xBD6B8D8F,0x3F02C843,0x3F1D0A04,0xBD88CB74,
+	0xBD6B694D,0x3F02B210,0x3F1D1F9E,0xBD88D8C9,0xBD6B4505,0x3F029BDD,0x3F1D3536,0xBD88E619,
+	0xBD6B20B7,0x3F0285AA,0x3F1D4ACE,0xBD88F365,0xBD6AFC62,0x3F026F77,0x3F1D6065,0xBD8900AB,
+	0xBD6AD808,0x3F025943,0x3F1D75FB,0xBD890DEC,0xBD6AB3A7,0x3F024310,0x3F1D8B90,0xBD891B29,
+	0xBD6A8F40,0x3F022CDC,0x3F1DA124,0xBD892860,0xBD6A6AD3,0x3F0216A8,0x3F1DB6B7,0xBD893593,
+	0xBD6A4660,0x3F020074,0x3F1DCC4A,0xBD8942C0,0xBD6A21E6,0x3F01EA40,0x3F1DE1DC,0xBD894FE9,
+	0xBD69FD67,0x3F01D40B,0x3F1DF76D,0xBD895D0C,0xBD69D8E2,0x3F01BDD7,0x3F1E0CFD,0xBD896A2B,
+	0xBD69B456,0x3F01A7A2,0x3F1E228C,0xBD897745,0xBD698FC5,0x3F01916D,0x3F1E381A,0xBD89845A,
+	0xBD696B2D,0x3F017B38,0x3F1E4DA8,0xBD89916A,0xBD69468F,0x3F016503,0x3F1E6334,0xBD899E74,
+	0xBD6921EC,0x3F014ECE,0x3F1E78C0,0xBD89AB7A,0xBD68FD42,0x3F013899,0x3F1E8E4B,0xBD89B87B,
+	0xBD68D892,0x3F012263,0x3F1EA3D5,0xBD89C577,0xBD68B3DD,0x3F010C2E,0x3F1EB95E,0xBD89D26E,
+	0xBD688F21,0x3F00F5F8,0x3F1ECEE6,0xBD89DF5F,0xBD686A60,0x3F00DFC2,0x3F1EE46D,0xBD89EC4C,
+	0xBD684598,0x3F00C98C,0x3F1EF9F4,0xBD89F934,0xBD6820CB,0x3F00B356,0x3F1F0F79,0xBD8A0617,
+	0xBD67FBF7,0x3F009D20,0x3F1F24FE,0xBD8A12F4,0xBD67D71E,0x3F0086EA,0x3F1F3A81,0xBD8A1FCD,
+	0xBD67B23F,0x3F0070B4,0x3F1F5004,0xBD8A2CA1,0xBD678D5A,0x3F005A7D,0x3F1F6586,0xBD8A396F,
+	0xBD67686F,0x3F004447,0x3F1F7B07,0xBD8A4639,0xBD67437E,0x3F002E10,0x3F1F9087,0xBD8A52FD,
+	0xBD671E87,0x3F0017D9,0x3F1FA607,0xBD8A5FBC,0xBD66F98A,0x3F0001A2,0x3F1FBB85,0xBD8A6C77,
+	0xBD66D488,0x3EFFD6D7,0x3F1FD102,0xBD8A792C,0xBD66AF80,0x3EFFAA69,0x3F1FE67F,0xBD8A85DC,
+	0xBD668A72,0x3EFF7DFB,0x3F1FFBFB,0xBD8A9287,0xBD66655E,0x3EFF518C,0x3F201175,0xBD8A9F2D,
+	0xBD664044,0x3EFF251E,0x3F2026EF,0xBD8AABCE,0xBD661B25,0x3EFEF8AF,0x3F203C68,0xBD8AB869,
+	0xBD65F600,0x3EFECC40,0x3F2051E0,0xBD8AC500,0xBD65D0D5,0x3EFE9FD1,0x3F206757,0xBD8AD191,
+	0xBD65ABA5,0x3EFE7362,0x3F207CCD,0xBD8ADE1E,0xBD65866E,0x3EFE46F2,0x3F209242,0xBD8AEAA5,
+	0xBD656132,0x3EFE1A83,0x3F20A7B7,0xBD8AF727,0xBD653BF0,0x3EFDEE13,0x3F20BD2A,0xBD8B03A4,
+	0xBD6516A9,0x3EFDC1A3,0x3F20D29C,0xBD8B101C,0xBD64F15C,0x3EFD9533,0x3F20E80E,0xBD8B1C8E,
+	0xBD64CC09,0x3EFD68C3,0x3F20FD7E,0xBD8B28FC,0xBD64A6B1,0x3EFD3C53,0x3F2112EE,0xBD8B3564,
+	0xBD648152,0x3EFD0FE3,0x3F21285D,0xBD8B41C7,0xBD645BEF,0x3EFCE373,0x3F213DCA,0xBD8B4E25,
+	0xBD643685,0x3EFCB702,0x3F215337,0xBD8B5A7D,0xBD641116,0x3EFC8A91,0x3F2168A3,0xBD8B66D1,
+	0xBD63EBA2,0x3EFC5E21,0x3F217E0E,0xBD8B731F,0xBD63C628,0x3EFC31B0,0x3F219378,0xBD8B7F68,
+	0xBD63A0A8,0x3EFC053F,0x3F21A8E0,0xBD8B8BAC,0xBD637B23,0x3EFBD8CE,0x3F21BE48,0xBD8B97EB,
+	0xBD635598,0x3EFBAC5D,0x3F21D3B0,0xBD8BA424,0xBD633008,0x3EFB7FEC,0x3F21E916,0xBD8BB058,
+	0xBD630A72,0x3EFB537B,0x3F21FE7B,0xBD8BBC87,0xBD62E4D6,0x3EFB2709,0x3F2213DF,0xBD8BC8B1,
+	0xBD62BF35,0x3EFAFA98,0x3F222942,0xBD8BD4D5,0xBD62998F,0x3EFACE27,0x3F223EA4,0xBD8BE0F5,
+	0xBD6273E3,0x3EFAA1B5,0x3F225405,0xBD8BED0E,0xBD624E32,0x3EFA7544,0x3F226966,0xBD8BF923,
+	0xBD62287B,0x3EFA48D2,0x3F227EC5,0xBD8C0533,0xBD6202BF,0x3EFA1C60,0x3F229423,0xBD8C113D,
+	0xBD61DCFD,0x3EF9EFEF,0x3F22A981,0xBD8C1D42,0xBD61B736,0x3EF9C37D,0x3F22BEDD,0xBD8C2941,
+	0xBD619169,0x3EF9970B,0x3F22D438,0xBD8C353B,0xBD616B97,0x3EF96A9A,0x3F22E993,0xBD8C4130,
+	0xBD6145C0,0x3EF93E28,0x3F22FEEC,0xBD8C4D20,0xBD611FE3,0x3EF911B6,0x3F231444,0xBD8C590A,
+	0xBD60FA01,0x3EF8E544,0x3F23299C,0xBD8C64EF,0xBD60D41A,0x3EF8B8D3,0x3F233EF2,0xBD8C70CF,
+	0xBD60AE2D,0x3EF88C61,0x3F235448,0xBD8C7CA9,0xBD60883B,0x3EF85FEF,0x3F23699C,0xBD8C887E,
+	0xBD606244,0x3EF8337D,0x3F237EEF,0xBD8C944E,0xBD603C47,0x3EF8070C,0x3F239442,0xBD8CA019,
+	0xBD601645,0x3EF7DA9A,0x3F23A993,0xBD8CABDE,0xBD5FF03E,0x3EF7AE28,0x3F23BEE3,0xBD8CB79D,
+	0xBD5FCA31,0x3EF781B6,0x3F23D433,0xBD8CC357,0xBD5FA41F,0x3EF75545,0x3F23E981,0xBD8CCF0C,
+	0xBD5F7E08,0x3EF728D3,0x3F23FECE,0xBD8CDABC,0xBD5F57EC,0x3EF6FC62,0x3F24141B,0xBD8CE666,
+	0xBD5F31CB,0x3EF6CFF0,0x3F242966,0xBD8CF20B,0xBD5F0BA4,0x3EF6A37E,0x3F243EB0,0xBD8CFDAA,
+	0xBD5EE578,0x3EF6770D,0x3F2453FA,0xBD8D0944,0xBD5EBF47,0x3EF64A9C,0x3F246942,0xBD8D14D9,
+	0xBD5E9911,0x3EF61E2A,0x3F247E89,0xBD8D2068,0xBD5E72D5,0x3EF5F1B9,0x3F2493CF,0xBD8D2BF1,
+	0xBD5E4C95,0x3EF5C548,0x3F24A914,0xBD8D3776,0xBD5E264F,0x3EF598D7,0x3F24BE58,0xBD8D42F5,
+	0xBD5E0004,0x3EF56C66,0x3F24D39B,0xBD8D4E6E,0xBD5DD9B4,0x3EF53FF5,0x3F24E8DD,0xBD8D59E2,
+	0xBD5DB35F,0x3EF51384,0x3F24FE1E,0xBD8D6550,0xBD5D8D05,0x3EF4E713,0x3F25135E,0xBD8D70BA,
+	0xBD5D66A6,0x3EF4BAA2,0x3F25289D,0xBD8D7C1D,0xBD5D4041,0x3EF48E31,0x3F253DDB,0xBD8D877B,
+	0xBD5D19D8,0x3EF461C1,0x3F255318,0xBD8D92D4,0xBD5CF369,0x3EF43551,0x3F256853,0xBD8D9E27,
+	0xBD5CCCF6,0x3EF408E0,0x3F257D8E,0xBD8DA975,0xBD5CA67D,0x3EF3DC70,0x3F2592C7,0xBD8DB4BD,
+	0xBD5C8000,0x3EF3B000,0x3F25A800,0xBD8DC000,0xBD5C597E,0x3EF38390,0x3F25BD37,0xBD8DCB3D,
+	0xBD5C32F6,0x3EF35720,0x3F25D26E,0xBD8DD675,0xBD5C0C6A,0x3EF32AB1,0x3F25E7A3,0xBD8DE1A7,
+	0xBD5BE5D8,0x3EF2FE41,0x3F25FCD7,0xBD8DECD4,0xBD5BBF42,0x3EF2D1D2,0x3F26120B,0xBD8DF7FB,
+	0xBD5B98A6,0x3EF2A562,0x3F26273D,0xBD8E031D,0xBD5B7206,0x3EF278F3,0x3F263C6E,0xBD8E0E39,
+	0xBD5B4B61,0x3EF24C84,0x3F26519E,0xBD8E1950,0xBD5B24B7,0x3EF22016,0x3F2666CD,0xBD8E2461,
+	0xBD5AFE08,0x3EF1F3A7,0x3F267BFB,0xBD8E2F6C,0xBD5AD754,0x3EF1C739,0x3F269127,0xBD8E3A72,
+	0xBD5AB09B,0x3EF19ACA,0x3F26A653,0xBD8E4572,0xBD5A89DE,0x3EF16E5C,0x3F26BB7D,0xBD8E506D,
+	0xBD5A631B,0x3EF141EE,0x3F26D0A7,0xBD8E5B62,0xBD5A3C54,0x3EF11581,0x3F26E5CF,0xBD8E6652,
+	0xBD5A1588,0x3EF0E913,0x3F26FAF6,0xBD8E713C,0xBD59EEB7,0x3EF0BCA6,0x3F27101D,0xBD8E7C20,
+	0xBD59C7E1,0x3EF09039,0x3F272542,0xBD8E86FF,0xBD59A107,0x3EF063CC,0x3F273A66,0xBD8E91D9,
+	0xBD597A28,0x3EF0375F,0x3F274F89,0xBD8E9CAC,0xBD595344,0x3EF00AF2,0x3F2764AA,0xBD8EA77A,
+	0xBD592C5B,0x3EEFDE86,0x3F2779CB,0xBD8EB243,0xBD59056D,0x3EEFB21A,0x3F278EEB,0xBD8EBD05,
+	0xBD58DE7B,0x3EEF85AE,0x3F27A409,0xBD8EC7C2,0xBD58B784,0x3EEF5943,0x3F27B926,0xBD8ED27A,
+	0xBD589088,0x3EEF2CD7,0x3F27CE42,0xBD8EDD2C,0xBD586988,0x3EEF006C,0x3F27E35E,0xBD8EE7D8,
+	0xBD584283,0x3EEED401,0x3F27F877,0xBD8EF27F,0xBD581B79,0x3EEEA796,0x3F280D90,0xBD8EFD1F,
+	0xBD57F46B,0x3EEE7B2C,0x3F2822A8,0xBD8F07BB,0xBD57CD58,0x3EEE4EC2,0x3F2837BF,0xBD8F1250,
+	0xBD57A640,0x3EEE2258,0x3F284CD4,0xBD8F1CE0,0xBD577F24,0x3EEDF5EE,0x3F2861E8,0xBD8F276A,
+	0xBD575803,0x3EEDC985,0x3F2876FB,0xBD8F31EF,0xBD5730DD,0x3EED9D1C,0x3F288C0E,0xBD8F3C6D,
+	0xBD5709B3,0x3EED70B3,0x3F28A11E,0xBD8F46E6,0xBD56E284,0x3EED444B,0x3F28B62E,0xBD8F515A,
+	0xBD56BB51,0x3EED17E2,0x3F28CB3D,0xBD8F5BC7,0xBD569419,0x3EECEB7B,0x3F28E04A,0xBD8F662F,
+	0xBD566CDD,0x3EECBF13,0x3F28F557,0xBD8F7092,0xBD56459C,0x3EEC92AC,0x3F290A62,0xBD8F7AEE,
+	0xBD561E57,0x3EEC6645,0x3F291F6C,0xBD8F8545,0xBD55F70D,0x3EEC39DE,0x3F293475,0xBD8F8F96,
+	0xBD55CFBE,0x3EEC0D77,0x3F29497C,0xBD8F99E1,0xBD55A86B,0x3EEBE111,0x3F295E83,0xBD8FA426,
+	0xBD558114,0x3EEBB4AC,0x3F297388,0xBD8FAE66,0xBD5559B8,0x3EEB8846,0x3F29888C,0xBD8FB8A0,
+	0xBD553258,0x3EEB5BE1,0x3F299D90,0xBD8FC2D4,0xBD550AF3,0x3EEB2F7C,0x3F29B291,0xBD8FCD02,
+	0xBD54E38A,0x3EEB0318,0x3F29C792,0xBD8FD72B,0xBD54BC1D,0x3EEAD6B4,0x3F29DC92,0xBD8FE14E,
+	0xBD5494AB,0x3EEAAA50,0x3F29F190,0xBD8FEB6B,0xBD546D34,0x3EEA7DED,0x3F2A068D,0xBD8FF582,
+	0xBD5445BA,0x3EEA518A,0x3F2A1B89,0xBD8FFF93,0xBD541E3A,0x3EEA2527,0x3F2A3084,0xBD90099F,
+	0xBD53F6B7,0x3EE9F8C5,0x3F2A457E,0xBD9013A4,0xBD53CF2F,0x3EE9CC63,0x3F2A5A76,0xBD901DA4,
+	0xBD53A7A3,0x3EE9A001,0x3F2A6F6D,0xBD90279E,0xBD538013,0x3EE973A0,0x3F2A8464,0xBD903193,
+	0xBD53587E,0x3EE9473F,0x3F2A9958,0xBD903B81,0xBD5330E5,0x3EE91ADF,0x3F2AAE4C,0xBD90456A,
+	0xBD530947,0x3EE8EE7F,0x3F2AC33F,0xBD904F4C,0xBD52E1A6,0x3EE8C21F,0x3F2AD830,0xBD905929,
+	0xBD52BA00,0x3EE895C0,0x3F2AED20,0xBD906300,0xBD529256,0x3EE86961,0x3F2B020F,0xBD906CD1,
+	0xBD526AA8,0x3EE83D03,0x3F2B16FD,0xBD90769C,0xBD5242F5,0x3EE810A5,0x3F2B2BE9,0xBD908062,
+	0xBD521B3E,0x3EE7E447,0x3F2B40D4,0xBD908A21,0xBD51F383,0x3EE7B7EA,0x3F2B55BE,0xBD9093DA,
+	0xBD51CBC4,0x3EE78B8D,0x3F2B6AA7,0xBD909D8E,0xBD51A401,0x3EE75F31,0x3F2B7F8F,0xBD90A73C,
+	0xBD517C39,0x3EE732D5,0x3F2B9475,0xBD90B0E4,0xBD51546D,0x3EE7067A,0x3F2BA95B,0xBD90BA85,
+	0xBD512C9D,0x3EE6DA1F,0x3F2BBE3E,0xBD90C421,0xBD5104C9,0x3EE6ADC5,0x3F2BD321,0xBD90CDB7,
+	0xBD50DCF1,0x3EE6816B,0x3F2BE803,0xBD90D747,0xBD50B515,0x3EE65511,0x3F2BFCE3,0xBD90E0D1,
+	0xBD508D35,0x3EE628B8,0x3F2C11C2,0xBD90EA56,0xBD506550,0x3EE5FC5F,0x3F2C26A0,0xBD90F3D4,
+	0xBD503D68,0x3EE5D007,0x3F2C3B7C,0xBD90FD4C,0xBD50157B,0x3EE5A3AF,0x3F2C5058,0xBD9106BE,
+	0xBD4FED8B,0x3EE57758,0x3F2C6532,0xBD91102B,0xBD4FC596,0x3EE54B01,0x3F2C7A0B,0xBD911991,
+	0xBD4F9D9E,0x3EE51EAB,0x3F2C8EE2,0xBD9122F1,0xBD4F75A1,0x3EE4F255,0x3F2CA3B9,0xBD912C4C,
+	0xBD4F4DA0,0x3EE4C600,0x3F2CB88E,0xBD9135A0,0xBD4F259C,0x3EE499AB,0x3F2CCD62,0xBD913EEE,
+	0xBD4EFD93,0x3EE46D57,0x3F2CE234,0xBD914836,0xBD4ED586,0x3EE44103,0x3F2CF706,0xBD915179,
+	0xBD4EAD76,0x3EE414B0,0x3F2D0BD6,0xBD915AB5,0xBD4E8561,0x3EE3E85D,0x3F2D20A5,0xBD9163EB,
+	0xBD4E5D49,0x3EE3BC0B,0x3F2D3572,0xBD916D1C,0xBD4E352D,0x3EE38FBA,0x3F2D4A3F,0xBD917646,
+	0xBD4E0D0C,0x3EE36369,0x3F2D5F0A,0xBD917F6A,0xBD4DE4E8,0x3EE33718,0x3F2D73D3,0xBD918888,
+	0xBD4DBCC0,0x3EE30AC8,0x3F2D889C,0xBD9191A0,0xBD4D9494,0x3EE2DE79,0x3F2D9D63,0xBD919AB2,
+	0xBD4D6C64,0x3EE2B22A,0x3F2DB229,0xBD91A3BE,0xBD4D4431,0x3EE285DB,0x3F2DC6EE,0xBD91ACC4,
+	0xBD4D1BF9,0x3EE2598D,0x3F2DDBB1,0xBD91B5C3,0xBD4CF3BE,0x3EE22D40,0x3F2DF073,0xBD91BEBD,
+	0xBD4CCB7F,0x3EE200F4,0x3F2E0534,0xBD91C7B1,0xBD4CA33C,0x3EE1D4A7,0x3F2E19F4,0xBD91D09E,
+	0xBD4C7AF5,0x3EE1A85C,0x3F2E2EB2,0xBD91D986,0xBD4C52AA,0x3EE17C11,0x3F2E436F,0xBD91E267,
+	0xBD4C2A5C,0x3EE14FC7,0x3F2E582B,0xBD91EB42,0xBD4C020A,0x3EE1237D,0x3F2E6CE5,0xBD91F417,
+	0xBD4BD9B4,0x3EE0F734,0x3F2E819E,0xBD91FCE6,0xBD4BB15B,0x3EE0CAEB,0x3F2E9656,0xBD9205AF,
+	0xBD4B88FE,0x3EE09EA3,0x3F2EAB0C,0xBD920E71,0xBD4B609D,0x3EE0725C,0x3F2EBFC2,0xBD92172E,
+	0xBD4B3838,0x3EE04615,0x3F2ED476,0xBD921FE4,0xBD4B0FD0,0x3EE019CF,0x3F2EE928,0xBD922894,
+	0xBD4AE764,0x3EDFED89,0x3F2EFDD9,0xBD92313E,0xBD4ABEF4,0x3EDFC144,0x3F2F1289,0xBD9239E2,
+	0xBD4A9681,0x3EDF9500,0x3F2F2738,0xBD924280,0xBD4A6E0A,0x3EDF68BD,0x3F2F3BE5,0xBD924B17,
+	0xBD4A458F,0x3EDF3C7A,0x3F2F5091,0xBD9253A8,0xBD4A1D11,0x3EDF1037,0x3F2F653C,0xBD925C34,
+	0xBD49F48F,0x3EDEE3F6,0x3F2F79E5,0xBD9264B8,0xBD49CC0A,0x3EDEB7B5,0x3F2F8E8D,0xBD926D37,
+	0xBD49A381,0x3EDE8B74,0x3F2FA334,0xBD9275B0,0xBD497AF4,0x3EDE5F35,0x3F2FB7D9,0xBD927E22,
+	0xBD495264,0x3EDE32F5,0x3F2FCC7D,0xBD92868E,0xBD4929D0,0x3EDE06B7,0x3F2FE120,0xBD928EF4,
+	0xBD490139,0x3EDDDA79,0x3F2FF5C1,0xBD929754,0xBD48D89E,0x3EDDAE3C,0x3F300A61,0xBD929FAD,
+	0xBD48B000,0x3EDD8200,0x3F301F00,0xBD92A800,0xBD48875E,0x3EDD55C4,0x3F30339D,0xBD92B04D,
+	0xBD485EB9,0x3EDD2989,0x3F304839,0xBD92B893,0xBD483610,0x3EDCFD4F,0x3F305CD4,0xBD92C0D4,
+	0xBD480D64,0x3EDCD116,0x3F30716D,0xBD92C90E,0xBD47E4B4,0x3EDCA4DD,0x3F308605,0xBD92D142,
+	0xBD47BC01,0x3EDC78A5,0x3F309A9C,0xBD92D96F,0xBD47934B,0x3EDC4C6D,0x3F30AF31,0xBD92E197,
+	0xBD476A91,0x3EDC2036,0x3F30C3C5,0xBD92E9B8,0xBD4741D4,0x3EDBF400,0x3F30D857,0xBD92F1D2,
+	0xBD471913,0x3EDBC7CB,0x3F30ECE8,0xBD92F9E7,0xBD46F04F,0x3EDB9B97,0x3F310178,0xBD9301F5,
+	0xBD46C787,0x3EDB6F63,0x3F311607,0xBD9309FC,0xBD469EBD,0x3EDB4330,0x3F312A94,0xBD9311FE,
+	0xBD4675EE,0x3EDB16FD,0x3F313F1F,0xBD9319F9,0xBD464D1D,0x3EDAEACC,0x3F3153AA,0xBD9321EE,
+	0xBD462448,0x3EDABE9B,0x3F316832,0xBD9329DC,0xBD45FB70,0x3EDA926B,0x3F317CBA,0xBD9331C4,
+	0xBD45D294,0x3EDA663C,0x3F319140,0xBD9339A6,0xBD45A9B6,0x3EDA3A0D,0x3F31A5C5,0xBD934181,
+	0xBD4580D4,0x3EDA0DDF,0x3F31BA48,0xBD934956,0xBD4557EE,0x3ED9E1B2,0x3F31CECA,0xBD935125,
+	0xBD452F06,0x3ED9B586,0x3F31E34B,0xBD9358ED,0xBD45061A,0x3ED9895B,0x3F31F7CA,0xBD9360AF,
+	0xBD44DD2B,0x3ED95D30,0x3F320C48,0xBD93686A,0xBD44B439,0x3ED93106,0x3F3220C4,0xBD937020,
+	0xBD448B43,0x3ED904DD,0x3F32353F,0xBD9377CE,0xBD44624B,0x3ED8D8B5,0x3F3249B9,0xBD937F77,
+	0xBD44394F,0x3ED8AC8E,0x3F325E31,0xBD938719,0xBD441050,0x3ED88067,0x3F3272A8,0xBD938EB4,
+	0xBD43E74E,0x3ED85441,0x3F32871D,0xBD939649,0xBD43BE48,0x3ED8281C,0x3F329B91,0xBD939DD8,
+	0xBD439540,0x3ED7FBF8,0x3F32B004,0xBD93A560,0xBD436C34,0x3ED7CFD5,0x3F32C475,0xBD93ACE2,
+	0xBD434326,0x3ED7A3B2,0x3F32D8E5,0xBD93B45D,0xBD431A14,0x3ED77790,0x3F32ED53,0xBD93BBD2,
+	0xBD42F0FF,0x3ED74B70,0x3F3301C0,0xBD93C340,0xBD42C7E7,0x3ED71F50,0x3F33162C,0xBD93CAA8,
+	0xBD429ECC,0x3ED6F331,0x3F332A96,0xBD93D20A,0xBD4275AE,0x3ED6C712,0x3F333EFE,0xBD93D965,
+	0xBD424C8D,0x3ED69AF5,0x3F335366,0xBD93E0BA,0xBD422369,0x3ED66ED8,0x3F3367CB,0xBD93E808,
+	0xBD41FA42,0x3ED642BD,0x3F337C30,0xBD93EF4F,0xBD41D118,0x3ED616A2,0x3F339093,0xBD93F690,
+	0xBD41A7EA,0x3ED5EA88,0x3F33A4F4,0xBD93FDCB,0xBD417EBA,0x3ED5BE6F,0x3F33B954,0xBD9404FF,
+	0xBD415587,0x3ED59257,0x3F33CDB3,0xBD940C2C,0xBD412C51,0x3ED5663F,0x3F33E210,0xBD941353,
+	0xBD410318,0x3ED53A29,0x3F33F66C,0xBD941A74,0xBD40D9DC,0x3ED50E14,0x3F340AC6,0xBD94218E,
+	0xBD40B09D,0x3ED4E1FF,0x3F341F1F,0xBD9428A1,0xBD40875B,0x3ED4B5EB,0x3F343376,0xBD942FAE,
+	0xBD405E17,0x3ED489D8,0x3F3447CC,0xBD9436B5,0xBD4034CF,0x3ED45DC7,0x3F345C20,0xBD943DB4,
+	0xBD400B85,0x3ED431B6,0x3F347073,0xBD9444AE,0xBD3FE237,0x3ED405A6,0x3F3484C5,0xBD944BA0,
+	0xBD3FB8E7,0x3ED3D997,0x3F349915,0xBD94528C,0xBD3F8F94,0x3ED3AD88,0x3F34AD63,0xBD945972,
+	0xBD3F663E,0x3ED3817B,0x3F34C1B0,0xBD946051,0xBD3F3CE5,0x3ED3556F,0x3F34D5FC,0xBD946729,
+	0xBD3F138A,0x3ED32964,0x3F34EA46,0xBD946DFB,0xBD3EEA2C,0x3ED2FD59,0x3F34FE8F,0xBD9474C6,
+	0xBD3EC0CA,0x3ED2D150,0x3F3512D6,0xBD947B8B,0xBD3E9767,0x3ED2A547,0x3F35271C,0xBD948249,
+	0xBD3E6E00,0x3ED27940,0x3F353B60,0xBD948900,0xBD3E4497,0x3ED24D39,0x3F354FA3,0xBD948FB1,
+	0xBD3E1B2B,0x3ED22134,0x3F3563E4,0xBD94965B,0xBD3DF1BC,0x3ED1F52F,0x3F357824,0xBD949CFE,
+	0xBD3DC84A,0x3ED1C92C,0x3F358C62,0xBD94A39B,0xBD3D9ED6,0x3ED19D29,0x3F35A09F,0xBD94AA31,
+	0xBD3D755F,0x3ED17128,0x3F35B4DA,0xBD94B0C1,0xBD3D4BE5,0x3ED14527,0x3F35C914,0xBD94B749,
+	0xBD3D2269,0x3ED11927,0x3F35DD4C,0xBD94BDCC,0xBD3CF8EA,0x3ED0ED29,0x3F35F183,0xBD94C447,
+	0xBD3CCF68,0x3ED0C12B,0x3F3605B8,0xBD94CABC,0xBD3CA5E4,0x3ED0952F,0x3F3619EC,0xBD94D12A,
+	0xBD3C7C5D,0x3ED06933,0x3F362E1E,0xBD94D791,0xBD3C52D4,0x3ED03D38,0x3F36424F,0xBD94DDF2,
+	0xBD3C2948,0x3ED0113F,0x3F36567F,0xBD94E44C,0xBD3BFFB9,0x3ECFE546,0x3F366AAC,0xBD94EA9F,
+	0xBD3BD628,0x3ECFB94F,0x3F367ED8,0xBD94F0EC,0xBD3BAC94,0x3ECF8D59,0x3F369303,0xBD94F732,
+	0xBD3B82FE,0x3ECF6163,0x3F36A72C,0xBD94FD71,0xBD3B5965,0x3ECF356F,0x3F36BB54,0xBD9503A9,
+	0xBD3B2FCA,0x3ECF097C,0x3F36CF7A,0xBD9509DB,0xBD3B062C,0x3ECEDD89,0x3F36E39F,0xBD951006,
+	0xBD3ADC8B,0x3ECEB198,0x3F36F7C2,0xBD95162A,0xBD3AB2E8,0x3ECE85A8,0x3F370BE3,0xBD951C48,
+	0xBD3A8943,0x3ECE59B9,0x3F372003,0xBD95225E,0xBD3A5F9B,0x3ECE2DCB,0x3F373422,0xBD95286E,
+	0xBD3A35F1,0x3ECE01DE,0x3F37483F,0xBD952E78,0xBD3A0C44,0x3ECDD5F3,0x3F375C5A,0xBD95347A,
+	0xBD39E295,0x3ECDAA08,0x3F377074,0xBD953A76,0xBD39B8E3,0x3ECD7E1E,0x3F37848C,0xBD95406A,
+	0xBD398F2F,0x3ECD5236,0x3F3798A3,0xBD954658,0xBD396579,0x3ECD264E,0x3F37ACB8,0xBD954C40,
+	0xBD393BC0,0x3ECCFA68,0x3F37C0CC,0xBD955220,0xBD391205,0x3ECCCE83,0x3F37D4DE,0xBD9557FA,
+	0xBD38E847,0x3ECCA29F,0x3F37E8EF,0xBD955DCC,0xBD38BE87,0x3ECC76BC,0x3F37FCFE,0xBD956398,
+	0xBD3894C5,0x3ECC4ADA,0x3F38110B,0xBD95695D,0xBD386B01,0x3ECC1EF9,0x3F382517,0xBD956F1C,
+	0xBD38413A,0x3ECBF31A,0x3F383921,0xBD9574D3,0xBD381770,0x3ECBC73B,0x3F384D2A,0xBD957A84,
+	0xBD37EDA5,0x3ECB9B5E,0x3F386131,0xBD95802E,0xBD37C3D7,0x3ECB6F82,0x3F387537,0xBD9585D0,
+	0xBD379A07,0x3ECB43A7,0x3F38893B,0xBD958B6C,0xBD377035,0x3ECB17CD,0x3F389D3D,0xBD959102,
+	0xBD374660,0x3ECAEBF4,0x3F38B13E,0xBD959690,0xBD371C8A,0x3ECAC01D,0x3F38C53D,0xBD959C17,
+	0xBD36F2B1,0x3ECA9446,0x3F38D93B,0xBD95A198,0xBD36C8D5,0x3ECA6871,0x3F38ED37,0xBD95A711,
+	0xBD369EF8,0x3ECA3C9D,0x3F390132,0xBD95AC84,0xBD367518,0x3ECA10CA,0x3F39152A,0xBD95B1F0,
+	0xBD364B37,0x3EC9E4F8,0x3F392922,0xBD95B755,0xBD362153,0x3EC9B928,0x3F393D17,0xBD95BCB3,
+	0xBD35F76D,0x3EC98D59,0x3F39510C,0xBD95C20A,0xBD35CD84,0x3EC9618B,0x3F3964FE,0xBD95C75A,
+	0xBD35A39A,0x3EC935BE,0x3F3978EF,0xBD95CCA3,0xBD3579AE,0x3EC909F2,0x3F398CDE,0xBD95D1E5,
+	0xBD354FBF,0x3EC8DE28,0x3F39A0CC,0xBD95D720,0xBD3525CE,0x3EC8B25E,0x3F39B4B8,0xBD95DC55,
+	0xBD34FBDC,0x3EC88696,0x3F39C8A3,0xBD95E182,0xBD34D1E7,0x3EC85AD0,0x3F39DC8C,0xBD95E6A9,
+	0xBD34A7F0,0x3EC82F0A,0x3F39F073,0xBD95EBC8,0xBD347DF7,0x3EC80346,0x3F3A0459,0xBD95F0E1,
+	0xBD3453FC,0x3EC7D782,0x3F3A183D,0xBD95F5F2,0xBD3429FF,0x3EC7ABC1,0x3F3A2C1F,0xBD95FAFD,
+	0xBD340000,0x3EC78000,0x3F3A4000,0xBD960000,0xBD33D5FF,0x3EC75441,0x3F3A53DF,0xBD9604FC,
+	0xBD33ABFC,0x3EC72883,0x3F3A67BD,0xBD9609F2,0xBD3381F7,0x3EC6FCC6,0x3F3A7B99,0xBD960EE0,
+	0xBD3357F0,0x3EC6D10A,0x3F3A8F73,0xBD9613C8,0xBD332DE7,0x3EC6A550,0x3F3AA34C,0xBD9618A8,
+	0xBD3303DC,0x3EC67997,0x3F3AB723,0xBD961D82,0xBD32D9D0,0x3EC64DDF,0x3F3ACAF8,0xBD962254,
+	0xBD32AFC1,0x3EC62228,0x3F3ADECC,0xBD962720,0xBD3285B0,0x3EC5F673,0x3F3AF29E,0xBD962BE4,
+	0xBD325B9E,0x3EC5CABF,0x3F3B066E,0xBD9630A1,0xBD32318A,0x3EC59F0D,0x3F3B1A3D,0xBD963557,
+	0xBD320773,0x3EC5735B,0x3F3B2E0A,0xBD963A06,0xBD31DD5B,0x3EC547AB,0x3F3B41D6,0xBD963EAE,
+	0xBD31B341,0x3EC51BFD,0x3F3B55A0,0xBD96434F,0xBD318926,0x3EC4F04F,0x3F3B6968,0xBD9647E9,
+	0xBD315F08,0x3EC4C4A3,0x3F3B7D2E,0xBD964C7C,0xBD3134E9,0x3EC498F8,0x3F3B90F3,0xBD965108,
+	0xBD310AC7,0x3EC46D4F,0x3F3BA4B7,0xBD96558C,0xBD30E0A4,0x3EC441A7,0x3F3BB878,0xBD965A0A,
+	0xBD30B680,0x3EC41600,0x3F3BCC38,0xBD965E80,0xBD308C59,0x3EC3EA5A,0x3F3BDFF6,0xBD9662EF,
+	0xBD306231,0x3EC3BEB6,0x3F3BF3B3,0xBD966758,0xBD303807,0x3EC39314,0x3F3C076E,0xBD966BB9,
+	0xBD300DDB,0x3EC36772,0x3F3C1B27,0xBD967012,0xBD2FE3AE,0x3EC33BD2,0x3F3C2EDE,0xBD967465,
+	0xBD2FB97E,0x3EC31033,0x3F3C4294,0xBD9678B1,0xBD2F8F4D,0x3EC2E496,0x3F3C5648,0xBD967CF5,
+	0xBD2F651B,0x3EC2B8FA,0x3F3C69FB,0xBD968133,0xBD2F3AE7,0x3EC28D5F,0x3F3C7DAC,0xBD968569,
+	0xBD2F10B1,0x3EC261C6,0x3F3C915B,0xBD968998,0xBD2EE679,0x3EC2362E,0x3F3CA508,0xBD968DBF,
+	0xBD2EBC40,0x3EC20A98,0x3F3CB8B4,0xBD9691E0,0xBD2E9205,0x3EC1DF03,0x3F3CCC5E,0xBD9695F9,
+	0xBD2E67C9,0x3EC1B36F,0x3F3CE006,0xBD969A0C,0xBD2E3D8B,0x3EC187DD,0x3F3CF3AD,0xBD969E17,
+	0xBD2E134B,0x3EC15C4C,0x3F3D0752,0xBD96A21A,0xBD2DE90A,0x3EC130BD,0x3F3D1AF5,0xBD96A617,
+	0xBD2DBEC7,0x3EC1052F,0x3F3D2E97,0xBD96AA0C,0xBD2D9483,0x3EC0D9A2,0x3F3D4236,0xBD96ADFB,
+	0xBD2D6A3D,0x3EC0AE17,0x3F3D55D5,0xBD96B1E2,0xBD2D3FF6,0x3EC0828D,0x3F3D6971,0xBD96B5C1,
+	0xBD2D15AD,0x3EC05705,0x3F3D7D0C,0xBD96B99A,0xBD2CEB62,0x3EC02B7E,0x3F3D90A5,0xBD96BD6B,
+	0xBD2CC116,0x3EBFFFF8,0x3F3DA43C,0xBD96C135,0xBD2C96C9,0x3EBFD474,0x3F3DB7D1,0xBD96C4F8,
+	0xBD2C6C7A,0x3EBFA8F2,0x3F3DCB65,0xBD96C8B3,0xBD2C422A,0x3EBF7D71,0x3F3DDEF7,0xBD96CC67,
+	0xBD2C17D8,0x3EBF51F1,0x3F3DF288,0xBD96D014,0xBD2BED85,0x3EBF2673,0x3F3E0616,0xBD96D3BA,
+	0xBD2BC330,0x3EBEFAF6,0x3F3E19A3,0xBD96D758,0xBD2B98DA,0x3EBECF7B,0x3F3E2D2E,0xBD96DAEF,
+	0xBD2B6E83,0x3EBEA401,0x3F3E40B8,0xBD96DE7F,0xBD2B442A,0x3EBE7889,0x3F3E543F,0xBD96E207,
+	0xBD2B19D0,0x3EBE4D12,0x3F3E67C5,0xBD96E588,0xBD2AEF74,0x3EBE219C,0x3F3E7B49,0xBD96E902,
+	0xBD2AC517,0x3EBDF629,0x3F3E8ECC,0xBD96EC74,0xBD2A9AB9,0x3EBDCAB6,0x3F3EA24C,0xBD96EFE0,
+	0xBD2A7059,0x3EBD9F45,0x3F3EB5CB,0xBD96F343,0xBD2A45F8,0x3EBD73D6,0x3F3EC948,0xBD96F6A0,
+	0xBD2A1B96,0x3EBD4868,0x3F3EDCC4,0xBD96F9F5,0xBD29F132,0x3EBD1CFC,0x3F3EF03E,0xBD96FD43,
+	0xBD29C6CD,0x3EBCF191,0x3F3F03B5,0xBD970089,0xBD299C67,0x3EBCC628,0x3F3F172C,0xBD9703C8,
+	0xBD297200,0x3EBC9AC0,0x3F3F2AA0,0xBD970700,0xBD294797,0x3EBC6F5A,0x3F3F3E13,0xBD970A30,
+	0xBD291D2E,0x3EBC43F5,0x3F3F5183,0xBD970D59,0xBD28F2C2,0x3EBC1892,0x3F3F64F3,0xBD97107B,
+	0xBD28C856,0x3EBBED30,0x3F3F7860,0xBD971395,0xBD289DE9,0x3EBBC1D0,0x3F3F8BCB,0xBD9716A8,
+	0xBD28737A,0x3EBB9672,0x3F3F9F35,0xBD9719B3,0xBD28490A,0x3EBB6B15,0x3F3FB29D,0xBD971CB7,
+	0xBD281E99,0x3EBB3FB9,0x3F3FC603,0xBD971FB4,0xBD27F427,0x3EBB1460,0x3F3FD968,0xBD9722A9,
+	0xBD27C9B3,0x3EBAE907,0x3F3FECCA,0xBD972596,0xBD279F3F,0x3EBABDB1,0x3F40002B,0xBD97287D,
+	0xBD2774C9,0x3EBA925C,0x3F40138A,0xBD972B5B,0xBD274A53,0x3EBA6708,0x3F4026E8,0xBD972E33,
+	0xBD271FDB,0x3EBA3BB6,0x3F403A43,0xBD973103,0xBD26F562,0x3EBA1066,0x3F404D9D,0xBD9733CB,
+	0xBD26CAE8,0x3EB9E517,0x3F4060F4,0xBD97368C,0xBD26A06D,0x3EB9B9CA,0x3F40744B,0xBD973946,
+	0xBD2675F1,0x3EB98E7E,0x3F40879F,0xBD973BF8,0xBD264B74,0x3EB96334,0x3F409AF1,0xBD973EA2,
+	0xBD2620F6,0x3EB937EC,0x3F40AE42,0xBD974145,0xBD25F676,0x3EB90CA5,0x3F40C191,0xBD9743E1,
+	0xBD25CBF6,0x3EB8E160,0x3F40D4DE,0xBD974675,0xBD25A175,0x3EB8B61D,0x3F40E829,0xBD974901,
+	0xBD2576F3,0x3EB88ADB,0x3F40FB72,0xBD974B86,0xBD254C70,0x3EB85F9B,0x3F410EBA,0xBD974E04,
+	0xBD2521EC,0x3EB8345C,0x3F412200,0xBD97507A,0xBD24F767,0x3EB80920,0x3F413544,0xBD9752E9,
+	0xBD24CCE1,0x3EB7DDE4,0x3F414886,0xBD975550,0xBD24A25A,0x3EB7B2AB,0x3F415BC6,0xBD9757AF,
+	0xBD2477D2,0x3EB78773,0x3F416F05,0xBD975A07,0xBD244D4A,0x3EB75C3D,0x3F418241,0xBD975C57,
+	0xBD2422C0,0x3EB73108,0x3F41957C,0xBD975EA0,0xBD23F836,0x3EB705D5,0x3F41A8B5,0xBD9760E1,
+	0xBD23CDAA,0x3EB6DAA4,0x3F41BBEC,0xBD97631B,0xBD23A31E,0x3EB6AF74,0x3F41CF21,0xBD97654D,
+	0xBD237891,0x3EB68446,0x3F41E255,0xBD976777,0xBD234E03,0x3EB6591A,0x3F41F586,0xBD97699A,
+	0xBD232375,0x3EB62DF0,0x3F4208B6,0xBD976BB6,0xBD22F8E5,0x3EB602C7,0x3F421BE4,0xBD976DC9,
+	0xBD22CE55,0x3EB5D7A0,0x3F422F10,0xBD976FD6,0xBD22A3C4,0x3EB5AC7A,0x3F42423A,0xBD9771DA,
+	0xBD227932,0x3EB58157,0x3F425563,0xBD9773D7,0xBD224EA0,0x3EB55635,0x3F426889,0xBD9775CC,
+	0xBD22240C,0x3EB52B15,0x3F427BAE,0xBD9777BA,0xBD21F978,0x3EB4FFF6,0x3F428ED0,0xBD9779A0,
+	0xBD21CEE4,0x3EB4D4D9,0x3F42A1F1,0xBD977B7E,0xBD21A44E,0x3EB4A9BE,0x3F42B510,0xBD977D55,
+	0xBD2179B8,0x3EB47EA5,0x3F42C82E,0xBD977F24,0xBD214F21,0x3EB4538D,0x3F42DB49,0xBD9780EB,
+	0xBD21248A,0x3EB42878,0x3F42EE62,0xBD9782AB,0xBD20F9F1,0x3EB3FD64,0x3F43017A,0xBD978463,
+	0xBD20CF59,0x3EB3D251,0x3F43148F,0xBD978614,0xBD20A4BF,0x3EB3A741,0x3F4327A3,0xBD9787BC,
+	0xBD207A25,0x3EB37C32,0x3F433AB5,0xBD97895D,0xBD204F8A,0x3EB35125,0x3F434DC5,0xBD978AF7,
+	0xBD2024EF,0x3EB3261A,0x3F4360D3,0xBD978C88,0xBD1FFA53,0x3EB2FB10,0x3F4373DF,0xBD978E12,
+	0xBD1FCFB7,0x3EB2D008,0x3F4386EA,0xBD978F95,0xBD1FA51A,0x3EB2A503,0x3F4399F2,0xBD97910F,
+	0xBD1F7A7C,0x3EB279FE,0x3F43ACF9,0xBD979282,0xBD1F4FDE,0x3EB24EFC,0x3F43BFFD,0xBD9793ED,
+	0xBD1F253F,0x3EB223FC,0x3F43D300,0xBD979551,0xBD1EFAA0,0x3EB1F8FD,0x3F43E601,0xBD9796AC,
+	0xBD1ED000,0x3EB1CE00,0x3F43F900,0xBD979800,0xBD1EA560,0x3EB1A305,0x3F440BFD,0xBD97994C,
+	0xBD1E7ABF,0x3EB1780C,0x3F441EF8,0xBD979A90,0xBD1E501E,0x3EB14D14,0x3F4431F1,0xBD979BCD,
+	0xBD1E257C,0x3EB1221F,0x3F4444E9,0xBD979D02,0xBD1DFADA,0x3EB0F72B,0x3F4457DE,0xBD979E2F,
+	0xBD1DD037,0x3EB0CC39,0x3F446AD2,0xBD979F54,0xBD1DA594,0x3EB0A149,0x3F447DC3,0xBD97A072,
+	0xBD1D7AF1,0x3EB0765A,0x3F4490B3,0xBD97A188,0xBD1D504D,0x3EB04B6E,0x3F44A3A1,0xBD97A295,
+	0xBD1D25A9,0x3EB02083,0x3F44B68C,0xBD97A39C,0xBD1CFB04,0x3EAFF59B,0x3F44C976,0xBD97A49A,
+	0xBD1CD05F,0x3EAFCAB4,0x3F44DC5E,0xBD97A590,0xBD1CA5BA,0x3EAF9FCF,0x3F44EF44,0xBD97A67F,
+	0xBD1C7B14,0x3EAF74EC,0x3F450228,0xBD97A766,0xBD1C506E,0x3EAF4A0A,0x3F45150A,0xBD97A845,
+	0xBD1C25C8,0x3EAF1F2B,0x3F4527EA,0xBD97A91C,0xBD1BFB21,0x3EAEF44E,0x3F453AC9,0xBD97A9EB,
+	0xBD1BD07A,0x3EAEC972,0x3F454DA5,0xBD97AAB3,0xBD1BA5D3,0x3EAE9E98,0x3F45607F,0xBD97AB72,
+	0xBD1B7B2C,0x3EAE73C0,0x3F457358,0xBD97AC2A,0xBD1B5084,0x3EAE48EA,0x3F45862E,0xBD97ACDA,
+	0xBD1B25DC,0x3EAE1E16,0x3F459903,0xBD97AD82,0xBD1AFB34,0x3EADF344,0x3F45ABD5,0xBD97AE22,
+	0xBD1AD08B,0x3EADC874,0x3F45BEA6,0xBD97AEBA,0xBD1AA5E2,0x3EAD9DA6,0x3F45D175,0xBD97AF4B,
+	0xBD1A7B39,0x3EAD72D9,0x3F45E441,0xBD97AFD3,0xBD1A5090,0x3EAD480F,0x3F45F70C,0xBD97B054,
+	0xBD1A25E7,0x3EAD1D47,0x3F4609D5,0xBD97B0CD,0xBD19FB3D,0x3EACF280,0x3F461C9B,0xBD97B13D,
+	0xBD19D094,0x3EACC7BB,0x3F462F60,0xBD97B1A6,0xBD19A5EA,0x3EAC9CF9,0x3F464223,0xBD97B207,
+	0xBD197B40,0x3EAC7238,0x3F4654E4,0xBD97B260,0xBD195096,0x3EAC4779,0x3F4667A3,0xBD97B2B1,
+	0xBD1925EC,0x3EAC1CBC,0x3F467A60,0xBD97B2FA,0xBD18FB41,0x3EABF202,0x3F468D1B,0xBD97B33B,
+	0xBD18D097,0x3EABC749,0x3F469FD4,0xBD97B374,0xBD18A5ED,0x3EAB9C92,0x3F46B28B,0xBD97B3A6,
+	0xBD187B42,0x3EAB71DD,0x3F46C540,0xBD97B3CF,0xBD185098,0x3EAB472A,0x3F46D7F3,0xBD97B3F0,
+	0xBD1825ED,0x3EAB1C79,0x3F46EAA4,0xBD97B40A,0xBD17FB42,0x3EAAF1CA,0x3F46FD53,0xBD97B41B,
+	0xBD17D098,0x3EAAC71D,0x3F471000,0xBD97B424,0xBD17A5ED,0x3EAA9C72,0x3F4722AB,0xBD97B425,
+	0xBD177B42,0x3EAA71C9,0x3F473554,0xBD97B41F,0xBD175098,0x3EAA4722,0x3F4747FB,0xBD97B410,
+	0xBD1725ED,0x3EAA1C7D,0x3F475AA0,0xBD97B3F9,0xBD16FB43,0x3EA9F1DA,0x3F476D43,0xBD97B3DB,
+	0xBD16D098,0x3EA9C739,0x3F477FE4,0xBD97B3B4,0xBD16A5EE,0x3EA99C9A,0x3F479282,0xBD97B385,
+	0xBD167B43,0x3EA971FD,0x3F47A51F,0xBD97B34E,0xBD165099,0x3EA94762,0x3F47B7BA,0xBD97B310,
+	0xBD1625EF,0x3EA91CC9,0x3F47CA53,0xBD97B2C9,0xBD15FB45,0x3EA8F233,0x3F47DCEA,0xBD97B27A,
+	0xBD15D09B,0x3EA8C79E,0x3F47EF7F,0xBD97B223,0xBD15A5F1,0x3EA89D0B,0x3F480212,0xBD97B1C4,
+	0xBD157B47,0x3EA8727B,0x3F4814A3,0xBD97B15C,0xBD15509D,0x3EA847EC,0x3F482731,0xBD97B0ED,
+	0xBD1525F4,0x3EA81D60,0x3F4839BE,0xBD97B076,0xBD14FB4B,0x3EA7F2D5,0x3F484C49,0xBD97AFF7,
+	0xBD14D0A2,0x3EA7C84D,0x3F485ED2,0xBD97AF6F,0xBD14A5F9,0x3EA79DC6,0x3F487158,0xBD97AEDF,
+	0xBD147B50,0x3EA77342,0x3F4883DD,0xBD97AE48,0xBD1450A8,0x3EA748C0,0x3F48965F,0xBD97ADA8,
+	0xBD142600,0x3EA71E40,0x3F48A8E0,0xBD97AD00,0xBD13FB58,0x3EA6F3C2,0x3F48BB5E,0xBD97AC50,
+	0xBD13D0B1,0x3EA6C946,0x3F48CDDB,0xBD97AB98,0xBD13A609,0x3EA69ECC,0x3F48E055,0xBD97AAD7,
+	0xBD137B62,0x3EA67455,0x3F48F2CE,0xBD97AA0F,0xBD1350BB,0x3EA649DF,0x3F490544,0xBD97A93E,
+	0xBD132615,0x3EA61F6C,0x3F4917B8,0xBD97A866,0xBD12FB6F,0x3EA5F4FB,0x3F492A2A,0xBD97A785,
+	0xBD12D0C9,0x3EA5CA8B,0x3F493C9A,0xBD97A69C,0xBD12A624,0x3EA5A01E,0x3F494F08,0xBD97A5AA,
+	0xBD127B7E,0x3EA575B3,0x3F496174,0xBD97A4B1,0xBD1250DA,0x3EA54B4B,0x3F4973DE,0xBD97A3AF,
+	0xBD122635,0x3EA520E4,0x3F498646,0xBD97A2A5,0xBD11FB91,0x3EA4F680,0x3F4998AC,0xBD97A193,
+	0xBD11D0EE,0x3EA4CC1D,0x3F49AB0F,0xBD97A079,0xBD11A64B,0x3EA4A1BD,0x3F49BD71,0xBD979F57,
+	0xBD117BA8,0x3EA4775F,0x3F49CFD0,0xBD979E2C,0xBD115106,0x3EA44D03,0x3F49E22E,0xBD979CF9,
+	0xBD112664,0x3EA422A9,0x3F49F489,0xBD979BBE,0xBD10FBC3,0x3EA3F852,0x3F4A06E3,0xBD979A7B,
+	0xBD10D122,0x3EA3CDFD,0x3F4A193A,0xBD97992F,0xBD10A681,0x3EA3A3A9,0x3F4A2B8F,0xBD9797DB,
+	0xBD107BE1,0x3EA37958,0x3F4A3DE2,0xBD97967F,0xBD105142,0x3EA34F0A,0x3F4A5033,0xBD97951B,
+	0xBD1026A3,0x3EA324BD,0x3F4A6281,0xBD9793AE,0xBD0FFC05,0x3EA2FA73,0x3F4A74CE,0xBD97923A,
+	0xBD0FD167,0x3EA2D02B,0x3F4A8719,0xBD9790BD,0xBD0FA6CA,0x3EA2A5E5,0x3F4A9961,0xBD978F37,
+	0xBD0F7C2D,0x3EA27BA1,0x3F4AABA8,0xBD978DAA,0xBD0F5191,0x3EA2515F,0x3F4ABDEC,0xBD978C14,
+	0xBD0F26F5,0x3EA22720,0x3F4AD02E,0xBD978A75,0xBD0EFC5A,0x3EA1FCE3,0x3F4AE26E,0xBD9788CF,
+	0xBD0ED1C0,0x3EA1D2A8,0x3F4AF4AC,0xBD978720,0xBD0EA726,0x3EA1A86F,0x3F4B06E8,0xBD978569,
+	0xBD0E7C8D,0x3EA17E39,0x3F4B1922,0xBD9783A9,0xBD0E51F5,0x3EA15405,0x3F4B2B59,0xBD9781E2,
+	0xBD0E275D,0x3EA129D3,0x3F4B3D8F,0xBD978011,0xBD0DFCC6,0x3EA0FFA3,0x3F4B4FC2,0xBD977E39,
+	0xBD0DD230,0x3EA0D576,0x3F4B61F3,0xBD977C58,0xBD0DA79A,0x3EA0AB4B,0x3F4B7422,0xBD977A6F,
+	0xBD0D7D05,0x3EA08122,0x3F4B864F,0xBD97787E,0xBD0D5271,0x3EA056FB,0x3F4B987A,0xBD977684,
+	0xBD0D27DD,0x3EA02CD7,0x3F4BAAA3,0xBD977481,0xBD0CFD4A,0x3EA002B5,0x3F4BBCC9,0xBD977277,
+	0xBD0CD2B8,0x3E9FD895,0x3F4BCEED,0xBD977064,0xBD0CA827,0x3E9FAE78,0x3F4BE110,0xBD976E48,
+	0xBD0C7D97,0x3E9F845C,0x3F4BF330,0xBD976C25,0xBD0C5307,0x3E9F5A44,0x3F4C054E,0xBD9769F9,
+	0xBD0C2878,0x3E9F302D,0x3F4C176A,0xBD9767C4,0xBD0BFDEA,0x3E9F0619,0x3F4C2983,0xBD976587,
+	0xBD0BD35D,0x3E9EDC07,0x3F4C3B9B,0xBD976342,0xBD0BA8D0,0x3E9EB1F7,0x3F4C4DB0,0xBD9760F4,
+	0xBD0B7E45,0x3E9E87EA,0x3F4C5FC3,0xBD975E9E,0xBD0B53BA,0x3E9E5DDF,0x3F4C71D4,0xBD975C3F,
+	0xBD0B2930,0x3E9E33D6,0x3F4C83E3,0xBD9759D8,0xBD0AFEA7,0x3E9E09D0,0x3F4C95F0,0xBD975768,
+	0xBD0AD41F,0x3E9DDFCC,0x3F4CA7FA,0xBD9754F0,0xBD0AA998,0x3E9DB5CA,0x3F4CBA03,0xBD975270,
+	0xBD0A7F12,0x3E9D8BCB,0x3F4CCC09,0xBD974FE7,0xBD0A548C,0x3E9D61CE,0x3F4CDE0D,0xBD974D56,
+	0xBD0A2A08,0x3E9D37D3,0x3F4CF00F,0xBD974ABC,0xBD09FF84,0x3E9D0DDB,0x3F4D020E,0xBD97481A,
+	0xBD09D502,0x3E9CE3E5,0x3F4D140C,0xBD97456F,0xBD09AA80,0x3E9CB9F1,0x3F4D2607,0xBD9742BC,
+	0xBD098000,0x3E9C9000,0x3F4D3800,0xBD974000,0xBD095581,0x3E9C6611,0x3F4D49F7,0xBD973D3C,
+	0xBD092B02,0x3E9C3C25,0x3F4D5BEC,0xBD973A6F,0xBD090085,0x3E9C123B,0x3F4D6DDE,0xBD97379A,
+	0xBD08D608,0x3E9BE853,0x3F4D7FCE,0xBD9734BC,0xBD08AB8D,0x3E9BBE6E,0x3F4D91BD,0xBD9731D6,
+	0xBD088112,0x3E9B948B,0x3F4DA3A9,0xBD972EE7,0xBD085699,0x3E9B6AAA,0x3F4DB592,0xBD972BEF,
+	0xBD082C21,0x3E9B40CC,0x3F4DC77A,0xBD9728F0,0xBD0801AA,0x3E9B16F1,0x3F4DD95F,0xBD9725E7,
+	0xBD07D734,0x3E9AED17,0x3F4DEB42,0xBD9722D6,0xBD07ACBF,0x3E9AC341,0x3F4DFD23,0xBD971FBC,
+	0xBD07824B,0x3E9A996C,0x3F4E0F02,0xBD971C9A,0xBD0757D9,0x3E9A6F9A,0x3F4E20DE,0xBD971970,
+	0xBD072D67,0x3E9A45CB,0x3F4E32B9,0xBD97163C,0xBD0702F7,0x3E9A1BFE,0x3F4E4491,0xBD971300,
+	0xBD06D888,0x3E99F233,0x3F4E5666,0xBD970FBC,0xBD06AE1A,0x3E99C86B,0x3F4E683A,0xBD970C6F,
+	0xBD0683AD,0x3E999EA5,0x3F4E7A0B,0xBD970919,0xBD065942,0x3E9974E2,0x3F4E8BDB,0xBD9705BB,
+	0xBD062ED8,0x3E994B21,0x3F4E9DA8,0xBD970254,0xBD06046F,0x3E992162,0x3F4EAF72,0xBD96FEE5,
+	0xBD05DA07,0x3E98F7A7,0x3F4EC13B,0xBD96FB6D,0xBD05AFA0,0x3E98CDED,0x3F4ED301,0xBD96F7EC,
+	0xBD05853B,0x3E98A436,0x3F4EE4C5,0xBD96F462,0xBD055AD7,0x3E987A82,0x3F4EF687,0xBD96F0D0,
+	0xBD053074,0x3E9850D0,0x3F4F0846,0xBD96ED36,0xBD050613,0x3E982720,0x3F4F1A03,0xBD96E993,
+	0xBD04DBB3,0x3E97FD73,0x3F4F2BBE,0xBD96E5E7,0xBD04B154,0x3E97D3C9,0x3F4F3D77,0xBD96E232,
+	0xBD0486F7,0x3E97AA21,0x3F4F4F2E,0xBD96DE75,0xBD045C9B,0x3E97807B,0x3F4F60E2,0xBD96DAAF,
+	0xBD043240,0x3E9756D8,0x3F4F7294,0xBD96D6E0,0xBD0407E7,0x3E972D38,0x3F4F8444,0xBD96D309,
+	0xBD03DD8F,0x3E97039A,0x3F4F95F1,0xBD96CF29,0xBD03B338,0x3E96D9FE,0x3F4FA79C,0xBD96CB40,
+	0xBD0388E3,0x3E96B065,0x3F4FB945,0xBD96C74E,0xBD035E8F,0x3E9686CF,0x3F4FCAEC,0xBD96C354,
+	0xBD03343D,0x3E965D3B,0x3F4FDC91,0xBD96BF51,0xBD0309EC,0x3E9633AA,0x3F4FEE33,0xBD96BB46,
+	0xBD02DF9D,0x3E960A1B,0x3F4FFFD3,0xBD96B732,0xBD02B54F,0x3E95E08F,0x3F501170,0xBD96B314,
+	0xBD028B03,0x3E95B705,0x3F50230B,0xBD96AEEF,0xBD0260B8,0x3E958D7E,0x3F5034A5,0xBD96AAC0,
+	0xBD02366E,0x3E9563F9,0x3F50463B,0xBD96A689,0xBD020C26,0x3E953A77,0x3F5057D0,0xBD96A249,
+	0xBD01E1E0,0x3E9510F8,0x3F506962,0xBD969E00,0xBD01B79B,0x3E94E77B,0x3F507AF2,0xBD9699AE,
+	0xBD018D58,0x3E94BE01,0x3F508C80,0xBD969554,0xBD016316,0x3E949489,0x3F509E0B,0xBD9690F1,
+	0xBD0138D6,0x3E946B14,0x3F50AF94,0xBD968C85,0xBD010E98,0x3E9441A2,0x3F50C11B,0xBD968810,
+	0xBD00E45B,0x3E941832,0x3F50D29F,0xBD968393,0xBD00BA1F,0x3E93EEC5,0x3F50E421,0xBD967F0C,
+	0xBD008FE6,0x3E93C55A,0x3F50F5A1,0xBD967A7D,0xBD0065AD,0x3E939BF2,0x3F51071E,0xBD9675E5,
+	0xBD003B77,0x3E93728D,0x3F51189A,0xBD967144,0xBD001142,0x3E93492A,0x3F512A13,0xBD966C9B,
+	0xBCFFCE1E,0x3E931FCA,0x3F513B89,0xBD9667E8,0xBCFF79BB,0x3E92F66C,0x3F514CFD,0xBD96632D,
+	0xBCFF255C,0x3E92CD11,0x3F515E6F,0xBD965E69,0xBCFED100,0x3E92A3B9,0x3F516FDF,0xBD96599C,
+	0xBCFE7CA7,0x3E927A63,0x3F51814C,0xBD9654C6,0xBCFE2852,0x3E925110,0x3F5192B7,0xBD964FE8,
+	0xBCFDD400,0x3E9227C0,0x3F51A420,0xBD964B00,0xBCFD7FB2,0x3E91FE72,0x3F51B586,0xBD964610,
+	0xBCFD2B67,0x3E91D527,0x3F51C6EA,0xBD964116,0xBCFCD720,0x3E91ABDF,0x3F51D84C,0xBD963C14,
+	0xBCFC82DC,0x3E918299,0x3F51E9AB,0xBD963709,0xBCFC2E9C,0x3E915956,0x3F51FB08,0xBD9631F5,
+	0xBCFBDA60,0x3E913016,0x3F520C63,0xBD962CD8,0xBCFB8627,0x3E9106D8,0x3F521DBB,0xBD9627B2,
+	0xBCFB31F2,0x3E90DD9D,0x3F522F11,0xBD962284,0xBCFADDC1,0x3E90B465,0x3F524065,0xBD961D4C,
+	0xBCFA8993,0x3E908B30,0x3F5251B6,0xBD96180B,0xBCFA3569,0x3E9061FD,0x3F526305,0xBD9612C2,
+	0xBCF9E143,0x3E9038CD,0x3F527452,0xBD960D6F,0xBCF98D20,0x3E900F9F,0x3F52859C,0xBD960814,
+	0xBCF93902,0x3E8FE674,0x3F5296E4,0xBD9602B0,0xBCF8E4E7,0x3E8FBD4C,0x3F52A829,0xBD95FD42,
+	0xBCF890D0,0x3E8F9427,0x3F52B96C,0xBD95F7CC,0xBCF83CBD,0x3E8F6B04,0x3F52CAAD,0xBD95F24D,
+	0xBCF7E8AE,0x3E8F41E5,0x3F52DBEC,0xBD95ECC5,0xBCF794A3,0x3E8F18C7,0x3F52ED28,0xBD95E733,
+	0xBCF7409B,0x3E8EEFAD,0x3F52FE61,0xBD95E199,0xBCF6EC98,0x3E8EC695,0x3F530F99,0xBD95DBF6,
+	0xBCF69899,0x3E8E9D81,0x3F5320CE,0xBD95D64A,0xBCF6449D,0x3E8E746E,0x3F533200,0xBD95D095,
+	0xBCF5F0A6,0x3E8E4B5F,0x3F534330,0xBD95CAD6,0xBCF59CB3,0x3E8E2253,0x3F53545E,0xBD95C50F,
+	0xBCF548C4,0x3E8DF949,0x3F53658A,0xBD95BF3F,0xBCF4F4D9,0x3E8DD042,0x3F5376B3,0xBD95B966,
+	0xBCF4A0F2,0x3E8DA73D,0x3F5387D9,0xBD95B384,0xBCF44D0F,0x3E8D7E3C,0x3F5398FE,0xBD95AD98,
+	0xBCF3F930,0x3E8D553D,0x3F53AA1F,0xBD95A7A4,0xBCF3A556,0x3E8D2C41,0x3F53BB3F,0xBD95A1A6,
+	0xBCF35180,0x3E8D0348,0x3F53CC5C,0xBD959BA0,0xBCF2FDAE,0x3E8CDA52,0x3F53DD77,0xBD959590,
+	0xBCF2A9E1,0x3E8CB15E,0x3F53EE8F,0xBD958F78,0xBCF25617,0x3E8C886D,0x3F53FFA5,0xBD958956,
+	0xBCF20252,0x3E8C5F7F,0x3F5410B8,0xBD95832B,0xBCF1AE92,0x3E8C3694,0x3F5421C9,0xBD957CF8,
+	0xBCF15AD5,0x3E8C0DAC,0x3F5432D8,0xBD9576BB,0xBCF1071D,0x3E8BE4C7,0x3F5443E4,0xBD957075,
+	0xBCF0B36A,0x3E8BBBE4,0x3F5454EE,0xBD956A26,0xBCF05FBB,0x3E8B9304,0x3F5465F5,0xBD9563CD,
+	0xBCF00C10,0x3E8B6A27,0x3F5476FA,0xBD955D6C,0xBCEFB86A,0x3E8B414D,0x3F5487FD,0xBD955701,
+	0xBCEF64C9,0x3E8B1876,0x3F5498FD,0xBD95508E,0xBCEF112C,0x3E8AEFA1,0x3F54A9FB,0xBD954A11,
+	0xBCEEBD93,0x3E8AC6D0,0x3F54BAF6,0xBD95438B,0xBCEE69FF,0x3E8A9E01,0x3F54CBEF,0xBD953CFC,
+	0xBCEE1670,0x3E8A7535,0x3F54DCE6,0xBD953664,0xBCEDC2E5,0x3E8A4C6C,0x3F54EDDA,0xBD952FC3,
+	0xBCED6F5F,0x3E8A23A6,0x3F54FECB,0xBD952918,0xBCED1BDE,0x3E89FAE3,0x3F550FBA,0xBD952265,
+	0xBCECC861,0x3E89D222,0x3F5520A7,0xBD951BA8,0xBCEC74E9,0x3E89A965,0x3F553191,0xBD9514E2,
+	0xBCEC2176,0x3E8980AA,0x3F554279,0xBD950E12,0xBCEBCE08,0x3E8957F2,0x3F55535E,0xBD95073A,
+	0xBCEB7A9E,0x3E892F3E,0x3F556441,0xBD950058,0xBCEB2739,0x3E89068C,0x3F557522,0xBD94F96E,
+	0xBCEAD3D9,0x3E88DDDD,0x3F558600,0xBD94F27A,0xBCEA807E,0x3E88B531,0x3F5596DB,0xBD94EB7C,
+	0xBCEA2D28,0x3E888C87,0x3F55A7B4,0xBD94E476,0xBCE9D9D6,0x3E8863E1,0x3F55B88B,0xBD94DD66,
+	0xBCE9868A,0x3E883B3E,0x3F55C95F,0xBD94D64E,0xBCE93342,0x3E88129D,0x3F55DA31,0xBD94CF2B,
+	0xBCE8E000,0x3E87EA00,0x3F55EB00,0xBD94C800,0xBCE88CC3,0x3E87C165,0x3F55FBCD,0xBD94C0CB,
+	0xBCE8398A,0x3E8798CE,0x3F560C97,0xBD94B98D,0xBCE7E657,0x3E877039,0x3F561D5F,0xBD94B246,
+	0xBCE79328,0x3E8747A8,0x3F562E24,0xBD94AAF6,0xBCE73FFF,0x3E871F19,0x3F563EE7,0xBD94A39C,
+	0xBCE6ECDB,0x3E86F68D,0x3F564FA7,0xBD949C39,0xBCE699BC,0x3E86CE04,0x3F566065,0xBD9494CD,
+	0xBCE646A2,0x3E86A57E,0x3F567121,0xBD948D58,0xBCE5F38D,0x3E867CFC,0x3F5681DA,0xBD9485D9,
+	0xBCE5A07E,0x3E86547C,0x3F569290,0xBD947E51,0xBCE54D74,0x3E862BFF,0x3F56A344,0xBD9476BF,
+	0xBCE4FA6F,0x3E860385,0x3F56B3F6,0xBD946F24,0xBCE4A76F,0x3E85DB0E,0x3F56C4A5,0xBD946780,
+	0xBCE45475,0x3E85B29A,0x3F56D551,0xBD945FD3,0xBCE40180,0x3E858A29,0x3F56E5FB,0xBD94581C,
+	0xBCE3AE90,0x3E8561BB,0x3F56F6A2,0xBD94505C,0xBCE35BA6,0x3E853950,0x3F570747,0xBD944893,
+	0xBCE308C1,0x3E8510E8,0x3F5717EA,0xBD9440C0,0xBCE2B5E1,0x3E84E883,0x3F57288A,0xBD9438E4,
+	0xBCE26307,0x3E84C021,0x3F573927,0xBD9430FE,0xBCE21033,0x3E8497C3,0x3F5749C2,0xBD94290F,
+	0xBCE1BD64,0x3E846F67,0x3F575A5B,0xBD942117,0xBCE16A9A,0x3E84470E,0x3F576AF1,0xBD941915,
+	0xBCE117D6,0x3E841EB8,0x3F577B84,0xBD94110A,0xBCE0C518,0x3E83F665,0x3F578C15,0xBD9408F6,
+	0xBCE0725F,0x3E83CE16,0x3F579CA3,0xBD9400D8,0xBCE01FAB,0x3E83A5C9,0x3F57AD2F,0xBD93F8B1,
+	0xBCDFCCFE,0x3E837D80,0x3F57BDB8,0xBD93F081,0xBCDF7A56,0x3E835539,0x3F57CE3F,0xBD93E847,
+	0xBCDF27B3,0x3E832CF6,0x3F57DEC3,0xBD93E003,0xBCDED517,0x3E8304B5,0x3F57EF45,0xBD93D7B6,
+	0xBCDE8280,0x3E82DC78,0x3F57FFC4,0xBD93CF60,0xBCDE2FEF,0x3E82B43E,0x3F581041,0xBD93C700,
+	0xBCDDDD64,0x3E828C07,0x3F5820BB,0xBD93BE97,0xBCDD8ADE,0x3E8263D3,0x3F583132,0xBD93B625,
+	0xBCDD385E,0x3E823BA2,0x3F5841A7,0xBD93ADA8,0xBCDCE5E4,0x3E821374,0x3F58521A,0xBD93A523,
+	0xBCDC9370,0x3E81EB49,0x3F586289,0xBD939C94,0xBCDC4102,0x3E81C321,0x3F5872F7,0xBD9393FB,
+	0xBCDBEE9A,0x3E819AFD,0x3F588362,0xBD938B5A,0xBCDB9C38,0x3E8172DB,0x3F5893CA,0xBD9382AE,
+	0xBCDB49DB,0x3E814ABD,0x3F58A42F,0xBD9379F9,0xBCDAF785,0x3E8122A2,0x3F58B493,0xBD93713B,
+	0xBCDAA535,0x3E80FA8A,0x3F58C4F3,0xBD936873,0xBCDA52EA,0x3E80D275,0x3F58D551,0xBD935FA1,
+	0xBCDA00A6,0x3E80AA63,0x3F58E5AC,0xBD9356C6,0xBCD9AE68,0x3E808255,0x3F58F605,0xBD934DE2,
+	0xBCD95C30,0x3E805A49,0x3F59065C,0xBD9344F4,0xBCD909FE,0x3E803241,0x3F5916AF,0xBD933BFC,
+	0xBCD8B7D2,0x3E800A3B,0x3F592700,0xBD9332FB,0xBCD865AD,0x3E7FC473,0x3F59374F,0xBD9329F1,
+	0xBCD8138D,0x3E7F7475,0x3F59479B,0xBD9320DD,0xBCD7C174,0x3E7F247E,0x3F5957E4,0xBD9317BF,
+	0xBCD76F61,0x3E7ED48C,0x3F59682B,0xBD930E98,0xBCD71D54,0x3E7E84A2,0x3F59786F,0xBD930567,
+	0xBCD6CB4E,0x3E7E34BD,0x3F5988B1,0xBD92FC2C,0xBCD6794E,0x3E7DE4DF,0x3F5998F0,0xBD92F2E9,
+	0xBCD62754,0x3E7D9508,0x3F59A92C,0xBD92E99B,0xBCD5D561,0x3E7D4536,0x3F59B966,0xBD92E044,
+	0xBCD58374,0x3E7CF56B,0x3F59C99D,0xBD92D6E3,0xBCD5318D,0x3E7CA5A7,0x3F59D9D2,0xBD92CD79,
+	0xBCD4DFAD,0x3E7C55E9,0x3F59EA04,0xBD92C405,0xBCD48DD3,0x3E7C0631,0x3F59FA33,0xBD92BA87,
+	0xBCD43C00,0x3E7BB680,0x3F5A0A60,0xBD92B100,0xBCD3EA33,0x3E7B66D5,0x3F5A1A8A,0xBD92A76F,
+	0xBCD3986D,0x3E7B1731,0x3F5A2AB2,0xBD929DD5,0xBCD346AD,0x3E7AC793,0x3F5A3AD7,0xBD929431,
+	0xBCD2F4F4,0x3E7A77FC,0x3F5A4AF9,0xBD928A83,0xBCD2A342,0x3E7A286B,0x3F5A5B19,0xBD9280CC,
+	0xBCD25196,0x3E79D8E0,0x3F5A6B36,0xBD92770B,0xBCD1FFF1,0x3E79895C,0x3F5A7B50,0xBD926D40,
+	0xBCD1AE52,0x3E7939DF,0x3F5A8B68,0xBD92636C,0xBCD15CBA,0x3E78EA68,0x3F5A9B7E,0xBD92598D,
+	0xBCD10B29,0x3E789AF7,0x3F5AAB90,0xBD924FA6,0xBCD0B99E,0x3E784B8D,0x3F5ABBA0,0xBD9245B4,
+	0xBCD0681B,0x3E77FC2A,0x3F5ACBAD,0xBD923BB9,0xBCD0169E,0x3E77ACCD,0x3F5ADBB8,0xBD9231B5,
+	0xBCCFC528,0x3E775D77,0x3F5AEBC0,0xBD9227A6,0xBCCF73B8,0x3E770E27,0x3F5AFBC6,0xBD921D8E,
+	0xBCCF2250,0x3E76BEDE,0x3F5B0BC8,0xBD92136C,0xBCCED0EE,0x3E766F9B,0x3F5B1BC9,0xBD920940,
+	0xBCCE7F94,0x3E76205F,0x3F5B2BC6,0xBD91FF0B,0xBCCE2E40,0x3E75D12A,0x3F5B3BC1,0xBD91F4CC,
+	0xBCCDDCF3,0x3E7581FB,0x3F5B4BB9,0xBD91EA83,0xBCCD8BAD,0x3E7532D3,0x3F5B5BAF,0xBD91E031,
+	0xBCCD3A6F,0x3E74E3B1,0x3F5B6BA2,0xBD91D5D4,0xBCCCE937,0x3E749497,0x3F5B7B92,0xBD91CB6E,
+	0xBCCC9806,0x3E744582,0x3F5B8B7F,0xBD91C0FE,0xBCCC46DC,0x3E73F675,0x3F5B9B6A,0xBD91B685,
+	0xBCCBF5BA,0x3E73A76E,0x3F5BAB53,0xBD91AC02,0xBCCBA49E,0x3E73586D,0x3F5BBB38,0xBD91A174,
+	0xBCCB538A,0x3E730974,0x3F5BCB1B,0xBD9196DE,0xBCCB027D,0x3E72BA81,0x3F5BDAFB,0xBD918C3D,
+	0xBCCAB176,0x3E726B94,0x3F5BEAD9,0xBD918192,0xBCCA6078,0x3E721CAF,0x3F5BFAB4,0xBD9176DE,
+	0xBCCA0F80,0x3E71CDD0,0x3F5C0A8C,0xBD916C20,0xBCC9BE90,0x3E717EF8,0x3F5C1A62,0xBD916158,
+	0xBCC96DA7,0x3E713026,0x3F5C2A34,0xBD915686,0xBCC91CC5,0x3E70E15C,0x3F5C3A05,0xBD914BAB,
+	0xBCC8CBEA,0x3E709298,0x3F5C49D2,0xBD9140C5,0xBCC87B17,0x3E7043DB,0x3F5C599D,0xBD9135D6,
+	0xBCC82A4B,0x3E6FF524,0x3F5C6965,0xBD912ADD,0xBCC7D987,0x3E6FA675,0x3F5C792A,0xBD911FDA,
+	0xBCC788CA,0x3E6F57CC,0x3F5C88ED,0xBD9114CE,0xBCC73814,0x3E6F092A,0x3F5C98AD,0xBD9109B7,
+	0xBCC6E766,0x3E6EBA8E,0x3F5CA86A,0xBD90FE96,0xBCC696C0,0x3E6E6BFA,0x3F5CB825,0xBD90F36C,
+	0xBCC64621,0x3E6E1D6C,0x3F5CC7DD,0xBD90E838,0xBCC5F589,0x3E6DCEE5,0x3F5CD792,0xBD90DCFA,
+	0xBCC5A4F9,0x3E6D8065,0x3F5CE745,0xBD90D1B2,0xBCC55471,0x3E6D31EC,0x3F5CF6F4,0xBD90C660,
+	0xBCC503F0,0x3E6CE37A,0x3F5D06A2,0xBD90BB04,0xBCC4B377,0x3E6C950F,0x3F5D164C,0xBD90AF9E,
+	0xBCC46305,0x3E6C46AA,0x3F5D25F4,0xBD90A42F,0xBCC4129B,0x3E6BF84C,0x3F5D3598,0xBD9098B5,
+	0xBCC3C239,0x3E6BA9F5,0x3F5D453B,0xBD908D32,0xBCC371DF,0x3E6B5BA6,0x3F5D54DA,0xBD9081A4,
+	0xBCC3218C,0x3E6B0D5D,0x3F5D6477,0xBD90760D,0xBCC2D141,0x3E6ABF1A,0x3F5D7411,0xBD906A6C,
+	0xBCC280FE,0x3E6A70DF,0x3F5D83A8,0xBD905EC0,0xBCC230C3,0x3E6A22AB,0x3F5D933D,0xBD90530B,
+	0xBCC1E08F,0x3E69D47E,0x3F5DA2CF,0xBD90474C,0xBCC19064,0x3E698657,0x3F5DB25E,0xBD903B83,
+	0xBCC14040,0x3E693838,0x3F5DC1EA,0xBD902FB0,0xBCC0F024,0x3E68EA1F,0x3F5DD174,0xBD9023D3,
+	0xBCC0A010,0x3E689C0E,0x3F5DE0FB,0xBD9017EC,0xBCC05004,0x3E684E03,0x3F5DF07F,0xBD900BFB,
+	0xBCC00000,0x3E680000,0x3F5E0000,0xBD900000,0xBCBFB004,0x3E67B204,0x3F5E0F7F,0xBD8FF3FB,
+	0xBCBF6010,0x3E67640E,0x3F5E1EFA,0xBD8FE7EC,0xBCBF1024,0x3E671620,0x3F5E2E74,0xBD8FDBD3,
+	0xBCBEC040,0x3E66C838,0x3F5E3DEA,0xBD8FCFB0,0xBCBE7064,0x3E667A58,0x3F5E4D5E,0xBD8FC383,
+	0xBCBE2091,0x3E662C7E,0x3F5E5CCE,0xBD8FB74C,0xBCBDD0C5,0x3E65DEAC,0x3F5E6C3C,0xBD8FAB0B,
+	0xBCBD8102,0x3E6590E1,0x3F5E7BA8,0xBD8F9EC0,0xBCBD3147,0x3E65431D,0x3F5E8B10,0xBD8F926A,
+	0xBCBCE194,0x3E64F55F,0x3F5E9A76,0xBD8F860B,0xBCBC91E9,0x3E64A7A9,0x3F5EA9D9,0xBD8F79A2,
+	0xBCBC4247,0x3E6459FB,0x3F5EB939,0xBD8F6D2E,0xBCBBF2AD,0x3E640C53,0x3F5EC897,0xBD8F60B1,
+	0xBCBBA31B,0x3E63BEB2,0x3F5ED7F1,0xBD8F5429,0xBCBB5391,0x3E637118,0x3F5EE749,0xBD8F4798,
+	0xBCBB0410,0x3E632386,0x3F5EF69E,0xBD8F3AFC,0xBCBAB497,0x3E62D5FB,0x3F5F05F1,0xBD8F2E56,
+	0xBCBA6527,0x3E628877,0x3F5F1540,0xBD8F21A6,0xBCBA15BF,0x3E623AFA,0x3F5F248D,0xBD8F14EC,
+	0xBCB9C65F,0x3E61ED84,0x3F5F33D7,0xBD8F0828,0xBCB97708,0x3E61A015,0x3F5F431E,0xBD8EFB5A,
+	0xBCB927BA,0x3E6152AE,0x3F5F5263,0xBD8EEE82,0xBCB8D874,0x3E61054D,0x3F5F61A4,0xBD8EE19F,
+	0xBCB88936,0x3E60B7F4,0x3F5F70E3,0xBD8ED4B2,0xBCB83A01,0x3E606AA2,0x3F5F801F,0xBD8EC7BC,
+	0xBCB7EAD5,0x3E601D58,0x3F5F8F58,0xBD8EBABB,0xBCB79BB1,0x3E5FD014,0x3F5F9E8E,0xBD8EADB0,
+	0xBCB74C96,0x3E5F82D8,0x3F5FADC2,0xBD8EA09B,0xBCB6FD83,0x3E5F35A3,0x3F5FBCF3,0xBD8E937B,
+	0xBCB6AE79,0x3E5EE876,0x3F5FCC21,0xBD8E8652,0xBCB65F78,0x3E5E9B4F,0x3F5FDB4C,0xBD8E791E,
+	0xBCB61080,0x3E5E4E30,0x3F5FEA74,0xBD8E6BE0,0xBCB5C190,0x3E5E0118,0x3F5FF999,0xBD8E5E98,
+	0xBCB572AA,0x3E5DB408,0x3F6008BC,0xBD8E5146,0xBCB523CB,0x3E5D66FE,0x3F6017DC,0xBD8E43E9,
+	0xBCB4D4F6,0x3E5D19FC,0x3F6026F9,0xBD8E3682,0xBCB4862A,0x3E5CCD02,0x3F603613,0xBD8E2912,
+	0xBCB43766,0x3E5C800E,0x3F60452A,0xBD8E1B96,0xBCB3E8AC,0x3E5C3322,0x3F60543F,0xBD8E0E11,
+	0xBCB399FA,0x3E5BE63E,0x3F606351,0xBD8E0082,0xBCB34B51,0x3E5B9960,0x3F60725F,0xBD8DF2E8,
+	0xBCB2FCB1,0x3E5B4C8B,0x3F60816B,0xBD8DE544,0xBCB2AE1B,0x3E5AFFBC,0x3F609075,0xBD8DD795,
+	0xBCB25F8D,0x3E5AB2F5,0x3F609F7B,0xBD8DC9DD,0xBCB21108,0x3E5A6635,0x3F60AE7E,0xBD8DBC1A,
+	0xBCB1C28C,0x3E5A197D,0x3F60BD7F,0xBD8DAE4D,0xBCB1741A,0x3E59CCCC,0x3F60CC7D,0xBD8DA076,
+	0xBCB125B0,0x3E598022,0x3F60DB78,0xBD8D9294,0xBCB0D750,0x3E593380,0x3F60EA70,0xBD8D84A8,
+	0xBCB088F8,0x3E58E6E5,0x3F60F965,0xBD8D76B2,0xBCB03AAA,0x3E589A52,0x3F610857,0xBD8D68B1,
+	0xBCAFEC65,0x3E584DC6,0x3F611747,0xBD8D5AA7,0xBCAF9E2A,0x3E580142,0x3F612633,0xBD8D4C92,
+	0xBCAF4FF7,0x3E57B4C5,0x3F61351D,0xBD8D3E72,0xBCAF01CE,0x3E57684F,0x3F614404,0xBD8D3049,
+	0xBCAEB3AE,0x3E571BE1,0x3F6152E8,0xBD8D2214,0xBCAE6597,0x3E56CF7B,0x3F6161C9,0xBD8D13D6,
+	0xBCAE178A,0x3E56831C,0x3F6170A7,0xBD8D058D,0xBCADC986,0x3E5636C4,0x3F617F82,0xBD8CF73A,
+	0xBCAD7B8C,0x3E55EA74,0x3F618E5B,0xBD8CE8DD,0xBCAD2D9B,0x3E559E2C,0x3F619D31,0xBD8CDA75,
+	0xBCACDFB3,0x3E5551EB,0x3F61AC03,0xBD8CCC03,0xBCAC91D5,0x3E5505B2,0x3F61BAD3,0xBD8CBD87,
+	0xBCAC4400,0x3E54B980,0x3F61C9A0,0xBD8CAF00,0xBCABF635,0x3E546D56,0x3F61D86A,0xBD8CA06F,
+	0xBCABA873,0x3E542133,0x3F61E731,0xBD8C91D3,0xBCAB5ABB,0x3E53D518,0x3F61F5F5,0xBD8C832D,
+	0xBCAB0D0C,0x3E538905,0x3F6204B7,0xBD8C747D,0xBCAABF67,0x3E533CF9,0x3F621375,0xBD8C65C2,
+	0xBCAA71CC,0x3E52F0F4,0x3F622231,0xBD8C56FD,0xBCAA243A,0x3E52A4F8,0x3F6230EA,0xBD8C482D,
+	0xBCA9D6B2,0x3E525903,0x3F623F9F,0xBD8C3954,0xBCA98934,0x3E520D15,0x3F624E52,0xBD8C2A6F,
+	0xBCA93BBF,0x3E51C130,0x3F625D02,0xBD8C1B80,0xBCA8EE54,0x3E517551,0x3F626BAF,0xBD8C0C87,
+	0xBCA8A0F3,0x3E51297B,0x3F627A59,0xBD8BFD83,0xBCA8539B,0x3E50DDAC,0x3F628900,0xBD8BEE75,
+	0xBCA8064E,0x3E5091E5,0x3F6297A5,0xBD8BDF5D,0xBCA7B90A,0x3E504626,0x3F62A646,0xBD8BD03A,
+	0xBCA76BD0,0x3E4FFA6E,0x3F62B4E4,0xBD8BC10C,0xBCA71EA0,0x3E4FAEBE,0x3F62C380,0xBD8BB1D4,
+	0xBCA6D17A,0x3E4F6316,0x3F62D219,0xBD8BA292,0xBCA6845E,0x3E4F1775,0x3F62E0AE,0xBD8B9345,
+	0xBCA6374B,0x3E4ECBDC,0x3F62EF41,0xBD8B83ED,0xBCA5EA43,0x3E4E804B,0x3F62FDD1,0xBD8B748B,
+	0xBCA59D45,0x3E4E34C2,0x3F630C5E,0xBD8B651F,0xBCA55050,0x3E4DE940,0x3F631AE7,0xBD8B55A8,
+	0xBCA50366,0x3E4D9DC6,0x3F63296E,0xBD8B4626,0xBCA4B686,0x3E4D5254,0x3F6337F2,0xBD8B369B,
+	0xBCA469B0,0x3E4D06EA,0x3F634674,0xBD8B2704,0xBCA41CE4,0x3E4CBB87,0x3F6354F2,0xBD8B1763,
+	0xBCA3D022,0x3E4C702D,0x3F63636D,0xBD8B07B8,0xBCA3836A,0x3E4C24DA,0x3F6371E5,0xBD8AF801,
+	0xBCA336BC,0x3E4BD98F,0x3F63805A,0xBD8AE841,0xBCA2EA19,0x3E4B8E4B,0x3F638ECD,0xBD8AD876,
+	0xBCA29D80,0x3E4B4310,0x3F639D3C,0xBD8AC8A0,0xBCA250F1,0x3E4AF7DC,0x3F63ABA8,0xBD8AB8C0,
+	0xBCA2046D,0x3E4AACB1,0x3F63BA12,0xBD8AA8D5,0xBCA1B7F2,0x3E4A618D,0x3F63C878,0xBD8A98DF,
+	0xBCA16B82,0x3E4A1671,0x3F63D6DC,0xBD8A88DF,0xBCA11F1D,0x3E49CB5D,0x3F63E53C,0xBD8A78D5,
+	0xBCA0D2C1,0x3E498051,0x3F63F39A,0xBD8A68C0,0xBCA08670,0x3E49354C,0x3F6401F4,0xBD8A58A0,
+	0xBCA03A2A,0x3E48EA50,0x3F64104C,0xBD8A4876,0xBC9FEDEE,0x3E489F5B,0x3F641EA1,0xBD8A3841,
+	0xBC9FA1BC,0x3E48546F,0x3F642CF2,0xBD8A2801,0xBC9F5595,0x3E48098A,0x3F643B41,0xBD8A17B7,
+	0xBC9F0979,0x3E47BEAD,0x3F64498D,0xBD8A0762,0xBC9EBD67,0x3E4773D9,0x3F6457D5,0xBD89F702,
+	0xBC9E715F,0x3E47290C,0x3F64661B,0xBD89E698,0xBC9E2562,0x3E46DE47,0x3F64745E,0xBD89D623,
+	0xBC9DD970,0x3E46938A,0x3F64829E,0xBD89C5A4,0xBC9D8D88,0x3E4648D5,0x3F6490DA,0xBD89B51A,
+	0xBC9D41AB,0x3E45FE28,0x3F649F14,0xBD89A485,0xBC9CF5D9,0x3E45B383,0x3F64AD4B,0xBD8993E6,
+	0xBC9CAA11,0x3E4568E6,0x3F64BB7E,0xBD89833C,0xBC9C5E54,0x3E451E52,0x3F64C9AF,0xBD897287,
+	0xBC9C12A2,0x3E44D3C5,0x3F64D7DD,0xBD8961C7,0xBC9BC6FB,0x3E448940,0x3F64E608,0xBD8950FD,
+	0xBC9B7B5E,0x3E443EC3,0x3F64F42F,0xBD894028,0xBC9B2FCC,0x3E43F44F,0x3F650254,0xBD892F49,
+	0xBC9AE445,0x3E43A9E2,0x3F651076,0xBD891E5F,0xBC9A98C9,0x3E435F7D,0x3F651E94,0xBD890D6A,
+	0xBC9A4D58,0x3E431521,0x3F652CB0,0xBD88FC6A,0xBC9A01F1,0x3E42CACD,0x3F653AC8,0xBD88EB60,
+	0xBC99B696,0x3E428080,0x3F6548DE,0xBD88DA4B,0xBC996B45,0x3E42363C,0x3F6556F0,0xBD88C92B,
+	0xBC992000,0x3E41EC00,0x3F656500,0xBD88B800,0xBC98D4C6,0x3E41A1CC,0x3F65730C,0xBD88A6CB,
+	0xBC988996,0x3E4157A0,0x3F658116,0xBD88958A,0xBC983E72,0x3E410D7D,0x3F658F1C,0xBD888440,
+	0xBC97F358,0x3E40C361,0x3F659D20,0xBD8872EA,0xBC97A84A,0x3E40794E,0x3F65AB20,0xBD88618A,
+	0xBC975D47,0x3E402F43,0x3F65B91D,0xBD88501E,0xBC97124F,0x3E3FE540,0x3F65C718,0xBD883EA8,
+	0xBC96C762,0x3E3F9B45,0x3F65D50F,0xBD882D28,0xBC967C80,0x3E3F5152,0x3F65E303,0xBD881B9C,
+	0xBC9631AA,0x3E3F0768,0x3F65F0F4,0xBD880A06,0xBC95E6DF,0x3E3EBD86,0x3F65FEE2,0xBD87F864,
+	0xBC959C1F,0x3E3E73AC,0x3F660CCD,0xBD87E6B8,0xBC95516A,0x3E3E29DA,0x3F661AB5,0xBD87D501,
+	0xBC9506C1,0x3E3DE010,0x3F66289A,0xBD87C340,0xBC94BC23,0x3E3D964F,0x3F66367C,0xBD87B173,
+	0xBC947190,0x3E3D4C96,0x3F66445A,0xBD879F9C,0xBC942709,0x3E3D02E5,0x3F665236,0xBD878DBA,
+	0xBC93DC8D,0x3E3CB93D,0x3F66600F,0xBD877BCD,0xBC93921C,0x3E3C6F9D,0x3F666DE4,0xBD8769D5,
+	0xBC9347B7,0x3E3C2605,0x3F667BB7,0xBD8757D2,0xBC92FD5E,0x3E3BDC75,0x3F668986,0xBD8745C5,
+	0xBC92B310,0x3E3B92EE,0x3F669753,0xBD8733AC,0xBC9268CD,0x3E3B496F,0x3F66A51C,0xBD872189,
+	0xBC921E96,0x3E3AFFF8,0x3F66B2E2,0xBD870F5A,0xBC91D46B,0x3E3AB68A,0x3F66C0A5,0xBD86FD21,
+	0xBC918A4B,0x3E3A6D24,0x3F66CE65,0xBD86EADD,0xBC914036,0x3E3A23C6,0x3F66DC22,0xBD86D88E,
+	0xBC90F62E,0x3E39DA71,0x3F66E9DC,0xBD86C635,0xBC90AC31,0x3E399124,0x3F66F792,0xBD86B3D0,
+	0xBC90623F,0x3E3947E0,0x3F670546,0xBD86A160,0xBC90185A,0x3E38FEA4,0x3F6712F7,0xBD868EE6,
+	0xBC8FCE80,0x3E38B570,0x3F6720A4,0xBD867C60,0xBC8F84B2,0x3E386C45,0x3F672E4E,0xBD8669D0,
+	0xBC8F3AF0,0x3E382322,0x3F673BF6,0xBD865734,0xBC8EF139,0x3E37DA07,0x3F67499A,0xBD86448E,
+	0xBC8EA78E,0x3E3790F5,0x3F67573B,0xBD8631DC,0xBC8E5DEF,0x3E3747EC,0x3F6764D9,0xBD861F20,
+	0xBC8E145C,0x3E36FEEB,0x3F677273,0xBD860C59,0xBC8DCAD5,0x3E36B5F2,0x3F67800B,0xBD85F987,
+	0xBC8D815A,0x3E366D02,0x3F678DA0,0xBD85E6AA,0xBC8D37EB,0x3E36241A,0x3F679B31,0xBD85D3C1,
+	0xBC8CEE87,0x3E35DB3B,0x3F67A8BF,0xBD85C0CE,0xBC8CA530,0x3E359264,0x3F67B64A,0xBD85ADD0,
+	0xBC8C5BE5,0x3E354996,0x3F67C3D3,0xBD859AC7,0xBC8C12A5,0x3E3500D0,0x3F67D157,0xBD8587B3,
+	0xBC8BC972,0x3E34B813,0x3F67DED9,0xBD857493,0xBC8B804B,0x3E346F5E,0x3F67EC58,0xBD856169,
+	0xBC8B3730,0x3E3426B2,0x3F67F9D4,0xBD854E34,0xBC8AEE21,0x3E33DE0E,0x3F68074C,0xBD853AF4,
+	0xBC8AA51E,0x3E339573,0x3F6814C1,0xBD8527A8,0xBC8A5C28,0x3E334CE1,0x3F682233,0xBD851452,
+	0xBC8A133D,0x3E330457,0x3F682FA2,0xBD8500F1,0xBC89CA5F,0x3E32BBD6,0x3F683D0E,0xBD84ED84,
+	0xBC89818D,0x3E32735D,0x3F684A77,0xBD84DA0D,0xBC8938C7,0x3E322AED,0x3F6857DC,0xBD84C68A,
+	0xBC88F00E,0x3E31E285,0x3F68653F,0xBD84B2FC,0xBC88A761,0x3E319A26,0x3F68729E,0xBD849F64,
+	0xBC885EC0,0x3E3151D0,0x3F687FFA,0xBD848BC0,0xBC88162C,0x3E310982,0x3F688D53,0xBD847811,
+	0xBC87CDA4,0x3E30C13D,0x3F689AA9,0xBD846457,0xBC878528,0x3E307901,0x3F68A7FB,0xBD845092,
+	0xBC873CB9,0x3E3030CD,0x3F68B54B,0xBD843CC2,0xBC86F456,0x3E2FE8A2,0x3F68C297,0xBD8428E6,
+	0xBC86AC00,0x3E2FA080,0x3F68CFE0,0xBD841500,0xBC8663B6,0x3E2F5866,0x3F68DD26,0xBD84010E,
+	0xBC861B79,0x3E2F1055,0x3F68EA69,0xBD83ED12,0xBC85D348,0x3E2EC84D,0x3F68F7A8,0xBD83D90A,
+	0xBC858B24,0x3E2E804E,0x3F6904E5,0xBD83C4F7,0xBC85430D,0x3E2E3857,0x3F69121E,0xBD83B0D9,
+	0xBC84FB02,0x3E2DF069,0x3F691F54,0xBD839CB0,0xBC84B304,0x3E2DA883,0x3F692C87,0xBD83887B,
+	0xBC846B12,0x3E2D60A7,0x3F6939B6,0xBD83743C,0xBC84232D,0x3E2D18D3,0x3F6946E3,0xBD835FF1,
+	0xBC83DB55,0x3E2CD108,0x3F69540C,0xBD834B9B,0xBC839389,0x3E2C8946,0x3F696132,0xBD83373A,
+	0xBC834BCB,0x3E2C418C,0x3F696E55,0xBD8322CD,0xBC830419,0x3E2BF9DB,0x3F697B75,0xBD830E56,
+	0xBC82BC74,0x3E2BB233,0x3F698891,0xBD82F9D3,0xBC8274DB,0x3E2B6A94,0x3F6995AA,0xBD82E545,
+	0xBC822D50,0x3E2B22FE,0x3F69A2C0,0xBD82D0AC,0xBC81E5D1,0x3E2ADB71,0x3F69AFD3,0xBD82BC08,
+	0xBC819E60,0x3E2A93EC,0x3F69BCE3,0xBD82A758,0xBC8156FB,0x3E2A4C70,0x3F69C9EF,0xBD82929D,
+	0xBC810FA3,0x3E2A04FD,0x3F69D6F9,0xBD827DD7,0xBC80C858,0x3E29BD93,0x3F69E3FF,0xBD826906,
+	0xBC80811B,0x3E297632,0x3F69F102,0xBD825429,0xBC8039EA,0x3E292EDA,0x3F69FE01,0xBD823F42,
+	0xBC7FE58C,0x3E28E78A,0x3F6A0AFD,0xBD822A4E,0xBC7F575F,0x3E28A044,0x3F6A17F7,0xBD821550,
+	0xBC7EC94B,0x3E285906,0x3F6A24EC,0xBD820047,0xBC7E3B52,0x3E2811D1,0x3F6A31DF,0xBD81EB32,
+	0xBC7DAD74,0x3E27CAA6,0x3F6A3ECF,0xBD81D612,0xBC7D1FAF,0x3E278383,0x3F6A4BBB,0xBD81C0E6,
+	0xBC7C9205,0x3E273C69,0x3F6A58A4,0xBD81ABAF,0xBC7C0475,0x3E26F558,0x3F6A658A,0xBD81966D,
+	0xBC7B7700,0x3E26AE50,0x3F6A726C,0xBD818120,0xBC7AE9A5,0x3E266751,0x3F6A7F4B,0xBD816BC7,
+	0xBC7A5C65,0x3E26205B,0x3F6A8C27,0xBD815663,0xBC79CF3F,0x3E25D96E,0x3F6A9900,0xBD8140F4,
+	0xBC794234,0x3E25928A,0x3F6AA5D6,0xBD812B79,0xBC78B544,0x3E254BAF,0x3F6AB2A8,0xBD8115F3,
+	0xBC78286F,0x3E2504DD,0x3F6ABF77,0xBD810062,0xBC779BB4,0x3E24BE14,0x3F6ACC43,0xBD80EAC6,
+	0xBC770F14,0x3E247754,0x3F6AD90B,0xBD80D51E,0xBC76828F,0x3E24309D,0x3F6AE5D0,0xBD80BF6A,
+	0xBC75F625,0x3E23E9EF,0x3F6AF292,0xBD80A9AB,0xBC7569D6,0x3E23A34A,0x3F6AFF51,0xBD8093E1,
+	0xBC74DDA2,0x3E235CAE,0x3F6B0C0C,0xBD807E0C,0xBC745188,0x3E23161C,0x3F6B18C5,0xBD80682B,
+	0xBC73C58A,0x3E22CF92,0x3F6B257A,0xBD80523F,0xBC7339A8,0x3E228911,0x3F6B322B,0xBD803C47,
+	0xBC72ADE0,0x3E22429A,0x3F6B3EDA,0xBD802644,0xBC722234,0x3E21FC2C,0x3F6B4B85,0xBD801036,
+	0xBC7196A3,0x3E21B5C6,0x3F6B582C,0xBD7FF437,0xBC710B2D,0x3E216F6A,0x3F6B64D1,0xBD7FC7ED,
+	0xBC707FD2,0x3E212917,0x3F6B7172,0xBD7F9B8B,0xBC6FF494,0x3E20E2CE,0x3F6B7E10,0xBD7F6F13,
+	0xBC6F6970,0x3E209C8D,0x3F6B8AAB,0xBD7F4284,0xBC6EDE68,0x3E205656,0x3F6B9742,0xBD7F15DE,
+	0xBC6E537C,0x3E201027,0x3F6BA3D6,0xBD7EE921,0xBC6DC8AB,0x3E1FCA02,0x3F6BB067,0xBD7EBC4D,
+	0xBC6D3DF6,0x3E1F83E6,0x3F6BBCF4,0xBD7E8F62,0xBC6CB35D,0x3E1F3DD3,0x3F6BC97F,0xBD7E6261,
+	0xBC6C28E0,0x3E1EF7CA,0x3F6BD606,0xBD7E3548,0xBC6B9E7E,0x3E1EB1CA,0x3F6BE289,0xBD7E0819,
+	0xBC6B1438,0x3E1E6BD2,0x3F6BEF09,0xBD7DDAD2,0xBC6A8A0E,0x3E1E25E5,0x3F6BFB86,0xBD7DAD75,
+	0xBC6A0000,0x3E1DE000,0x3F6C0800,0xBD7D8000,0xBC69760E,0x3E1D9A25,0x3F6C1476,0xBD7D5274,
+	0xBC68EC38,0x3E1D5453,0x3F6C20E9,0xBD7D24D2,0xBC68627E,0x3E1D0E8A,0x3F6C2D59,0xBD7CF718,
+	0xBC67D8E0,0x3E1CC8CA,0x3F6C39C5,0xBD7CC948,0xBC674F5F,0x3E1C8314,0x3F6C462F,0xBD7C9B60,
+	0xBC66C5FA,0x3E1C3D67,0x3F6C5294,0xBD7C6D62,0xBC663CB1,0x3E1BF7C3,0x3F6C5EF7,0xBD7C3F4C,
+	0xBC65B384,0x3E1BB229,0x3F6C6B56,0xBD7C111F,0xBC652A74,0x3E1B6C98,0x3F6C77B2,0xBD7BE2DB,
+	0xBC64A180,0x3E1B2710,0x3F6C840A,0xBD7BB480,0xBC6418A8,0x3E1AE192,0x3F6C905F,0xBD7B860E,
+	0xBC638FEE,0x3E1A9C1D,0x3F6C9CB1,0xBD7B5785,0xBC63074F,0x3E1A56B1,0x3F6CA8FF,0xBD7B28E4,
+	0xBC627ECD,0x3E1A114F,0x3F6CB54A,0xBD7AFA2D,0xBC61F668,0x3E19CBF6,0x3F6CC192,0xBD7ACB5E,
+	0xBC616E20,0x3E1986A6,0x3F6CCDD6,0xBD7A9C78,0xBC60E5F4,0x3E194160,0x3F6CDA18,0xBD7A6D7B,
+	0xBC605DE6,0x3E18FC23,0x3F6CE655,0xBD7A3E67,0xBC5FD5F4,0x3E18B6F0,0x3F6CF290,0xBD7A0F3B,
+	0xBC5F4E1E,0x3E1871C6,0x3F6CFEC7,0xBD79DFF8,0xBC5EC666,0x3E182CA5,0x3F6D0AFA,0xBD79B09E,
+	0xBC5E3ECB,0x3E17E78E,0x3F6D172A,0xBD79812D,0xBC5DB74D,0x3E17A280,0x3F6D2357,0xBD7951A5,
+	0xBC5D2FEC,0x3E175D7C,0x3F6D2F81,0xBD792205,0xBC5CA8A8,0x3E171882,0x3F6D3BA7,0xBD78F24E,
+	0xBC5C2181,0x3E16D390,0x3F6D47CA,0xBD78C280,0xBC5B9A78,0x3E168EA8,0x3F6D53E9,0xBD78929A,
+	0xBC5B138C,0x3E1649CA,0x3F6D6005,0xBD78629D,0xBC5A8CBD,0x3E1604F5,0x3F6D6C1E,0xBD783289,
+	0xBC5A060B,0x3E15C02A,0x3F6D7833,0xBD78025D,0xBC597F77,0x3E157B68,0x3F6D8445,0xBD77D21A,
+	0xBC58F900,0x3E1536B0,0x3F6D9054,0xBD77A1C0,0xBC5872A7,0x3E14F201,0x3F6D9C5F,0xBD77714E,
+	0xBC57EC6B,0x3E14AD5C,0x3F6DA867,0xBD7740C5,0xBC57664D,0x3E1468C0,0x3F6DB46B,0xBD771025,
+	0xBC56E04C,0x3E14242E,0x3F6DC06C,0xBD76DF6D,0xBC565A6A,0x3E13DFA6,0x3F6DCC6A,0xBD76AE9E,
+	0xBC55D4A5,0x3E139B27,0x3F6DD864,0xBD767DB7,0xBC554EFD,0x3E1356B2,0x3F6DE45B,0xBD764CB9,
+	0xBC54C974,0x3E131246,0x3F6DF04F,0xBD761BA3,0xBC544408,0x3E12CDE4,0x3F6DFC3F,0xBD75EA76,
+	0xBC53BEBB,0x3E12898B,0x3F6E082B,0xBD75B931,0xBC53398B,0x3E12453C,0x3F6E1414,0xBD7587D5,
+	0xBC52B47A,0x3E1200F7,0x3F6E1FFA,0xBD755662,0xBC522F86,0x3E11BCBB,0x3F6E2BDD,0xBD7524D7,
+	0xBC51AAB0,0x3E117889,0x3F6E37BC,0xBD74F334,0xBC5125F9,0x3E113461,0x3F6E4397,0xBD74C17A,
+	0xBC50A160,0x3E10F042,0x3F6E4F70,0xBD748FA8,0xBC501CE5,0x3E10AC2D,0x3F6E5B44,0xBD745DBF,
+	0xBC4F9889,0x3E106822,0x3F6E6716,0xBD742BBE,0xBC4F144A,0x3E102420,0x3F6E72E4,0xBD73F9A5,
+	0xBC4E902A,0x3E0FE028,0x3F6E7EAE,0xBD73C775,0xBC4E0C29,0x3E0F9C3A,0x3F6E8A75,0xBD73952E,
+	0xBC4D8846,0x3E0F5855,0x3F6E9639,0xBD7362CE,0xBC4D0482,0x3E0F147A,0x3F6EA1F9,0xBD733058,
+	0xBC4C80DC,0x3E0ED0A9,0x3F6EADB6,0xBD72FDC9,0xBC4BFD55,0x3E0E8CE2,0x3F6EB96F,0xBD72CB23,
+	0xBC4B79EC,0x3E0E4924,0x3F6EC525,0xBD729865,0xBC4AF6A3,0x3E0E0570,0x3F6ED0D7,0xBD72658F,
+	0xBC4A7378,0x3E0DC1C6,0x3F6EDC86,0xBD7232A2,0xBC49F06B,0x3E0D7E26,0x3F6EE832,0xBD71FF9D,
+	0xBC496D7E,0x3E0D3A90,0x3F6EF3DA,0xBD71CC81,0xBC48EAAF,0x3E0CF703,0x3F6EFF7F,0xBD71994C,
+	0xBC486800,0x3E0CB380,0x3F6F0B20,0xBD716600,0xBC47E570,0x3E0C7007,0x3F6F16BE,0xBD71329C,
+	0xBC4762FE,0x3E0C2C98,0x3F6F2258,0xBD70FF20,0xBC46E0AC,0x3E0BE932,0x3F6F2DEF,0xBD70CB8D,
+	0xBC465E78,0x3E0BA5D7,0x3F6F3982,0xBD7097E2,0xBC45DC64,0x3E0B6285,0x3F6F4512,0xBD70641F,
+	0xBC455A70,0x3E0B1F3D,0x3F6F509F,0xBD703044,0xBC44D89A,0x3E0ADBFF,0x3F6F5C28,0xBD6FFC51,
+	0xBC4456E4,0x3E0A98CB,0x3F6F67AD,0xBD6FC847,0xBC43D54D,0x3E0A55A0,0x3F6F732F,0xBD6F9425,
+	0xBC4353D6,0x3E0A1280,0x3F6F7EAE,0xBD6F5FEB,0xBC42D27E,0x3E09CF6A,0x3F6F8A29,0xBD6F2B99,
+	0xBC425146,0x3E098C5D,0x3F6F95A1,0xBD6EF72F,0xBC41D02D,0x3E09495A,0x3F6FA115,0xBD6EC2AD,
+	0xBC414F33,0x3E090662,0x3F6FAC86,0xBD6E8E13,0xBC40CE5A,0x3E08C373,0x3F6FB7F3,0xBD6E5962,
+	0xBC404DA0,0x3E08808E,0x3F6FC35C,0xBD6E2498,0xBC3FCD06,0x3E083DB3,0x3F6FCEC3,0xBD6DEFB7,
+	0xBC3F4C8C,0x3E07FAE2,0x3F6FDA25,0xBD6DBABD,0xBC3ECC31,0x3E07B81B,0x3F6FE585,0xBD6D85AC,
+	0xBC3E4BF6,0x3E07755E,0x3F6FF0E0,0xBD6D5082,0xBC3DCBDC,0x3E0732AB,0x3F6FFC39,0xBD6D1B41,
+	0xBC3D4BE1,0x3E06F002,0x3F70078D,0xBD6CE5E8,0xBC3CCC07,0x3E06AD63,0x3F7012DF,0xBD6CB076,
+	0xBC3C4C4C,0x3E066ACE,0x3F701E2C,0xBD6C7AED,0xBC3BCCB2,0x3E062843,0x3F702977,0xBD6C454C,
+	0xBC3B4D37,0x3E05E5C2,0x3F7034BD,0xBD6C0F92,0xBC3ACDDD,0x3E05A34B,0x3F704001,0xBD6BD9C1,
+	0xBC3A4EA4,0x3E0560DF,0x3F704B40,0xBD6BA3D7,0xBC39CF8A,0x3E051E7C,0x3F70567D,0xBD6B6DD5,
+	0xBC395091,0x3E04DC23,0x3F7061B5,0xBD6B37BC,0xBC38D1B8,0x3E0499D5,0x3F706CEA,0xBD6B018A,
+	0xBC385300,0x3E045790,0x3F70781C,0xBD6ACB40,0xBC37D468,0x3E041556,0x3F70834A,0xBD6A94DE,
+	0xBC3755F1,0x3E03D325,0x3F708E75,0xBD6A5E64,0xBC36D79A,0x3E0390FF,0x3F70999C,0xBD6A27D1,
+	0xBC365964,0x3E034EE3,0x3F70A4BF,0xBD69F127,0xBC35DB4F,0x3E030CD1,0x3F70AFDF,0xBD69BA64,
+	0xBC355D5B,0x3E02CAC9,0x3F70BAFC,0xBD698389,0xBC34DF87,0x3E0288CB,0x3F70C615,0xBD694C96,
+	0xBC3461D4,0x3E0246D8,0x3F70D12A,0xBD69158B,0xBC33E442,0x3E0204EE,0x3F70DC3C,0xBD68DE68,
+	0xBC3366D1,0x3E01C30F,0x3F70E74A,0xBD68A72C,0xBC32E981,0x3E01813A,0x3F70F255,0xBD686FD8,
+	0xBC326C52,0x3E013F6F,0x3F70FD5C,0xBD68386C,0xBC31EF43,0x3E00FDAF,0x3F710860,0xBD6800E7,
+	0xBC317256,0x3E00BBF8,0x3F711360,0xBD67C94A,0xBC30F58B,0x3E007A4C,0x3F711E5D,0xBD679195,
+	0xBC3078E0,0x3E0038AA,0x3F712956,0xBD6759C8,0xBC2FFC57,0x3DFFEE24,0x3F71344B,0xBD6721E2,
+	0xBC2F7FEF,0x3DFF6B09,0x3F713F3D,0xBD66E9E4,0xBC2F03A8,0x3DFEE803,0x3F714A2B,0xBD66B1CE,
+	0xBC2E8782,0x3DFE6511,0x3F715516,0xBD66799F,0xBC2E0B7F,0x3DFDE233,0x3F715FFD,0xBD664158,
+	0xBC2D8F9C,0x3DFD5F6B,0x3F716AE1,0xBD6608F9,0xBC2D13DB,0x3DFCDCB6,0x3F7175C1,0xBD65D081,
+	0xBC2C983C,0x3DFC5A16,0x3F71809D,0xBD6597F1,0xBC2C1CBE,0x3DFBD78B,0x3F718B76,0xBD655F48,
+	0xBC2BA162,0x3DFB5515,0x3F71964B,0xBD652687,0xBC2B2628,0x3DFAD2B3,0x3F71A11D,0xBD64EDAE,
+	0xBC2AAB10,0x3DFA5066,0x3F71ABEB,0xBD64B4BC,0xBC2A3019,0x3DF9CE2D,0x3F71B6B6,0xBD647BB2,
+	0xBC29B544,0x3DF94C09,0x3F71C17D,0xBD64428F,0xBC293A91,0x3DF8C9FA,0x3F71CC40,0xBD640954,
+	0xBC28C000,0x3DF84800,0x3F71D700,0xBD63D000,0xBC284591,0x3DF7C61A,0x3F71E1BC,0xBD639694,
+	0xBC27CB44,0x3DF7444A,0x3F71EC75,0xBD635D0F,0xBC275119,0x3DF6C28D,0x3F71F72A,0xBD632372,
+	0xBC26D710,0x3DF640E6,0x3F7201DB,0xBD62E9BC,0xBC265D2A,0x3DF5BF54,0x3F720C89,0xBD62AFEE,
+	0xBC25E366,0x3DF53DD6,0x3F721733,0xBD627607,0xBC2569C4,0x3DF4BC6D,0x3F7221DA,0xBD623C07,
+	0xBC24F044,0x3DF43B1A,0x3F722C7D,0xBD6201EF,0xBC2476E7,0x3DF3B9DB,0x3F72371C,0xBD61C7BE,
+	0xBC23FDAC,0x3DF338B0,0x3F7241B8,0xBD618D75,0xBC238493,0x3DF2B79B,0x3F724C50,0xBD615313,
+	0xBC230B9E,0x3DF2369B,0x3F7256E5,0xBD611899,0xBC2292CA,0x3DF1B5B0,0x3F726176,0xBD60DE05,
+	0xBC221A19,0x3DF134DA,0x3F726C03,0xBD60A35A,0xBC21A18B,0x3DF0B418,0x3F72768C,0xBD606895,
+	0xBC212920,0x3DF0336C,0x3F728112,0xBD602DB8,0xBC20B0D7,0x3DEFB2D5,0x3F728B95,0xBD5FF2C2,
+	0xBC2038B2,0x3DEF3253,0x3F729614,0xBD5FB7B4,0xBC1FC0AF,0x3DEEB1E5,0x3F72A08F,0xBD5F7C8C,
+	0xBC1F48CE,0x3DEE318D,0x3F72AB06,0xBD5F414C,0xBC1ED111,0x3DEDB14B,0x3F72B57A,0xBD5F05F4,
+	0xBC1E5977,0x3DED311D,0x3F72BFEA,0xBD5ECA82,0xBC1DE200,0x3DECB104,0x3F72CA57,0xBD5E8EF8,
+	0xBC1D6AAC,0x3DEC3100,0x3F72D4C0,0xBD5E5355,0xBC1CF37B,0x3DEBB112,0x3F72DF25,0xBD5E1799,
+	0xBC1C7C6D,0x3DEB3139,0x3F72E987,0xBD5DDBC5,0xBC1C0583,0x3DEAB175,0x3F72F3E5,0xBD5D9FD7,
+	0xBC1B8EBC,0x3DEA31C6,0x3F72FE3F,0xBD5D63D1,0xBC1B1818,0x3DE9B22D,0x3F730896,0xBD5D27B2,
+	0xBC1AA197,0x3DE932A9,0x3F7312E9,0xBD5CEB7A,0xBC1A2B3A,0x3DE8B33A,0x3F731D38,0xBD5CAF2A,
+	0xBC19B500,0x3DE833E0,0x3F732784,0xBD5C72C0,0xBC193EEA,0x3DE7B49C,0x3F7331CC,0xBD5C363E,
+	0xBC18C8F7,0x3DE7356D,0x3F733C10,0xBD5BF9A2,0xBC185328,0x3DE6B653,0x3F734651,0xBD5BBCEE,
+	0xBC17DD7C,0x3DE6374F,0x3F73508E,0xBD5B8021,0xBC1767F5,0x3DE5B860,0x3F735AC8,0xBD5B433B,
+	0xBC16F291,0x3DE53986,0x3F7364FD,0xBD5B063C,0xBC167D50,0x3DE4BAC2,0x3F736F2F,0xBD5AC924,
+	0xBC160834,0x3DE43C14,0x3F73795E,0xBD5A8BF3,0xBC15933B,0x3DE3BD7A,0x3F738388,0xBD5A4EA9,
+	0xBC151E67,0x3DE33EF7,0x3F738DAF,0xBD5A1146,0xBC14A9B6,0x3DE2C088,0x3F7397D2,0xBD59D3CA,
+	0xBC14352A,0x3DE24230,0x3F73A1F2,0xBD599636,0xBC13C0C1,0x3DE1C3EC,0x3F73AC0E,0xBD595888,
+	0xBC134C7C,0x3DE145BF,0x3F73B626,0xBD591AC1,0xBC12D85C,0x3DE0C7A7,0x3F73C03B,0xBD58DCE1,
+	0xBC126460,0x3DE049A4,0x3F73CA4C,0xBD589EE8,0xBC11F088,0x3DDFCBB7,0x3F73D459,0xBD5860D6,
+	0xBC117CD5,0x3DDF4DE0,0x3F73DE62,0xBD5822AB,0xBC110945,0x3DDED01E,0x3F73E868,0xBD57E467,
+	0xBC1095DA,0x3DDE5272,0x3F73F26A,0xBD57A609,0xBC102294,0x3DDDD4DC,0x3F73FC68,0xBD576793,
+	0xBC0FAF72,0x3DDD575B,0x3F740663,0xBD572903,0xBC0F3C75,0x3DDCD9F0,0x3F74105A,0xBD56EA5B,
+	0xBC0EC99C,0x3DDC5C9A,0x3F741A4D,0xBD56AB99,0xBC0E56E8,0x3DDBDF5B,0x3F74243C,0xBD566CBE,
+	0xBC0DE458,0x3DDB6231,0x3F742E28,0xBD562DCA,0xBC0D71EE,0x3DDAE51D,0x3F743810,0xBD55EEBD,
+	0xBC0CFFA8,0x3DDA681F,0x3F7441F4,0xBD55AF96,0xBC0C8D86,0x3DD9EB36,0x3F744BD5,0xBD557056,
+	0xBC0C1B8A,0x3DD96E64,0x3F7455B2,0xBD5530FE,0xBC0BA9B2,0x3DD8F1A7,0x3F745F8B,0xBD54F18B,
+	0xBC0B3800,0x3DD87500,0x3F746960,0xBD54B200,0xBC0AC673,0x3DD7F86F,0x3F747332,0xBD54725B,
+	0xBC0A550A,0x3DD77BF4,0x3F747D00,0xBD54329D,0xBC09E3C7,0x3DD6FF8F,0x3F7486CA,0xBD53F2C6,
+	0xBC0972A8,0x3DD6833F,0x3F749090,0xBD53B2D6,0xBC0901AF,0x3DD60706,0x3F749A53,0xBD5372CC,
+	0xBC0890DC,0x3DD58AE2,0x3F74A412,0xBD5332A9,0xBC08202D,0x3DD50ED5,0x3F74ADCD,0xBD52F26D,
+	0xBC07AFA4,0x3DD492DE,0x3F74B784,0xBD52B217,0xBC073F40,0x3DD416FC,0x3F74C138,0xBD5271A8,
+	0xBC06CF02,0x3DD39B31,0x3F74CAE8,0xBD523120,0xBC065EE9,0x3DD31F7B,0x3F74D494,0xBD51F07E,
+	0xBC05EEF6,0x3DD2A3DC,0x3F74DE3C,0xBD51AFC3,0xBC057F28,0x3DD22853,0x3F74E7E1,0xBD516EEE,
+	0xBC050F7F,0x3DD1ACE0,0x3F74F182,0xBD512E00,0xBC049FFD,0x3DD13183,0x3F74FB1F,0xBD50ECF9,
+	0xBC0430A0,0x3DD0B63C,0x3F7504B8,0xBD50ABD8,0xBC03C169,0x3DD03B0B,0x3F750E4E,0xBD506A9E,
+	0xBC035258,0x3DCFBFF1,0x3F7517E0,0xBD50294A,0xBC02E36C,0x3DCF44ED,0x3F75216E,0xBD4FE7DD,
+	0xBC0274A6,0x3DCEC9FE,0x3F752AF8,0xBD4FA656,0xBC020607,0x3DCE4F27,0x3F75347F,0xBD4F64B6,
+	0xBC01978D,0x3DCDD465,0x3F753E01,0xBD4F22FD,0xBC01293A,0x3DCD59BA,0x3F754780,0xBD4EE12A,
+	0xBC00BB0C,0x3DCCDF24,0x3F7550FB,0xBD4E9F3D,0xBC004D05,0x3DCC64A6,0x3F755A73,0xBD4E5D37,
+	0xBBFFBE47,0x3DCBEA3D,0x3F7563E6,0xBD4E1B17,0xBBFEE2D1,0x3DCB6FEB,0x3F756D56,0xBD4DD8DE,
+	0xBBFE07A7,0x3DCAF5AF,0x3F7576C2,0xBD4D968B,0xBBFD2CCA,0x3DCA7B8A,0x3F75802A,0xBD4D541F,
+	0xBBFC523A,0x3DCA017B,0x3F75898F,0xBD4D1199,0xBBFB77F6,0x3DC98782,0x3F7592EF,0xBD4CCEF9,
+	0xBBFA9E00,0x3DC90DA0,0x3F759C4C,0xBD4C8C40,0xBBF9C457,0x3DC893D4,0x3F75A5A5,0xBD4C496D,
+	0xBBF8EAFA,0x3DC81A1F,0x3F75AEFA,0xBD4C0681,0xBBF811EB,0x3DC7A080,0x3F75B84B,0xBD4BC37B,
+	0xBBF73929,0x3DC726F8,0x3F75C199,0xBD4B805B,0xBBF660B4,0x3DC6AD86,0x3F75CAE3,0xBD4B3D21,
+	0xBBF5888D,0x3DC6342B,0x3F75D429,0xBD4AF9CE,0xBBF4B0B4,0x3DC5BAE6,0x3F75DD6B,0xBD4AB662,
+	0xBBF3D928,0x3DC541B8,0x3F75E6A9,0xBD4A72DB,0xBBF301EA,0x3DC4C8A0,0x3F75EFE4,0xBD4A2F3B,
+	0xBBF22AFA,0x3DC44F9F,0x3F75F91A,0xBD49EB81,0xBBF15457,0x3DC3D6B4,0x3F76024D,0xBD49A7AD,
+	0xBBF07E03,0x3DC35DE1,0x3F760B7C,0xBD4963C0,0xBBEFA7FD,0x3DC2E523,0x3F7614A7,0xBD491FB8,
+	0xBBEED245,0x3DC26C7D,0x3F761DCE,0xBD48DB97,0xBBEDFCDB,0x3DC1F3ED,0x3F7626F2,0xBD48975D,
+	0xBBED27C0,0x3DC17B74,0x3F763012,0xBD485308,0xBBEC52F3,0x3DC10312,0x3F76392D,0xBD480E9A,
+	0xBBEB7E75,0x3DC08AC6,0x3F764245,0xBD47CA11,0xBBEAAA46,0x3DC01291,0x3F764B59,0xBD47856F,
+	0xBBE9D665,0x3DBF9A73,0x3F76546A,0xBD4740B3,0xBBE902D3,0x3DBF226C,0x3F765D76,0xBD46FBDE,
+	0xBBE82F90,0x3DBEAA7B,0x3F76667F,0xBD46B6EE,0xBBE75C9D,0x3DBE32A1,0x3F766F83,0xBD4671E4,
+	0xBBE689F8,0x3DBDBADE,0x3F767884,0xBD462CC1,0xBBE5B7A3,0x3DBD4332,0x3F768181,0xBD45E784,
+	0xBBE4E59D,0x3DBCCB9D,0x3F768A7A,0xBD45A22C,0xBBE413E6,0x3DBC541F,0x3F769370,0xBD455CBB,
+	0xBBE3427F,0x3DBBDCB8,0x3F769C61,0xBD451730,0xBBE27168,0x3DBB6567,0x3F76A54F,0xBD44D18B,
+	0xBBE1A0A0,0x3DBAEE2E,0x3F76AE38,0xBD448BCC,0xBBE0D028,0x3DBA770B,0x3F76B71E,0xBD4445F3,
+	0xBBE00000,0x3DBA0000,0x3F76C000,0xBD440000,0xBBDF3028,0x3DB9890C,0x3F76C8DE,0xBD43B9F3,
+	0xBBDE60A0,0x3DB9122E,0x3F76D1B8,0xBD4373CC,0xBBDD9168,0x3DB89B68,0x3F76DA8F,0xBD432D8B,
+	0xBBDCC281,0x3DB824B8,0x3F76E361,0xBD42E730,0xBBDBF3EA,0x3DB7AE20,0x3F76EC30,0xBD42A0BB,
+	0xBBDB25A3,0x3DB7379F,0x3F76F4FA,0xBD425A2C,0xBBDA57AD,0x3DB6C135,0x3F76FDC1,0xBD421382,
+	0xBBD98A08,0x3DB64AE2,0x3F770684,0xBD41CCBF,0xBBD8BCB3,0x3DB5D4A6,0x3F770F43,0xBD4185E2,
+	0xBBD7EFB0,0x3DB55E81,0x3F7717FE,0xBD413EEA,0xBBD722FD,0x3DB4E873,0x3F7720B5,0xBD40F7D8,
+	0xBBD6569B,0x3DB4727D,0x3F772968,0xBD40B0AD,0xBBD58A8A,0x3DB3FC9E,0x3F773218,0xBD406967,
+	0xBBD4BECB,0x3DB386D6,0x3F773AC3,0xBD402207,0xBBD3F35D,0x3DB31125,0x3F77436B,0xBD3FDA8C,
+	0xBBD32840,0x3DB29B8C,0x3F774C0E,0xBD3F92F8,0xBBD25D75,0x3DB2260A,0x3F7754AE,0xBD3F4B49,
+	0xBBD192FB,0x3DB1B09F,0x3F775D4A,0xBD3F0381,0xBBD0C8D3,0x3DB13B4C,0x3F7765E2,0xBD3EBB9E,
+	0xBBCFFEFD,0x3DB0C60F,0x3F776E76,0xBD3E73A0,0xBBCF3579,0x3DB050EB,0x3F777706,0xBD3E2B89,
+	0xBBCE6C46,0x3DAFDBDD,0x3F777F92,0xBD3DE357,0xBBCDA366,0x3DAF66E7,0x3F77881B,0xBD3D9B0B,
+	0xBBCCDAD8,0x3DAEF208,0x3F77909F,0xBD3D52A5,0xBBCC129C,0x3DAE7D41,0x3F77991F,0xBD3D0A24,
+	0xBBCB4AB3,0x3DAE0891,0x3F77A19C,0xBD3CC18A,0xBBCA831C,0x3DAD93F9,0x3F77AA14,0xBD3C78D5,
+	0xBBC9BBD7,0x3DAD1F78,0x3F77B289,0xBD3C3005,0xBBC8F4E5,0x3DACAB0F,0x3F77BAFA,0xBD3BE71B,
+	0xBBC82E46,0x3DAC36BD,0x3F77C366,0xBD3B9E17,0xBBC767F9,0x3DABC283,0x3F77CBCF,0xBD3B54F9,
+	0xBBC6A200,0x3DAB4E60,0x3F77D434,0xBD3B0BC0,0xBBC5DC5A,0x3DAADA55,0x3F77DC95,0xBD3AC26D,
+	0xBBC51706,0x3DAA6661,0x3F77E4F2,0xBD3A78FF,0xBBC45206,0x3DA9F285,0x3F77ED4B,0xBD3A2F77,
+	0xBBC38D59,0x3DA97EC1,0x3F77F5A0,0xBD39E5D5,0xBBC2C8FF,0x3DA90B14,0x3F77FDF1,0xBD399C18,
+	0xBBC204F9,0x3DA8977F,0x3F78063E,0xBD395241,0xBBC14147,0x3DA82401,0x3F780E87,0xBD39084F,
+	0xBBC07DE8,0x3DA7B09C,0x3F7816CD,0xBD38BE43,0xBBBFBADD,0x3DA73D4D,0x3F781F0E,0xBD38741C,
+	0xBBBEF826,0x3DA6CA17,0x3F78274B,0xBD3829DB,0xBBBE35C2,0x3DA656F8,0x3F782F84,0xBD37DF80,
+	0xBBBD73B3,0x3DA5E3F2,0x3F7837BA,0xBD37950A,0xBBBCB1F8,0x3DA57102,0x3F783FEB,0xBD374A79,
+	0xBBBBF091,0x3DA4FE2B,0x3F784819,0xBD36FFCE,0xBBBB2F7E,0x3DA48B6C,0x3F785042,0xBD36B508,
+	0xBBBA6EC0,0x3DA418C4,0x3F785868,0xBD366A28,0xBBB9AE56,0x3DA3A634,0x3F786089,0xBD361F2D,
+	0xBBB8EE41,0x3DA333BC,0x3F7868A6,0xBD35D418,0xBBB82E81,0x3DA2C15C,0x3F7870C0,0xBD3588E8,
+	0xBBB76F15,0x3DA24F14,0x3F7878D6,0xBD353D9D,0xBBB6AFFE,0x3DA1DCE4,0x3F7880E7,0xBD34F238,
+	0xBBB5F13C,0x3DA16ACB,0x3F7888F5,0xBD34A6B8,0xBBB532D0,0x3DA0F8CB,0x3F7890FE,0xBD345B1E,
+	0xBBB474B8,0x3DA086E2,0x3F789904,0xBD340F69,0xBBB3B6F6,0x3DA01512,0x3F78A105,0xBD33C399,
+	0xBBB2F989,0x3D9FA35A,0x3F78A903,0xBD3377AF,0xBBB23C71,0x3D9F31B9,0x3F78B0FC,0xBD332BAA,
+	0xBBB17FAF,0x3D9EC031,0x3F78B8F2,0xBD32DF8A,0xBBB0C343,0x3D9E4EC0,0x3F78C0E3,0xBD329350,
+	0xBBB0072C,0x3D9DDD68,0x3F78C8D1,0xBD3246FB,0xBBAF4B6B,0x3D9D6C28,0x3F78D0BA,0xBD31FA8B,
+	0xBBAE9000,0x3D9CFB00,0x3F78D8A0,0xBD31AE00,0xBBADD4EB,0x3D9C89F0,0x3F78E081,0xBD31615B,
+	0xBBAD1A2C,0x3D9C18F8,0x3F78E85F,0xBD31149A,0xBBAC5FC3,0x3D9BA819,0x3F78F038,0xBD30C7C0,
+	0xBBABA5B1,0x3D9B3751,0x3F78F80E,0xBD307ACA,0xBBAAEBF5,0x3D9AC6A2,0x3F78FFDF,0xBD302DB9,
+	0xBBAA328F,0x3D9A560B,0x3F7907AD,0xBD2FE08E,0xBBA97980,0x3D99E58C,0x3F790F76,0xBD2F9348,
+	0xBBA8C0C8,0x3D997526,0x3F79173B,0xBD2F45E7,0xBBA80866,0x3D9904D7,0x3F791EFD,0xBD2EF86B,
+	0xBBA7505C,0x3D9894A1,0x3F7926BA,0xBD2EAAD5,0xBBA698A8,0x3D982483,0x3F792E73,0xBD2E5D23,
+	0xBBA5E14B,0x3D97B47E,0x3F793628,0xBD2E0F57,0xBBA52A45,0x3D974491,0x3F793DD9,0xBD2DC16F,
+	0xBBA47397,0x3D96D4BC,0x3F794586,0xBD2D736D,0xBBA3BD40,0x3D966500,0x3F794D30,0xBD2D2550,
+	0xBBA30740,0x3D95F55C,0x3F7954D4,0xBD2CD718,0xBBA25198,0x3D9585D0,0x3F795C75,0xBD2C88C5,
+	0xBBA19C47,0x3D95165D,0x3F796412,0xBD2C3A57,0xBBA0E74E,0x3D94A703,0x3F796BAB,0xBD2BEBCE,
+	0xBBA032AD,0x3D9437C0,0x3F797340,0xBD2B9D2A,0xBB9F7E64,0x3D93C897,0x3F797AD1,0xBD2B4E6C,
+	0xBB9ECA72,0x3D935985,0x3F79825D,0xBD2AFF92,0xBB9E16D9,0x3D92EA8D,0x3F7989E6,0xBD2AB09D,
+	0xBB9D6398,0x3D927BAC,0x3F79916A,0xBD2A618D,0xBB9CB0AF,0x3D920CE5,0x3F7998EB,0xBD2A1262,
+	0xBB9BFE1F,0x3D919E36,0x3F79A067,0xBD29C31C,0xBB9B4BE7,0x3D912F9F,0x3F79A7E0,0xBD2973BB,
+	0xBB9A9A07,0x3D90C121,0x3F79AF54,0xBD29243F,0xBB99E880,0x3D9052BC,0x3F79B6C4,0xBD28D4A8,
+	0xBB993752,0x3D8FE46F,0x3F79BE30,0xBD2884F6,0xBB98867C,0x3D8F763B,0x3F79C598,0xBD283528,
+	0xBB97D600,0x3D8F0820,0x3F79CCFC,0xBD27E540,0xBB9725DD,0x3D8E9A1D,0x3F79D45C,0xBD27953C,
+	0xBB967612,0x3D8E2C33,0x3F79DBB8,0xBD27451E,0xBB95C6A1,0x3D8DBE62,0x3F79E30F,0xBD26F4E4,
+	0xBB951789,0x3D8D50AA,0x3F79EA63,0xBD26A48F,0xBB9468CA,0x3D8CE30A,0x3F79F1B2,0xBD26541F,
+	0xBB93BA65,0x3D8C7583,0x3F79F8FE,0xBD260393,0xBB930C5A,0x3D8C0815,0x3F7A0045,0xBD25B2ED,
+	0xBB925EA8,0x3D8B9AC0,0x3F7A0788,0xBD25622B,0xBB91B150,0x3D8B2D83,0x3F7A0EC7,0xBD25114E,
+	0xBB910452,0x3D8AC05F,0x3F7A1602,0xBD24C056,0xBB9057AD,0x3D8A5354,0x3F7A1D39,0xBD246F42,
+	0xBB8FAB63,0x3D89E663,0x3F7A246C,0xBD241E14,0xBB8EFF73,0x3D89798A,0x3F7A2B9A,0xBD23CCCA,
+	0xBB8E53DD,0x3D890CC9,0x3F7A32C5,0xBD237B64,0xBB8DA8A1,0x3D88A022,0x3F7A39EB,0xBD2329E4,
+	0xBB8CFDC0,0x3D883394,0x3F7A410E,0xBD22D848,0xBB8C5339,0x3D87C71F,0x3F7A482C,0xBD228691,
+	0xBB8BA90D,0x3D875AC2,0x3F7A4F46,0xBD2234BE,0xBB8AFF3C,0x3D86EE7F,0x3F7A565C,0xBD21E2D1,
+	0xBB8A55C5,0x3D868255,0x3F7A5D6D,0xBD2190C7,0xBB89ACA9,0x3D861644,0x3F7A647B,0xBD213EA3,
+	0xBB8903E8,0x3D85AA4C,0x3F7A6B85,0xBD20EC63,0xBB885B83,0x3D853E6C,0x3F7A728A,0xBD209A08,
+	0xBB87B378,0x3D84D2A6,0x3F7A798B,0xBD204791,0xBB870BC9,0x3D8466FA,0x3F7A8088,0xBD1FF4FF,
+	0xBB866475,0x3D83FB66,0x3F7A8781,0xBD1FA251,0xBB85BD7C,0x3D838FEB,0x3F7A8E76,0xBD1F4F88,
+	0xBB8516DF,0x3D83248A,0x3F7A9567,0xBD1EFCA4,0xBB84709E,0x3D82B942,0x3F7A9C53,0xBD1EA9A4,
+	0xBB83CAB8,0x3D824E12,0x3F7AA33C,0xBD1E5689,0xBB83252E,0x3D81E2FD,0x3F7AAA20,0xBD1E0352,
+	0xBB828000,0x3D817800,0x3F7AB100,0xBD1DB000,0xBB81DB2E,0x3D810D1D,0x3F7AB7DC,0xBD1D5C92,
+	0xBB8136B8,0x3D80A253,0x3F7ABEB4,0xBD1D0909,0xBB80929E,0x3D8037A2,0x3F7AC587,0xBD1CB564,
+	0xBB7FDDC2,0x3D7F9A14,0x3F7ACC57,0xBD1C61A4,0xBB7E9700,0x3D7EC518,0x3F7AD322,0xBD1C0DC8,
+	0xBB7D50F7,0x3D7DF04E,0x3F7AD9E9,0xBD1BB9D1,0xBB7C0BA7,0x3D7D1BB7,0x3F7AE0AC,0xBD1B65BE,
+	0xBB7AC710,0x3D7C4753,0x3F7AE76B,0xBD1B118F,0xBB798333,0x3D7B7322,0x3F7AEE25,0xBD1ABD45,
+	0xBB78400F,0x3D7A9F23,0x3F7AF4DC,0xBD1A68DF,0xBB76FDA6,0x3D79CB57,0x3F7AFB8E,0xBD1A145E,
+	0xBB75BBF6,0x3D78F7BE,0x3F7B023C,0xBD19BFC1,0xBB747B01,0x3D782458,0x3F7B08E6,0xBD196B08,
+	0xBB733AC6,0x3D775125,0x3F7B0F8C,0xBD191634,0xBB71FB45,0x3D767E25,0x3F7B162D,0xBD18C144,
+	0xBB70BC80,0x3D75AB58,0x3F7B1CCA,0xBD186C38,0xBB6F7E76,0x3D74D8BE,0x3F7B2364,0xBD181711,
+	0xBB6E4126,0x3D740657,0x3F7B29F9,0xBD17C1CE,0xBB6D0492,0x3D733423,0x3F7B3089,0xBD176C6F,
+	0xBB6BC8BA,0x3D726223,0x3F7B3716,0xBD1716F4,0xBB6A8D9D,0x3D719056,0x3F7B3D9E,0xBD16C15E,
+	0xBB69533D,0x3D70BEBB,0x3F7B4422,0xBD166BAC,0xBB681998,0x3D6FED55,0x3F7B4AA2,0xBD1615DE,
+	0xBB66E0B0,0x3D6F1C21,0x3F7B511E,0xBD15BFF5,0xBB65A884,0x3D6E4B21,0x3F7B5795,0xBD1569F0,
+	0xBB647115,0x3D6D7A54,0x3F7B5E09,0xBD1513CF,0xBB633A63,0x3D6CA9BB,0x3F7B6478,0xBD14BD92,
+	0xBB62046E,0x3D6BD955,0x3F7B6AE3,0xBD146739,0xBB60CF36,0x3D6B0922,0x3F7B7149,0xBD1410C5,
+	0xBB5F9ABC,0x3D6A3923,0x3F7B77AC,0xBD13BA34,0xBB5E66FF,0x3D696958,0x3F7B7E0A,0xBD136388,
+	0xBB5D3400,0x3D6899C0,0x3F7B8464,0xBD130CC0,0xBB5C01BF,0x3D67CA5C,0x3F7B8ABA,0xBD12B5DC,
+	0xBB5AD03C,0x3D66FB2B,0x3F7B910B,0xBD125EDC,0xBB599F78,0x3D662C2E,0x3F7B9759,0xBD1207C1,
+	0xBB586F72,0x3D655D65,0x3F7B9DA2,0xBD11B089,0xBB57402B,0x3D648ED0,0x3F7BA3E6,0xBD115935,
+	0xBB5611A3,0x3D63C06F,0x3F7BAA27,0xBD1101C6,0xBB54E3DA,0x3D62F241,0x3F7BB063,0xBD10AA3A,
+	0xBB53B6D0,0x3D622447,0x3F7BB69C,0xBD105293,0xBB528A86,0x3D615681,0x3F7BBCCF,0xBD0FFAD0,
+	0xBB515EFB,0x3D6088EF,0x3F7BC2FF,0xBD0FA2F0,0xBB503431,0x3D5FBB91,0x3F7BC92A,0xBD0F4AF5,
+	0xBB4F0A26,0x3D5EEE67,0x3F7BCF52,0xBD0EF2DE,0xBB4DE0DC,0x3D5E2171,0x3F7BD574,0xBD0E9AAA,
+	0xBB4CB852,0x3D5D54AF,0x3F7BDB93,0xBD0E425B,0xBB4B9088,0x3D5C8822,0x3F7BE1AD,0xBD0DE9EF,
+	0xBB4A6980,0x3D5BBBC8,0x3F7BE7C4,0xBD0D9168,0xBB494339,0x3D5AEFA3,0x3F7BEDD5,0xBD0D38C4,
+	0xBB481DB2,0x3D5A23B1,0x3F7BF3E3,0xBD0CE005,0xBB46F8ED,0x3D5957F5,0x3F7BF9EC,0xBD0C8729,
+	0xBB45D4EA,0x3D588C6C,0x3F7BFFF1,0xBD0C2E31,0xBB44B1A8,0x3D57C118,0x3F7C05F2,0xBD0BD51D,
+	0xBB438F29,0x3D56F5F8,0x3F7C0BEF,0xBD0B7BED,0xBB426D6B,0x3D562B0C,0x3F7C11E7,0xBD0B22A1,
+	0xBB414C70,0x3D556055,0x3F7C17DB,0xBD0AC939,0xBB402C37,0x3D5495D2,0x3F7C1DCA,0xBD0A6FB5,
+	0xBB3F0CC1,0x3D53CB84,0x3F7C23B6,0xBD0A1614,0xBB3DEE0E,0x3D53016B,0x3F7C299D,0xBD09BC57,
+	0xBB3CD01E,0x3D523786,0x3F7C2F80,0xBD09627E,0xBB3BB2F1,0x3D516DD5,0x3F7C355E,0xBD090889,
+	0xBB3A9688,0x3D50A459,0x3F7C3B38,0xBD08AE78,0xBB397AE2,0x3D4FDB12,0x3F7C410E,0xBD08544A,
+	0xBB386000,0x3D4F1200,0x3F7C46E0,0xBD07FA00,0xBB3745E2,0x3D4E4922,0x3F7C4CAD,0xBD079F9A,
+	0xBB362C88,0x3D4D807A,0x3F7C5276,0xBD074517,0xBB3513F3,0x3D4CB806,0x3F7C583B,0xBD06EA79,
+	0xBB33FC22,0x3D4BEFC6,0x3F7C5DFC,0xBD068FBE,0xBB32E516,0x3D4B27BC,0x3F7C63B8,0xBD0634E7,
+	0xBB31CECF,0x3D4A5FE7,0x3F7C6970,0xBD05D9F3,0xBB30B94D,0x3D499846,0x3F7C6F23,0xBD057EE3,
+	0xBB2FA490,0x3D48D0DB,0x3F7C74D2,0xBD0523B7,0xBB2E9099,0x3D4809A5,0x3F7C7A7D,0xBD04C86E,
+	0xBB2D7D67,0x3D4742A3,0x3F7C8024,0xBD046D0A,0xBB2C6AFC,0x3D467BD7,0x3F7C85C6,0xBD041188,
+	0xBB2B5956,0x3D45B540,0x3F7C8B64,0xBD03B5EB,0xBB2A4877,0x3D44EEDE,0x3F7C90FE,0xBD035A31,
+	0xBB29385E,0x3D4428B2,0x3F7C9693,0xBD02FE5A,0xBB28290B,0x3D4362BA,0x3F7C9C24,0xBD02A267,
+	0xBB271A80,0x3D429CF8,0x3F7CA1B0,0xBD024658,0xBB260CBC,0x3D41D76B,0x3F7CA739,0xBD01EA2C,
+	0xBB24FFBE,0x3D411214,0x3F7CACBD,0xBD018DE4,0xBB23F388,0x3D404CF2,0x3F7CB23C,0xBD01317F,
+	0xBB22E81A,0x3D3F8805,0x3F7CB7B8,0xBD00D4FE,0xBB21DD73,0x3D3EC34E,0x3F7CBD2F,0xBD007861,
+	0xBB20D395,0x3D3DFECC,0x3F7CC2A1,0xBD001BA7,0xBB1FCA7E,0x3D3D3A80,0x3F7CC810,0xBCFF7DA0,
+	0xBB1EC230,0x3D3C7669,0x3F7CCD79,0xBCFEC3BA,0xBB1DBAAA,0x3D3BB288,0x3F7CD2DF,0xBCFE099B,
+	0xBB1CB3ED,0x3D3AEEDC,0x3F7CD840,0xBCFD4F42,0xBB1BADF9,0x3D3A2B67,0x3F7CDD9D,0xBCFC94B1,
+	0xBB1AA8CE,0x3D396827,0x3F7CE2F6,0xBCFBD9E6,0xBB19A46C,0x3D38A51C,0x3F7CE84A,0xBCFB1EE2,
+	0xBB18A0D4,0x3D37E248,0x3F7CED9A,0xBCFA63A6,0xBB179E05,0x3D371FA9,0x3F7CF2E5,0xBCF9A82F,
+	0xBB169C00,0x3D365D40,0x3F7CF82C,0xBCF8EC80,0xBB159AC5,0x3D359B0D,0x3F7CFD6F,0xBCF83097,
+	0xBB149A54,0x3D34D910,0x3F7D02AD,0xBCF77475,0xBB139AAE,0x3D341749,0x3F7D07E7,0xBCF6B81A,
+	0xBB129BD2,0x3D3355B7,0x3F7D0D1D,0xBCF5FB86,0xBB119DC1,0x3D32945C,0x3F7D124E,0xBCF53EB8,
+	0xBB10A07B,0x3D31D337,0x3F7D177B,0xBCF481B1,0xBB0FA400,0x3D311248,0x3F7D1CA3,0xBCF3C470,
+	0xBB0EA850,0x3D30518F,0x3F7D21C7,0xBCF306F6,0xBB0DAD6C,0x3D2F910C,0x3F7D26E7,0xBCF24943,
+	0xBB0CB353,0x3D2ED0C0,0x3F7D2C02,0xBCF18B56,0xBB0BBA07,0x3D2E10A9,0x3F7D3119,0xBCF0CD2F,
+	0xBB0AC186,0x3D2D50C9,0x3F7D362B,0xBCF00ECF,0xBB09C9D2,0x3D2C911F,0x3F7D3B3A,0xBCEF5036,
+	0xBB08D2EA,0x3D2BD1AC,0x3F7D4043,0xBCEE9163,0xBB07DCCE,0x3D2B126F,0x3F7D4549,0xBCEDD256,
+	0xBB06E780,0x3D2A5368,0x3F7D4A4A,0xBCED1310,0xBB05F2FF,0x3D299498,0x3F7D4F46,0xBCEC5390,
+	0xBB04FF4A,0x3D28D5FE,0x3F7D543E,0xBCEB93D7,0xBB040C63,0x3D28179B,0x3F7D5932,0xBCEAD3E4,
+	0xBB031A4A,0x3D27596E,0x3F7D5E21,0xBCEA13B7,0xBB0228FE,0x3D269B78,0x3F7D630C,0xBCE95350,
+	0xBB013881,0x3D25DDB8,0x3F7D67F2,0xBCE892B0,0xBB0048D1,0x3D25202F,0x3F7D6CD5,0xBCE7D1D6,
+	0xBAFEB3E0,0x3D2462DD,0x3F7D71B2,0xBCE710C2,0xBAFCD7BB,0x3D23A5C1,0x3F7D768B,0xBCE64F74,
+	0xBAFAFD32,0x3D22E8DD,0x3F7D7B60,0xBCE58DED,0xBAF92448,0x3D222C2F,0x3F7D8031,0xBCE4CC2B,
+	0xBAF74CFC,0x3D216FB8,0x3F7D84FD,0xBCE40A30,0xBAF5774E,0x3D20B377,0x3F7D89C4,0xBCE347FB,
+	0xBAF3A340,0x3D1FF76E,0x3F7D8E87,0xBCE2858C,0xBAF1D0D0,0x3D1F3B9B,0x3F7D9346,0xBCE1C2E3,
+	0xBAF00000,0x3D1E8000,0x3F7D9800,0xBCE10000,0xBAEE30D0,0x3D1DC49C,0x3F7D9CB6,0xBCE03CE3,
+	0xBAEC6340,0x3D1D096E,0x3F7DA167,0xBCDF798C,0xBAEA9752,0x3D1C4E78,0x3F7DA614,0xBCDEB5FB,
+	0xBAE8CD04,0x3D1B93B8,0x3F7DAABC,0xBCDDF230,0xBAE70458,0x3D1AD930,0x3F7DAF60,0xBCDD2E2B,
+	0xBAE53D4E,0x3D1A1EDF,0x3F7DB400,0xBCDC69EB,0xBAE377E5,0x3D1964C6,0x3F7DB89B,0xBCDBA572,
+	0xBAE1B420,0x3D18AAE3,0x3F7DBD32,0xBCDAE0BE,0xBADFF1FE,0x3D17F138,0x3F7DC1C4,0xBCDA1BD0,
+	0xBADE317E,0x3D1737C4,0x3F7DC652,0xBCD956A8,0xBADC72A3,0x3D167E87,0x3F7DCADB,0xBCD89146,
+	0xBADAB56C,0x3D15C582,0x3F7DCF60,0xBCD7CBA9,0xBAD8F9D9,0x3D150CB4,0x3F7DD3E0,0xBCD705D2,
+	0xBAD73FEC,0x3D14541E,0x3F7DD85C,0xBCD63FC1,0xBAD587A3,0x3D139BBF,0x3F7DDCD4,0xBCD57976,
+	0xBAD3D100,0x3D12E398,0x3F7DE146,0xBCD4B2F0,0xBAD21C03,0x3D122BA8,0x3F7DE5B5,0xBCD3EC30,
+	0xBAD068AC,0x3D1173F0,0x3F7DEA1F,0xBCD32535,0xBACEB6FD,0x3D10BC70,0x3F7DEE85,0xBCD25E00,
+	0xBACD06F4,0x3D100527,0x3F7DF2E6,0xBCD19691,0xBACB5893,0x3D0F4E16,0x3F7DF742,0xBCD0CEE7,
+	0xBAC9ABDA,0x3D0E973C,0x3F7DFB9A,0xBCD00702,0xBAC800C8,0x3D0DE09B,0x3F7DFFEE,0xBCCF3EE3,
+	0xBAC65760,0x3D0D2A31,0x3F7E043D,0xBCCE768A,0xBAC4AFA1,0x3D0C73FF,0x3F7E0888,0xBCCDADF6,
+	0xBAC3098A,0x3D0BBE05,0x3F7E0CCE,0xBCCCE527,0xBAC1651E,0x3D0B0843,0x3F7E110F,0xBCCC1C1E,
+	0xBABFC25C,0x3D0A52B9,0x3F7E154C,0xBCCB52DA,0xBABE2144,0x3D099D66,0x3F7E1985,0xBCCA895C,
+	0xBABC81D8,0x3D08E84C,0x3F7E1DB9,0xBCC9BFA3,0xBABAE416,0x3D08336A,0x3F7E21E9,0xBCC8F5AF,
+	0xBAB94800,0x3D077EC0,0x3F7E2614,0xBCC82B80,0xBAB7AD96,0x3D06CA4E,0x3F7E2A3B,0xBCC76117,
+	0xBAB614D8,0x3D061614,0x3F7E2E5D,0xBCC69672,0xBAB47DC8,0x3D056213,0x3F7E327A,0xBCC5CB94,
+	0xBAB2E864,0x3D04AE49,0x3F7E3693,0xBCC5007A,0xBAB154AE,0x3D03FAB8,0x3F7E3AA8,0xBCC43525,
+	0xBAAFC2A6,0x3D034760,0x3F7E3EB8,0xBCC36996,0xBAAE324B,0x3D02943F,0x3F7E42C4,0xBCC29DCB,
+	0xBAACA3A0,0x3D01E157,0x3F7E46CB,0xBCC1D1C6,0xBAAB16A4,0x3D012EA7,0x3F7E4ACD,0xBCC10586,
+	0xBAA98B56,0x3D007C30,0x3F7E4ECB,0xBCC0390B,0xBAA801B9,0x3CFF93E3,0x3F7E52C4,0xBCBF6C54,
+	0xBAA679CC,0x3CFE2FD6,0x3F7E56B9,0xBCBE9F63,0xBAA4F38F,0x3CFCCC3B,0x3F7E5AAA,0xBCBDD237,
+	0xBAA36F04,0x3CFB6911,0x3F7E5E95,0xBCBD04D0,0xBAA1EC29,0x3CFA0658,0x3F7E627D,0xBCBC372D,
+	0xBAA06B00,0x3CF8A410,0x3F7E6660,0xBCBB6950,0xBA9EEB89,0x3CF7423A,0x3F7E6A3E,0xBCBA9B37,
+	0xBA9D6DC4,0x3CF5E0D5,0x3F7E6E17,0xBCB9CCE4,0xBA9BF1B3,0x3CF47FE2,0x3F7E71EC,0xBCB8FE55,
+	0xBA9A7754,0x3CF31F60,0x3F7E75BD,0xBCB82F8B,0xBA98FEA9,0x3CF1BF50,0x3F7E7989,0xBCB76085,
+	0xBA9787B2,0x3CF05FB1,0x3F7E7D50,0xBCB69145,0xBA96126E,0x3CEF0085,0x3F7E8113,0xBCB5C1C9,
+	0xBA949EE0,0x3CEDA1CA,0x3F7E84D2,0xBCB4F212,0xBA932D07,0x3CEC4381,0x3F7E888B,0xBCB42220,
+	0xBA91BCE2,0x3CEAE5AA,0x3F7E8C41,0xBCB351F2,0xBA904E74,0x3CE98846,0x3F7E8FF1,0xBCB28189,
+	0xBA8EE1BC,0x3CE82B53,0x3F7E939D,0xBCB1B0E4,0xBA8D76BA,0x3CE6CED3,0x3F7E9745,0xBCB0E004,
+	0xBA8C0D70,0x3CE572C5,0x3F7E9AE8,0xBCB00EE9,0xBA8AA5DC,0x3CE41729,0x3F7E9E86,0xBCAF3D92,
+	0xBA894000,0x3CE2BC00,0x3F7EA220,0xBCAE6C00,0xBA87DBDC,0x3CE16149,0x3F7EA5B5,0xBCAD9A32,
+	0xBA867970,0x3CE00705,0x3F7EA946,0xBCACC829,0xBA8518BE,0x3CDEAD34,0x3F7EACD2,0xBCABF5E4,
+	0xBA83B9C4,0x3CDD53D5,0x3F7EB059,0xBCAB2364,0xBA825C84,0x3CDBFAE9,0x3F7EB3DC,0xBCAA50A8,
+	0xBA8100FE,0x3CDAA270,0x3F7EB75B,0xBCA97DB0,0xBA7F4E63,0x3CD94A69,0x3F7EBAD4,0xBCA8AA7D,
+	0xBA7C9E40,0x3CD7F2D6,0x3F7EBE49,0xBCA7D70E,0xBA79F193,0x3CD69BB6,0x3F7EC1BA,0xBCA70363,
+	0xBA77485D,0x3CD54509,0x3F7EC526,0xBCA62F7D,0xBA74A29E,0x3CD3EECF,0x3F7EC88D,0xBCA55B5B,
+	0xBA720058,0x3CD29908,0x3F7ECBF0,0xBCA486FD,0xBA6F618B,0x3CD143B5,0x3F7ECF4E,0xBCA3B264,
+	0xBA6CC637,0x3CCFEED5,0x3F7ED2A7,0xBCA2DD8E,0xBA6A2E5E,0x3CCE9A69,0x3F7ED5FC,0xBCA2087D,
+	0xBA679A00,0x3CCD4670,0x3F7ED94C,0xBCA13330,0xBA65091E,0x3CCBF2EB,0x3F7EDC98,0xBCA05DA7,
+	0xBA627BB9,0x3CCA9FD9,0x3F7EDFDF,0xBC9F87E2,0xBA5FF1D1,0x3CC94D3C,0x3F7EE322,0xBC9EB1E1,
+	0xBA5D6B68,0x3CC7FB12,0x3F7EE65F,0xBC9DDBA5,0xBA5AE87E,0x3CC6A95C,0x3F7EE999,0xBC9D052C,
+	0xBA586913,0x3CC5581A,0x3F7EECCD,0xBC9C2E77,0xBA55ED29,0x3CC4074C,0x3F7EEFFD,0xBC9B5787,
+	0xBA5374C0,0x3CC2B6F2,0x3F7EF328,0xBC9A805A,0xBA50FFD9,0x3CC1670C,0x3F7EF64F,0xBC99A8F1,
+	0xBA4E8E75,0x3CC0179B,0x3F7EF971,0xBC98D14C,0xBA4C2094,0x3CBEC89E,0x3F7EFC8F,0xBC97F96B,
+	0xBA49B638,0x3CBD7A15,0x3F7EFFA7,0xBC97214E,0xBA474F61,0x3CBC2C01,0x3F7F02BB,0xBC9648F5,
+	0xBA44EC0F,0x3CBADE61,0x3F7F05CB,0xBC957060,0xBA428C44,0x3CB99136,0x3F7F08D6,0xBC94978E,
+	0xBA403000,0x3CB84480,0x3F7F0BDC,0xBC93BE80,0xBA3DD744,0x3CB6F83E,0x3F7F0EDE,0xBC92E536,
+	0xBA3B8211,0x3CB5AC72,0x3F7F11DA,0xBC920BAF,0xBA393067,0x3CB4611A,0x3F7F14D3,0xBC9131ED,
+	0xBA36E248,0x3CB31637,0x3F7F17C6,0xBC9057EE,0xBA3497B4,0x3CB1CBC9,0x3F7F1AB5,0xBC8F7DB2,
+	0xBA3250AB,0x3CB081D0,0x3F7F1D9F,0xBC8EA33B,0xBA300D2F,0x3CAF384C,0x3F7F2085,0xBC8DC887,
+	0xBA2DCD40,0x3CADEF3E,0x3F7F2366,0xBC8CED96,0xBA2B90DF,0x3CACA6A5,0x3F7F2642,0xBC8C1269,
+	0xBA29580D,0x3CAB5E81,0x3F7F291A,0xBC8B3700,0xBA2722CA,0x3CAA16D3,0x3F7F2BED,0xBC8A5B5A,
+	0xBA24F118,0x3CA8CF9A,0x3F7F2EBB,0xBC897F77,0xBA22C2F7,0x3CA788D7,0x3F7F3185,0xBC88A358,
+	0xBA209867,0x3CA6428A,0x3F7F344A,0xBC87C6FD,0xBA1E716A,0x3CA4FCB2,0x3F7F370A,0xBC86EA65,
+	0xBA1C4E00,0x3CA3B750,0x3F7F39C6,0xBC860D90,0xBA1A2E2A,0x3CA27264,0x3F7F3C7C,0xBC85307F,
+	0xBA1811E9,0x3CA12DEE,0x3F7F3F2F,0xBC845331,0xBA15F93D,0x3C9FE9EE,0x3F7F41DC,0xBC8375A6,
+	0xBA13E428,0x3C9EA664,0x3F7F4485,0xBC8297DF,0xBA11D2AA,0x3C9D6350,0x3F7F4729,0xBC81B9DB,
+	0xBA0FC4C3,0x3C9C20B2,0x3F7F49C8,0xBC80DB9A,0xBA0DBA75,0x3C9ADE8B,0x3F7F4C63,0xBC7FFA39,
+	0xBA0BB3C0,0x3C999CDA,0x3F7F4EF9,0xBC7E3CC4,0xBA09B0A5,0x3C985B9F,0x3F7F518B,0xBC7C7ED6,
+	0xBA07B125,0x3C971ADB,0x3F7F5417,0xBC7AC06E,0xBA05B540,0x3C95DA8E,0x3F7F569F,0xBC79018C,
+	0xBA03BCF8,0x3C949AB7,0x3F7F5922,0xBC774230,0xBA01C84D,0x3C935B57,0x3F7F5BA1,0xBC75825B,
+	0xB9FFAE7E,0x3C921C6E,0x3F7F5E1B,0xBC73C20C,0xB9FBD3A0,0x3C90DDFB,0x3F7F6090,0xBC720143,
+	0xB9F80000,0x3C8FA000,0x3F7F6300,0xBC704000,0xB9F433A0,0x3C8E627C,0x3F7F656C,0xBC6E7E43,
+	0xB9F06E82,0x3C8D256E,0x3F7F67D3,0xBC6CBC0C,0xB9ECB0A7,0x3C8BE8D8,0x3F7F6A35,0xBC6AF95B,
+	0xB9E8FA10,0x3C8AACB9,0x3F7F6C92,0xBC693630,0xB9E54ABF,0x3C897111,0x3F7F6EEB,0xBC67728A,
+	0xB9E1A2B6,0x3C8835E1,0x3F7F713F,0xBC65AE6A,0xB9DE01F6,0x3C86FB28,0x3F7F738E,0xBC63E9D0,
+	0xB9DA6880,0x3C85C0E6,0x3F7F75D9,0xBC6224BC,0xB9D6D656,0x3C84871C,0x3F7F781F,0xBC605F2D,
+	0xB9D34B7A,0x3C834DCA,0x3F7F7A60,0xBC5E9924,0xB9CFC7ED,0x3C8214EF,0x3F7F7C9C,0xBC5CD2A1,
+	0xB9CC4BB0,0x3C80DC8C,0x3F7F7ED4,0xBC5B0BA2,0xB9C8D6C5,0x3C7F4942,0x3F7F8106,0xBC59442A,
+	0xB9C5692E,0x3C7CDA5C,0x3F7F8335,0xBC577C37,0xB9C202EC,0x3C7A6C66,0x3F7F855E,0xBC55B3C9,
+	0xB9BEA400,0x3C77FF60,0x3F7F8782,0xBC53EAE0,0xB9BB4C6C,0x3C75934A,0x3F7F89A2,0xBC52217D,
+	0xB9B7FC32,0x3C732825,0x3F7F8BBD,0xBC50579E,0xB9B4B353,0x3C70BDF0,0x3F7F8DD4,0xBC4E8D45,
+	0xB9B171D0,0x3C6E54AC,0x3F7F8FE5,0xBC4CC272,0xB9AE37AB,0x3C6BEC58,0x3F7F91F2,0xBC4AF723,
+	0xB9AB04E6,0x3C6984F6,0x3F7F93FA,0xBC492B59,0xB9A7D982,0x3C671E84,0x3F7F95FD,0xBC475F14,
+	0xB9A4B580,0x3C64B904,0x3F7F97FC,0xBC459254,0xB9A198E2,0x3C625475,0x3F7F99F6,0xBC43C519,
+	0xB99E83AA,0x3C5FF0D8,0x3F7F9BEB,0xBC41F763,0xB99B75D9,0x3C5D8E2C,0x3F7F9DDB,0xBC402931,
+	0xB9986F70,0x3C5B2C72,0x3F7F9FC6,0xBC3E5A84,0xB9957071,0x3C58CBAB,0x3F7FA1AD,0xBC3C8B5C,
+	0xB99278DE,0x3C566BD5,0x3F7FA38F,0xBC3ABBB9,0xB98F88B8,0x3C540CF1,0x3F7FA56C,0xBC38EB9A,
+	0xB98CA000,0x3C51AF00,0x3F7FA744,0xBC371B00,0xB989BEB8,0x3C4F5201,0x3F7FA917,0xBC3549EA,
+	0xB986E4E2,0x3C4CF5F5,0x3F7FAAE6,0xBC337859,0xB984127F,0x3C4A9ADC,0x3F7FACB0,0xBC31A64C,
+	0xB9814790,0x3C4840B6,0x3F7FAE75,0xBC2FD3C4,0xB97D082E,0x3C45E782,0x3F7FB035,0xBC2E00BF,
+	0xB977902C,0x3C438F42,0x3F7FB1F1,0xBC2C2D3F,0xB972271C,0x3C4137F5,0x3F7FB3A8,0xBC2A5944,
+	0xB96CCD00,0x3C3EE19C,0x3F7FB55A,0xBC2884CC,0xB96781DC,0x3C3C8C36,0x3F7FB707,0xBC26AFD9,
+	0xB96245B4,0x3C3A37C4,0x3F7FB8AF,0xBC24DA69,0xB95D188A,0x3C37E446,0x3F7FBA52,0xBC23047E,
+	0xB957FA60,0x3C3591BC,0x3F7FBBF1,0xBC212E16,0xB952EB3A,0x3C334027,0x3F7FBD8B,0xBC1F5733,
+	0xB94DEB1C,0x3C30EF85,0x3F7FBF20,0xBC1D7FD4,0xB948FA08,0x3C2E9FD8,0x3F7FC0B0,0xBC1BA7F8,
+	0xB9441800,0x3C2C5120,0x3F7FC23C,0xBC19CFA0,0xB93F4508,0x3C2A035C,0x3F7FC3C2,0xBC17F6CC,
+	0xB93A8124,0x3C27B68E,0x3F7FC544,0xBC161D7B,0xB935CC56,0x3C256AB4,0x3F7FC6C1,0xBC1443AF,
+	0xB93126A0,0x3C231FD0,0x3F7FC839,0xBC126966,0xB92C9006,0x3C20D5E0,0x3F7FC9AC,0xBC108EA0,
+	0xB928088C,0x3C1E8CE7,0x3F7FCB1A,0xBC0EB35E,0xB9239034,0x3C1C44E2,0x3F7FCC84,0xBC0CD79F,
+	0xB91F2700,0x3C19FDD4,0x3F7FCDE9,0xBC0AFB64,0xB91ACCF4,0x3C17B7BB,0x3F7FCF49,0xBC091EAC,
+	0xB9168214,0x3C157299,0x3F7FD0A4,0xBC074178,0xB9124662,0x3C132E6D,0x3F7FD1FA,0xBC0563C6,
+	0xB90E19E0,0x3C10EB36,0x3F7FD34B,0xBC038598,0xB909FC92,0x3C0EA8F7,0x3F7FD498,0xBC01A6EE,
+	0xB905EE7C,0x3C0C67AE,0x3F7FD5DF,0xBBFF8F8C,0xB901EFA0,0x3C0A275B,0x3F7FD722,0xBBFBD043,
+	0xB8FC0000,0x3C07E800,0x3F7FD860,0xBBF81000,0xB8F43F41,0x3C05A99C,0x3F7FD999,0xBBF44EC3,
+	0xB8EC9D08,0x3C036C2E,0x3F7FDACD,0xBBF08C8C,0xB8E5195B,0x3C012FB8,0x3F7FDBFD,0xBBECC95B,
+	0xB8DDB440,0x3BFDE873,0x3F7FDD27,0xBBE9052F,0xB8D66DBD,0x3BF97365,0x3F7FDE4D,0xBBE54009,
+	0xB8CF45D8,0x3BF50046,0x3F7FDF6D,0xBBE179E9,0xB8C83C97,0x3BF08F17,0x3F7FE089,0xBBDDB2CE,
+	0xB8C15200,0x3BEC1FD8,0x3F7FE1A0,0xBBD9EAB8,0xB8BA8619,0x3BE7B289,0x3F7FE2B2,0xBBD621A8,
+	0xB8B3D8E8,0x3BE3472B,0x3F7FE3C0,0xBBD2579C,0xB8AD4A73,0x3BDEDDBD,0x3F7FE4C8,0xBBCE8C96,
+	0xB8A6DAC0,0x3BDA7641,0x3F7FE5CB,0xBBCAC095,0xB8A089D5,0x3BD610B6,0x3F7FE6CA,0xBBC6F399,
+	0xB89A57B8,0x3BD1AD1D,0x3F7FE7C4,0xBBC325A1,0xB894446F,0x3BCD4B75,0x3F7FE8B9,0xBBBF56AE,
+	0xB88E5000,0x3BC8EBC0,0x3F7FE9A8,0xBBBB86C0,0xB8887A71,0x3BC48DFD,0x3F7FEA94,0xBBB7B5D6,
+	0xB882C3C8,0x3BC0322D,0x3F7FEB7A,0xBBB3E3F1,0xB87A5816,0x3BBBD851,0x3F7FEC5B,0xBBB01110,
+	0xB86F6680,0x3BB78067,0x3F7FED37,0xBBAC3D33,0xB864B2DA,0x3BB32A71,0x3F7FEE0F,0xBBA8685A,
+	0xB85A3D30,0x3BAED66F,0x3F7FEEE1,0xBBA49286,0xB850058E,0x3BAA8461,0x3F7FEFAF,0xBBA0BBB5,
+	0xB8460C00,0x3BA63448,0x3F7FF077,0xBB9CE3E8,0xB83C5092,0x3BA1E623,0x3F7FF13B,0xBB990B1F,
+	0xB832D350,0x3B9D99F4,0x3F7FF1FA,0xBB953159,0xB8299446,0x3B994FBA,0x3F7FF2B4,0xBB915697,
+	0xB8209380,0x3B950775,0x3F7FF369,0xBB8D7AD9,0xB817D10A,0x3B90C126,0x3F7FF419,0xBB899E1E,
+	0xB80F4CF0,0x3B8C7CCE,0x3F7FF4C4,0xBB85C066,0xB807073E,0x3B883A6B,0x3F7FF56B,0xBB81E1B2,
+	0xB7FE0000,0x3B83FA00,0x3F7FF60C,0xBB7C0400,0xB7EE6E84,0x3B7F7717,0x3F7FF6A8,0xBB7442A3,
+	0xB7DF5A20,0x3B76FE1D,0x3F7FF740,0xBB6C7F4C,0xB7D0C2EC,0x3B6E8912,0x3F7FF7D2,0xBB64B9FA,
+	0xB7C2A900,0x3B6617F6,0x3F7FF860,0xBB5CF2AE,0xB7B50C74,0x3B5DAACB,0x3F7FF8E9,0xBB552967,
+	0xB7A7ED60,0x3B554190,0x3F7FF96C,0xBB4D5E25,0xB79B4BDC,0x3B4CDC47,0x3F7FF9EB,0xBB4590E8,
+	0xB78F2800,0x3B447AF0,0x3F7FFA65,0xBB3DC1B0,0xB78381E4,0x3B3C1D8B,0x3F7FFADA,0xBB35F07C,
+	0xB770B340,0x3B33C41A,0x3F7FFB4A,0xBB2E1D4D,0xB75B5E98,0x3B2B6E9C,0x3F7FFBB5,0xBB264821,
+	0xB7470600,0x3B231D12,0x3F7FFC1B,0xBB1E70FA,0xB733A9A8,0x3B1ACF7D,0x3F7FFC7C,0xBB1697D6,
+	0xB72149C0,0x3B1285DD,0x3F7FFCD8,0xBB0EBCB6,0xB70FE678,0x3B0A4033,0x3F7FFD2F,0xBB06DF9A,
+	0xB6FF0000,0x3B01FE80,0x3F7FFD82,0xBAFE0100,0xB6E02D10,0x3AF38187,0x3F7FFDCF,0xBAEE3ED3,
+	0xB6C35480,0x3AE30DFE,0x3F7FFE17,0xBADE78AC,0xB6A876B0,0x3AD2A264,0x3F7FFE5A,0xBACEAE89,
+	0xB68F9400,0x3AC23EBC,0x3F7FFE99,0xBABEE06C,0xB67159A0,0x3AB1E306,0x3F7FFED2,0xBAAF0E53,
+	0xB6478300,0x3AA18F44,0x3F7FFF06,0xBA9F383E,0xB621A4E0,0x3A914377,0x3F7FFF36,0xBA8F5E2E,
+	0xB5FF8000,0x3A80FFA0,0x3F7FFF60,0xBA7F0040,0xB5C3AA40,0x3A61877F,0x3F7FFF86,0xBA5F3C2B,
+	0xB58FCA00,0x3A411FAF,0x3F7FFFA6,0xBA3F701B,0xB547C180,0x3A20C7D1,0x3F7FFFC2,0xBA1F9C10,
+	0xB4FFC000,0x3A007FE8,0x3F7FFFD8,0xB9FF8010,0xB48FE500,0x39C08FEC,0x3F7FFFEA,0xB9BFB807,
+	0xB3FFE000,0x39803FFA,0x3F7FFFF6,0xB97FC004,0xB2FFF000,0x39001FFE,0x3F7FFFFE,0xB8FFE001
 };
-
-#endif
--- a/src/mixer/ft2_intrp_table.h
+++ b/src/mixer/ft2_intrp_table.h
@@ -6,22 +6,11 @@
 #define CUBIC_WIDTH 4 /* number of taps */
 #define CUBIC_WIDTH_BITS 2
 
-#if defined __amd64__ || defined _WIN64
-
-// 15-bit precision, 4096 phases
 #define CUBIC_PHASES 4096
 #define CUBIC_PHASES_BITS 12
 
-#else
+extern const uint32_t fCubicSplineTable[CUBIC_WIDTH * CUBIC_PHASES];
 
-// for non-x86_64 CPUs: 15-bit precision, 1024 phases (less hard on the CPU cache)
-#define CUBIC_PHASES 1024
-#define CUBIC_PHASES_BITS 10
-
-#endif
-
 #define CUBIC_FSHIFT (MIXER_FRAC_BITS-(CUBIC_PHASES_BITS+CUBIC_WIDTH_BITS))
 #define CUBIC_FMASK ((CUBIC_WIDTH*CUBIC_PHASES)-CUBIC_WIDTH)
 #define CUBIC_QUANTSHIFT 15
-
-extern const int16_t cubicSplineTable[CUBIC_WIDTH * CUBIC_PHASES];
--- a/src/mixer/ft2_mix.c
+++ b/src/mixer/ft2_mix.c
@@ -6,31 +6,33 @@
 #include "ft2_center_mix.h"
 
 /*
-** --------------------- 32-bit fixed-point audio channel mixer ---------------------
-**              (Note: Mixing macros can be found in ft2_mix_macros.h)
+** -------------------- floating point audio channel mixer ---------------------
+**            (Note: Mixing macros can be found in ft2_mix_macros.h)
 **
-** 8bitbubsy: This is mostly ported from the i386-asm 32-bit mixer that was introduced
-** in FT2.08 (MS-DOS). It has been changed and improved quite a bit, though...
-** Instead of 2-tap linear interpolation, it has 4-tap cubic spline interpolation.
-** For x86_64: Fixed-point precision is 32.32 instead of 16.16
+** Specifications:
+** - Fast 4-tap cubic interpolation through 32-bit float LUT (optional)
+** - Linear volume ramping, matching FT2 (optional)
+** - 32.32 fixed-point logic for position delta
+** - 32-bit float logic for volumes/amplitudes
 **
 ** This file has separate routines for EVERY possible sampling variation:
-** Interpolation on/off, volume ramping on/off, 8-bit, 16-bit, no loop, loop, pingpong.
-** (24 mixing routines in total)
+** Interpolation on/off, volumeramp on/off, 8-bit, 16-bit, no loop, loop, bidi.
+** (24 mixing routines in total + another 24 for center-mixing)
 **
-** Every voice has a function pointer set to the according mixing routine on sample
-** trigger (from replayer, but set in audio thread), using a function pointer look-up
-** table. All voices & pointers are always thread-safely cleared when changing any
-** of the above attributes from the GUI, to prevent possible thread-related issues.
+** Every voice has a function pointer set to the according mixing routine on
+** sample trigger (from replayer, but set in audio thread), using a function
+** pointer look-up table. All voices & pointers are always thread-safely cleared
+** when changing any of the above attributes from the GUI, to prevent possible
+** thread-related issues.
 **
 ** There's one problem with the 4-tap cubic spline resampling interpolation...
 ** On looped samples where loopStart>0, the splines are not correct when reading
-** from the loopStart (or +1?) sample point. The difference in audio is very minor,
-** so it's not a big problem. It just has to stay like this the way the mixer works.
-** In cases where loopStart=0, the sample before index 0 (yes, we allocate enough
-** data and pre-increment main pointer to support negative look-up), is already
-** pre-fixed so that the splines will be correct.
-** ----------------------------------------------------------------------------------
+** from the loopStart (or +1?) sample point. The difference in audio is very
+** minor, so it's not a big problem. It just has to stay like this the way the
+** mixer works. In cases where loopStart=0, the sample before index 0 (yes, we
+** allocate enough data and pre-increment main pointer to support negative
+** look-up), is already pre-fixed so that the splines will be correct.
+** -----------------------------------------------------------------------------
 */
 
 /* ----------------------------------------------------------------------- */
@@ -39,39 +41,28 @@
 
 static void mix8bNoLoop(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int8_t *base, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL
 	GET_MIXER_VARS
 	SET_BASE8
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP
-			INC_POS
-			RENDER_8BIT_SMP
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP
@@ -92,39 +83,28 @@
 
 static void mix8bLoop(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *smpPtr;;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int8_t *base, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL
 	GET_MIXER_VARS
 	SET_BASE8
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP
-			INC_POS
-			RENDER_8BIT_SMP
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP
@@ -145,40 +125,29 @@
 
 static void mix8bBidiLoop(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *CDA_LinAdrRev, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos, delta;
-#else
-	uint32_t pos, delta;
-#endif
+	const int8_t *base, *revBase, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac, tmpDelta;
 
 	GET_VOL
 	GET_MIXER_VARS
 	SET_BASE8_BIDI
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
 		START_BIDI
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP
 			INC_POS_BIDI
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP
-			INC_POS_BIDI
-			RENDER_8BIT_SMP
-			INC_POS_BIDI
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP
@@ -199,39 +168,28 @@
 
 static void mix8bNoLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int8_t *base, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL
 	GET_MIXER_VARS
 	SET_BASE8
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_INTRP
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_INTRP
-			INC_POS
-			RENDER_8BIT_SMP_INTRP
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_INTRP
@@ -252,39 +210,28 @@
 
 static void mix8bLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int8_t *base, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL
 	GET_MIXER_VARS
 	SET_BASE8
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_INTRP
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_INTRP
-			INC_POS
-			RENDER_8BIT_SMP_INTRP
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_INTRP
@@ -305,40 +252,29 @@
 
 static void mix8bBidiLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *CDA_LinAdrRev, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos, delta;
-#else
-	uint32_t pos, delta;
-#endif
+	const int8_t *base, *revBase, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac, tmpDelta;
 
 	GET_VOL
 	GET_MIXER_VARS
 	SET_BASE8_BIDI
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
 		START_BIDI
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_INTRP
 			INC_POS_BIDI
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_INTRP
-			INC_POS_BIDI
-			RENDER_8BIT_SMP_INTRP
-			INC_POS_BIDI
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_INTRP
@@ -360,44 +296,31 @@
 
 static void mix8bRampNoLoop(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_RVolIP, CDA_LVol, CDA_RVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int8_t *base, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolRDelta, fVolL, fVolR;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_RAMP
 	GET_MIXER_VARS_RAMP
 	SET_BASE8
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP
 			VOLUME_RAMPING
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP
-			VOLUME_RAMPING
-			INC_POS
-			RENDER_8BIT_SMP
-			VOLUME_RAMPING
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP
@@ -423,44 +346,31 @@
 
 static void mix8bRampLoop(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_RVolIP, CDA_LVol, CDA_RVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int8_t *base, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolRDelta, fVolL, fVolR;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_RAMP
 	GET_MIXER_VARS_RAMP
 	SET_BASE8
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP
 			VOLUME_RAMPING
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP
-			VOLUME_RAMPING
-			INC_POS
-			RENDER_8BIT_SMP
-			VOLUME_RAMPING
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP
@@ -486,45 +396,32 @@
 
 static void mix8bRampBidiLoop(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *CDA_LinAdrRev, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_RVolIP, CDA_LVol, CDA_RVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos, delta;
-#else
-	uint32_t pos, delta;
-#endif
+	const int8_t *base, *revBase, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolRDelta, fVolL, fVolR;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac, tmpDelta;
 
 	GET_VOL_RAMP
 	GET_MIXER_VARS_RAMP
 	SET_BASE8_BIDI
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
 		START_BIDI
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP
 			VOLUME_RAMPING
 			INC_POS_BIDI
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP
-			VOLUME_RAMPING
-			INC_POS_BIDI
-			RENDER_8BIT_SMP
-			VOLUME_RAMPING
-			INC_POS_BIDI
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP
@@ -551,44 +448,31 @@
 
 static void mix8bRampNoLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_RVolIP, CDA_LVol, CDA_RVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int8_t *base, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolRDelta, fVolL, fVolR;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_RAMP
 	GET_MIXER_VARS_RAMP
 	SET_BASE8
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_INTRP
 			VOLUME_RAMPING
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_INTRP
-			VOLUME_RAMPING
-			INC_POS
-			RENDER_8BIT_SMP_INTRP
-			VOLUME_RAMPING
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_INTRP
@@ -614,44 +498,31 @@
 
 static void mix8bRampLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_RVolIP, CDA_LVol, CDA_RVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int8_t *base, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolRDelta, fVolL, fVolR;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_RAMP
 	GET_MIXER_VARS_RAMP
 	SET_BASE8
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_INTRP
 			VOLUME_RAMPING
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_INTRP
-			VOLUME_RAMPING
-			INC_POS
-			RENDER_8BIT_SMP_INTRP
-			VOLUME_RAMPING
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_INTRP
@@ -677,45 +548,32 @@
 
 static void mix8bRampBidiLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int8_t *CDA_LinearAdr, *CDA_LinAdrRev, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_RVolIP, CDA_LVol, CDA_RVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos, delta;
-#else
-	uint32_t pos, delta;
-#endif
+	const int8_t *base, *revBase, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolRDelta, fVolL, fVolR;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac, tmpDelta;
 
 	GET_VOL_RAMP
 	GET_MIXER_VARS_RAMP
 	SET_BASE8_BIDI
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
 		START_BIDI
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_8BIT_SMP_INTRP
 			VOLUME_RAMPING
 			INC_POS_BIDI
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_8BIT_SMP_INTRP
-			VOLUME_RAMPING
-			INC_POS_BIDI
-			RENDER_8BIT_SMP_INTRP
-			VOLUME_RAMPING
-			INC_POS_BIDI
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_8BIT_SMP_INTRP
@@ -748,39 +606,28 @@
 
 static void mix16bNoLoop(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int16_t *base, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL
 	GET_MIXER_VARS
 	SET_BASE16
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP
-			INC_POS
-			RENDER_16BIT_SMP
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP
@@ -801,39 +648,28 @@
 
 static void mix16bLoop(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int16_t *base, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL
 	GET_MIXER_VARS
 	SET_BASE16
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP
-			INC_POS
-			RENDER_16BIT_SMP
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP
@@ -854,40 +690,29 @@
 
 static void mix16bBidiLoop(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *CDA_LinAdrRev, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos, delta;
-#else
-	uint32_t pos, delta;
-#endif
+	const int16_t *base, *revBase, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac, tmpDelta;
 
 	GET_VOL
 	GET_MIXER_VARS
 	SET_BASE16_BIDI
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
 		START_BIDI
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP
 			INC_POS_BIDI
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP
-			INC_POS_BIDI
-			RENDER_16BIT_SMP
-			INC_POS_BIDI
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP
@@ -909,39 +734,28 @@
 
 static void mix16bNoLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int16_t *base, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL
 	GET_MIXER_VARS
 	SET_BASE16
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_INTRP
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_INTRP
-			INC_POS
-			RENDER_16BIT_SMP_INTRP
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_INTRP
@@ -962,39 +776,28 @@
 
 static void mix16bLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int16_t *base, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL
 	GET_MIXER_VARS
 	SET_BASE16
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_INTRP
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_INTRP
-			INC_POS
-			RENDER_16BIT_SMP_INTRP
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_INTRP
@@ -1015,40 +818,29 @@
 
 static void mix16bBidiLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *CDA_LinAdrRev, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos, delta;
-#else
-	uint32_t pos, delta;
-#endif
+	const int16_t *base, *revBase, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac, tmpDelta;
 
 	GET_VOL
 	GET_MIXER_VARS
 	SET_BASE16_BIDI
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
 		START_BIDI
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_INTRP
 			INC_POS_BIDI
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_INTRP
-			INC_POS_BIDI
-			RENDER_16BIT_SMP_INTRP
-			INC_POS_BIDI
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_INTRP
@@ -1070,44 +862,31 @@
 
 static void mix16bRampNoLoop(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_RVolIP, CDA_LVol, CDA_RVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int16_t *base, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolRDelta, fVolL, fVolR;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_RAMP
 	GET_MIXER_VARS_RAMP
 	SET_BASE16
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP
 			VOLUME_RAMPING
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP
-			VOLUME_RAMPING
-			INC_POS
-			RENDER_16BIT_SMP
-			VOLUME_RAMPING
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP
@@ -1133,44 +912,31 @@
 
 static void mix16bRampLoop(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_RVolIP, CDA_LVol, CDA_RVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int16_t *base, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolRDelta, fVolL, fVolR;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_RAMP
 	GET_MIXER_VARS_RAMP
 	SET_BASE16
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP
 			VOLUME_RAMPING
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP
-			VOLUME_RAMPING
-			INC_POS
-			RENDER_16BIT_SMP
-			VOLUME_RAMPING
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP
@@ -1196,45 +962,32 @@
 
 static void mix16bRampBidiLoop(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *CDA_LinAdrRev, *smpPtr;
-	int32_t realPos, sample, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_RVolIP, CDA_LVol, CDA_RVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos, delta;
-#else
-	uint32_t pos, delta;
-#endif
+	const int16_t *base, *revBase, *smpPtr;
+	float fSample, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolRDelta, fVolL, fVolR;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac, tmpDelta;
 
 	GET_VOL_RAMP
 	GET_MIXER_VARS_RAMP
 	SET_BASE16_BIDI
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
 		START_BIDI
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP
 			VOLUME_RAMPING
 			INC_POS_BIDI
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP
-			VOLUME_RAMPING
-			INC_POS_BIDI
-			RENDER_16BIT_SMP
-			VOLUME_RAMPING
-			INC_POS_BIDI
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP
@@ -1261,44 +1014,31 @@
 
 static void mix16bRampNoLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_RVolIP, CDA_LVol, CDA_RVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int16_t *base, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolRDelta, fVolL, fVolR;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_RAMP
 	GET_MIXER_VARS_RAMP
 	SET_BASE16
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_INTRP
 			VOLUME_RAMPING
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_INTRP
-			VOLUME_RAMPING
-			INC_POS
-			RENDER_16BIT_SMP_INTRP
-			VOLUME_RAMPING
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_INTRP
@@ -1324,44 +1064,31 @@
 
 static void mix16bRampLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_RVolIP, CDA_LVol, CDA_RVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	const int16_t *base, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolRDelta, fVolL, fVolR;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac;
 
 	GET_VOL_RAMP
 	GET_MIXER_VARS_RAMP
 	SET_BASE16
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_INTRP
 			VOLUME_RAMPING
 			INC_POS
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_INTRP
-			VOLUME_RAMPING
-			INC_POS
-			RENDER_16BIT_SMP_INTRP
-			VOLUME_RAMPING
-			INC_POS
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_INTRP
@@ -1387,45 +1114,32 @@
 
 static void mix16bRampBidiLoopIntrp(voice_t *v, uint32_t numSamples)
 {
-	const int16_t *CDA_LinearAdr, *CDA_LinAdrRev, *smpPtr;
-	int32_t realPos, sample, sample2, sample3, sample4, *audioMixL, *audioMixR;
-	int32_t CDA_LVolIP, CDA_RVolIP, CDA_LVol, CDA_RVol;
-	uint32_t i, samplesToMix, CDA_BytesLeft;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos, delta;
-#else
-	uint32_t pos, delta;
-#endif
+	const int16_t *base, *revBase, *smpPtr;
+	float fSample, fSample2, fSample3, fSample4, *fMixBufferL, *fMixBufferR;
+	int32_t pos;
+	float fVolLDelta, fVolRDelta, fVolL, fVolR;
+	uint32_t i, samplesToMix, samplesLeft;
+	uint64_t posFrac, tmpDelta;
 
 	GET_VOL_RAMP
 	GET_MIXER_VARS_RAMP
 	SET_BASE16_BIDI
 
-	CDA_BytesLeft = numSamples;
-	while (CDA_BytesLeft > 0)
+	samplesLeft = numSamples;
+	while (samplesLeft > 0)
 	{
 		LIMIT_MIX_NUM
 		LIMIT_MIX_NUM_RAMP
-		CDA_BytesLeft -= samplesToMix;
+		samplesLeft -= samplesToMix;
 
 		START_BIDI
-		if (samplesToMix & 1)
+		for (i = 0; i < (samplesToMix & 3); i++)
 		{
 			RENDER_16BIT_SMP_INTRP
 			VOLUME_RAMPING
 			INC_POS_BIDI
 		}
-		samplesToMix >>= 1;
-		if (samplesToMix & 1)
-		{
-			RENDER_16BIT_SMP_INTRP
-			VOLUME_RAMPING
-			INC_POS_BIDI
-			RENDER_16BIT_SMP_INTRP
-			VOLUME_RAMPING
-			INC_POS_BIDI
-		}
-		samplesToMix >>= 1;
+		samplesToMix >>= 2;
 		for (i = 0; i < samplesToMix; i++)
 		{
 			RENDER_16BIT_SMP_INTRP
@@ -1454,7 +1168,7 @@
 
 const mixFunc mixFuncTab[48] =
 {
-	// normal mixing
+	// normal mixing (this file)
 	(mixFunc)mix8bNoLoop,
 	(mixFunc)mix8bLoop,
 	(mixFunc)mix8bBidiLoop,
@@ -1480,7 +1194,7 @@
 	(mixFunc)mix16bRampLoopIntrp,
 	(mixFunc)mix16bRampBidiLoopIntrp,
 
-	// center mixing
+	// center mixing (ft2_center_mix.c)
 	(mixFunc)centerMix8bNoLoop,
 	(mixFunc)centerMix8bLoop,
 	(mixFunc)centerMix8bBidiLoop,
--- a/src/mixer/ft2_mix_macros.h
+++ b/src/mixer/ft2_mix_macros.h
@@ -8,110 +8,80 @@
 /* ----------------------------------------------------------------------- */
 
 #define GET_VOL \
-	const int32_t CDA_LVol = v->SLVol2; \
-	const int32_t CDA_RVol = v->SRVol2; \
+	const float fVolL = v->fVolL; \
+	const float fVolR = v->fVolR; \
 
 #define GET_VOL_MONO \
-	const int32_t CDA_LVol = v->SLVol2; \
+	const float fVolL = v->fVolL; \
 
 #define GET_VOL_RAMP \
-	CDA_LVol = v->SLVol2; \
-	CDA_RVol = v->SRVol2; \
+	fVolL = v->fVolL; \
+	fVolR = v->fVolR; \
 
 #define GET_VOL_MONO_RAMP \
-	CDA_LVol = v->SLVol2; \
+	fVolL = v->fVolL; \
 
 #define SET_VOL_BACK \
-	v->SLVol2 = CDA_LVol; \
-	v->SRVol2 = CDA_RVol; \
+	v->fVolL = fVolL; \
+	v->fVolR = fVolR; \
 
 #define SET_VOL_BACK_MONO \
-	v->SLVol2 = v->SRVol2 = CDA_LVol; \
+	v->fVolL = v->fVolR = fVolL; \
 
-#if defined _WIN64 || defined __amd64__
-
 #define GET_MIXER_VARS \
-	const uint64_t SFrq = v->SFrq; \
-	audioMixL = audio.mixBufferL; \
-	audioMixR = audio.mixBufferR; \
-	realPos = v->SPos; \
-	pos = v->SPosDec; \
+	const uint64_t delta = v->delta; \
+	fMixBufferL = audio.fMixBufferL; \
+	fMixBufferR = audio.fMixBufferR; \
+	pos = v->pos; \
+	posFrac = v->posFrac; \
 
 #define GET_MIXER_VARS_RAMP \
-	const uint64_t SFrq = v->SFrq; \
-	audioMixL = audio.mixBufferL; \
-	audioMixR = audio.mixBufferR; \
-	CDA_LVolIP = v->SLVolIP; \
-	CDA_RVolIP = v->SRVolIP; \
-	realPos = v->SPos; \
-	pos = v->SPosDec; \
+	const uint64_t delta = v->delta; \
+	fMixBufferL = audio.fMixBufferL; \
+	fMixBufferR = audio.fMixBufferR; \
+	fVolLDelta = v->fVolDeltaL; \
+	fVolRDelta = v->fVolDeltaR; \
+	pos = v->pos; \
+	posFrac = v->posFrac; \
 
 #define GET_MIXER_VARS_MONO_RAMP \
-	const uint64_t SFrq = v->SFrq; \
-	audioMixL = audio.mixBufferL; \
-	audioMixR = audio.mixBufferR; \
-	CDA_LVolIP = v->SLVolIP; \
-	realPos = v->SPos; \
-	pos = v->SPosDec; \
+	const uint64_t delta = v->delta; \
+	fMixBufferL = audio.fMixBufferL; \
+	fMixBufferR = audio.fMixBufferR; \
+	fVolLDelta = v->fVolDeltaL; \
+	pos = v->pos; \
+	posFrac = v->posFrac; \
 
-#else
-
-#define GET_MIXER_VARS \
-	const uint32_t SFrq = v->SFrq; \
-	audioMixL = audio.mixBufferL; \
-	audioMixR = audio.mixBufferR; \
-	realPos = v->SPos; \
-	pos = v->SPosDec; \
-
-#define GET_MIXER_VARS_RAMP \
-	const uint32_t SFrq = v->SFrq; \
-	audioMixL = audio.mixBufferL; \
-	audioMixR = audio.mixBufferR; \
-	CDA_LVolIP = v->SLVolIP; \
-	CDA_RVolIP = v->SRVolIP; \
-	realPos = v->SPos; \
-	pos = v->SPosDec; \
-
-#define GET_MIXER_VARS_MONO_RAMP \
-	const uint32_t SFrq = v->SFrq; \
-	audioMixL = audio.mixBufferL; \
-	audioMixR = audio.mixBufferR; \
-	CDA_LVolIP = v->SLVolIP; \
-	realPos = v->SPos; \
-	pos = v->SPosDec; \
-
-#endif
-
 #define SET_BASE8 \
-	CDA_LinearAdr = v->SBase8; \
-	smpPtr = CDA_LinearAdr + realPos; \
+	base = v->base8; \
+	smpPtr = base + pos; \
 
 #define SET_BASE16 \
-	CDA_LinearAdr = v->SBase16; \
-	smpPtr = CDA_LinearAdr + realPos; \
+	base = v->base16; \
+	smpPtr = base + pos; \
 
 #define SET_BASE8_BIDI \
-	CDA_LinearAdr = v->SBase8; \
-	CDA_LinAdrRev = v->SRevBase8; \
+	base = v->base8; \
+	revBase = v->revBase8; \
 
 #define SET_BASE16_BIDI \
-	CDA_LinearAdr = v->SBase16; \
-	CDA_LinAdrRev = v->SRevBase16; \
+	base = v->base16; \
+	revBase = v->revBase16; \
 
 #define INC_POS \
-	pos += SFrq; \
-	smpPtr += pos >> MIXER_FRAC_BITS; \
-	pos &= MIXER_FRAC_MASK; \
+	posFrac += delta; \
+	smpPtr += posFrac >> MIXER_FRAC_BITS; \
+	posFrac &= MIXER_FRAC_MASK; \
 
 #define INC_POS_BIDI \
-	pos += CDA_IPValL; \
-	smpPtr += pos >> MIXER_FRAC_BITS; \
-	smpPtr += CDA_IPValH; \
-	pos &= MIXER_FRAC_MASK; \
+	posFrac += deltaLo; \
+	smpPtr += posFrac >> MIXER_FRAC_BITS; \
+	smpPtr += deltaHi; \
+	posFrac &= MIXER_FRAC_MASK; \
 
 #define SET_BACK_MIXER_POS \
-	v->SPosDec = pos; \
-	v->SPos = realPos; \
+	v->posFrac = posFrac; \
+	v->pos = pos; \
 
 /* ----------------------------------------------------------------------- */
 /*                          SAMPLE RENDERING MACROS                        */
@@ -118,54 +88,48 @@
 /* ----------------------------------------------------------------------- */
 
 #define VOLUME_RAMPING \
-	CDA_LVol += CDA_LVolIP; \
-	CDA_RVol += CDA_RVolIP; \
+	fVolL += fVolLDelta; \
+	fVolR += fVolRDelta; \
 
 #define VOLUME_RAMPING_MONO \
-	CDA_LVol += CDA_LVolIP; \
+	fVolL += fVolLDelta; \
 
-// all the 64-bit MULs here convert to fast logic even on most 32-bit CPUs
-
 #define RENDER_8BIT_SMP \
-	assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \
-	sample = *smpPtr << (12+8); \
-	*audioMixL++ += ((int64_t)sample * CDA_LVol) >> 32; \
-	*audioMixR++ += ((int64_t)sample * CDA_RVol) >> 32; \
+	assert(smpPtr >= base && smpPtr < base+v->end); \
+	fSample = *smpPtr * (1.0f / 128.0f); \
+	*fMixBufferL++ += fSample * fVolL; \
+	*fMixBufferR++ += fSample * fVolR; \
 
 #define RENDER_8BIT_SMP_MONO \
-	assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \
-	sample = *smpPtr << (12+8); \
-	sample = ((int64_t)sample * CDA_LVol) >> 32; \
-	*audioMixL++ += sample; \
-	*audioMixR++ += sample; \
+	assert(smpPtr >= base && smpPtr < base+v->end); \
+	fSample = (*smpPtr * (1.0f / 128.0f)) * fVolL; \
+	*fMixBufferL++ += fSample; \
+	*fMixBufferR++ += fSample; \
 
 #define RENDER_16BIT_SMP \
-	assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \
-	sample = *smpPtr << 12; \
-	*audioMixL++ += ((int64_t)sample * CDA_LVol) >> 32; \
-	*audioMixR++ += ((int64_t)sample * CDA_RVol) >> 32; \
+	assert(smpPtr >= base && smpPtr < base+v->end); \
+	fSample = *smpPtr * (1.0f / 32768.0f); \
+	*fMixBufferL++ += fSample * fVolL; \
+	*fMixBufferR++ += fSample * fVolR; \
 
 #define RENDER_16BIT_SMP_MONO \
-	assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \
-	sample = *smpPtr << 12; \
-	sample = ((int64_t)sample * CDA_LVol) >> 32; \
-	*audioMixL++ += sample; \
-	*audioMixR++ += sample; \
+	assert(smpPtr >= base && smpPtr < base+v->end); \
+	fSample = (*smpPtr * (1.0f / 32768.0f)) * fVolL; \
+	*fMixBufferL++ += fSample; \
+	*fMixBufferR++ += fSample; \
 
 // 4-tap cubic spline interpolation
 
-// in: int32_t s0,s1,s2,s3 = -128..127 | f = 0..65535 (frac) | out: 16-bit s0 (will exceed 16-bits because of overshoot)
 #define INTERPOLATE8(s0, s1, s2, s3, f) \
 { \
-	const int16_t *t = cubicSplineTable + ((f >> CUBIC_FSHIFT) & CUBIC_FMASK); \
-	s0 = ((s0 * t[0]) + (s1 * t[1]) + (s2 * t[2]) + (s3 * t[3])) >> (CUBIC_QUANTSHIFT-8); \
+	const float *t = (float *)fCubicSplineTable + ((f >> CUBIC_FSHIFT) & CUBIC_FMASK); \
+	s0 = ((s0 * t[0]) + (s1 * t[1]) + (s2 * t[2]) + (s3 * t[3])) * (1.0f / 128.0f); \
 } \
 
-// in: int32_t s0,s1,s2,s3 = -32768..32767 | f = 0..65535 (frac) | out: 16-bit s0 (will exceed 16-bits because of overshoot)
 #define INTERPOLATE16(s0, s1, s2, s3, f) \
 { \
-	const int16_t *t = cubicSplineTable + ((f >> CUBIC_FSHIFT) & CUBIC_FMASK); \
-	s0 = ((s0 * t[0]) + (s1 * t[1]) + (s2 * t[2]) + (s3 * t[3])) >> CUBIC_QUANTSHIFT; \
+	const float *t = (float *)fCubicSplineTable + ((f >> CUBIC_FSHIFT) & CUBIC_FMASK); \
+	s0 = ((s0 * t[0]) + (s1 * t[1]) + (s2 * t[2]) + (s3 * t[3])) * (1.0f / 32768.0f); \
 } \
 
 /* 8bitbubsy: It may look like we are potentially going out of bounds by looking up sample point
@@ -179,128 +143,87 @@
 */
 
 #define RENDER_8BIT_SMP_INTRP \
-	assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \
-	sample = smpPtr[-1]; \
-	sample2 = smpPtr[0]; \
-	sample3 = smpPtr[1]; \
-	sample4 = smpPtr[2]; \
-	INTERPOLATE8(sample, sample2, sample3, sample4, pos) \
-	sample <<= 12; \
-	*audioMixL++ += ((int64_t)sample * CDA_LVol) >> 32; \
-	*audioMixR++ += ((int64_t)sample * CDA_RVol) >> 32; \
+	assert(smpPtr >= base && smpPtr < base+v->end); \
+	fSample = smpPtr[-1]; \
+	fSample2 = smpPtr[0]; \
+	fSample3 = smpPtr[1]; \
+	fSample4 = smpPtr[2]; \
+	INTERPOLATE8(fSample, fSample2, fSample3, fSample4, posFrac) \
+	*fMixBufferL++ += fSample * fVolL; \
+	*fMixBufferR++ += fSample * fVolR; \
 
 #define RENDER_8BIT_SMP_MONO_INTRP \
-	assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \
-	sample = smpPtr[-1]; \
-	sample2 = smpPtr[0]; \
-	sample3 = smpPtr[1]; \
-	sample4 = smpPtr[2]; \
-	INTERPOLATE8(sample, sample2, sample3, sample4, pos) \
-	sample <<= 12; \
-	sample = ((int64_t)sample * CDA_LVol) >> 32; \
-	*audioMixL++ += sample; \
-	*audioMixR++ += sample; \
+	assert(smpPtr >= base && smpPtr < base+v->end); \
+	fSample = smpPtr[-1]; \
+	fSample2 = smpPtr[0]; \
+	fSample3 = smpPtr[1]; \
+	fSample4 = smpPtr[2]; \
+	INTERPOLATE8(fSample, fSample2, fSample3, fSample4, posFrac) \
+	fSample *= fVolL; \
+	*fMixBufferL++ += fSample; \
+	*fMixBufferR++ += fSample; \
 
 #define RENDER_16BIT_SMP_INTRP \
-	assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \
-	sample = smpPtr[-1]; \
-	sample2 = smpPtr[0]; \
-	sample3 = smpPtr[1]; \
-	sample4 = smpPtr[2]; \
-	INTERPOLATE16(sample, sample2, sample3, sample4, pos) \
-	sample <<= 12; \
-	*audioMixL++ += ((int64_t)sample * CDA_LVol) >> 32; \
-	*audioMixR++ += ((int64_t)sample * CDA_RVol) >> 32; \
+	assert(smpPtr >= base && smpPtr < base+v->end); \
+	fSample = smpPtr[-1]; \
+	fSample2 = smpPtr[0]; \
+	fSample3 = smpPtr[1]; \
+	fSample4 = smpPtr[2]; \
+	INTERPOLATE16(fSample, fSample2, fSample3, fSample4, posFrac) \
+	*fMixBufferL++ += fSample * fVolL; \
+	*fMixBufferR++ += fSample * fVolR; \
 
 #define RENDER_16BIT_SMP_MONO_INTRP \
-	assert(smpPtr >= CDA_LinearAdr && smpPtr < CDA_LinearAdr+v->SLen); \
-	sample = smpPtr[-1]; \
-	sample2 = smpPtr[0]; \
-	sample3 = smpPtr[1]; \
-	sample4 = smpPtr[2]; \
-	INTERPOLATE16(sample, sample2, sample3, sample4, pos) \
-	sample <<= 12; \
-	sample = ((int64_t)sample * CDA_LVol) >> 32; \
-	*audioMixL++ += sample; \
-	*audioMixR++ += sample; \
+	assert(smpPtr >= base && smpPtr < base+v->end); \
+	fSample = smpPtr[-1]; \
+	fSample2 = smpPtr[0]; \
+	fSample3 = smpPtr[1]; \
+	fSample4 = smpPtr[2]; \
+	INTERPOLATE16(fSample, fSample2, fSample3, fSample4, posFrac) \
+	fSample *= fVolL; \
+	*fMixBufferL++ += fSample; \
+	*fMixBufferR++ += fSample; \
 
 /* ----------------------------------------------------------------------- */
 /*                      SAMPLES-TO-MIX LIMITING MACROS                     */
 /* ----------------------------------------------------------------------- */
 
-#if defined _WIN64 || defined __amd64__
-
 #define LIMIT_MIX_NUM \
-	i = (v->SLen - 1) - realPos; \
+	i = (v->end - 1) - pos; \
 	if (i > 65535) \
 		i = 65535; \
 	\
-	i = (i << 16) | ((uint32_t)(pos >> 16) ^ 0xFFFF); \
-	samplesToMix = ((int64_t)i * v->SFrqRev) >> 32; \
+	i = (i << 16) | ((uint32_t)(posFrac >> 16) ^ 0xFFFF); \
+	samplesToMix = ((int64_t)i * v->revDelta) >> 32; \
 	samplesToMix++; \
 	\
-	if (samplesToMix > CDA_BytesLeft) \
-		samplesToMix = CDA_BytesLeft; \
+	if (samplesToMix > samplesLeft) \
+		samplesToMix = samplesLeft; \
 
 #define START_BIDI \
 	if (v->backwards) \
 	{ \
-		delta = 0 - SFrq; \
-		assert(realPos >= v->SRepS && realPos < v->SLen); \
-		realPos = ~realPos; \
-		smpPtr = CDA_LinAdrRev + realPos; \
-		pos ^= MIXER_FRAC_MASK; \
+		tmpDelta = 0 - delta; \
+		assert(pos >= v->loopStart && pos < v->end); \
+		pos = ~pos; \
+		smpPtr = revBase + pos; \
+		posFrac ^= MIXER_FRAC_MASK; \
 	} \
 	else \
 	{ \
-		delta = SFrq; \
-		assert(realPos >= 0 && realPos < v->SLen); \
-		smpPtr = CDA_LinearAdr + realPos; \
+		tmpDelta = delta; \
+		assert(pos >= 0 && pos < v->end); \
+		smpPtr = base + pos; \
 	} \
 	\
-	const int32_t CDA_IPValH = (int64_t)delta >> MIXER_FRAC_BITS; \
-	const uint32_t CDA_IPValL = delta & MIXER_FRAC_MASK; \
+	const int32_t deltaHi = (int64_t)tmpDelta >> MIXER_FRAC_BITS; \
+	const uint32_t deltaLo = tmpDelta & MIXER_FRAC_MASK; \
 
-#else
-
-#define LIMIT_MIX_NUM \
-	i = (v->SLen - 1) - realPos; \
-	if (i > (1UL << (32-MIXER_FRAC_BITS))-1) \
-		i = (1UL << (32-MIXER_FRAC_BITS))-1; \
-	\
-	i = (i << MIXER_FRAC_BITS) | (pos ^ MIXER_FRAC_MASK); \
-	samplesToMix = ((int64_t)i * v->SFrqRev) >> 32; \
-	samplesToMix++; \
-	\
-	if (samplesToMix > CDA_BytesLeft) \
-		samplesToMix = CDA_BytesLeft; \
-
-#define START_BIDI \
-	if (v->backwards) \
-	{ \
-		delta = 0 - SFrq; \
-		assert(realPos >= v->SRepS && realPos < v->SLen); \
-		realPos = ~realPos; \
-		smpPtr = CDA_LinAdrRev + realPos; \
-		pos ^= MIXER_FRAC_MASK; \
-	} \
-	else \
-	{ \
-		delta = SFrq; \
-		assert(realPos >= 0 && realPos < v->SLen); \
-		smpPtr = CDA_LinearAdr + realPos; \
-	} \
-	\
-	const int32_t CDA_IPValH = (int32_t)delta >> MIXER_FRAC_BITS; \
-	const uint32_t CDA_IPValL = delta & MIXER_FRAC_MASK; \
-
-#endif
-
 #define LIMIT_MIX_NUM_RAMP \
-	if (v->SVolIPLen == 0) \
+	if (v->volRampSamples == 0) \
 	{ \
-		CDA_LVolIP = 0; \
-		CDA_RVolIP = 0; \
+		fVolLDelta = 0; \
+		fVolRDelta = 0; \
 		\
 		if (v->isFadeOutVoice) \
 		{ \
@@ -310,16 +233,16 @@
 	} \
 	else \
 	{ \
-		if (samplesToMix > v->SVolIPLen) \
-			samplesToMix = v->SVolIPLen; \
+		if (samplesToMix > v->volRampSamples) \
+			samplesToMix = v->volRampSamples; \
 		\
-		v->SVolIPLen -= samplesToMix; \
+		v->volRampSamples -= samplesToMix; \
 	} \
 
 #define LIMIT_MIX_NUM_MONO_RAMP \
-	if (v->SVolIPLen == 0) \
+	if (v->volRampSamples == 0) \
 	{ \
-		CDA_LVolIP = 0; \
+		fVolLDelta = 0; \
 		if (v->isFadeOutVoice) \
 		{ \
 			v->active = false; /* volume ramp fadeout-voice is done, shut it down */ \
@@ -328,15 +251,15 @@
 	} \
 	else \
 	{ \
-		if (samplesToMix > v->SVolIPLen) \
-			samplesToMix = v->SVolIPLen; \
+		if (samplesToMix > v->volRampSamples) \
+			samplesToMix = v->volRampSamples; \
 		\
-		v->SVolIPLen -= samplesToMix; \
+		v->volRampSamples -= samplesToMix; \
 	} \
 
 #define HANDLE_SAMPLE_END \
-	realPos = (int32_t)(smpPtr - CDA_LinearAdr); \
-	if (realPos >= v->SLen) \
+	pos = (int32_t)(smpPtr - base); \
+	if (pos >= v->end) \
 	{ \
 		v->active = false; \
 		return; \
@@ -343,15 +266,15 @@
 	} \
 
 #define WRAP_LOOP \
-	realPos = (int32_t)(smpPtr - CDA_LinearAdr); \
-	while (realPos >= v->SLen) \
-		realPos -= v->SRepL; \
-	smpPtr = CDA_LinearAdr + realPos; \
+	pos = (int32_t)(smpPtr - base); \
+	while (pos >= v->end) \
+		pos -= v->loopLength; \
+	smpPtr = base + pos; \
 
 #define WRAP_BIDI_LOOP \
-	while (realPos >= v->SLen) \
+	while (pos >= v->end) \
 	{ \
-		realPos -= v->SRepL; \
+		pos -= v->loopLength; \
 		v->backwards ^= 1; \
 	} \
 
@@ -358,11 +281,11 @@
 #define END_BIDI \
 	if (v->backwards) \
 	{ \
-		pos ^= MIXER_FRAC_MASK; \
-		realPos = ~(int32_t)(smpPtr - CDA_LinAdrRev); \
+		posFrac ^= MIXER_FRAC_MASK; \
+		pos = ~(int32_t)(smpPtr - revBase); \
 	} \
 	else \
 	{ \
-		realPos = (int32_t)(smpPtr - CDA_LinearAdr); \
+		pos = (int32_t)(smpPtr - base); \
 	} \
 
--- a/src/mixer/ft2_silence_mix.c
+++ b/src/mixer/ft2_silence_mix.c
@@ -4,28 +4,24 @@
 
 void silenceMixRoutine(voice_t *v, int32_t numSamples)
 {
-	int32_t realPos;
-#if defined _WIN64 || defined __amd64__
-	uint64_t pos;
-#else
-	uint32_t pos;
-#endif
+	int32_t pos;
+	uint64_t posFrac;
 
 	SILENCE_MIX_INC_POS
 
-	if (v->SLoopType == 0)
+	if (v->loopType == LOOP_DISABLED)
 	{
 		SILENCE_MIX_NO_LOOP
 	}
-	else if (v->SLoopType == 1)
+	else if (v->loopType == LOOP_FORWARD)
 	{
 		SILENCE_MIX_LOOP
 	}
-	else
+	else // pingpong loop
 	{
 		SILENCE_MIX_BIDI_LOOP
 	}
 
-	v->SPosDec = pos;
-	v->SPos = realPos;
+	v->posFrac = posFrac;
+	v->pos = pos;
 }
--- a/src/mixer/ft2_silence_mix.h
+++ b/src/mixer/ft2_silence_mix.h
@@ -5,71 +5,46 @@
 #include "../ft2_audio.h"
 
 #define SILENCE_MIX_NO_LOOP \
-	if (realPos >= v->SLen) \
+	if (pos >= v->end) \
 	{ \
 		v->active = false; /* shut down voice */ \
 		return; \
 	} \
 
-#if defined _WIN64 || defined __amd64__
-
 #define SILENCE_MIX_INC_POS \
-	const uint64_t newPos = v->SFrq * (uint64_t)numSamples; \
+	const uint64_t newPos = v->delta * (uint64_t)numSamples; \
 	const uint32_t addPos = (uint32_t)(newPos >> MIXER_FRAC_BITS); \
 	uint64_t addFrac = newPos & MIXER_FRAC_MASK; \
 	\
-	addFrac += v->SPosDec; \
-	realPos = v->SPos + addPos + (uint32_t)(addFrac >> MIXER_FRAC_BITS); \
-	pos = addFrac & MIXER_FRAC_MASK; \
+	addFrac += v->posFrac; \
+	pos = v->pos + addPos + (uint32_t)(addFrac >> MIXER_FRAC_BITS); \
+	posFrac = addFrac & MIXER_FRAC_MASK; \
 
-
 #define SILENCE_MIX_LOOP \
-	if (realPos >= v->SLen) \
+	if (pos >= v->end) \
 	{ \
-		if (v->SRepL >= 2) \
-			realPos = v->SRepS + ((realPos - v->SLen) % v->SRepL); \
+		if (v->loopLength >= 2) \
+			pos = v->loopStart + ((pos - v->end) % v->loopLength); \
 		else \
-			realPos = v->SRepS; \
+			pos = v->loopStart; \
 	} \
 
 #define SILENCE_MIX_BIDI_LOOP \
-	if (realPos >= v->SLen) \
+	if (pos >= v->end) \
 	{ \
-		if (v->SRepL >= 2) \
+		if (v->loopLength >= 2) \
 		{ \
-			const int32_t overflow = realPos - v->SLen; \
-			const int32_t cycles = overflow / v->SRepL; \
-			const int32_t phase = overflow % v->SRepL; \
+			const int32_t overflow = pos - v->end; \
+			const int32_t cycles = overflow / v->loopLength; \
+			const int32_t phase = overflow % v->loopLength; \
 			\
-			realPos = v->SRepS + phase; \
+			pos = v->loopStart + phase; \
 			v->backwards ^= !(cycles & 1); \
 		} \
 		else \
 		{ \
-			realPos = v->SRepS; \
+			pos = v->loopStart; \
 		} \
 	} \
-
-#else
-
-#define SILENCE_MIX_INC_POS \
-	assert(numSamples <= 65536); \
-	\
-	pos = v->SPosDec + ((v->SFrq & 0xFFFF) * numSamples); \
-	realPos = v->SPos + ((v->SFrq >> 16) * numSamples) + (pos >> 16); \
-	pos &= 0xFFFF; \
-
-#define SILENCE_MIX_LOOP \
-	while (realPos >= v->SLen) \
-		realPos -= v->SRepL; \
-
-#define SILENCE_MIX_BIDI_LOOP \
-	while (realPos >= v->SLen) \
-	{ \
-		realPos -= v->SRepL; \
-		v->backwards ^= 1; \
-	} \
-
-#endif
 
 void silenceMixRoutine(voice_t *v, int32_t numSamples);