Frame 1
function Vector2(x, y) {
this.x = x;
this.y = y;
}
Vector2.prototype.ToString = function () {
return(((("(" + this.x) + ",") + this.y) + ")");
};
Vector2.prototype.clone = function () {
var _local2 = new Vector2(this.x, this.y);
return(_local2);
};
Vector2.prototype.plus = function (v2) {
var _local2 = new Vector2(this.x + v2.x, this.y + v2.y);
return(_local2);
};
Vector2.prototype.minus = function (v2) {
var _local2 = new Vector2(this.x - v2.x, this.y - v2.y);
return(_local2);
};
Vector2.prototype.normR = function () {
var _local2 = new Vector2(this.y * -1, this.x);
return(_local2);
};
Vector2.prototype.dir = function () {
var _local2 = this.clone();
_local2.normalize();
return(_local2);
};
Vector2.prototype.proj = function (v2) {
var _local3 = v2.dot(v2);
if (_local3 == 0) {
var _local2 = this.clone();
} else {
var _local2 = v2.clone();
_local2.mult(this.dot(v2) / _local3);
}
return(_local2);
};
Vector2.prototype.projLen = function (v2) {
var _local2 = v2.dot(v2);
if (_local2 == 0) {
return(0);
}
return(Math.abs(this.dot(v2) / _local2));
};
Vector2.prototype.dot = function (v2) {
return((this.x * v2.x) + (this.y * v2.y));
};
Vector2.prototype.cross = function (v2) {
return((this.x * v2.y) - (this.y * v2.x));
};
Vector2.prototype.len = function () {
return(Math.sqrt((this.x * this.x) + (this.y * this.y)));
};
Vector2.prototype.copy = function (v2) {
this.x = v2.x;
this.y = v2.y;
};
Vector2.prototype.mult = function (s) {
this.x = this.x * s;
this.y = this.y * s;
};
Vector2.prototype.normalize = function () {
var _local2 = this.len();
if (_local2 != 0) {
this.x = this.x / _local2;
this.y = this.y / _local2;
}
};
Vector2.prototype.pluseq = function (v2) {
this.x = this.x + v2.x;
this.y = this.y + v2.y;
};
Vector2.prototype.minuseq = function (v2) {
this.x = this.x - v2.x;
this.y = this.y - v2.y;
};
function InputManager() {
this.vrend = new VectorRenderer();
this.mPos = new Vector2(this.vrend.buffer._xmouse, this.vrend.buffer._ymouse);
this.mOldpos = new Vector2(this.vrend.buffer._xmouse, this.vrend.buffer._ymouse);
this.mDelta = new Vector2(0, 0);
this.mDownPos = new Vector2(0, 0);
this.mUpPos = new Vector2(0, 0);
this.onMouseDown = this.CaptureMouseDown;
this.onMouseUp = this.CaptureMouseUp;
Mouse.addListener(this);
this.mState = false;
this.mOldState = false;
this.mPressed = false;
this.mReleased = false;
this.kCode = new Array();
this.kState = new Array();
this.kOldState = new Array();
this.tKey = new Array();
this.tState = new Array();
}
InputManager.prototype.RegisterKey = function (knum) {
var _local2 = this.kCode.length;
this.kCode.push(knum);
this.kState[_local2] = false;
this.kOldState[_local2] = false;
return(_local2);
};
InputManager.prototype.RegisterToggle = function (knum) {
var _local2 = this.tKey.length;
this.tKey.push(this.RegisterKey(knum));
this.tState[_local2] = false;
return(_local2);
};
InputManager.prototype.Update = function () {
this.mOldpos.x = this.mPos.x;
this.mOldpos.y = this.mPos.y;
this.mPos.x = this.vrend.buffer._xmouse;
this.mPos.y = this.vrend.buffer._ymouse;
this.mDelta.x = this.mPos.x - this.mOldpos.x;
this.mDelta.y = this.mPos.y - this.mOldpos.y;
if (this.mState && (!this.mOldState)) {
this.mPressed = true;
this.mOldState = true;
this.mDownPos.x = this.mPos.x;
this.mDownPos.y = this.mPos.y;
} else {
this.mPressed = false;
}
if ((!this.mState) && (this.mOldState)) {
this.mReleased = true;
this.mOldState = false;
this.mUpPos.x = this.mPos.x;
this.mUpPos.y = this.mPos.y;
} else {
this.mReleased = false;
}
if (this.mState) {
this.mUpPos.x = this.mPos.x;
this.mUpPos.y = this.mPos.y;
}
var _local2 = 0;
while (_local2 < this.kCode.length) {
this.kOldState[_local2] = Key.isDown(this.kCode[_local2]);
_local2++;
}
var _local3 = this.kOldState;
this.kOldState = this.kState;
this.kState = _local3;
_local2 = 0;
while (_local2 < this.tKey.length) {
if (this.Pressed(this.tKey[_local2])) {
this.tState[_local2] = !this.tState[_local2];
}
_local2++;
}
};
InputManager.prototype.CaptureMouseDown = function () {
this.mOldState = false;
this.mState = true;
};
InputManager.prototype.CaptureMouseUp = function () {
this.mOldState = true;
this.mState = false;
};
InputManager.prototype.getMousePos = function () {
return(this.mPos.clone());
};
InputManager.prototype.getMouseDelta = function () {
return(this.mDelta.clone());
};
InputManager.prototype.getMouseDragDelta = function () {
return(this.mUpPos.minus(this.mDownPos));
};
InputManager.prototype.getMouseDownPos = function () {
return(this.mDownPos.clone());
};
InputManager.prototype.getMouseUpPos = function () {
return(this.mUpPos.clone());
};
InputManager.prototype.MousePressed = function () {
return(this.mPressed);
};
InputManager.prototype.MouseReleased = function () {
return(this.mReleased);
};
InputManager.prototype.MouseDown = function () {
return(this.mState);
};
InputManager.prototype.Down = function (knum) {
return(this.kState[knum]);
};
InputManager.prototype.Pressed = function (knum) {
return(this.kState[knum] && (!this.kOldState[knum]));
};
InputManager.prototype.Released = function (knum) {
return((!this.kState[knum]) && (this.kOldState[knum]));
};
InputManager.prototype.Toggled = function (tnum) {
return(this.tState[tnum]);
};
function VectorRenderer() {
this.buffer = gfx.CreateSpriteBuffer(gfx.GetNextDepth_Front());
this.buffer._x = 0;
this.buffer._y = 0;
this.thickness = 0;
this.rgb = 0;
this.alpha = 100;
}
VectorRenderer.prototype.Kill = function () {
gfx.DestroyMC(this.buffer);
delete this.buffer;
};
VectorRenderer.prototype.Hide = function () {
this.buffer._visible = false;
};
VectorRenderer.prototype.Show = function () {
this.buffer._visible = true;
};
VectorRenderer.prototype.Clear = function () {
this.buffer.clear();
this.buffer.lineStyle(this.thickness, this.rgb, this.alpha);
};
VectorRenderer.prototype.SetStyle = function (thick, rgb, alpha) {
this.buffer.lineStyle(thick, rgb, alpha);
};
VectorRenderer.prototype.StartFill = function (x, y, rgb, alpha) {
this.buffer.moveTo(x, y);
this.buffer.beginFill(rgb, alpha);
};
VectorRenderer.prototype.StopFill = function () {
this.buffer.endFill();
};
VectorRenderer.prototype.DrawLine = function (va, vb) {
this.buffer.moveTo(va.x, va.y);
this.buffer.lineTo(vb.x, vb.y);
};
VectorRenderer.prototype.DrawLine_S = function (x0, y0, x1, y1) {
this.buffer.moveTo(x0, y0);
this.buffer.lineTo(x1, y1);
};
VectorRenderer.prototype.DrawLinestrip = function (vList) {
this.buffer.moveTo(vList[0].x, vList[0].y);
var _local2 = 0;
while (_local2 < vList.length) {
this.buffer.lineTo(vList[_local2].x, vList[_local2].y);
_local2++;
}
};
VectorRenderer.prototype.DrawTri = function (va, vb, vc) {
this.buffer.moveTo(va.x, va.y);
this.buffer.lineTo(vb.x, vb.y);
this.buffer.lineTo(vc.x, vc.y);
this.buffer.lineTo(va.x, va.y);
};
VectorRenderer.prototype.DrawTri_S = function (vax, vay, vbx, vby, vcx, vcy) {
this.buffer.moveTo(vax, vay);
this.buffer.lineTo(vbx, vby);
this.buffer.lineTo(vcx, vcy);
this.buffer.lineTo(vax, vay);
};
VectorRenderer.prototype.DrawQuad = function (a, b, c, d) {
this.buffer.moveTo(a.x, a.y);
this.buffer.lineTo(b.x, b.y);
this.buffer.lineTo(c.x, c.y);
this.buffer.lineTo(d.x, d.y);
this.buffer.lineTo(a.x, a.y);
};
VectorRenderer.prototype.DrawQuad_S = function (ax, ay, bx, by, cx, cy, dx, dy) {
this.buffer.moveTo(ax, ay);
this.buffer.lineTo(bx, by);
this.buffer.lineTo(cx, cy);
this.buffer.lineTo(dx, dy);
this.buffer.lineTo(ax, ay);
};
VectorRenderer.prototype.DrawPlus = function (v) {
this.buffer.moveTo(v.x - 1, v.y);
this.buffer.lineTo(v.x + 1, v.y);
this.buffer.moveTo(v.x, v.y - 1);
this.buffer.lineTo(v.x, v.y + 1);
};
VectorRenderer.prototype.DrawPlus_S = function (vx, vy) {
this.buffer.moveTo(vx - 1, vy);
this.buffer.lineTo(vx + 1, vy);
this.buffer.moveTo(vx, vy - 1);
this.buffer.lineTo(vx, vy + 1);
};
VectorRenderer.prototype.DrawPlusR = function (v, r) {
this.buffer.moveTo(v.x - r, v.y);
this.buffer.lineTo(v.x + r, v.y);
this.buffer.moveTo(v.x, v.y - r);
this.buffer.lineTo(v.x, v.y + r);
};
VectorRenderer.prototype.DrawCross = function (v) {
this.buffer.moveTo(v.x - 1, v.y - 1);
this.buffer.lineTo(v.x + 1, v.y + 1);
this.buffer.moveTo(v.x + 1, v.y - 1);
this.buffer.lineTo(v.x - 1, v.y + 1);
};
VectorRenderer.prototype.DrawCross_S = function (vx, vy) {
this.buffer.moveTo(vx - 1, vy - 1);
this.buffer.lineTo(vx + 1, vy + 1);
this.buffer.moveTo(vx + 1, vy - 1);
this.buffer.lineTo(vx - 1, vy + 1);
};
VectorRenderer.prototype.DrawCrossR = function (v, r) {
this.buffer.moveTo(v.x - r, v.y - r);
this.buffer.lineTo(v.x + r, v.y + r);
this.buffer.moveTo(v.x + r, v.y - r);
this.buffer.lineTo(v.x - r, v.y + r);
};
VectorRenderer.prototype.DrawCircle = function (v, r) {
var _local4 = v.x;
var _local3 = v.y;
this.buffer.moveTo(_local4 + r, _local3);
this.buffer.curveTo(r + _local4, (0.4142 * r) + _local3, (0.7071 * r) + _local4, (0.7071 * r) + _local3);
this.buffer.curveTo((0.4142 * r) + _local4, r + _local3, _local4, r + _local3);
this.buffer.curveTo((-0.4142 * r) + _local4, r + _local3, (-0.7071 * r) + _local4, (0.7071 * r) + _local3);
this.buffer.curveTo((-r) + _local4, (0.4142 * r) + _local3, (-r) + _local4, _local3);
this.buffer.curveTo((-r) + _local4, (-0.4142 * r) + _local3, (-0.7071 * r) + _local4, (-0.7071 * r) + _local3);
this.buffer.curveTo((-0.4142 * r) + _local4, (-r) + _local3, _local4, (-r) + _local3);
this.buffer.curveTo((0.4142 * r) + _local4, (-r) + _local3, (0.7071 * r) + _local4, (-0.7071 * r) + _local3);
this.buffer.curveTo(r + _local4, (-0.4142 * r) + _local3, r + _local4, _local3);
};
VectorRenderer.prototype.DrawCircle_S = function (x, y, r) {
this.buffer.moveTo(x + r, y);
this.buffer.curveTo(r + x, (0.4142 * r) + y, (0.7071 * r) + x, (0.7071 * r) + y);
this.buffer.curveTo((0.4142 * r) + x, r + y, x, r + y);
this.buffer.curveTo((-0.4142 * r) + x, r + y, (-0.7071 * r) + x, (0.7071 * r) + y);
this.buffer.curveTo((-r) + x, (0.4142 * r) + y, (-r) + x, y);
this.buffer.curveTo((-r) + x, (-0.4142 * r) + y, (-0.7071 * r) + x, (-0.7071 * r) + y);
this.buffer.curveTo((-0.4142 * r) + x, (-r) + y, x, (-r) + y);
this.buffer.curveTo((0.4142 * r) + x, (-r) + y, (0.7071 * r) + x, (-0.7071 * r) + y);
this.buffer.curveTo(r + x, (-0.4142 * r) + y, r + x, y);
};
VectorRenderer.prototype.DrawArc = function (p0, p1, c) {
this.buffer.moveTo(p0.x, p0.y);
this.buffer.curveTo(c.x, c.y, p1.x, p1.y);
};
VectorRenderer.prototype.DrawArc_S = function (x0, y0, x1, y1, xc, yc) {
this.buffer.moveTo(x0, y0);
this.buffer.curveTo(xc, yc, x1, y1);
};
VectorRenderer.prototype.DrawAABB = function (p, xw, yw) {
var _local8 = new Vector2(p.x + xw, p.y + yw);
var _local7 = new Vector2(p.x - xw, p.y + yw);
var _local6 = new Vector2(p.x - xw, p.y - yw);
var _local5 = new Vector2(p.x + xw, p.y - yw);
this.DrawQuad(_local8, _local7, _local6, _local5);
};
VectorRenderer.prototype.DrawAABB_S = function (minx, maxx, miny, maxy) {
var _local5 = new Vector2(maxx, maxy);
var _local4 = new Vector2(minx, maxy);
var _local3 = new Vector2(minx, miny);
var _local2 = new Vector2(maxx, miny);
this.DrawQuad(_local5, _local4, _local3, _local2);
};
VectorRenderer.prototype.DrawConcaveCCWArc_S = function (cx, cy, px, py) {
var _local11 = px;
var _local9 = py;
var _local12 = _local11 - cx;
var _local10 = _local9 - cy;
var _local8 = Math.sqrt((_local12 * _local12) + (_local10 * _local10));
var _local17 = _local10;
var _local16 = -_local12;
var _local5 = (_local11 + _local17) - cx;
var _local4 = (_local9 + _local16) - cy;
var _local14 = Math.sqrt((_local5 * _local5) + (_local4 * _local4));
_local5 = _local5 / _local14;
_local4 = _local4 / _local14;
_local5 = _local5 * _local8;
_local4 = _local4 * _local8;
_local5 = _local5 + cx;
_local4 = _local4 + cy;
var _local7 = ((_local11 + _local5) * 0.5) - cx;
var _local6 = ((_local9 + _local4) * 0.5) - cy;
var _local13 = Math.sqrt((_local7 * _local7) + (_local6 * _local6));
var _local15 = _local8 - _local13;
_local7 = _local7 / _local13;
_local6 = _local6 / _local13;
_local7 = _local7 * (_local8 + _local15);
_local6 = _local6 * (_local8 + _local15);
_local7 = _local7 + cx;
_local6 = _local6 + cy;
this.buffer.moveTo(_local11, _local9);
this.buffer.curveTo(_local7, _local6, _local5, _local4);
_local11 = _local5;
_local9 = _local4;
_local12 = _local11 - cx;
_local10 = _local9 - cy;
_local8 = Math.sqrt((_local12 * _local12) + (_local10 * _local10));
_local17 = _local10;
_local16 = -_local12;
_local5 = (_local11 + _local17) - cx;
_local4 = (_local9 + _local16) - cy;
_local14 = Math.sqrt((_local5 * _local5) + (_local4 * _local4));
_local5 = _local5 / _local14;
_local4 = _local4 / _local14;
_local5 = _local5 * _local8;
_local4 = _local4 * _local8;
_local5 = _local5 + cx;
_local4 = _local4 + cy;
_local7 = ((_local11 + _local5) * 0.5) - cx;
_local6 = ((_local9 + _local4) * 0.5) - cy;
_local13 = Math.sqrt((_local7 * _local7) + (_local6 * _local6));
_local15 = _local8 - _local13;
_local7 = _local7 / _local13;
_local6 = _local6 / _local13;
_local7 = _local7 * (_local8 + _local15);
_local6 = _local6 * (_local8 + _local15);
_local7 = _local7 + cx;
_local6 = _local6 + cy;
this.buffer.curveTo(_local7, _local6, _local5, _local4);
};
VectorRenderer.prototype.DrawLinestrip_nrope = function (vList) {
this.buffer.moveTo(vList[0].x, vList[0].y);
var _local2 = 1;
while (_local2 < vList.length) {
this.buffer.lineTo(vList[_local2].x, vList[_local2].y);
_local2++;
}
};
function TileMap(rows, cols, xw, yw) {
this.xw = xw;
this.yw = yw;
this.tw = 2 * this.xw;
this.th = 2 * this.yw;
this.rows = rows;
this.cols = cols;
this.fullrows = this.rows + 2;
this.fullcols = this.cols + 2;
this.minX = this.tw;
this.minY = this.th;
this.maxX = this.tw + (rows * this.tw);
this.maxY = this.th + (cols * this.th);
this.grid = new Object();
this.BUILD_STEPS_REMAINING = 9;
this.rend = new VectorRenderer();
this.rend.Clear();
}
TileMap.prototype.Building = function () {
var _local7 = this.xw;
var _local5 = this.yw;
var _local4 = this.fullrows;
var _local2 = this.fullcols;
var _local8 = this.rows;
var _local9 = this.cols;
if (this.BUILD_STEPS_REMAINING == 9) {
var _local6 = 0;
while (_local6 < _local4) {
this.grid[_local6] = new Object();
var _local3 = 0;
while (_local3 < _local2) {
this.grid[_local6][_local3] = new TileMapCell(_local6, _local3, _local7, _local5, this.xw, this.yw);
_local5 = _local5 + this.th;
_local3++;
}
_local7 = _local7 + this.tw;
_local5 = this.yw;
_local6++;
}
this.BUILD_STEPS_REMAINING--;
return(true);
}
if (this.BUILD_STEPS_REMAINING == 8) {
var _local6 = 0;
while (_local6 < (_local4 - 1)) {
var _local3 = 0;
while (_local3 < _local2) {
this.grid[_local6][_local3].LinkR(this.grid[_local6 + 1][_local3]);
_local3++;
}
_local6++;
}
this.BUILD_STEPS_REMAINING--;
return(true);
}
if (this.BUILD_STEPS_REMAINING == 7) {
var _local6 = 1;
while (_local6 < _local4) {
var _local3 = 0;
while (_local3 < _local2) {
this.grid[_local6][_local3].LinkL(this.grid[_local6 - 1][_local3]);
_local3++;
}
_local6++;
}
this.BUILD_STEPS_REMAINING--;
return(true);
}
if (this.BUILD_STEPS_REMAINING == 6) {
var _local6 = 0;
while (_local6 < _local4) {
var _local3 = 0;
while (_local3 < (_local2 - 1)) {
this.grid[_local6][_local3].LinkD(this.grid[_local6][_local3 + 1]);
_local3++;
}
_local6++;
}
this.BUILD_STEPS_REMAINING--;
return(true);
}
if (this.BUILD_STEPS_REMAINING == 5) {
var _local6 = 0;
while (_local6 < _local4) {
var _local3 = 1;
while (_local3 < _local2) {
this.grid[_local6][_local3].LinkU(this.grid[_local6][_local3 - 1]);
_local3++;
}
_local6++;
}
this.BUILD_STEPS_REMAINING--;
return(true);
}
if (this.BUILD_STEPS_REMAINING == 4) {
var _local6 = 0;
while (_local6 < _local4) {
this.grid[_local6][0].SetState(TID_FULL);
_local6++;
}
this.BUILD_STEPS_REMAINING--;
return(true);
}
if (this.BUILD_STEPS_REMAINING == 3) {
var _local6 = 0;
while (_local6 < _local4) {
this.grid[_local6][_local2 - 1].SetState(TID_FULL);
_local6++;
}
this.BUILD_STEPS_REMAINING--;
return(true);
}
if (this.BUILD_STEPS_REMAINING == 2) {
var _local6 = 0;
while (_local6 < _local2) {
this.grid[0][_local6].SetState(TID_FULL);
_local6++;
}
this.BUILD_STEPS_REMAINING--;
return(true);
}
if (this.BUILD_STEPS_REMAINING == 1) {
var _local6 = 0;
while (_local6 < _local2) {
this.grid[_local4 - 1][_local6].SetState(TID_FULL);
_local6++;
}
this.BUILD_STEPS_REMAINING--;
return(true);
}
return(false);
};
TileMap.prototype.ClearGrid = function () {
var _local2;
for (var _local4 in this.grid) {
_local2 = this.grid[_local4];
for (var _local3 in _local2) {
_local2[_local3].next = null;
_local2[_local3].prev = null;
}
}
};
TileMap.prototype.GetTile_S = function (x, y) {
return(this.grid[Math.floor(x / this.tw)][Math.floor(y / this.th)]);
};
TileMap.prototype.GetTile_V = function (p) {
return(this.grid[Math.floor(p.x / this.tw)][Math.floor(p.y / this.th)]);
};
TileMap.prototype.GetTile_I = function (i, j) {
return(this.grid[i][j]);
};
TileMap.prototype.GetIndex_S = function (v, x, y) {
v.x = Math.floor(x / this.tw);
v.y = Math.floor(y / this.th);
};
TileMap.prototype.GetIndex_V = function (v, p) {
v.x = Math.floor(p.x / this.tw);
v.y = Math.floor(p.y / this.th);
};
function TileMapCell(i, j, x, y, xw, yw) {
this.ID = TID_EMPTY;
this.CTYPE = CTYPE_EMPTY;
this.i = i;
this.j = j;
this.nU = null;
this.nD = null;
this.nL = null;
this.nR = null;
this.eU = EID_OFF;
this.eD = EID_OFF;
this.eL = EID_OFF;
this.eR = EID_OFF;
this.gx = 0;
this.gy = GRAV;
this.d = DRAG;
this.next = null;
this.prev = null;
this.objcounter = 0;
this.pos = new Vector2(x, y);
this.xw = xw;
this.yw = yw;
this.minx = this.pos.x - this.xw;
this.maxx = this.pos.x + this.xw;
this.miny = this.pos.y - this.yw;
this.maxy = this.pos.y + this.yw;
this.signx = 0;
this.signy = 0;
this.sx = 0;
this.sy = 0;
var _local2 = false;
if (!_local2) {
this.mc = gfx.CreateSprite("tileMC", LAYER_TILES);
this.mc.gotoAndStop(1);
this.mc._xscale = this.xw * 2;
this.mc._yscale = this.yw * 2;
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
var _local3 = new Color(this.mc);
_local3.setRGB(7960968);
} else {
this.mc = gfx.CreateSprite("tileMC2", LAYER_TILES2);
this.mc.gotoAndStop(1);
this.mc._xscale = this.xw * 2;
this.mc._yscale = this.yw * 2;
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
}
}
TID_EMPTY = 0;
TID_FULL = 1;
TID_45DEGpn = 2;
TID_45DEGnn = 3;
TID_45DEGnp = 4;
TID_45DEGpp = 5;
TID_CONCAVEpn = 6;
TID_CONCAVEnn = 7;
TID_CONCAVEnp = 8;
TID_CONCAVEpp = 9;
TID_CONVEXpn = 10;
TID_CONVEXnn = 11;
TID_CONVEXnp = 12;
TID_CONVEXpp = 13;
TID_22DEGpnS = 14;
TID_22DEGnnS = 15;
TID_22DEGnpS = 16;
TID_22DEGppS = 17;
TID_22DEGpnB = 18;
TID_22DEGnnB = 19;
TID_22DEGnpB = 20;
TID_22DEGppB = 21;
TID_67DEGpnS = 22;
TID_67DEGnnS = 23;
TID_67DEGnpS = 24;
TID_67DEGppS = 25;
TID_67DEGpnB = 26;
TID_67DEGnnB = 27;
TID_67DEGnpB = 28;
TID_67DEGppB = 29;
TID_HALFd = 30;
TID_HALFr = 31;
TID_HALFu = 32;
TID_HALFl = 33;
CTYPE_EMPTY = 0;
CTYPE_FULL = 1;
CTYPE_45DEG = 2;
CTYPE_CONCAVE = 6;
CTYPE_CONVEX = 10;
CTYPE_22DEGs = 14;
CTYPE_22DEGb = 18;
CTYPE_67DEGs = 22;
CTYPE_67DEGb = 26;
CTYPE_HALF = 30;
EID_OFF = 0;
EID_INTERESTING = 1;
EID_SOLID = 2;
TileMapCell.prototype.LinkU = function (t) {
this.nU = t;
};
TileMapCell.prototype.LinkD = function (t) {
this.nD = t;
};
TileMapCell.prototype.LinkL = function (t) {
this.nL = t;
};
TileMapCell.prototype.LinkR = function (t) {
this.nR = t;
};
TileMapCell.prototype.ToString = function () {
var _local2 = ((("(" + this.i) + ",") + this.j) + ")";
return(_local2);
};
TileMapCell.prototype.Draw = function () {
this.mc.gotoAndStop(this.ID + 1);
};
TileMapCell.prototype.SetState = function (ID) {
if (ID == TID_EMPTY) {
this.Clear();
} else {
this.ID = ID;
this.UpdateType();
this.UpdateEdges();
this.UpdateNeighbors();
}
};
TileMapCell.prototype.Clear = function () {
this.ID = TID_EMPTY;
this.UpdateType();
this.UpdateEdges();
this.UpdateNeighbors();
this.Draw();
};
TileMapCell.prototype.UpdateNeighbors = function () {
if (this.nU != null) {
this.nU.UpdateEdges();
}
if (this.nD != null) {
this.nD.UpdateEdges();
}
if (this.nL != null) {
this.nL.UpdateEdges();
}
if (this.nR != null) {
this.nR.UpdateEdges();
}
};
TileMapCell.prototype.UpdateType = function () {
if (0 < this.ID) {
if (this.ID < CTYPE_45DEG) {
this.CTYPE = CTYPE_FULL;
this.signx = 0;
this.signy = 0;
this.sx = 0;
this.sy = 0;
} else if (this.ID < CTYPE_CONCAVE) {
this.CTYPE = CTYPE_45DEG;
if (this.ID == TID_45DEGpn) {
this.signx = 1;
this.signy = -1;
this.sx = this.signx / Math.SQRT2;
this.sy = this.signy / Math.SQRT2;
} else if (this.ID == TID_45DEGnn) {
this.signx = -1;
this.signy = -1;
this.sx = this.signx / Math.SQRT2;
this.sy = this.signy / Math.SQRT2;
} else if (this.ID == TID_45DEGnp) {
this.signx = -1;
this.signy = 1;
this.sx = this.signx / Math.SQRT2;
this.sy = this.signy / Math.SQRT2;
} else if (this.ID == TID_45DEGpp) {
this.signx = 1;
this.signy = 1;
this.sx = this.signx / Math.SQRT2;
this.sy = this.signy / Math.SQRT2;
} else {
return(false);
}
} else if (this.ID < CTYPE_CONVEX) {
this.CTYPE = CTYPE_CONCAVE;
if (this.ID == TID_CONCAVEpn) {
this.signx = 1;
this.signy = -1;
this.sx = 0;
this.sy = 0;
} else if (this.ID == TID_CONCAVEnn) {
this.signx = -1;
this.signy = -1;
this.sx = 0;
this.sy = 0;
} else if (this.ID == TID_CONCAVEnp) {
this.signx = -1;
this.signy = 1;
this.sx = 0;
this.sy = 0;
} else if (this.ID == TID_CONCAVEpp) {
this.signx = 1;
this.signy = 1;
this.sx = 0;
this.sy = 0;
} else {
return(false);
}
} else if (this.ID < CTYPE_22DEGs) {
this.CTYPE = CTYPE_CONVEX;
if (this.ID == TID_CONVEXpn) {
this.signx = 1;
this.signy = -1;
this.sx = 0;
this.sy = 0;
} else if (this.ID == TID_CONVEXnn) {
this.signx = -1;
this.signy = -1;
this.sx = 0;
this.sy = 0;
} else if (this.ID == TID_CONVEXnp) {
this.signx = -1;
this.signy = 1;
this.sx = 0;
this.sy = 0;
} else if (this.ID == TID_CONVEXpp) {
this.signx = 1;
this.signy = 1;
this.sx = 0;
this.sy = 0;
} else {
return(false);
}
} else if (this.ID < CTYPE_22DEGb) {
this.CTYPE = CTYPE_22DEGs;
if (this.ID == TID_22DEGpnS) {
this.signx = 1;
this.signy = -1;
var _local2 = 2.23606797749979;
this.sx = (this.signx * 1) / _local2;
this.sy = (this.signy * 2) / _local2;
} else if (this.ID == TID_22DEGnnS) {
this.signx = -1;
this.signy = -1;
var _local2 = 2.23606797749979;
this.sx = (this.signx * 1) / _local2;
this.sy = (this.signy * 2) / _local2;
} else if (this.ID == TID_22DEGnpS) {
this.signx = -1;
this.signy = 1;
var _local2 = 2.23606797749979;
this.sx = (this.signx * 1) / _local2;
this.sy = (this.signy * 2) / _local2;
} else if (this.ID == TID_22DEGppS) {
this.signx = 1;
this.signy = 1;
var _local2 = 2.23606797749979;
this.sx = (this.signx * 1) / _local2;
this.sy = (this.signy * 2) / _local2;
} else {
return(false);
}
} else if (this.ID < CTYPE_67DEGs) {
this.CTYPE = CTYPE_22DEGb;
if (this.ID == TID_22DEGpnB) {
this.signx = 1;
this.signy = -1;
var _local2 = 2.23606797749979;
this.sx = (this.signx * 1) / _local2;
this.sy = (this.signy * 2) / _local2;
} else if (this.ID == TID_22DEGnnB) {
this.signx = -1;
this.signy = -1;
var _local2 = 2.23606797749979;
this.sx = (this.signx * 1) / _local2;
this.sy = (this.signy * 2) / _local2;
} else if (this.ID == TID_22DEGnpB) {
this.signx = -1;
this.signy = 1;
var _local2 = 2.23606797749979;
this.sx = (this.signx * 1) / _local2;
this.sy = (this.signy * 2) / _local2;
} else if (this.ID == TID_22DEGppB) {
this.signx = 1;
this.signy = 1;
var _local2 = 2.23606797749979;
this.sx = (this.signx * 1) / _local2;
this.sy = (this.signy * 2) / _local2;
} else {
return(false);
}
} else if (this.ID < CTYPE_67DEGb) {
this.CTYPE = CTYPE_67DEGs;
if (this.ID == TID_67DEGpnS) {
this.signx = 1;
this.signy = -1;
var _local2 = 2.23606797749979;
this.sx = (this.signx * 2) / _local2;
this.sy = (this.signy * 1) / _local2;
} else if (this.ID == TID_67DEGnnS) {
this.signx = -1;
this.signy = -1;
var _local2 = 2.23606797749979;
this.sx = (this.signx * 2) / _local2;
this.sy = (this.signy * 1) / _local2;
} else if (this.ID == TID_67DEGnpS) {
this.signx = -1;
this.signy = 1;
var _local2 = 2.23606797749979;
this.sx = (this.signx * 2) / _local2;
this.sy = (this.signy * 1) / _local2;
} else if (this.ID == TID_67DEGppS) {
this.signx = 1;
this.signy = 1;
var _local2 = 2.23606797749979;
this.sx = (this.signx * 2) / _local2;
this.sy = (this.signy * 1) / _local2;
} else {
return(false);
}
} else if (this.ID < CTYPE_HALF) {
this.CTYPE = CTYPE_67DEGb;
if (this.ID == TID_67DEGpnB) {
this.signx = 1;
this.signy = -1;
var _local2 = 2.23606797749979;
this.sx = (this.signx * 2) / _local2;
this.sy = (this.signy * 1) / _local2;
} else if (this.ID == TID_67DEGnnB) {
this.signx = -1;
this.signy = -1;
var _local2 = 2.23606797749979;
this.sx = (this.signx * 2) / _local2;
this.sy = (this.signy * 1) / _local2;
} else if (this.ID == TID_67DEGnpB) {
this.signx = -1;
this.signy = 1;
var _local2 = 2.23606797749979;
this.sx = (this.signx * 2) / _local2;
this.sy = (this.signy * 1) / _local2;
} else if (this.ID == TID_67DEGppB) {
this.signx = 1;
this.signy = 1;
var _local2 = 2.23606797749979;
this.sx = (this.signx * 2) / _local2;
this.sy = (this.signy * 1) / _local2;
} else {
return(false);
}
} else {
this.CTYPE = CTYPE_HALF;
if (this.ID == TID_HALFd) {
this.signx = 0;
this.signy = -1;
this.sx = this.signx;
this.sy = this.signy;
} else if (this.ID == TID_HALFu) {
this.signx = 0;
this.signy = 1;
this.sx = this.signx;
this.sy = this.signy;
} else if (this.ID == TID_HALFl) {
this.signx = 1;
this.signy = 0;
this.sx = this.signx;
this.sy = this.signy;
} else if (this.ID == TID_HALFr) {
this.signx = -1;
this.signy = 0;
this.sx = this.signx;
this.sy = this.signy;
} else {
return(false);
}
}
} else {
this.CTYPE = CTYPE_EMPTY;
this.signx = 0;
this.signy = 0;
this.sx = 0;
this.sy = 0;
}
};
TileMapCell.prototype.UpdateEdges = function () {
var _local2 = this.nU;
if (this.ID == TID_EMPTY) {
if (_local2.ID == TID_EMPTY) {
this.eU = EID_OFF;
} else if (_local2.ID == TID_FULL) {
this.eU = EID_SOLID;
} else if ((((_local2.signy * -1) <= 0) || (_local2.ID == TID_67DEGpnS)) || (_local2.ID == TID_67DEGnnS)) {
this.eU = EID_INTERESTING;
} else {
this.eU = EID_SOLID;
}
} else if (this.ID == TID_FULL) {
if (_local2.ID == TID_FULL) {
this.eU = EID_OFF;
} else if (_local2.ID == TID_EMPTY) {
this.eU = EID_OFF;
} else if ((((_local2.signy * -1) <= 0) || (_local2.ID == TID_67DEGpnS)) || (_local2.ID == TID_67DEGnnS)) {
this.eU = EID_INTERESTING;
} else {
this.eU = EID_OFF;
}
} else if (0 <= (this.signy * -1)) {
if (_local2.ID == TID_EMPTY) {
this.eU = EID_OFF;
} else if (_local2.ID == TID_FULL) {
this.eU = EID_SOLID;
} else if ((((_local2.signy * -1) <= 0) || (_local2.ID == TID_67DEGpnS)) || (_local2.ID == TID_67DEGnnS)) {
this.eU = EID_INTERESTING;
} else {
this.eU = EID_SOLID;
}
} else if ((this.ID == TID_67DEGppS) || (this.ID == TID_67DEGnpS)) {
if (_local2.ID == TID_EMPTY) {
this.eU = EID_OFF;
} else if (_local2.ID == TID_FULL) {
this.eU = EID_SOLID;
} else if ((((_local2.signy * -1) <= 0) || (_local2.ID == TID_67DEGpnS)) || (_local2.ID == TID_67DEGnnS)) {
this.eU = EID_INTERESTING;
} else if ((0 < (_local2.signy * -1)) || (_local2.ID == TID_FULL)) {
this.eU = EID_SOLID;
} else {
this.eU = EID_OFF;
}
} else if (_local2.ID == TID_FULL) {
this.eU = EID_OFF;
} else if (_local2.ID == TID_EMPTY) {
this.eU = EID_OFF;
} else if ((((_local2.signy * -1) <= 0) || (_local2.ID == TID_67DEGpnS)) || (_local2.ID == TID_67DEGnnS)) {
this.eU = EID_INTERESTING;
} else {
this.eU = EID_OFF;
}
_local2 = this.nD;
if (this.ID == TID_EMPTY) {
if (_local2.ID == TID_EMPTY) {
this.eD = EID_OFF;
} else if (_local2.ID == TID_FULL) {
this.eD = EID_SOLID;
} else if ((((_local2.signy * 1) <= 0) || (_local2.ID == TID_67DEGppS)) || (_local2.ID == TID_67DEGnpS)) {
this.eD = EID_INTERESTING;
} else {
this.eD = EID_SOLID;
}
} else if (this.ID == TID_FULL) {
if (_local2.ID == TID_FULL) {
this.eD = EID_OFF;
} else if (_local2.ID == TID_EMPTY) {
this.eD = EID_OFF;
} else if ((((_local2.signy * 1) <= 0) || (_local2.ID == TID_67DEGppS)) || (_local2.ID == TID_67DEGnpS)) {
this.eD = EID_INTERESTING;
} else {
this.eD = EID_OFF;
}
} else if (0 <= (this.signy * 1)) {
if (_local2.ID == TID_EMPTY) {
this.eD = EID_OFF;
} else if (_local2.ID == TID_FULL) {
this.eD = EID_SOLID;
} else if ((((_local2.signy * 1) <= 0) || (_local2.ID == TID_67DEGppS)) || (_local2.ID == TID_67DEGnpS)) {
this.eD = EID_INTERESTING;
} else {
this.eD = EID_SOLID;
}
} else if ((this.ID == TID_67DEGpnS) || (this.ID == TID_67DEGnnS)) {
if (_local2.ID == TID_EMPTY) {
this.eD = EID_OFF;
} else if (_local2.ID == TID_FULL) {
this.eD = EID_SOLID;
} else if ((((_local2.signy * 1) <= 0) || (_local2.ID == TID_67DEGppS)) || (_local2.ID == TID_67DEGnpS)) {
this.eD = EID_INTERESTING;
} else if ((0 < (_local2.signy * 1)) || (_local2.ID == TID_FULL)) {
this.eD = EID_SOLID;
} else {
this.eD = EID_OFF;
}
} else if (_local2.ID == TID_FULL) {
this.eD = EID_OFF;
} else if (_local2.ID == TID_EMPTY) {
this.eD = EID_OFF;
} else if ((((_local2.signy * 1) <= 0) || (_local2.ID == TID_67DEGppS)) || (_local2.ID == TID_67DEGnpS)) {
this.eD = EID_INTERESTING;
} else {
this.eD = EID_OFF;
}
_local2 = this.nR;
if (this.ID == TID_EMPTY) {
if (_local2.ID == TID_EMPTY) {
this.eR = EID_OFF;
} else if (_local2.ID == TID_FULL) {
this.eR = EID_SOLID;
} else if ((((_local2.signx * 1) <= 0) || (_local2.ID == TID_22DEGpnS)) || (_local2.ID == TID_22DEGppS)) {
this.eR = EID_INTERESTING;
} else {
this.eR = EID_SOLID;
}
} else if (this.ID == TID_FULL) {
if (_local2.ID == TID_FULL) {
this.eR = EID_OFF;
} else if (_local2.ID == TID_EMPTY) {
this.eR = EID_OFF;
} else if ((((_local2.signx * 1) <= 0) || (_local2.ID == TID_22DEGpnS)) || (_local2.ID == TID_22DEGppS)) {
this.eR = EID_INTERESTING;
} else {
this.eR = EID_OFF;
}
} else if (0 <= (this.signx * 1)) {
if (_local2.ID == TID_EMPTY) {
this.eR = EID_OFF;
} else if (_local2.ID == TID_FULL) {
this.eR = EID_SOLID;
} else if ((((_local2.signx * 1) <= 0) || (_local2.ID == TID_22DEGpnS)) || (_local2.ID == TID_22DEGppS)) {
this.eR = EID_INTERESTING;
} else {
this.eR = EID_SOLID;
}
} else if ((this.ID == TID_22DEGnnS) || (this.ID == TID_22DEGnpS)) {
if (_local2.ID == TID_EMPTY) {
this.eR = EID_OFF;
} else if (_local2.ID == TID_FULL) {
this.eR = EID_SOLID;
} else if ((((_local2.signx * 1) <= 0) || (_local2.ID == TID_22DEGpnS)) || (_local2.ID == TID_22DEGppS)) {
this.eR = EID_INTERESTING;
} else if ((_local2.ID == TID_FULL) || (0 < (_local2.signx * 1))) {
this.eR = EID_SOLID;
} else {
this.eR = EID_OFF;
}
} else if (_local2.ID == TID_FULL) {
this.eR = EID_OFF;
} else if (_local2.ID == TID_EMPTY) {
this.eR = EID_OFF;
} else if ((((_local2.signx * 1) <= 0) || (_local2.ID == TID_22DEGpnS)) || (_local2.ID == TID_22DEGppS)) {
this.eR = EID_INTERESTING;
} else {
this.eR = EID_OFF;
}
_local2 = this.nL;
if (this.ID == TID_EMPTY) {
if (_local2.ID == TID_EMPTY) {
this.eL = EID_OFF;
} else if (_local2.ID == TID_FULL) {
this.eL = EID_SOLID;
} else if ((((_local2.signx * -1) <= 0) || (_local2.ID == TID_22DEGnnS)) || (_local2.ID == TID_22DEGnpS)) {
this.eL = EID_INTERESTING;
} else {
this.eL = EID_SOLID;
}
} else if (this.ID == TID_FULL) {
if (_local2.ID == TID_FULL) {
this.eL = EID_OFF;
} else if (_local2.ID == TID_EMPTY) {
this.eL = EID_OFF;
} else if ((((_local2.signx * -1) <= 0) || (_local2.ID == TID_22DEGnnS)) || (_local2.ID == TID_22DEGnpS)) {
this.eL = EID_INTERESTING;
} else {
this.eL = EID_OFF;
}
} else if (0 <= (this.signx * -1)) {
if (_local2.ID == TID_EMPTY) {
this.eL = EID_OFF;
} else if (_local2.ID == TID_FULL) {
this.eL = EID_SOLID;
} else if ((((_local2.signx * -1) <= 0) || (_local2.ID == TID_22DEGnnS)) || (_local2.ID == TID_22DEGnpS)) {
this.eL = EID_INTERESTING;
} else {
this.eL = EID_SOLID;
}
} else if ((this.ID == TID_22DEGpnS) || (this.ID == TID_22DEGppS)) {
if (_local2.ID == TID_EMPTY) {
this.eL = EID_OFF;
} else if (_local2.ID == TID_FULL) {
this.eL = EID_SOLID;
} else if ((((_local2.signx * -1) <= 0) || (_local2.ID == TID_22DEGnnS)) || (_local2.ID == TID_22DEGnpS)) {
this.eL = EID_INTERESTING;
} else if ((0 < (_local2.signx * -1)) || (_local2.ID == TID_FULL)) {
this.eL = EID_SOLID;
} else {
this.eL = EID_OFF;
}
} else if (_local2.ID == TID_FULL) {
this.eL = EID_OFF;
} else if (_local2.ID == TID_EMPTY) {
this.eL = EID_OFF;
} else if ((((_local2.signx * -1) <= 0) || (_local2.ID == TID_22DEGnnS)) || (_local2.ID == TID_22DEGnpS)) {
this.eL = EID_INTERESTING;
} else {
this.eL = EID_OFF;
}
this.Draw();
};
TileMapCell.prototype.InsertObj = function (obj) {
obj.next = this.next;
obj.prev = this;
this.prev = null;
if (this.next != null) {
this.next.prev = obj;
}
this.next = obj;
this.objcounter++;
};
TileMapCell.prototype.RemoveObj = function (obj) {
obj.prev.next = obj.next;
if (obj.next != null) {
obj.next.prev = obj.prev;
}
obj.next = null;
obj.prev = null;
this.objcounter--;
};
CHAR_PAD = 48;
TileMap.prototype.GetTileStates = function () {
var _local8 = this.rows;
var _local6 = this.cols;
var _local7 = this.grid;
var _local5 = "";
var _local4;
var _local3 = 0;
while (_local3 < _local8) {
_local4 = _local7[_local3 + 1];
var _local2 = 0;
while (_local2 < _local6) {
_local5 = _local5 + String.fromCharCode(_local4[_local2 + 1].ID + CHAR_PAD);
_local2++;
}
_local3++;
}
return(_local5);
};
TileMap.prototype.SetTileState = function (i, j, char) {
this.grid[i + 1][j + 1].SetState(char - CHAR_PAD);
};
TileMap.prototype.SetTileStates = function (instr) {
var _local8 = this.rows;
var _local6 = this.cols;
var _local10 = this.grid;
var _local5 = new Array();
var _local7;
var _local3 = 0;
while (_local3 < _local8) {
_local5[_local3] = new Array();
var _local2 = 0;
while (_local2 < _local6) {
var _local4 = instr.charCodeAt(cnum);
_local5[_local3][_local2] = _local4;
cnum++;
_local2++;
}
_local3++;
}
_local3 = 0;
while (_local3 < _local8) {
_local7 = _local10[_local3 + 1];
var _local2 = 0;
while (_local2 < _local6) {
_local7[_local2 + 1].SetState(_local5[_local3][_local2] - CHAR_PAD);
_local2++;
}
_local3++;
}
};
COL_NONE = 0;
COL_AXIS = 1;
COL_OTHER = 2;
function QueryPointvsTileMap(x, y) {
var _local1 = tiles.GetTile_S(x, y);
return(TestPointTile(x, y, _local1));
}
function TestPoint_Full(x, y, t) {
return(true);
}
function TestPoint_Half(x, y, t) {
var _local3 = t.signx;
var _local2 = t.signy;
var _local5 = x - t.pos.x;
var _local4 = y - t.pos.y;
if (((_local5 * _local3) + (_local4 * _local2)) <= 0) {
return(true);
}
return(false);
}
function TestPoint_Concave(x, y, t) {
var _local4 = (t.pos.x + (t.signx * t.xw)) - x;
var _local3 = (t.pos.y + (t.signy * t.yw)) - y;
var _local2 = t.xw * 2;
if ((_local2 * _local2) <= ((_local4 * _local4) + (_local3 * _local3))) {
return(true);
}
return(false);
}
function TestPoint_Convex(x, y, t) {
var _local4 = x - (t.pos.x - (t.signx * t.xw));
var _local3 = y - (t.pos.y - (t.signy * t.yw));
var _local2 = t.xw * 2;
if (((_local4 * _local4) + (_local3 * _local3)) <= (_local2 * _local2)) {
return(true);
}
return(false);
}
function TestPoint_45Deg(x, y, t) {
var _local3 = x - t.pos.x;
var _local2 = y - t.pos.y;
if (((_local3 * t.sx) + (_local2 * t.sy)) <= 0) {
return(true);
}
return(false);
}
function TestPoint_22DegS(x, y, t) {
var _local3 = x - (t.pos.x + (t.signx * t.xw));
var _local2 = y - (t.pos.y - (t.signy * t.yw));
if (((_local3 * t.sx) + (_local2 * t.sy)) <= 0) {
return(true);
}
return(false);
}
function TestPoint_22DegB(x, y, t) {
var _local3 = x - (t.pos.x - (t.signx * t.xw));
var _local2 = y - (t.pos.y + (t.signy * t.yw));
if (((_local3 * t.sx) + (_local2 * t.sy)) <= 0) {
return(true);
}
return(false);
}
function TestPoint_67DegS(x, y, t) {
var _local3 = x - (t.pos.x - (t.signx * t.xw));
var _local2 = y - (t.pos.y + (t.signy * t.yw));
if (((_local3 * t.sx) + (_local2 * t.sy)) <= 0) {
return(true);
}
return(false);
}
function TestPoint_67DegB(x, y, t) {
var _local3 = x - (t.pos.x + (t.signx * t.xw));
var _local2 = y - (t.pos.y - (t.signy * t.yw));
if (((_local3 * t.sx) + (_local2 * t.sy)) <= 0) {
return(true);
}
return(false);
}
function TestPointTile(x, y, t) {
if (0 < t.ID) {
return(Test_PointTile[t.CTYPE](x, y, t));
}
return(false);
}
Test_PointTile = new Object();
Test_PointTile[CTYPE_FULL] = TestPoint_Full;
Test_PointTile[CTYPE_45DEG] = TestPoint_45Deg;
Test_PointTile[CTYPE_CONCAVE] = TestPoint_Concave;
Test_PointTile[CTYPE_CONVEX] = TestPoint_Convex;
Test_PointTile[CTYPE_22DEGs] = TestPoint_22DegS;
Test_PointTile[CTYPE_22DEGb] = TestPoint_22DegB;
Test_PointTile[CTYPE_67DEGs] = TestPoint_67DegS;
Test_PointTile[CTYPE_67DEGb] = TestPoint_67DegB;
Test_PointTile[CTYPE_HALF] = TestPoint_Half;
function CollideAABBvsTileMap(box) {
var _local4 = box.pos;
var _local1 = tiles.GetTile_V(_local4);
box.cell = _local1;
var _local18 = _local1.pos.x;
var _local11 = _local1.pos.y;
var _local15 = _local1.xw;
var _local14 = _local1.yw;
var _local9 = _local4.x - _local18;
var _local8 = _local4.y - _local11;
if (0 < _local1.ID) {
var _local22 = (_local15 + box.xw) - Math.abs(_local9);
var _local20 = (_local14 + box.yw) - Math.abs(_local8);
if (_local22 < _local20) {
if (_local9 < 0) {
_local22 = _local22 * -1;
_local20 = 0;
} else {
_local20 = 0;
}
} else if (_local8 < 0) {
_local22 = 0;
_local20 = _local20 * -1;
} else {
_local22 = 0;
}
ResolveBoxTile(_local22, _local20, box, _local1);
}
var _local28 = false;
var _local21 = false;
_local8 = _local4.y - _local11;
var _local20 = (Math.abs(_local8) + box.yw) - _local14;
if (0 < _local20) {
_local28 = true;
var _local7;
var _local26;
var _local13;
var _local16;
if (_local8 < 0) {
_local7 = _local1.eU;
_local26 = _local1.nU;
_local13 = _local20;
_local16 = 1;
} else {
_local7 = _local1.eD;
_local26 = _local1.nD;
_local13 = -_local20;
_local16 = -1;
}
if (0 < _local7) {
if (_local7 == EID_SOLID) {
_local21 = COL_AXIS;
box.ReportCollisionVsWorld(0, _local13, 0, _local16, _local26);
} else {
_local21 = ResolveBoxTile(0, _local13, box, _local26);
}
}
}
var _local27 = false;
var _local19 = false;
_local9 = _local4.x - _local18;
var _local22 = (Math.abs(_local9) + box.xw) - _local15;
if (0 < _local22) {
_local27 = true;
var _local10;
var _local23;
var _local12;
var _local17;
if (_local9 < 0) {
_local10 = _local1.eL;
_local23 = _local1.nL;
_local12 = _local22;
_local17 = 1;
} else {
_local10 = _local1.eR;
_local23 = _local1.nR;
_local12 = -_local22;
_local17 = -1;
}
if (0 < _local10) {
if (_local10 == EID_SOLID) {
_local19 = COL_AXIS;
box.ReportCollisionVsWorld(_local12, 0, _local17, 0, _local23);
} else {
_local19 = ResolveBoxTile(_local12, 0, box, _local23);
}
}
}
if (((_local27 && (_local19 != COL_AXIS)) && (_local28)) && (_local21 != COL_AXIS)) {
_local9 = _local4.x - _local18;
_local8 = _local4.y - _local11;
_local22 = (Math.abs(_local9) + box.xw) - _local15;
_local20 = (Math.abs(_local8) + box.yw) - _local14;
var _local6 = 0;
var _local5 = 0;
var _local30 = false;
var _local3;
if ((_local9 < 0) && (_local8 < 0)) {
var _local10 = _local1.nU.eL;
var _local7 = _local1.nL.eU;
_local3 = _local1.nU.nL;
} else if ((_local9 < 0) && (0 < _local8)) {
var _local10 = _local1.nD.eL;
var _local7 = _local1.nL.eD;
_local3 = _local1.nD.nL;
} else if ((0 < _local9) && (0 < _local8)) {
var _local10 = _local1.nD.eR;
var _local7 = _local1.nR.eD;
_local3 = _local1.nD.nR;
} else if ((0 < _local9) && (_local8 < 0)) {
var _local10 = _local1.nU.eR;
var _local7 = _local1.nR.eU;
_local3 = _local1.nU.nR;
}
var _local25;
var _local24;
if (_local22 < _local20) {
_local24 = 0;
_local5 = _local24;
if (_local9 < 0) {
_local6 = _local22;
_local25 = 1;
} else {
_local6 = -_local22;
_local25 = -1;
}
} else {
_local25 = 0;
_local6 = _local25;
if (_local8 < 0) {
_local5 = _local20;
_local24 = 1;
} else {
_local5 = -_local20;
_local24 = -1;
}
}
if (0 < _local10) {
if (0 < _local7) {
if (_local10 == EID_SOLID) {
if (_local7 == EID_SOLID) {
box.ReportCollisionVsWorld(_local6, _local5, _local25, _local24, _local3);
} else {
var _local29 = ResolveBoxTile(_local6, _local5, box, _local3);
if (_local29 == COL_NONE) {
box.ReportCollisionVsWorld(_local12, 0, _local17, 0, _local3);
}
}
} else if (_local7 == EID_SOLID) {
var _local29 = ResolveBoxTile(_local6, _local5, box, _local3);
if (_local29 == COL_NONE) {
box.ReportCollisionVsWorld(0, _local13, 0, _local16, _local3);
}
} else {
ResolveBoxTile(_local6, _local5, box, _local3);
}
} else if (_local10 == EID_SOLID) {
box.ReportCollisionVsWorld(_local12, 0, _local17, 0, _local3);
} else {
ResolveBoxTile(_local6, _local5, box, _local3);
}
} else if (0 < _local7) {
if (_local7 == EID_SOLID) {
box.ReportCollisionVsWorld(0, _local13, 0, _local16, _local3);
} else {
ResolveBoxTile(_local6, _local5, box, _local3);
}
}
}
}
function ProjAABB_Full(x, y, obj, t) {
var _local1 = Math.sqrt((x * x) + (y * y));
obj.ReportCollisionVsWorld(x, y, x / _local1, y / _local1, t);
return(COL_AXIS);
}
function ProjAABB_Half(x, y, obj, t) {
var _local3 = t.signx;
var _local2 = t.signy;
var _local10 = (obj.pos.x - (_local3 * obj.xw)) - t.pos.x;
var _local9 = (obj.pos.y - (_local2 * obj.yw)) - t.pos.y;
var _local6 = (_local10 * _local3) + (_local9 * _local2);
if (_local6 < 0) {
_local3 = _local3 * (-_local6);
_local2 = _local2 * (-_local6);
var _local11 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
var _local5 = Math.sqrt((x * x) + (y * y));
if (_local5 < _local11) {
obj.ReportCollisionVsWorld(x, y, x / _local5, y / _local5, t);
return(COL_AXIS);
}
obj.ReportCollisionVsWorld(_local3, _local2, t.signx, t.signy, t);
return(COL_OTHER);
}
return(COL_NONE);
}
function ProjAABB_Concave(x, y, obj, t) {
var _local12 = t.signx;
var _local11 = t.signy;
var _local3 = (t.pos.x + (_local12 * t.xw)) - (obj.pos.x - (_local12 * obj.xw));
var _local2 = (t.pos.y + (_local11 * t.yw)) - (obj.pos.y - (_local11 * obj.yw));
var _local8 = t.xw * 2;
var _local13 = Math.sqrt((_local8 * _local8) + 0);
var _local6 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
var _local4 = _local6 - _local13;
if (0 < _local4) {
var _local7 = Math.sqrt((x * x) + (y * y));
if (_local7 < _local4) {
obj.ReportCollisionVsWorld(x, y, x / _local7, y / _local7, t);
return(COL_AXIS);
}
_local3 = _local3 / _local6;
_local2 = _local2 / _local6;
obj.ReportCollisionVsWorld(_local3 * _local4, _local2 * _local4, _local3, _local2, t);
return(COL_OTHER);
}
return(COL_NONE);
}
function ProjAABB_Convex(x, y, obj, t) {
var _local8 = t.signx;
var _local7 = t.signy;
var _local3 = (obj.pos.x - (_local8 * obj.xw)) - (t.pos.x - (_local8 * t.xw));
var _local2 = (obj.pos.y - (_local7 * obj.yw)) - (t.pos.y - (_local7 * t.yw));
var _local5 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
var _local9 = t.xw * 2;
var _local13 = Math.sqrt((_local9 * _local9) + 0);
var _local6 = _local13 - _local5;
if (((_local8 * _local3) < 0) || ((_local7 * _local2) < 0)) {
var _local10 = Math.sqrt((x * x) + (y * y));
obj.ReportCollisionVsWorld(x, y, x / _local10, y / _local10, t);
return(COL_AXIS);
}
if (0 < _local6) {
_local3 = _local3 / _local5;
_local2 = _local2 / _local5;
obj.ReportCollisionVsWorld(_local3 * _local6, _local2 * _local6, _local3, _local2, t);
return(COL_OTHER);
}
return(COL_NONE);
}
function ProjAABB_45Deg(x, y, obj, t) {
var _local13 = t.signx;
var _local12 = t.signy;
var _local10 = (obj.pos.x - (_local13 * obj.xw)) - t.pos.x;
var _local9 = (obj.pos.y - (_local12 * obj.yw)) - t.pos.y;
var _local3 = t.sx;
var _local2 = t.sy;
var _local6 = (_local10 * _local3) + (_local9 * _local2);
if (_local6 < 0) {
_local3 = _local3 * (-_local6);
_local2 = _local2 * (-_local6);
var _local11 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
var _local5 = Math.sqrt((x * x) + (y * y));
if (_local5 < _local11) {
obj.ReportCollisionVsWorld(x, y, x / _local5, y / _local5, t);
return(COL_AXIS);
}
obj.ReportCollisionVsWorld(_local3, _local2, t.sx, t.sy);
return(COL_OTHER);
}
return(COL_NONE);
}
function ProjAABB_22DegS(x, y, obj, t) {
var _local13 = t.signx;
var _local8 = t.signy;
var _local14 = obj.pos.y - (_local8 * obj.yw);
var _local3 = t.pos.y - _local14;
if (0 < (_local3 * _local8)) {
var _local16 = (obj.pos.x - (_local13 * obj.xw)) - (t.pos.x + (_local13 * t.xw));
var _local15 = (obj.pos.y - (_local8 * obj.yw)) - (t.pos.y - (_local8 * t.yw));
var _local5 = t.sx;
var _local4 = t.sy;
var _local9 = (_local16 * _local5) + (_local15 * _local4);
if (_local9 < 0) {
_local5 = _local5 * (-_local9);
_local4 = _local4 * (-_local9);
var _local10 = Math.sqrt((_local5 * _local5) + (_local4 * _local4));
var _local7 = Math.sqrt((x * x) + (y * y));
var _local6 = Math.abs(_local3);
if (_local7 < _local10) {
if (_local6 < _local7) {
obj.ReportCollisionVsWorld(0, _local3, 0, _local3 / _local6, t);
return(COL_OTHER);
}
obj.ReportCollisionVsWorld(x, y, x / _local7, y / _local7, t);
return(COL_AXIS);
}
if (_local6 < _local10) {
obj.ReportCollisionVsWorld(0, _local3, 0, _local3 / _local6, t);
return(COL_OTHER);
}
obj.ReportCollisionVsWorld(_local5, _local4, t.sx, t.sy, t);
return(COL_OTHER);
}
}
return(COL_NONE);
}
function ProjAABB_22DegB(x, y, obj, t) {
var _local10 = t.signx;
var _local9 = t.signy;
var _local12 = (obj.pos.x - (_local10 * obj.xw)) - (t.pos.x - (_local10 * t.xw));
var _local11 = (obj.pos.y - (_local9 * obj.yw)) - (t.pos.y + (_local9 * t.yw));
var _local3 = t.sx;
var _local2 = t.sy;
var _local6 = (_local12 * _local3) + (_local11 * _local2);
if (_local6 < 0) {
_local3 = _local3 * (-_local6);
_local2 = _local2 * (-_local6);
var _local13 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
var _local5 = Math.sqrt((x * x) + (y * y));
if (_local5 < _local13) {
obj.ReportCollisionVsWorld(x, y, x / _local5, y / _local5, t);
return(COL_AXIS);
}
obj.ReportCollisionVsWorld(_local3, _local2, t.sx, t.sy, t);
return(COL_OTHER);
}
return(COL_NONE);
}
function ProjAABB_67DegS(x, y, obj, t) {
var _local8 = t.signx;
var _local13 = t.signy;
var _local14 = obj.pos.x - (_local8 * obj.xw);
var _local3 = t.pos.x - _local14;
if (0 < (_local3 * _local8)) {
var _local16 = (obj.pos.x - (_local8 * obj.xw)) - (t.pos.x - (_local8 * t.xw));
var _local15 = (obj.pos.y - (_local13 * obj.yw)) - (t.pos.y + (_local13 * t.yw));
var _local5 = t.sx;
var _local4 = t.sy;
var _local9 = (_local16 * _local5) + (_local15 * _local4);
if (_local9 < 0) {
_local5 = _local5 * (-_local9);
_local4 = _local4 * (-_local9);
var _local10 = Math.sqrt((_local5 * _local5) + (_local4 * _local4));
var _local7 = Math.sqrt((x * x) + (y * y));
var _local6 = Math.abs(_local3);
if (_local7 < _local10) {
if (_local6 < _local7) {
obj.ReportCollisionVsWorld(_local3, 0, _local3 / _local6, 0, t);
return(COL_OTHER);
}
obj.ReportCollisionVsWorld(x, y, x / _local7, y / _local7, t);
return(COL_AXIS);
}
if (_local6 < _local10) {
obj.ReportCollisionVsWorld(_local3, 0, _local3 / _local6, 0, t);
return(COL_OTHER);
}
obj.ReportCollisionVsWorld(_local5, _local4, t.sx, t.sy, t);
return(COL_OTHER);
}
}
return(COL_NONE);
}
function ProjAABB_67DegB(x, y, obj, t) {
var _local10 = t.signx;
var _local9 = t.signy;
var _local12 = (obj.pos.x - (_local10 * obj.xw)) - (t.pos.x + (_local10 * t.xw));
var _local11 = (obj.pos.y - (_local9 * obj.yw)) - (t.pos.y - (_local9 * t.yw));
var _local3 = t.sx;
var _local2 = t.sy;
var _local6 = (_local12 * _local3) + (_local11 * _local2);
if (_local6 < 0) {
_local3 = _local3 * (-_local6);
_local2 = _local2 * (-_local6);
var _local13 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
var _local5 = Math.sqrt((x * x) + (y * y));
if (_local5 < _local13) {
obj.ReportCollisionVsWorld(x, y, x / _local5, y / _local5, t);
return(COL_AXIS);
}
obj.ReportCollisionVsWorld(_local3, _local2, t.sx, t.sy, t);
return(COL_OTHER);
}
return(COL_NONE);
}
function ResolveBoxTile(x, y, box, t) {
if (0 < t.ID) {
return(Proj_AABBTile[t.CTYPE](x, y, box, t));
}
return(false);
}
Proj_AABBTile = new Object();
Proj_AABBTile[CTYPE_FULL] = ProjAABB_Full;
Proj_AABBTile[CTYPE_45DEG] = ProjAABB_45Deg;
Proj_AABBTile[CTYPE_CONCAVE] = ProjAABB_Concave;
Proj_AABBTile[CTYPE_CONVEX] = ProjAABB_Convex;
Proj_AABBTile[CTYPE_22DEGs] = ProjAABB_22DegS;
Proj_AABBTile[CTYPE_22DEGb] = ProjAABB_22DegB;
Proj_AABBTile[CTYPE_67DEGs] = ProjAABB_67DegS;
Proj_AABBTile[CTYPE_67DEGb] = ProjAABB_67DegB;
Proj_AABBTile[CTYPE_HALF] = ProjAABB_Half;
function CollideCirclevsTileMap(obj) {
var _local8 = obj.pos;
var _local11 = obj.r;
var _local1 = tiles.GetTile_V(_local8);
var _local21 = _local1.pos.x;
var _local20 = _local1.pos.y;
var _local23 = _local1.xw;
var _local22 = _local1.yw;
var _local7 = _local8.x - _local21;
var _local6 = _local8.y - _local20;
if (0 < _local1.ID) {
var _local13 = (_local23 + _local11) - Math.abs(_local7);
var _local12 = (_local22 + _local11) - Math.abs(_local6);
ResolveCircleTile(_local13, _local12, 0, 0, obj, _local1);
}
var _local25 = false;
var _local17 = false;
_local6 = _local8.y - _local20;
var _local12 = (Math.abs(_local6) + _local11) - _local22;
if (0 < _local12) {
_local25 = true;
var _local5;
var _local19;
var _local10;
if (_local6 < 0) {
_local5 = _local1.eU;
_local19 = _local1.nU;
_local10 = 1;
} else {
_local5 = _local1.eD;
_local19 = _local1.nD;
_local10 = -1;
}
if (0 < _local5) {
if (_local5 == EID_SOLID) {
_local17 = COL_AXIS;
obj.ReportCollisionVsWorld(0, _local12 * _local10, 0, _local10, _local19);
} else {
_local17 = ResolveCircleTile(0, _local12, 0, _local10, obj, _local19);
}
}
}
var _local24 = false;
var _local15 = false;
_local7 = _local8.x - _local21;
var _local13 = (Math.abs(_local7) + _local11) - _local23;
if (0 < _local13) {
_local24 = true;
var _local4;
var _local18;
var _local9;
if (_local7 < 0) {
_local4 = _local1.eL;
_local18 = _local1.nL;
_local9 = 1;
} else {
_local4 = _local1.eR;
_local18 = _local1.nR;
_local9 = -1;
}
if (0 < _local4) {
if (_local4 == EID_SOLID) {
_local15 = COL_AXIS;
obj.ReportCollisionVsWorld(_local13 * _local9, 0, _local9, 0, _local18);
} else {
_local15 = ResolveCircleTile(_local13, 0, _local9, 0, obj, _local18);
}
}
}
if (((_local24 && (_local15 != COL_AXIS)) && (_local25)) && (_local17 != COL_AXIS)) {
var _local2;
var _local28 = false;
if ((_local7 < 0) && (_local6 < 0)) {
var _local4 = _local1.nU.eL;
var _local5 = _local1.nL.eU;
_local2 = _local1.nU.nL;
} else if ((_local7 < 0) && (0 < _local6)) {
var _local4 = _local1.nD.eL;
var _local5 = _local1.nL.eD;
_local2 = _local1.nD.nL;
} else if ((0 < _local7) && (0 < _local6)) {
var _local4 = _local1.nD.eR;
var _local5 = _local1.nR.eD;
_local2 = _local1.nD.nR;
} else if ((0 < _local7) && (_local6 < 0)) {
var _local4 = _local1.nU.eR;
var _local5 = _local1.nR.eU;
_local2 = _local1.nU.nR;
}
if (0 < (_local4 + _local5)) {
if ((_local4 == EID_SOLID) || (_local5 == EID_SOLID)) {
var _local27 = _local2.pos.x + (_local9 * _local2.xw);
var _local26 = _local2.pos.y + (_local10 * _local2.yw);
_local7 = obj.pos.x - _local27;
_local6 = obj.pos.y - _local26;
var _local14 = Math.sqrt((_local7 * _local7) + (_local6 * _local6));
var _local16 = obj.r - _local14;
if (0 < _local16) {
if (_local14 == 0) {
_local7 = _local9 / Math.SQRT2;
_local6 = _local10 / Math.SQRT2;
} else {
_local7 = _local7 / _local14;
_local6 = _local6 / _local14;
}
obj.ReportCollisionVsWorld(_local7 * _local16, _local6 * _local16, _local7, _local6, _local2);
}
} else {
_local7 = _local8.x - _local2.pos.x;
_local6 = _local8.y - _local2.pos.y;
_local13 = (Math.abs(_local7) + _local11) - _local2.xw;
_local12 = (Math.abs(_local6) + _local11) - _local2.yw;
ResolveCircleTile(_local13, _local12, _local9, _local10, obj, _local2);
}
}
}
}
function ProjCircle_Full(x, y, oH, oV, obj, t) {
if (oH == 0) {
if (oV == 0) {
if (x < y) {
var _local4 = obj.pos.x - t.pos.x;
if (_local4 < 0) {
obj.ReportCollisionVsWorld(-x, 0, -1, 0, t);
return(COL_AXIS);
}
obj.ReportCollisionVsWorld(x, 0, 1, 0, t);
return(COL_AXIS);
}
var _local3 = obj.pos.y - t.pos.y;
if (_local3 < 0) {
obj.ReportCollisionVsWorld(0, -y, 0, -1, t);
return(COL_AXIS);
}
obj.ReportCollisionVsWorld(0, y, 0, 1, t);
return(COL_AXIS);
}
static_rend.DrawCrossR(t.pos, t.xw);
obj.ReportCollisionVsWorld(0, y * oV, 0, oV, t);
return(COL_AXIS);
}
if (oV == 0) {
static_rend.DrawCrossR(t.pos, t.xw);
obj.ReportCollisionVsWorld(x * oH, 0, oH, 0, t);
return(COL_AXIS);
}
static_rend.DrawCrossR(t.pos, t.xw);
var _local12 = t.pos.x + (oH * t.xw);
var _local11 = t.pos.y + (oV * t.yw);
var _local4 = obj.pos.x - _local12;
var _local3 = obj.pos.y - _local11;
var _local5 = Math.sqrt((_local4 * _local4) + (_local3 * _local3));
var _local7 = obj.r - _local5;
if (0 < _local7) {
if (_local5 == 0) {
_local4 = oH / Math.SQRT2;
_local3 = oV / Math.SQRT2;
} else {
_local4 = _local4 / _local5;
_local3 = _local3 / _local5;
}
obj.ReportCollisionVsWorld(_local4 * _local7, _local3 * _local7, _local4, _local3, t);
return(COL_OTHER);
}
return(COL_NONE);
}
function ProjCircle_Half(x, y, oH, oV, obj, t) {
var _local7 = t.signx;
var _local13 = t.signy;
var _local17 = (oH * _local7) + (oV * _local13);
if (0 < _local17) {
return(COL_NONE);
}
if (oH == 0) {
if (oV == 0) {
var _local23 = obj.r;
var _local21 = (obj.pos.x - (_local7 * _local23)) - t.pos.x;
var _local20 = (obj.pos.y - (_local13 * _local23)) - t.pos.y;
var _local9 = _local7;
var _local8 = _local13;
var _local16 = (_local21 * _local9) + (_local20 * _local8);
if (_local16 < 0) {
_local9 = _local9 * (-_local16);
_local8 = _local8 * (-_local16);
var _local22 = Math.sqrt((_local9 * _local9) + (_local8 * _local8));
var _local15 = Math.sqrt((x * x) + (y * y));
if (_local15 < _local22) {
obj.ReportCollisionVsWorld(x, y, x / _local15, y / _local15, t);
return(COL_AXIS);
}
obj.ReportCollisionVsWorld(_local9, _local8, t.signx, t.signy);
return(COL_OTHER);
}
} else if (_local17 == 0) {
var _local23 = obj.r;
var _local6 = obj.pos.x - t.pos.x;
if ((_local6 * _local7) < 0) {
obj.ReportCollisionVsWorld(0, y * oV, 0, oV, t);
return(COL_AXIS);
}
var _local5 = obj.pos.y - (t.pos.y + (oV * t.yw));
var _local10 = Math.sqrt((_local6 * _local6) + (_local5 * _local5));
var _local14 = obj.r - _local10;
if (0 < _local14) {
if (_local10 == 0) {
_local6 = _local7 / Math.SQRT2;
_local5 = oV / Math.SQRT2;
} else {
_local6 = _local6 / _local10;
_local5 = _local5 / _local10;
}
obj.ReportCollisionVsWorld(_local6 * _local14, _local5 * _local14, _local6, _local5, t);
return(COL_OTHER);
}
} else {
obj.ReportCollisionVsWorld(0, y * oV, 0, oV, t);
return(COL_AXIS);
}
} else {
if (oV == 0) {
if (_local17 == 0) {
var _local23 = obj.r;
var _local5 = obj.pos.y - t.pos.y;
if ((_local5 * _local13) < 0) {
obj.ReportCollisionVsWorld(x * oH, 0, oH, 0, t);
return(COL_AXIS);
}
var _local6 = obj.pos.x - (t.pos.x + (oH * t.xw));
var _local10 = Math.sqrt((_local6 * _local6) + (_local5 * _local5));
var _local14 = obj.r - _local10;
if (0 < _local14) {
if (_local10 == 0) {
_local6 = _local7 / Math.SQRT2;
_local5 = oV / Math.SQRT2;
} else {
_local6 = _local6 / _local10;
_local5 = _local5 / _local10;
}
obj.ReportCollisionVsWorld(_local6 * _local14, _local5 * _local14, _local6, _local5, t);
return(COL_OTHER);
}
// unexpected jump
}
obj.ReportCollisionVsWorld(x * oH, 0, oH, 0, t);
return(COL_AXIS);
}
var _local19 = t.pos.x + (oH * t.xw);
var _local18 = t.pos.y + (oV * t.yw);
var _local6 = obj.pos.x - _local19;
var _local5 = obj.pos.y - _local18;
var _local10 = Math.sqrt((_local6 * _local6) + (_local5 * _local5));
var _local14 = obj.r - _local10;
if (0 < _local14) {
if (_local10 == 0) {
_local6 = oH / Math.SQRT2;
_local5 = oV / Math.SQRT2;
} else {
_local6 = _local6 / _local10;
_local5 = _local5 / _local10;
}
obj.ReportCollisionVsWorld(_local6 * _local14, _local5 * _local14, _local6, _local5, t);
return(COL_OTHER);
}
}
return(COL_NONE);
}
function ProjCircle_45Deg(x, y, oH, oV, obj, t) {
var _local12 = t.signx;
var _local11 = t.signy;
if (oH == 0) {
if (oV == 0) {
var _local15 = t.sx;
var _local14 = t.sy;
var _local4 = (obj.pos.x - (_local15 * obj.r)) - t.pos.x;
var _local3 = (obj.pos.y - (_local14 * obj.r)) - t.pos.y;
var _local21 = (_local4 * _local15) + (_local3 * _local14);
if (_local21 < 0) {
_local15 = _local15 * (-_local21);
_local14 = _local14 * (-_local21);
if (x < y) {
lenP = x;
y = 0;
if ((obj.pos.x - t.pos.x) < 0) {
x = x * -1;
}
} else {
lenP = y;
x = 0;
if ((obj.pos.y - t.pos.y) < 0) {
y = y * -1;
}
}
var _local20 = Math.sqrt((_local15 * _local15) + (_local14 * _local14));
if (lenP < _local20) {
obj.ReportCollisionVsWorld(x, y, x / lenP, y / lenP, t);
return(COL_AXIS);
}
obj.ReportCollisionVsWorld(_local15, _local14, t.sx, t.sy, t);
return(COL_OTHER);
}
} else {
if ((_local11 * oV) < 0) {
obj.ReportCollisionVsWorld(0, y * oV, 0, oV, t);
return(COL_AXIS);
}
var _local15 = t.sx;
var _local14 = t.sy;
var _local4 = obj.pos.x - (t.pos.x - (_local12 * t.xw));
var _local3 = obj.pos.y - (t.pos.y + (oV * t.yw));
var _local17 = (_local4 * (-_local14)) + (_local3 * _local15);
if (0 < ((_local17 * _local12) * _local11)) {
var _local13 = Math.sqrt((_local4 * _local4) + (_local3 * _local3));
var _local16 = obj.r - _local13;
if (0 < _local16) {
_local4 = _local4 / _local13;
_local3 = _local3 / _local13;
obj.ReportCollisionVsWorld(_local4 * _local16, _local3 * _local16, _local4, _local3, t);
return(COL_OTHER);
}
} else {
var _local21 = (_local4 * _local15) + (_local3 * _local14);
var _local16 = obj.r - Math.abs(_local21);
if (0 < _local16) {
obj.ReportCollisionVsWorld(_local15 * _local16, _local14 * _local16, _local15, _local14, t);
return(COL_OTHER);
}
}
}
} else if (oV == 0) {
if ((_local12 * oH) < 0) {
obj.ReportCollisionVsWorld(x * oH, 0, oH, 0, t);
return(COL_AXIS);
}
var _local15 = t.sx;
var _local14 = t.sy;
var _local4 = obj.pos.x - (t.pos.x + (oH * t.xw));
var _local3 = obj.pos.y - (t.pos.y - (_local11 * t.yw));
var _local17 = (_local4 * (-_local14)) + (_local3 * _local15);
if (((_local17 * _local12) * _local11) < 0) {
var _local13 = Math.sqrt((_local4 * _local4) + (_local3 * _local3));
var _local16 = obj.r - _local13;
if (0 < _local16) {
_local4 = _local4 / _local13;
_local3 = _local3 / _local13;
obj.ReportCollisionVsWorld(_local4 * _local16, _local3 * _local16, _local4, _local3, t);
return(COL_OTHER);
}
} else {
var _local21 = (_local4 * _local15) + (_local3 * _local14);
var _local16 = obj.r - Math.abs(_local21);
if (0 < _local16) {
obj.ReportCollisionVsWorld(_local15 * _local16, _local14 * _local16, _local15, _local14, t);
return(COL_OTHER);
}
}
} else {
if (0 < ((_local12 * oH) + (_local11 * oV))) {
return(COL_NONE);
}
var _local19 = t.pos.x + (oH * t.xw);
var _local18 = t.pos.y + (oV * t.yw);
var _local7 = obj.pos.x - _local19;
var _local6 = obj.pos.y - _local18;
var _local13 = Math.sqrt((_local7 * _local7) + (_local6 * _local6));
var _local16 = obj.r - _local13;
if (0 < _local16) {
if (_local13 == 0) {
_local7 = oH / Math.SQRT2;
_local6 = oV / Math.SQRT2;
} else {
_local7 = _local7 / _local13;
_local6 = _local6 / _local13;
}
obj.ReportCollisionVsWorld(_local7 * _local16, _local6 * _local16, _local7, _local6, t);
return(COL_OTHER);
}
}
return(COL_NONE);
}
function ProjCircle_Concave(x, y, oH, oV, obj, t) {
var _local13 = t.signx;
var _local12 = t.signy;
if (oH == 0) {
if (oV == 0) {
var _local8 = (t.pos.x + (_local13 * t.xw)) - obj.pos.x;
var _local7 = (t.pos.y + (_local12 * t.yw)) - obj.pos.y;
var _local15 = t.xw * 2;
var _local18 = Math.sqrt((_local15 * _local15) + 0);
var _local11 = Math.sqrt((_local8 * _local8) + (_local7 * _local7));
var _local14 = (_local11 + obj.r) - _local18;
if (0 < _local14) {
if (x < y) {
lenP = x;
y = 0;
if ((obj.pos.x - t.pos.x) < 0) {
x = x * -1;
}
} else {
lenP = y;
x = 0;
if ((obj.pos.y - t.pos.y) < 0) {
y = y * -1;
}
}
if (lenP < _local14) {
obj.ReportCollisionVsWorld(x, y, x / lenP, y / lenP, t);
return(COL_AXIS);
}
_local8 = _local8 / _local11;
_local7 = _local7 / _local11;
obj.ReportCollisionVsWorld(_local8 * _local14, _local7 * _local14, _local8, _local7, t);
return(COL_OTHER);
}
return(COL_NONE);
}
if ((_local12 * oV) < 0) {
obj.ReportCollisionVsWorld(0, y * oV, 0, oV, t);
return(COL_AXIS);
}
var _local17 = t.pos.x - (_local13 * t.xw);
var _local16 = t.pos.y + (oV * t.yw);
var _local6 = obj.pos.x - _local17;
var _local5 = obj.pos.y - _local16;
var _local11 = Math.sqrt((_local6 * _local6) + (_local5 * _local5));
var _local14 = obj.r - _local11;
if (0 < _local14) {
if (_local11 == 0) {
_local6 = 0;
_local5 = oV;
} else {
_local6 = _local6 / _local11;
_local5 = _local5 / _local11;
}
obj.ReportCollisionVsWorld(_local6 * _local14, _local5 * _local14, _local6, _local5, t);
return(COL_OTHER);
}
} else if (oV == 0) {
if ((_local13 * oH) < 0) {
obj.ReportCollisionVsWorld(x * oH, 0, oH, 0, t);
return(COL_AXIS);
}
var _local17 = t.pos.x + (oH * t.xw);
var _local16 = t.pos.y - (_local12 * t.yw);
var _local6 = obj.pos.x - _local17;
var _local5 = obj.pos.y - _local16;
var _local11 = Math.sqrt((_local6 * _local6) + (_local5 * _local5));
var _local14 = obj.r - _local11;
if (0 < _local14) {
if (_local11 == 0) {
_local6 = oH;
_local5 = 0;
} else {
_local6 = _local6 / _local11;
_local5 = _local5 / _local11;
}
obj.ReportCollisionVsWorld(_local6 * _local14, _local5 * _local14, _local6, _local5, t);
return(COL_OTHER);
}
} else {
if (0 < ((_local13 * oH) + (_local12 * oV))) {
return(COL_NONE);
}
var _local17 = t.pos.x + (oH * t.xw);
var _local16 = t.pos.y + (oV * t.yw);
var _local6 = obj.pos.x - _local17;
var _local5 = obj.pos.y - _local16;
var _local11 = Math.sqrt((_local6 * _local6) + (_local5 * _local5));
var _local14 = obj.r - _local11;
if (0 < _local14) {
if (_local11 == 0) {
_local6 = oH / Math.SQRT2;
_local5 = oV / Math.SQRT2;
} else {
_local6 = _local6 / _local11;
_local5 = _local5 / _local11;
}
obj.ReportCollisionVsWorld(_local6 * _local14, _local5 * _local14, _local6, _local5, t);
return(COL_OTHER);
}
}
return(COL_NONE);
}
function ProjCircle_Convex(x, y, oH, oV, obj, t) {
var _local7 = t.signx;
var _local6 = t.signy;
if (oH == 0) {
if (oV == 0) {
var _local9 = obj.pos.x - (t.pos.x - (_local7 * t.xw));
var _local8 = obj.pos.y - (t.pos.y - (_local6 * t.yw));
var _local15 = t.xw * 2;
var _local18 = Math.sqrt((_local15 * _local15) + 0);
var _local13 = Math.sqrt((_local9 * _local9) + (_local8 * _local8));
var _local14 = (_local18 + obj.r) - _local13;
if (0 < _local14) {
if (x < y) {
lenP = x;
y = 0;
if ((obj.pos.x - t.pos.x) < 0) {
x = x * -1;
}
} else {
lenP = y;
x = 0;
if ((obj.pos.y - t.pos.y) < 0) {
y = y * -1;
}
}
if (lenP < _local14) {
obj.ReportCollisionVsWorld(x, y, x / lenP, y / lenP, t);
return(COL_AXIS);
}
_local9 = _local9 / _local13;
_local8 = _local8 / _local13;
obj.ReportCollisionVsWorld(_local9 * _local14, _local8 * _local14, _local9, _local8, t);
return(COL_OTHER);
}
} else {
if ((_local6 * oV) < 0) {
obj.ReportCollisionVsWorld(0, y * oV, 0, oV, t);
return(COL_AXIS);
}
var _local9 = obj.pos.x - (t.pos.x - (_local7 * t.xw));
var _local8 = obj.pos.y - (t.pos.y - (_local6 * t.yw));
var _local15 = t.xw * 2;
var _local18 = Math.sqrt((_local15 * _local15) + 0);
var _local13 = Math.sqrt((_local9 * _local9) + (_local8 * _local8));
var _local14 = (_local18 + obj.r) - _local13;
if (0 < _local14) {
_local9 = _local9 / _local13;
_local8 = _local8 / _local13;
obj.ReportCollisionVsWorld(_local9 * _local14, _local8 * _local14, _local9, _local8, t);
return(COL_OTHER);
}
}
} else if (oV == 0) {
if ((_local7 * oH) < 0) {
obj.ReportCollisionVsWorld(x * oH, 0, oH, 0, t);
return(COL_AXIS);
}
var _local9 = obj.pos.x - (t.pos.x - (_local7 * t.xw));
var _local8 = obj.pos.y - (t.pos.y - (_local6 * t.yw));
var _local15 = t.xw * 2;
var _local18 = Math.sqrt((_local15 * _local15) + 0);
var _local13 = Math.sqrt((_local9 * _local9) + (_local8 * _local8));
var _local14 = (_local18 + obj.r) - _local13;
if (0 < _local14) {
_local9 = _local9 / _local13;
_local8 = _local8 / _local13;
obj.ReportCollisionVsWorld(_local9 * _local14, _local8 * _local14, _local9, _local8, t);
return(COL_OTHER);
}
} else if (0 < ((_local7 * oH) + (_local6 * oV))) {
var _local9 = obj.pos.x - (t.pos.x - (_local7 * t.xw));
var _local8 = obj.pos.y - (t.pos.y - (_local6 * t.yw));
var _local15 = t.xw * 2;
var _local18 = Math.sqrt((_local15 * _local15) + 0);
var _local13 = Math.sqrt((_local9 * _local9) + (_local8 * _local8));
var _local14 = (_local18 + obj.r) - _local13;
if (0 < _local14) {
_local9 = _local9 / _local13;
_local8 = _local8 / _local13;
obj.ReportCollisionVsWorld(_local9 * _local14, _local8 * _local14, _local9, _local8, t);
return(COL_OTHER);
}
} else {
var _local17 = t.pos.x + (oH * t.xw);
var _local16 = t.pos.y + (oV * t.yw);
var _local4 = obj.pos.x - _local17;
var _local3 = obj.pos.y - _local16;
var _local13 = Math.sqrt((_local4 * _local4) + (_local3 * _local3));
var _local14 = obj.r - _local13;
if (0 < _local14) {
if (_local13 == 0) {
_local4 = oH / Math.SQRT2;
_local3 = oV / Math.SQRT2;
} else {
_local4 = _local4 / _local13;
_local3 = _local3 / _local13;
}
obj.ReportCollisionVsWorld(_local4 * _local14, _local3 * _local14, _local4, _local3, t);
return(COL_OTHER);
}
}
return(COL_NONE);
}
function ProjCircle_22DegS(x, y, oH, oV, obj, t) {
var _local12 = t.signx;
var _local11 = t.signy;
if (0 < (_local11 * oV)) {
return(COL_NONE);
}
if (oH == 0) {
if (oV == 0) {
var _local15 = t.sx;
var _local14 = t.sy;
var _local16 = obj.r;
var _local4 = obj.pos.x - (t.pos.x - (_local12 * t.xw));
var _local3 = obj.pos.y - t.pos.y;
var _local18 = (_local4 * (-_local14)) + (_local3 * _local15);
if (0 < ((_local18 * _local12) * _local11)) {
var _local13 = Math.sqrt((_local4 * _local4) + (_local3 * _local3));
var _local17 = _local16 - _local13;
if (0 < _local17) {
_local4 = _local4 / _local13;
_local3 = _local3 / _local13;
obj.ReportCollisionVsWorld(_local4 * _local17, _local3 * _local17, _local4, _local3, t);
return(COL_OTHER);
}
} else {
_local4 = _local4 - (_local16 * _local15);
_local3 = _local3 - (_local16 * _local14);
var _local22 = (_local4 * _local15) + (_local3 * _local14);
if (_local22 < 0) {
_local15 = _local15 * (-_local22);
_local14 = _local14 * (-_local22);
var _local21 = Math.sqrt((_local15 * _local15) + (_local14 * _local14));
if (x < y) {
lenP = x;
y = 0;
if ((obj.pos.x - t.pos.x) < 0) {
x = x * -1;
}
} else {
lenP = y;
x = 0;
if ((obj.pos.y - t.pos.y) < 0) {
y = y * -1;
}
}
if (lenP < _local21) {
obj.ReportCollisionVsWorld(x, y, x / lenP, y / lenP, t);
return(COL_AXIS);
}
obj.ReportCollisionVsWorld(_local15, _local14, t.sx, t.sy, t);
return(COL_OTHER);
}
}
// unexpected jump
}
obj.ReportCollisionVsWorld(0, y * oV, 0, oV, t);
return(COL_AXIS);
}
if (oV == 0) {
if ((_local12 * oH) < 0) {
var _local20 = t.pos.x - (_local12 * t.xw);
var _local19 = t.pos.y;
var _local6 = obj.pos.x - _local20;
var _local5 = obj.pos.y - _local19;
if ((_local5 * _local11) < 0) {
obj.ReportCollisionVsWorld(x * oH, 0, oH, 0, t);
return(COL_AXIS);
}
var _local13 = Math.sqrt((_local6 * _local6) + (_local5 * _local5));
var _local17 = obj.r - _local13;
if (0 < _local17) {
if (_local13 == 0) {
_local6 = oH / Math.SQRT2;
_local5 = oV / Math.SQRT2;
} else {
_local6 = _local6 / _local13;
_local5 = _local5 / _local13;
}
obj.ReportCollisionVsWorld(_local6 * _local17, _local5 * _local17, _local6, _local5, t);
return(COL_OTHER);
}
} else {
var _local15 = t.sx;
var _local14 = t.sy;
var _local4 = obj.pos.x - (t.pos.x + (oH * t.xw));
var _local3 = obj.pos.y - (t.pos.y - (_local11 * t.yw));
var _local18 = (_local4 * (-_local14)) + (_local3 * _local15);
if (((_local18 * _local12) * _local11) < 0) {
var _local13 = Math.sqrt((_local4 * _local4) + (_local3 * _local3));
var _local17 = obj.r - _local13;
if (0 < _local17) {
_local4 = _local4 / _local13;
_local3 = _local3 / _local13;
obj.ReportCollisionVsWorld(_local4 * _local17, _local3 * _local17, _local4, _local3, t);
return(COL_OTHER);
}
} else {
var _local22 = (_local4 * _local15) + (_local3 * _local14);
var _local17 = obj.r - Math.abs(_local22);
if (0 < _local17) {
obj.ReportCollisionVsWorld(_local15 * _local17, _local14 * _local17, _local15, _local14, t);
return(COL_OTHER);
}
}
}
} else {
var _local20 = t.pos.x + (oH * t.xw);
var _local19 = t.pos.y + (oV * t.yw);
var _local6 = obj.pos.x - _local20;
var _local5 = obj.pos.y - _local19;
var _local13 = Math.sqrt((_local6 * _local6) + (_local5 * _local5));
var _local17 = obj.r - _local13;
if (0 < _local17) {
if (_local13 == 0) {
_local6 = oH / Math.SQRT2;
_local5 = oV / Math.SQRT2;
} else {
_local6 = _local6 / _local13;
_local5 = _local5 / _local13;
}
obj.ReportCollisionVsWorld(_local6 * _local17, _local5 * _local17, _local6, _local5, t);
return(COL_OTHER);
}
}
return(COL_NONE);
}
function ProjCircle_22DegB(x, y, oH, oV, obj, t) {
var _local4 = t.signx;
var _local3 = t.signy;
if (oH == 0) {
if (oV == 0) {
var _local13 = t.sx;
var _local12 = t.sy;
var _local16 = obj.r;
var _local22 = (obj.pos.x - (_local13 * _local16)) - (t.pos.x - (_local4 * t.xw));
var _local21 = (obj.pos.y - (_local12 * _local16)) - (t.pos.y + (_local3 * t.yw));
var _local15 = (_local22 * _local13) + (_local21 * _local12);
if (_local15 < 0) {
_local13 = _local13 * (-_local15);
_local12 = _local12 * (-_local15);
var _local23 = Math.sqrt((_local13 * _local13) + (_local12 * _local12));
if (x < y) {
lenP = x;
y = 0;
if ((obj.pos.x - t.pos.x) < 0) {
x = x * -1;
}
} else {
lenP = y;
x = 0;
if ((obj.pos.y - t.pos.y) < 0) {
y = y * -1;
}
}
if (lenP < _local23) {
obj.ReportCollisionVsWorld(x, y, x / lenP, y / lenP, t);
return(COL_AXIS);
}
obj.ReportCollisionVsWorld(_local13, _local12, t.sx, t.sy, t);
return(COL_OTHER);
}
} else {
if ((_local3 * oV) < 0) {
obj.ReportCollisionVsWorld(0, y * oV, 0, oV, t);
return(COL_AXIS);
}
var _local13 = t.sx;
var _local12 = t.sy;
var _local22 = obj.pos.x - (t.pos.x - (_local4 * t.xw));
var _local21 = obj.pos.y - (t.pos.y + (_local3 * t.yw));
var _local18 = (_local22 * (-_local12)) + (_local21 * _local13);
if (0 < ((_local18 * _local4) * _local3)) {
var _local11 = Math.sqrt((_local22 * _local22) + (_local21 * _local21));
var _local14 = obj.r - _local11;
if (0 < _local14) {
_local22 = _local22 / _local11;
_local21 = _local21 / _local11;
obj.ReportCollisionVsWorld(_local22 * _local14, _local21 * _local14, _local22, _local21, t);
return(COL_OTHER);
}
} else {
var _local15 = (_local22 * _local13) + (_local21 * _local12);
var _local14 = obj.r - Math.abs(_local15);
if (0 < _local14) {
obj.ReportCollisionVsWorld(_local13 * _local14, _local12 * _local14, _local13, _local12, t);
return(COL_OTHER);
}
}
}
} else if (oV == 0) {
if ((_local4 * oH) < 0) {
obj.ReportCollisionVsWorld(x * oH, 0, oH, 0, t);
return(COL_AXIS);
}
var _local22 = obj.pos.x - (t.pos.x + (_local4 * t.xw));
var _local21 = obj.pos.y - t.pos.y;
if ((_local21 * _local3) < 0) {
obj.ReportCollisionVsWorld(x * oH, 0, oH, 0, t);
return(COL_AXIS);
}
var _local13 = t.sx;
var _local12 = t.sy;
var _local18 = (_local22 * (-_local12)) + (_local21 * _local13);
if (((_local18 * _local4) * _local3) < 0) {
var _local11 = Math.sqrt((_local22 * _local22) + (_local21 * _local21));
var _local14 = obj.r - _local11;
if (0 < _local14) {
_local22 = _local22 / _local11;
_local21 = _local21 / _local11;
obj.ReportCollisionVsWorld(_local22 * _local14, _local21 * _local14, _local22, _local21, t);
return(COL_OTHER);
}
} else {
var _local15 = (_local22 * _local13) + (_local21 * _local12);
var _local14 = obj.r - Math.abs(_local15);
if (0 < _local14) {
obj.ReportCollisionVsWorld(_local13 * _local14, _local12 * _local14, t.sx, t.sy, t);
return(COL_OTHER);
}
}
} else {
if (0 < ((_local4 * oH) + (_local3 * oV))) {
var _local17 = 2.23606797749979;
var _local13 = (_local4 * 1) / _local17;
var _local12 = (_local3 * 2) / _local17;
var _local16 = obj.r;
var _local22 = (obj.pos.x - (_local13 * _local16)) - (t.pos.x - (_local4 * t.xw));
var _local21 = (obj.pos.y - (_local12 * _local16)) - (t.pos.y + (_local3 * t.yw));
var _local15 = (_local22 * _local13) + (_local21 * _local12);
if (_local15 < 0) {
obj.ReportCollisionVsWorld((-_local13) * _local15, (-_local12) * _local15, t.sx, t.sy, t);
return(COL_OTHER);
}
return(COL_NONE);
}
var _local20 = t.pos.x + (oH * t.xw);
var _local19 = t.pos.y + (oV * t.yw);
var _local7 = obj.pos.x - _local20;
var _local6 = obj.pos.y - _local19;
var _local11 = Math.sqrt((_local7 * _local7) + (_local6 * _local6));
var _local14 = obj.r - _local11;
if (0 < _local14) {
if (_local11 == 0) {
_local7 = oH / Math.SQRT2;
_local6 = oV / Math.SQRT2;
} else {
_local7 = _local7 / _local11;
_local6 = _local6 / _local11;
}
obj.ReportCollisionVsWorld(_local7 * _local14, _local6 * _local14, _local7, _local6, t);
return(COL_OTHER);
}
}
return(COL_NONE);
}
function ProjCircle_67DegS(x, y, oH, oV, obj, t) {
var _local12 = t.signx;
var _local11 = t.signy;
if (0 < (_local12 * oH)) {
return(COL_NONE);
}
if (oH == 0) {
if (oV == 0) {
var _local16 = t.sx;
var _local14 = t.sy;
var _local15 = obj.r;
var _local4 = obj.pos.x - t.pos.x;
var _local3 = obj.pos.y - (t.pos.y - (_local11 * t.yw));
var _local18 = (_local4 * (-_local14)) + (_local3 * _local16);
if (((_local18 * _local12) * _local11) < 0) {
var _local13 = Math.sqrt((_local4 * _local4) + (_local3 * _local3));
var _local17 = _local15 - _local13;
if (0 < _local17) {
_local4 = _local4 / _local13;
_local3 = _local3 / _local13;
obj.ReportCollisionVsWorld(_local4 * _local17, _local3 * _local17, _local4, _local3, t);
return(COL_OTHER);
}
} else {
_local4 = _local4 - (_local15 * _local16);
_local3 = _local3 - (_local15 * _local14);
var _local22 = (_local4 * _local16) + (_local3 * _local14);
if (_local22 < 0) {
_local16 = _local16 * (-_local22);
_local14 = _local14 * (-_local22);
var _local21 = Math.sqrt((_local16 * _local16) + (_local14 * _local14));
if (x < y) {
lenP = x;
y = 0;
if ((obj.pos.x - t.pos.x) < 0) {
x = x * -1;
}
} else {
lenP = y;
x = 0;
if ((obj.pos.y - t.pos.y) < 0) {
y = y * -1;
}
}
if (lenP < _local21) {
obj.ReportCollisionVsWorld(x, y, x / lenP, y / lenP, t);
return(COL_AXIS);
}
obj.ReportCollisionVsWorld(_local16, _local14, t.sx, t.sy, t);
return(COL_OTHER);
}
}
} else if ((_local11 * oV) < 0) {
var _local20 = t.pos.x;
var _local19 = t.pos.y - (_local11 * t.yw);
var _local7 = obj.pos.x - _local20;
var _local6 = obj.pos.y - _local19;
if ((_local7 * _local12) < 0) {
obj.ReportCollisionVsWorld(0, y * oV, 0, oV, t);
return(COL_AXIS);
}
var _local13 = Math.sqrt((_local7 * _local7) + (_local6 * _local6));
var _local17 = obj.r - _local13;
if (0 < _local17) {
if (_local13 == 0) {
_local7 = oH / Math.SQRT2;
_local6 = oV / Math.SQRT2;
} else {
_local7 = _local7 / _local13;
_local6 = _local6 / _local13;
}
obj.ReportCollisionVsWorld(_local7 * _local17, _local6 * _local17, _local7, _local6, t);
return(COL_OTHER);
}
} else {
var _local16 = t.sx;
var _local14 = t.sy;
var _local4 = obj.pos.x - (t.pos.x - (_local12 * t.xw));
var _local3 = obj.pos.y - (t.pos.y + (oV * t.yw));
var _local18 = (_local4 * (-_local14)) + (_local3 * _local16);
if (0 < ((_local18 * _local12) * _local11)) {
var _local13 = Math.sqrt((_local4 * _local4) + (_local3 * _local3));
var _local17 = obj.r - _local13;
if (0 < _local17) {
_local4 = _local4 / _local13;
_local3 = _local3 / _local13;
obj.ReportCollisionVsWorld(_local4 * _local17, _local3 * _local17, _local4, _local3, t);
return(COL_OTHER);
}
} else {
var _local22 = (_local4 * _local16) + (_local3 * _local14);
var _local17 = obj.r - Math.abs(_local22);
if (0 < _local17) {
obj.ReportCollisionVsWorld(_local16 * _local17, _local14 * _local17, t.sx, t.sy, t);
return(COL_OTHER);
}
}
}
} else {
if (oV == 0) {
obj.ReportCollisionVsWorld(x * oH, 0, oH, 0, t);
return(COL_AXIS);
}
var _local20 = t.pos.x + (oH * t.xw);
var _local19 = t.pos.y + (oV * t.yw);
var _local7 = obj.pos.x - _local20;
var _local6 = obj.pos.y - _local19;
var _local13 = Math.sqrt((_local7 * _local7) + (_local6 * _local6));
var _local17 = obj.r - _local13;
if (0 < _local17) {
if (_local13 == 0) {
_local7 = oH / Math.SQRT2;
_local6 = oV / Math.SQRT2;
} else {
_local7 = _local7 / _local13;
_local6 = _local6 / _local13;
}
obj.ReportCollisionVsWorld(_local7 * _local17, _local6 * _local17, _local7, _local6, t);
return(COL_OTHER);
}
}
return(COL_NONE);
}
function ProjCircle_67DegB(x, y, oH, oV, obj, t) {
var _local4 = t.signx;
var _local3 = t.signy;
if (oH == 0) {
if (oV == 0) {
var _local13 = t.sx;
var _local12 = t.sy;
var _local16 = obj.r;
var _local22 = (obj.pos.x - (_local13 * _local16)) - (t.pos.x + (_local4 * t.xw));
var _local21 = (obj.pos.y - (_local12 * _local16)) - (t.pos.y - (_local3 * t.yw));
var _local15 = (_local22 * _local13) + (_local21 * _local12);
if (_local15 < 0) {
_local13 = _local13 * (-_local15);
_local12 = _local12 * (-_local15);
var _local23 = Math.sqrt((_local13 * _local13) + (_local12 * _local12));
if (x < y) {
lenP = x;
y = 0;
if ((obj.pos.x - t.pos.x) < 0) {
x = x * -1;
}
} else {
lenP = y;
x = 0;
if ((obj.pos.y - t.pos.y) < 0) {
y = y * -1;
}
}
if (lenP < _local23) {
obj.ReportCollisionVsWorld(x, y, x / lenP, y / lenP, t);
return(COL_AXIS);
}
obj.ReportCollisionVsWorld(_local13, _local12, t.sx, t.sy, t);
return(COL_OTHER);
}
} else {
if ((_local3 * oV) < 0) {
obj.ReportCollisionVsWorld(0, y * oV, 0, oV, t);
return(COL_AXIS);
}
var _local22 = obj.pos.x - t.pos.x;
var _local21 = obj.pos.y - (t.pos.y + (_local3 * t.yw));
if ((_local22 * _local4) < 0) {
obj.ReportCollisionVsWorld(0, y * oV, 0, oV, t);
return(COL_AXIS);
}
var _local13 = t.sx;
var _local12 = t.sy;
var _local18 = (_local22 * (-_local12)) + (_local21 * _local13);
if (0 < ((_local18 * _local4) * _local3)) {
var _local11 = Math.sqrt((_local22 * _local22) + (_local21 * _local21));
var _local14 = obj.r - _local11;
if (0 < _local14) {
_local22 = _local22 / _local11;
_local21 = _local21 / _local11;
obj.ReportCollisionVsWorld(_local22 * _local14, _local21 * _local14, _local22, _local21, t);
return(COL_OTHER);
}
} else {
var _local15 = (_local22 * _local13) + (_local21 * _local12);
var _local14 = obj.r - Math.abs(_local15);
if (0 < _local14) {
obj.ReportCollisionVsWorld(_local13 * _local14, _local12 * _local14, _local13, _local12, t);
return(COL_OTHER);
}
}
}
} else if (oV == 0) {
if ((_local4 * oH) < 0) {
obj.ReportCollisionVsWorld(x * oH, 0, oH, 0, t);
return(COL_AXIS);
}
var _local17 = 2.23606797749979;
var _local13 = (_local4 * 2) / _local17;
var _local12 = (_local3 * 1) / _local17;
var _local22 = obj.pos.x - (t.pos.x + (_local4 * t.xw));
var _local21 = obj.pos.y - (t.pos.y - (_local3 * t.yw));
var _local18 = (_local22 * (-_local12)) + (_local21 * _local13);
if (((_local18 * _local4) * _local3) < 0) {
var _local11 = Math.sqrt((_local22 * _local22) + (_local21 * _local21));
var _local14 = obj.r - _local11;
if (0 < _local14) {
_local22 = _local22 / _local11;
_local21 = _local21 / _local11;
obj.ReportCollisionVsWorld(_local22 * _local14, _local21 * _local14, _local22, _local21, t);
return(COL_OTHER);
}
} else {
var _local15 = (_local22 * _local13) + (_local21 * _local12);
var _local14 = obj.r - Math.abs(_local15);
if (0 < _local14) {
obj.ReportCollisionVsWorld(_local13 * _local14, _local12 * _local14, t.sx, t.sy, t);
return(COL_OTHER);
}
}
} else {
if (0 < ((_local4 * oH) + (_local3 * oV))) {
var _local13 = t.sx;
var _local12 = t.sy;
var _local16 = obj.r;
var _local22 = (obj.pos.x - (_local13 * _local16)) - (t.pos.x + (_local4 * t.xw));
var _local21 = (obj.pos.y - (_local12 * _local16)) - (t.pos.y - (_local3 * t.yw));
var _local15 = (_local22 * _local13) + (_local21 * _local12);
if (_local15 < 0) {
obj.ReportCollisionVsWorld((-_local13) * _local15, (-_local12) * _local15, t.sx, t.sy, t);
return(COL_OTHER);
}
return(COL_NONE);
}
var _local20 = t.pos.x + (oH * t.xw);
var _local19 = t.pos.y + (oV * t.yw);
var _local7 = obj.pos.x - _local20;
var _local6 = obj.pos.y - _local19;
var _local11 = Math.sqrt((_local7 * _local7) + (_local6 * _local6));
var _local14 = obj.r - _local11;
if (0 < _local14) {
if (_local11 == 0) {
_local7 = oH / Math.SQRT2;
_local6 = oV / Math.SQRT2;
} else {
_local7 = _local7 / _local11;
_local6 = _local6 / _local11;
}
obj.ReportCollisionVsWorld(_local7 * _local14, _local6 * _local14, _local7, _local6, t);
return(COL_OTHER);
}
}
return(COL_NONE);
}
function ResolveCircleTile(x, y, oH, oV, obj, t) {
if (0 < t.ID) {
return(Proj_CircleTile[t.CTYPE](x, y, oH, oV, obj, t));
}
return(false);
}
Proj_CircleTile = new Object();
Proj_CircleTile[CTYPE_FULL] = ProjCircle_Full;
Proj_CircleTile[CTYPE_45DEG] = ProjCircle_45Deg;
Proj_CircleTile[CTYPE_CONCAVE] = ProjCircle_Concave;
Proj_CircleTile[CTYPE_CONVEX] = ProjCircle_Convex;
Proj_CircleTile[CTYPE_22DEGs] = ProjCircle_22DegS;
Proj_CircleTile[CTYPE_22DEGb] = ProjCircle_22DegB;
Proj_CircleTile[CTYPE_67DEGs] = ProjCircle_67DegS;
Proj_CircleTile[CTYPE_67DEGb] = ProjCircle_67DegB;
Proj_CircleTile[CTYPE_HALF] = ProjCircle_Half;
function QueryRayObj(out, p0, p1, obj) {
var _local5 = tiles.GetTile_V(p0);
var _local25 = _local5.i;
var _local24 = _local5.j;
var _local4 = p1.x - p0.x;
var _local3 = p1.y - p0.y;
var _local23 = Math.sqrt((_local4 * _local4) + (_local3 * _local3));
if (_local23 != 0) {
_local4 = _local4 / _local23;
_local3 = _local3 / _local23;
} else {
return(false);
}
var _local22 = _local25;
var _local21 = _local24;
if (_local4 < 0) {
var _local18 = -1;
var _local14 = ((_local5.pos.x - _local5.xw) - p0.x) / _local4;
var _local20 = (2 * _local5.xw) / (-_local4);
} else if (0 < _local4) {
var _local18 = 1;
var _local14 = ((_local5.pos.x + _local5.xw) - p0.x) / _local4;
var _local20 = (2 * _local5.xw) / _local4;
} else {
var _local18 = 0;
var _local14 = 100000000 /* 0x5F5E100 */;
var _local20 = 0;
}
if (_local3 < 0) {
var _local17 = -1;
var _local13 = ((_local5.pos.y - _local5.yw) - p0.y) / _local3;
var _local19 = (2 * _local5.yw) / (-_local3);
} else if (0 < _local3) {
var _local17 = 1;
var _local13 = ((_local5.pos.y + _local5.yw) - p0.y) / _local3;
var _local19 = (2 * _local5.yw) / _local3;
} else {
var _local17 = 0;
var _local13 = 100000000 /* 0x5F5E100 */;
var _local19 = 0;
}
var _local9 = p0.x;
var _local8 = p0.y;
if (TestRayTile(out, _local9, _local8, _local4, _local3, _local5)) {
var _local11 = out.x;
var _local10 = out.y;
if (TestRay_Circle(out, p0.x, p0.y, _local4, _local3, obj)) {
var _local16 = ((p0.x - out.x) * _local4) + ((p0.y - out.y) * _local3);
var _local15 = ((p0.x - _local11) * _local4) + ((p0.y - _local10) * _local3);
if (_local16 < _local15) {
out.x = _local11;
out.y = _local10;
return(false);
}
return(true);
}
out.x = _local11;
out.y = _local10;
return(false);
}
var _local6;
var _local7;
while (_local5 != null) {
if (_local14 < _local13) {
if (_local18 < 0) {
_local6 = _local5.eL;
_local7 = _local5.nL;
} else {
_local6 = _local5.eR;
_local7 = _local5.nR;
}
if (0 < _local6) {
_local9 = p0.x + (_local14 * _local4);
_local8 = p0.y + (_local14 * _local3);
if (_local6 == EID_SOLID) {
var _local11 = _local9;
var _local10 = _local8;
if (TestRay_Circle(out, p0.x, p0.y, _local4, _local3, obj)) {
var _local16 = ((p0.x - out.x) * _local4) + ((p0.y - out.y) * _local3);
var _local15 = ((p0.x - _local11) * _local4) + ((p0.y - _local10) * _local3);
if (_local16 < _local15) {
out.x = _local11;
out.y = _local10;
return(false);
}
return(true);
}
out.x = _local11;
out.y = _local10;
return(false);
}
if (TestRayTile(out, _local9, _local8, _local4, _local3, _local7)) {
var _local11 = out.x;
var _local10 = out.y;
if (TestRay_Circle(out, p0.x, p0.y, _local4, _local3, obj)) {
var _local16 = ((p0.x - out.x) * _local4) + ((p0.y - out.y) * _local3);
var _local15 = ((p0.x - _local11) * _local4) + ((p0.y - _local10) * _local3);
if (_local16 < _local15) {
out.x = _local11;
out.y = _local10;
return(false);
}
return(true);
}
out.x = _local11;
out.y = _local10;
return(false);
}
}
var _local14 = _local14 + _local20;
_local22 = _local22 + _local18;
} else {
if (_local17 < 0) {
_local6 = _local5.eU;
_local7 = _local5.nU;
} else {
_local6 = _local5.eD;
_local7 = _local5.nD;
}
if (0 < _local6) {
_local9 = p0.x + (_local13 * _local4);
_local8 = p0.y + (_local13 * _local3);
if (_local6 == EID_SOLID) {
var _local11 = _local9;
var _local10 = _local8;
if (TestRay_Circle(out, p0.x, p0.y, _local4, _local3, obj)) {
var _local16 = ((p0.x - out.x) * _local4) + ((p0.y - out.y) * _local3);
var _local15 = ((p0.x - _local11) * _local4) + ((p0.y - _local10) * _local3);
if (_local16 < _local15) {
out.x = _local11;
out.y = _local10;
return(false);
}
return(true);
}
out.x = _local11;
out.y = _local10;
return(false);
}
if (TestRayTile(out, _local9, _local8, _local4, _local3, _local7)) {
var _local11 = out.x;
var _local10 = out.y;
if (TestRay_Circle(out, p0.x, p0.y, _local4, _local3, obj)) {
var _local16 = ((p0.x - out.x) * _local4) + ((p0.y - out.y) * _local3);
var _local15 = ((p0.x - _local11) * _local4) + ((p0.y - _local10) * _local3);
if (_local16 < _local15) {
out.x = _local11;
out.y = _local10;
return(false);
}
return(true);
}
out.x = _local11;
out.y = _local10;
return(false);
}
}
var _local13 = _local13 + _local19;
_local21 = _local21 + _local17;
}
_local5 = _local7;
}
if (TestRay_Circle(out, p0.x, p0.y, _local4, _local3, obj)) {
return(true);
}
return(false);
}
function CollideRayvsMap(out, p0, p1) {
var _local2 = tiles.GetTile_V(p0);
var _local40 = _local2.i;
var _local39 = _local2.j;
var _local6 = p1.x - p0.x;
var _local5 = p1.y - p0.y;
var _local38 = Math.sqrt((_local6 * _local6) + (_local5 * _local5));
if (_local38 != 0) {
_local6 = _local6 / _local38;
_local5 = _local5 / _local38;
} else {
return(false);
}
if (_local6 < 0) {
var _local21 = -1;
var _local20 = ((_local2.pos.x - _local2.xw) - p0.x) / _local6;
var _local35 = (2 * _local2.xw) / (-_local6);
} else if (0 < _local6) {
var _local21 = 1;
var _local20 = ((_local2.pos.x + _local2.xw) - p0.x) / _local6;
var _local35 = (2 * _local2.xw) / _local6;
} else {
var _local21 = 0;
var _local20 = 100000000 /* 0x5F5E100 */;
var _local35 = 0;
}
if (_local5 < 0) {
var _local17 = -1;
var _local19 = ((_local2.pos.y - _local2.yw) - p0.y) / _local5;
var _local34 = (2 * _local2.yw) / (-_local5);
} else if (0 < _local5) {
var _local17 = 1;
var _local19 = ((_local2.pos.y + _local2.yw) - p0.y) / _local5;
var _local34 = (2 * _local2.yw) / _local5;
} else {
var _local17 = 0;
var _local19 = 100000000 /* 0x5F5E100 */;
var _local34 = 0;
}
var _local37 = _local40;
var _local36 = _local39;
var _local11;
var _local10;
var _local42;
var _local41;
_local42 = p0.x;
_local11 = _local42;
_local41 = p0.y;
_local10 = _local41;
if (TestRayTile(out, _local42, _local41, _local6, _local5, _local2)) {
return(true);
}
static_rend.SetStyle(0, 8947848, 100);
var _local18 = new Vector2(0, 0);
var _local4 = new Vector2(_local11, _local10);
var _local7;
var _local9;
var _local3;
var _local25;
var _local13;
var _local16;
var _local32;
var _local31;
var _local24 = false;
var _local12 = false;
var _local30 = false;
var _local22 = false;
var _local23 = false;
var _local27;
var _local26;
var _local15;
var _local14;
var _local29;
var _local28;
while (_local2 != null) {
_local18.x = _local4.x;
_local18.y = _local4.y;
if (_local20 < _local19) {
_local4.x = _local11 + (_local20 * _local6);
_local4.y = _local10 + (_local20 * _local5);
static_rend.DrawPlus(_local4);
if (_local21 < 0) {
_local7 = _local2.eL;
_local9 = _local2.nL;
} else {
_local7 = _local2.eR;
_local9 = _local2.nR;
}
if ((!_local12) && (0 < _local7)) {
if (_local7 == EID_SOLID) {
out.x = _local4.x;
out.y = _local4.y;
_local24 = true;
_local29 = out.x;
_local28 = out.y;
} else if (TestRayTile(out, _local4.x, _local4.y, _local6, _local5, _local9)) {
_local12 = true;
_local27 = out.x;
_local26 = out.y;
}
}
var _local20 = _local20 + _local35;
_local37 = _local37 + _local21;
} else {
_local4.x = _local11 + (_local19 * _local6);
_local4.y = _local10 + (_local19 * _local5);
static_rend.DrawPlus(_local4);
if (_local17 < 0) {
_local7 = _local2.eU;
_local9 = _local2.nU;
} else {
_local7 = _local2.eD;
_local9 = _local2.nD;
}
if ((!_local12) && (0 < _local7)) {
if (_local7 == EID_SOLID) {
out.x = _local4.x;
out.y = _local4.y;
_local24 = true;
_local29 = out.x;
_local28 = out.y;
} else if (TestRayTile(out, _local4.x, _local4.y, _local6, _local5, _local9)) {
_local12 = true;
_local27 = out.x;
_local26 = out.y;
}
}
var _local19 = _local19 + _local34;
_local36 = _local36 + _local17;
}
if (_local21 < 0) {
if (_local17 < 0) {
_local16 = _local2.nR.nU;
_local13 = _local2.nL.nD;
} else {
_local16 = _local2.nL.nU;
_local13 = _local2.nR.nD;
}
} else if (_local17 < 0) {
_local16 = _local2.nR.nD;
_local13 = _local2.nL.nU;
} else {
_local16 = _local2.nL.nD;
_local13 = _local2.nR.nU;
}
_local32 = _local18.x - _local2.pos.x;
_local31 = _local18.y - _local2.pos.y;
if (((_local32 * (-_local5)) + (_local31 * _local6)) < 0) {
_local25 = _local13;
} else {
_local25 = _local16;
}
_local3 = _local2.next;
var _local8 = null;
while (_local3 != null) {
if (TestRayObj(out, _local11, _local10, _local6, _local5, _local3)) {
_local8 = _local3;
_local22 = true;
_local15 = out.x;
_local14 = out.y;
break;
}
_local3 = _local3.next;
}
_local3 = _local25.next;
while (_local3 != null) {
if (TestRayObj(out, _local11, _local10, _local6, _local5, _local3)) {
_local8 = _local3;
_local23 = true;
_local15 = out.x;
_local14 = out.y;
break;
}
_local3 = _local3.next;
}
if (_local22 || (_local23)) {
out.x = _local15;
out.y = _local14;
_local8.pos.x = _local8.pos.x + (_local6 * 3);
_local8.pos.y = _local8.pos.y + (_local5 * 3);
return(true);
}
if (_local30) {
out.x = _local27;
out.y = _local26;
return(true);
}
if (_local24) {
out.x = _local29;
out.y = _local28;
return(true);
}
if (_local12) {
_local30 = true;
}
_local2 = _local9;
}
return(false);
}
function CollideRayvsTiles(out, p0, p1) {
var _local1 = tiles.GetTile_V(p0);
var _local20 = _local1.i;
var _local19 = _local1.j;
var _local8 = p1.x - p0.x;
var _local7 = p1.y - p0.y;
var _local18 = Math.sqrt((_local8 * _local8) + (_local7 * _local7));
if (_local18 != 0) {
_local8 = _local8 / _local18;
_local7 = _local7 / _local18;
} else {
return(false);
}
var _local17 = _local20;
var _local16 = _local19;
if (_local8 < 0) {
var _local13 = -1;
var _local11 = ((_local1.pos.x - _local1.xw) - p0.x) / _local8;
var _local15 = (2 * _local1.xw) / (-_local8);
} else if (0 < _local8) {
var _local13 = 1;
var _local11 = ((_local1.pos.x + _local1.xw) - p0.x) / _local8;
var _local15 = (2 * _local1.xw) / _local8;
} else {
var _local13 = 0;
var _local11 = 100000000 /* 0x5F5E100 */;
var _local15 = 0;
}
if (_local7 < 0) {
var _local12 = -1;
var _local10 = ((_local1.pos.y - _local1.yw) - p0.y) / _local7;
var _local14 = (2 * _local1.yw) / (-_local7);
} else if (0 < _local7) {
var _local12 = 1;
var _local10 = ((_local1.pos.y + _local1.yw) - p0.y) / _local7;
var _local14 = (2 * _local1.yw) / _local7;
} else {
var _local12 = 0;
var _local10 = 100000000 /* 0x5F5E100 */;
var _local14 = 0;
}
var _local5 = p0.x;
var _local4 = p0.y;
if (TestRayTile(out, _local5, _local4, _local8, _local7, _local1)) {
return(true);
}
var _local2;
var _local3;
while (_local1 != null) {
if (_local11 < _local10) {
if (_local13 < 0) {
_local2 = _local1.eL;
_local3 = _local1.nL;
} else {
_local2 = _local1.eR;
_local3 = _local1.nR;
}
if (0 < _local2) {
_local5 = p0.x + (_local11 * _local8);
_local4 = p0.y + (_local11 * _local7);
if (_local2 == EID_SOLID) {
out.x = _local5;
out.y = _local4;
return(true);
}
if (TestRayTile(out, _local5, _local4, _local8, _local7, _local3)) {
return(true);
}
}
var _local11 = _local11 + _local15;
_local17 = _local17 + _local13;
} else {
if (_local12 < 0) {
_local2 = _local1.eU;
_local3 = _local1.nU;
} else {
_local2 = _local1.eD;
_local3 = _local1.nD;
}
if (0 < _local2) {
_local5 = p0.x + (_local10 * _local8);
_local4 = p0.y + (_local10 * _local7);
if (_local2 == EID_SOLID) {
out.x = _local5;
out.y = _local4;
return(true);
}
if (TestRayTile(out, _local5, _local4, _local8, _local7, _local3)) {
return(true);
}
}
var _local10 = _local10 + _local14;
_local16 = _local16 + _local12;
}
_local1 = _local3;
}
return(false);
}
function TestRay_Circle(out, px, py, dx, dy, obj) {
var _local6 = px - obj.pos.x;
var _local5 = py - obj.pos.y;
var _local11 = (dx * dx) + (dy * dy);
var _local4 = 2 * ((dx * _local6) + (dy * _local5));
var _local12 = obj.r;
var _local14 = ((_local6 * _local6) + (_local5 * _local5)) - (_local12 * _local12);
var _local9 = (_local4 * _local4) - ((4 * _local11) * _local14);
if (0 <= _local9) {
var _local13 = Math.sqrt(_local9);
var _local10 = 1 / (2 * _local11);
var _local1 = ((-_local4) + _local13) * _local10;
var _local3 = ((-_local4) - _local13) * _local10;
var _local2;
if (_local3 < 0) {
if (_local1 < 0) {
return(false);
}
_local2 = _local1;
} else if (_local1 < 0) {
_local2 = _local3;
} else if (_local3 < _local1) {
_local2 = _local3;
} else {
_local2 = _local1;
}
out.x = px + (_local2 * dx);
out.y = py + (_local2 * dy);
return(true);
}
return(false);
}
function TestRay_AABB(out, px, py, dx, dy, obj) {
var _local4 = obj.pos.x;
var _local2 = obj.pos.y;
var _local6 = obj.xw;
var _local7 = obj.yw;
var _local9;
var _local8;
if (px < _local4) {
_local9 = _local4 - _local6;
} else {
_local9 = _local4 + _local6;
}
if (py < _local2) {
_local8 = _local2 - _local7;
} else {
_local8 = _local2 + _local7;
}
var _local1;
var _local13;
var _local11;
var _local12;
var _local10;
if (dx == 0) {
if (dy == 0) {
return(false);
}
_local13 = _local4 - _local6;
_local12 = _local4 + _local6;
_local10 = _local8;
_local11 = _local10;
_local1 = (_local8 - py) / dy;
} else if (dy == 0) {
_local11 = _local2 - _local7;
_local10 = _local2 + _local7;
_local12 = _local9;
_local13 = _local12;
_local1 = (_local9 - px) / dx;
} else {
var _local19 = (_local9 - px) / dx;
var _local18 = (_local8 - py) / dy;
if (_local19 < _local18) {
_local13 = _local4 - _local6;
_local12 = _local4 + _local6;
_local10 = _local8;
_local11 = _local10;
_local1 = _local18;
} else {
_local11 = _local2 - _local7;
_local10 = _local2 + _local7;
_local12 = _local9;
_local13 = _local12;
_local1 = _local19;
}
}
if (0 < _local1) {
var _local22 = px + (100 * dx);
var _local20 = py + (100 * dy);
var _local17 = ((_local22 - px) * (_local11 - py)) - ((_local13 - px) * (_local20 - py));
var _local16 = ((_local22 - px) * (_local10 - py)) - ((_local12 - px) * (_local20 - py));
if ((_local17 * _local16) < 0) {
out.x = px + (_local1 * dx);
out.y = py + (_local1 * dy);
return(true);
}
return(false);
}
return(false);
}
function TestRay_Full(out, px, py, dx, dy, t) {
return(false);
}
function TestRay_45Deg(out, px, py, dx, dy, t) {
var _local6 = t.signx;
var _local5 = t.signy;
if (0 <= ((_local6 * dx) + (_local5 * dy))) {
return(false);
}
var _local4 = _local6 * t.xw;
var _local3 = (-_local5) * t.yw;
var _local8 = t.pos.x - px;
var _local7 = t.pos.y - py;
var _local2 = ((dy * _local8) - (dx * _local7)) / ((dx * _local3) - (dy * _local4));
if (Math.abs(_local2) <= 1) {
out.x = t.pos.x + (_local2 * _local4);
out.y = t.pos.y + (_local2 * _local3);
return(true);
}
return(false);
}
function TestRay_Concave(out, px, py, dx, dy, t) {
var _local17 = t.signx;
var _local15 = t.signy;
if (0 <= ((_local17 * dx) + (_local15 * dy))) {
return(false);
}
var _local13 = _local17 * t.xw;
var _local12 = (-_local15) * t.yw;
var _local10 = t.pos.x - px;
var _local9 = t.pos.y - py;
var _local14 = ((dy * _local10) - (dx * _local9)) / ((dx * _local12) - (dy * _local13));
if (Math.abs(_local14) <= 1) {
var _local6 = (-_local13) - _local10;
var _local5 = _local12 - _local9;
var _local16 = (dx * dx) + (dy * dy);
var _local4 = 2 * ((dx * _local6) + (dy * _local5));
var _local18 = t.xw * 2;
var _local22 = ((_local6 * _local6) + (_local5 * _local5)) - (_local18 * _local18);
var _local19 = (_local4 * _local4) - ((4 * _local16) * _local22);
if (0 <= _local19) {
var _local21 = Math.sqrt(_local19);
var _local11 = 1 / (2 * _local16);
var _local8 = ((-_local4) + _local21) * _local11;
var _local7 = ((-_local4) - _local21) * _local11;
if (_local7 < _local8) {
out.x = px + (_local8 * dx);
out.y = py + (_local8 * dy);
} else {
out.x = px + (_local7 * dx);
out.y = py + (_local7 * dy);
}
return(true);
}
return(false);
}
return(false);
}
function TestRay_Convex(out, px, py, dx, dy, t) {
var _local17 = t.signx;
var _local16 = t.signy;
var _local9 = px - (t.pos.x - (_local17 * t.xw));
var _local8 = py - (t.pos.y - (_local16 * t.yw));
var _local11 = (dx * dx) + (dy * dy);
var _local2 = 2 * ((dx * _local9) + (dy * _local8));
var _local12 = t.xw * 2;
var _local15 = ((_local9 * _local9) + (_local8 * _local8)) - (_local12 * _local12);
var _local7 = (_local2 * _local2) - ((4 * _local11) * _local15);
if (0 <= _local7) {
var _local14 = Math.sqrt(_local7);
var _local10 = 1 / (2 * _local11);
var _local4 = ((-_local2) + _local14) * _local10;
var _local3 = ((-_local2) - _local14) * _local10;
if (_local3 < _local4) {
out.x = px + (_local3 * dx);
out.y = py + (_local3 * dy);
} else {
out.x = px + (_local4 * dx);
out.y = py + (_local4 * dy);
}
return(true);
}
return(false);
}
function TestRay_Half(out, px, py, dx, dy, t) {
var _local4 = t.signx;
var _local3 = t.signy;
var _local6 = t.pos.x - px;
var _local5 = t.pos.y - py;
if (0 <= ((_local6 * _local4) + (_local5 * _local3))) {
out.x = px;
out.y = py;
return(true);
}
if (0 <= ((_local4 * dx) + (_local3 * dy))) {
return(false);
}
var _local8 = _local3 * t.xw;
var _local7 = _local4 * t.yw;
var _local2 = ((dy * _local6) - (dx * _local5)) / ((dx * _local7) - (dy * _local8));
if (Math.abs(_local2) <= 1) {
out.x = t.pos.x + (_local2 * _local8);
out.y = t.pos.y + (_local2 * _local7);
return(true);
}
return(false);
}
function TestRay_22DegS(out, px, py, dx, dy, t) {
var _local14 = t.sx;
var _local12 = t.sy;
var _local3 = t.signx;
var _local6 = t.signy;
var _local5 = (t.pos.x - (_local3 * t.xw)) - px;
var _local4 = t.pos.y - py;
if ((0 <= (_local5 * _local3)) && (0 <= (_local4 * _local6))) {
out.x = px;
out.y = py;
return(true);
}
if (0 <= ((_local14 * dx) + (_local12 * dy))) {
return(false);
}
_local5 = _local5 + (_local3 * t.xw);
var _local7 = (_local6 * 0.5) * t.yw;
_local4 = _local4 - _local7;
var _local9 = (-_local6) * t.xw;
var _local8 = (0.5 * _local3) * t.yw;
var _local2 = ((dy * _local5) - (dx * _local4)) / ((dx * _local8) - (dy * _local9));
if (Math.abs(_local2) <= 1) {
out.x = t.pos.x + (_local2 * _local9);
out.y = (t.pos.y - _local7) + (_local2 * _local8);
return(true);
}
return(false);
}
function TestRay_22DegB(out, px, py, dx, dy, t) {
var _local14 = t.sx;
var _local12 = t.sy;
var _local10 = t.signx;
var _local4 = t.signy;
var _local5 = t.pos.x - px;
var _local3 = t.pos.y - py;
if (((_local5 * _local10) <= 0) && (0 <= (_local3 * _local4))) {
out.x = px;
out.y = py;
return(true);
}
if (0 <= ((_local14 * dx) + (_local12 * dy))) {
return(false);
}
var _local6 = (_local4 * 0.5) * t.yw;
_local3 = _local3 + _local6;
var _local8 = (-_local4) * t.xw;
var _local7 = (0.5 * _local10) * t.yw;
var _local2 = ((dy * _local5) - (dx * _local3)) / ((dx * _local7) - (dy * _local8));
if (Math.abs(_local2) <= 1) {
out.x = t.pos.x + (_local2 * _local8);
out.y = (t.pos.y + _local6) + (_local2 * _local7);
return(true);
}
return(false);
}
function TestRay_67DegS(out, px, py, dx, dy, t) {
var _local14 = t.sx;
var _local12 = t.sy;
var _local6 = t.signx;
var _local3 = t.signy;
var _local5 = t.pos.x - px;
var _local4 = (t.pos.y - (_local3 * t.yw)) - py;
if ((0 <= (_local5 * _local6)) && (0 <= (_local4 * _local3))) {
out.x = px;
out.y = py;
return(true);
}
if (0 <= ((_local14 * dx) + (_local12 * dy))) {
return(false);
}
_local4 = _local4 + (_local3 * t.yw);
var _local7 = (_local6 * 0.5) * t.xw;
_local5 = _local5 - _local7;
var _local9 = (-0.5 * _local3) * t.xw;
var _local8 = _local6 * t.yw;
var _local2 = ((dy * _local5) - (dx * _local4)) / ((dx * _local8) - (dy * _local9));
if (Math.abs(_local2) <= 1) {
out.x = (t.pos.x - _local7) + (_local2 * _local9);
out.y = t.pos.y + (_local2 * _local8);
return(true);
}
return(false);
}
function TestRay_67DegB(out, px, py, dx, dy, t) {
var _local14 = t.sx;
var _local12 = t.sy;
var _local4 = t.signx;
var _local10 = t.signy;
var _local3 = t.pos.x - px;
var _local5 = t.pos.y - py;
if (((_local5 * _local10) <= 0) && (0 <= (_local3 * _local4))) {
out.x = px;
out.y = py;
return(true);
}
if (0 <= ((_local14 * dx) + (_local12 * dy))) {
return(false);
}
var _local6 = (_local4 * 0.5) * t.xw;
_local3 = _local3 + _local6;
var _local8 = (-0.5 * _local10) * t.xw;
var _local7 = _local4 * t.yw;
var _local2 = ((dy * _local3) - (dx * _local5)) / ((dx * _local7) - (dy * _local8));
if (Math.abs(_local2) <= 1) {
out.x = (t.pos.x + _local6) + (_local2 * _local8);
out.y = t.pos.y + (_local2 * _local7);
return(true);
}
return(false);
}
function TestRayTile(out, px, py, dx, dy, t) {
if (0 < t.ID) {
return(TestRay_Tile[t.CTYPE](out, px, py, dx, dy, t));
}
return(false);
}
TestRay_Tile = new Object();
TestRay_Tile[CTYPE_FULL] = TestRay_Full;
TestRay_Tile[CTYPE_45DEG] = TestRay_45Deg;
TestRay_Tile[CTYPE_CONCAVE] = TestRay_Concave;
TestRay_Tile[CTYPE_CONVEX] = TestRay_Convex;
TestRay_Tile[CTYPE_22DEGs] = TestRay_22DegS;
TestRay_Tile[CTYPE_22DEGb] = TestRay_22DegB;
TestRay_Tile[CTYPE_67DEGs] = TestRay_67DegS;
TestRay_Tile[CTYPE_67DEGb] = TestRay_67DegB;
TestRay_Tile[CTYPE_HALF] = TestRay_Half;
function TestRayObj(out, px, py, dx, dy, obj) {
if (obj.OTYPE == OTYPE_AABB) {
return(TestRay_AABB(out, px, py, dx, dy, obj));
}
return(TestRay_Circle(out, px, py, dx, dy, obj));
}
function ObjectManager() {
this.InitDataStructs();
}
ObjectManager.prototype.InitDataStructs = function () {
this.objList = new Object();
this.objArray = new Array();
this.numObjs = 0;
this.nextID = 0;
this.gridList = new Object();
this.gridNum = 0;
this.updateList = new Object();
this.updateNum = 0;
this.drawList = new Object();
this.drawNum = 0;
this.thinkList = new Object();
this.thinkNum = 0;
this.curThinker = null;
this.thinkRate = 2;
this.thinkTimer = 0;
};
ObjectManager.prototype.Register = function (obj) {
obj.UID = this.nextID++;
this.objList[obj.UID] = obj;
this.objArray.push(obj);
this.numObjs++;
};
ObjectManager.prototype.AddToGrid = function (obj) {
obj.cell = tiles.GetTile_V(obj.pos);
obj.cell.InsertObj(obj);
this.gridList[obj.UID] = obj;
this.gridNum++;
};
ObjectManager.prototype.RemoveFromGrid = function (obj) {
if (this.gridList[obj.UID] != null) {
obj.cell.RemoveObj(obj);
delete this.gridList[obj.UID];
this.gridNum--;
}
};
ObjectManager.prototype.Moved = function (obj) {
var _local2 = obj.cell;
n = tiles.GetTile_V(obj.pos);
if (_local2 != n) {
_local2.RemoveObj(obj);
obj.cell = n;
n.InsertObj(obj);
return(true);
}
return(false);
};
ObjectManager.prototype.GetObj = function (ID) {
var _local3 = this.objList[ID];
if (_local3 == null) {
} else {
return(this.objList[ID]);
}
};
ObjectManager.prototype.GetObjType = function (obj) {
return(obj.OBJ_TYPE);
};
ObjectManager.prototype.IdleObjectsAfterDeath = function () {
for (var _local2 in this.objList) {
this.objList[_local2].IdleAfterDeath();
}
};
ObjectManager.prototype.DumpThinkList = function () {
var _local4 = "THINK LIST:\n";
var _local6 = this.curThinker;
var _local5 = _local6.UID;
_local4 = _local4 + ("head: " + _local5);
_local4 = _local4 + (((((newline + _local6.prevThinker.UID) + "<-") + _local5) + "->") + _local6.nextThinker.UID);
if (this.thinkNum == 0) {
_local4 = _local4 + "no thinkers!";
return(_local4);
}
var _local3 = " ";
var _local2 = _local6.nextThinker;
while (_local2.UID != _local5) {
_local4 = _local4 + ((((((newline + _local3) + _local2.prevThinker.UID) + "<-") + _local2.UID) + "->") + _local2.nextThinker.UID);
_local2 = _local2.nextThinker;
_local3 = _local3 + " ";
}
return(_local4);
};
ObjectManager.prototype.Tick = function () {
if (0 < this.updateNum) {
for (var _local2 in this.updateList) {
this.updateList[_local2].Update();
}
}
if (0 < this.thinkNum) {
if (this.thinkRate < this.thinkTimer) {
this.thinkTimer = 0;
this.curThinker.Think();
this.curThinker = this.curThinker.nextThinker;
} else {
this.thinkTimer++;
}
}
};
ObjectManager.prototype.StartUpdate = function (obj) {
if (this.updateList[obj.UID] == null) {
this.updateList[obj.UID] = obj;
this.updateNum++;
}
};
ObjectManager.prototype.EndUpdate = function (obj) {
if (this.updateList[obj.UID] == null) {
return(undefined);
}
delete this.updateList[obj.UID];
this.updateNum--;
};
ObjectManager.prototype.StartDraw = function (obj) {
if (this.drawList[obj.UID] == null) {
this.drawList[obj.UID] = obj;
this.drawNum++;
}
};
ObjectManager.prototype.EndDraw = function (obj) {
if (this.drawList[obj.UID] == null) {
return(undefined);
}
delete this.drawList[obj.UID];
this.drawNum--;
};
ObjectManager.prototype.StartThink = function (obj) {
if (this.thinkList[obj.UID] == null) {
this.thinkList[obj.UID] = obj;
this.thinkNum++;
if (this.thinkNum == 1) {
this.curThinker = obj;
obj.nextThinker = obj;
obj.prevThinker = obj;
} else {
obj.nextThinker = this.curThinker;
obj.prevThinker = this.curThinker.prevThinker;
obj.prevThinker.nextThinker = obj;
obj.nextThinker.prevThinker = obj;
this.curThinker = obj;
}
}
};
ObjectManager.prototype.EndThink = function (obj) {
if (this.thinkList[obj.UID] == null) {
return(undefined);
}
delete this.thinkList[obj.UID];
this.thinkNum--;
if (this.thinkNum <= 0) {
obj.nextThinker = null;
obj.prevThinker = null;
this.curThinker = null;
this.thinkNum = 0;
} else {
obj.nextThinker.prevThinker = obj.prevThinker;
obj.prevThinker.nextThinker = obj.nextThinker;
if (obj == this.curThinker) {
this.curThinker = obj.nextThinker;
}
obj.nextThinker = null;
obj.prevThinker = null;
}
};
ObjectManager.prototype.Clear = function () {
for (var _local2 in this.thinkList) {
this.EndThink(this.thinkList[_local2]);
}
for (var _local2 in this.gridList) {
this.RemoveFromGrid(this.gridList[_local2]);
}
for (var _local2 in this.updateList) {
this.EndUpdate(this.updateList[_local2]);
}
for (var _local2 in this.drawList) {
this.EndDraw(this.drawList[_local2]);
}
for (var _local2 in this.objArray) {
delete this.objArray[_local2];
}
for (var _local2 in this.objList) {
this.objList[_local2].next = null;
this.objList[_local2].prev = null;
this.objList[_local2].nextThinker = null;
this.objList[_local2].prevThinker = null;
this.objList[_local2].UnInit();
this.objList[_local2].Destruct();
delete this.objList[_local2];
}
tiles.ClearGrid();
delete this.objList;
delete this.objArray;
delete this.updateList;
delete this.drawList;
delete this.gridList;
delete this.thinkList;
delete this.curThinker;
this.InitDataStructs();
};
ObjectManager.prototype.Draw = function () {
for (var _local2 in this.drawList) {
this.drawList[_local2].Draw();
}
};
OBJTYPE_GOLD = 0;
OBJTYPE_BOUNCEBLOCK = 1;
OBJTYPE_LAUNCHPAD = 2;
OBJTYPE_TURRET = 3;
OBJTYPE_FLOORGUARD = 4;
OBJTYPE_PLAYER = 5;
OBJTYPE_DRONE = 6;
OBJTYPE_ONEWAYPLATFORM = 7;
OBJTYPE_THWOMP = 8;
OBJTYPE_TESTDOOR = 9;
OBJTYPE_HOMINGLAUNCHER = 10;
OBJTYPE_EXIT = 11;
OBJTYPE_MINE = 12;
ObjectManager.prototype.GetObjectStates = function () {
var _local3 = "";
var _local2 = 0;
while (_local2 < this.objArray.length) {
_local3 = _local3 + this.objArray[_local2].OBJ_TYPE;
_local3 = _local3 + OBJTYPE_SEPERATION_CHAR;
_local3 = _local3 + this.objArray[_local2].DumpInitData();
_local3 = _local3 + OBJECT_SEPERATION_CHAR;
_local2++;
}
if (0 < _local3.length) {
var _local4 = _local3.lastIndexOf(OBJECT_SEPERATION_CHAR);
_local3 = _local3.substring(0, _local4);
}
return(_local3);
};
ObjectManager.prototype.SpawnGameObject = function (OBJ_TYPE, params) {
var _local2 = this.BuildObject(OBJ_TYPE);
_local2.OBJ_TYPE = OBJ_TYPE;
_local2.Init(params);
return(_local2.UID);
};
ObjectManager.prototype.BuildObject = function (OBJ_TYPE) {
if (OBJ_TYPE == OBJTYPE_PLAYER) {
var _local2 = new PlayerObject();
return(_local2);
}
if (OBJ_TYPE == OBJTYPE_GOLD) {
var _local2 = new GoldObject();
return(_local2);
}
if (OBJ_TYPE == OBJTYPE_BOUNCEBLOCK) {
var _local2 = new BounceBlockObject();
return(_local2);
}
if (OBJ_TYPE == OBJTYPE_LAUNCHPAD) {
var _local2 = new LaunchPadObject();
return(_local2);
}
if (OBJ_TYPE == OBJTYPE_TURRET) {
var _local2 = new TurretObject();
return(_local2);
}
if (OBJ_TYPE == OBJTYPE_FLOORGUARD) {
var _local2 = new FloorGuardObject();
return(_local2);
}
if (OBJ_TYPE == OBJTYPE_DRONE) {
var _local2 = new DroneObject();
return(_local2);
}
if (OBJ_TYPE == OBJTYPE_ONEWAYPLATFORM) {
var _local2 = new OneWayPlatformObject();
return(_local2);
}
if (OBJ_TYPE == OBJTYPE_THWOMP) {
var _local2 = new ThwompObject();
return(_local2);
}
if (OBJ_TYPE == OBJTYPE_TESTDOOR) {
var _local2 = new TestDoorObject();
return(_local2);
}
if (OBJ_TYPE == OBJTYPE_HOMINGLAUNCHER) {
var _local2 = new HomingLauncherObject();
return(_local2);
}
if (OBJ_TYPE == OBJTYPE_EXIT) {
var _local2 = new ExitObject();
return(_local2);
}
if (OBJ_TYPE == OBJTYPE_MINE) {
var _local2 = new MineObject();
return(_local2);
}
};
function ExitObject() {
this.name = "exit";
this.pos = new Vector2(24, 55);
this.trigger = new Object();
this.trigger.pos = new Vector2(87, 39);
this.trigger.r = tiles.xw * 0.5;
this.isOpen = false;
this.r = tiles.xw;
objects.Register(this);
this.mc = gfx.CreateSprite("debugExitMC", LAYER_WALLS);
this.mc._visible = false;
this.trigger.mc = gfx.CreateSprite("debugExitTriggerMC", LAYER_WALLS);
this.trigger.mc._visible = false;
}
TREASURE_RADIUS = 4;
ExitObject.prototype.Destruct = function () {
gfx.DestroyMC(this.mc);
delete this.mc;
gfx.DestroyMC(this.trigger.mc);
delete this.trigger.mc;
delete this.trigger;
};
ExitObject.prototype.Init = function (params) {
if (params.length != 4) {
} else {
this.pos.x = params[0];
this.pos.y = params[1];
this.trigger.pos.x = params[2];
this.trigger.pos.y = params[3];
this.trigger.exit = this;
this.isOpen = false;
this.mc._xscale = (this.mc._yscale = this.r * 2);
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
this.mc.gotoAndStop("exit_closed");
this.mc._visible = true;
this.trigger.mc._xscale = (this.trigger.mc._yscale = this.trigger.r * 2);
this.trigger.mc._x = this.trigger.pos.x;
this.trigger.mc._y = this.trigger.pos.y;
this.trigger.mc.gotoAndStop("exit_closed");
this.trigger.mc._visible = true;
this.trigger.TestVsPlayer = this.TestVsPlayer_Trigger;
this.TestVsPlayer = this.TestVsPlayer_Exit;
objects.AddToGrid(this.trigger);
objects.Moved(this.trigger);
}
};
ExitObject.prototype.UnInit = function () {
objects.RemoveFromGrid(this);
objects.RemoveFromGrid(this.trigger);
};
ExitObject.prototype.DumpInitData = function () {
var _local2 = (((((("" + this.pos.x) + OBJPARAM_SEPERATION_CHAR) + this.pos.y) + OBJPARAM_SEPERATION_CHAR) + this.trigger.pos.x) + OBJPARAM_SEPERATION_CHAR) + this.trigger.pos.y;
return(_local2);
};
ExitObject.prototype.IdleAfterDeath = function () {
objects.RemoveFromGrid(this);
objects.RemoveFromGrid(this.trigger);
};
ExitObject.prototype.TestVsPlayer_Exit = function (guy) {
if (this.isOpen) {
var _local5 = guy.pos;
var _local3 = this.pos.x - guy.pos.x;
var _local2 = this.pos.y - guy.pos.y;
if (Math.sqrt((_local3 * _local3) + (_local2 * _local2)) < (this.r + guy.r)) {
this.PlayerHitExit();
}
}
};
ExitObject.prototype.TestVsPlayer_Trigger = function (guy) {
if (!this.exit.isOpen) {
var _local5 = guy.pos;
var _local3 = this.pos.x - guy.pos.x;
var _local2 = this.pos.y - guy.pos.y;
if (Math.sqrt((_local3 * _local3) + (_local2 * _local2)) < (this.r + guy.r)) {
this.exit.PlayerHitTrigger();
}
}
};
ExitObject.prototype.PlayerHitExit = function () {
player.Celebrate();
App_LevelPassedEvent();
};
ExitObject.prototype.PlayerHitTrigger = function () {
this.mc.gotoAndPlay("exit_opening");
this.isOpen = true;
this.trigger.mc.gotoAndStop("exit_open");
objects.RemoveFromGrid(this.trigger);
objects.AddToGrid(this);
objects.Moved(this);
};
function Init_Hacky_GoldSound() {
_global.goldSnd = gfx.CreateSprite("debugGoldSoundMC", LAYER_PLAYER);
}
function GoldObject() {
this.name = "gold";
this.pos = new Vector2(14, 65);
this.isCollected = false;
this.r = tiles.xw * 0.5;
objects.Register(this);
this.mc = gfx.CreateSprite("debugGoldMC", LAYER_OBJECTS);
this.mc._visible = false;
}
GoldObject.prototype.Destruct = function () {
gfx.DestroyMC(this.mc);
delete this.mc;
};
GoldObject.prototype.Init = function (params) {
if (params.length != 2) {
} else {
this.pos.x = params[0];
this.pos.y = params[1];
this.isCollected = false;
this.mc._xscale = (this.mc._yscale = this.r);
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
this.mc._visible = true;
this.mc.gotoAndStop("NOT_COLLECTED");
objects.AddToGrid(this);
objects.Moved(this);
}
};
GoldObject.prototype.UnInit = function () {
objects.RemoveFromGrid(this);
};
GoldObject.prototype.DumpInitData = function () {
var _local2 = (("" + this.pos.x) + OBJPARAM_SEPERATION_CHAR) + this.pos.y;
return(_local2);
};
GoldObject.prototype.IdleAfterDeath = function () {
if (!this.isCollected) {
objects.RemoveFromGrid(this);
}
};
GoldObject.prototype.TestVsPlayer = function (guy) {
var _local5 = guy.pos;
var _local3 = this.pos.x - guy.pos.x;
var _local2 = this.pos.y - guy.pos.y;
if (Math.sqrt((_local3 * _local3) + (_local2 * _local2)) < (this.r + guy.r)) {
this.Dissapear();
}
};
GoldObject.prototype.Dissapear = function () {
this.isCollected = true;
objects.RemoveFromGrid(this);
this.mc.gotoAndPlay("COLLECTED");
_global.goldSnd.gotoAndPlay("COLLECTED");
game.GiveBonusTime();
};
function BounceBlockObject() {
this.name = "bounce block";
this.xw = tiles.xw * 0.8;
this.yw = tiles.yw * 0.8;
this.pos = new Vector2(10, 20);
this.oldpos = new Vector2(30, 40);
this.anchor = new Vector2(50, 60);
this.stiff = 0.05;
this.mass = 0.2;
this.ASLEEP = true;
this.sleepThreshold = 40;
this.sleepTimer = 0;
this.touchingObj = null;
objects.Register(this);
this.mc = gfx.CreateSprite("debugBounceBlockMC", LAYER_OBJECTS);
this.mc._visible = false;
}
BounceBlockObject.prototype.Destruct = function () {
gfx.DestroyMC(this.mc);
delete this.mc;
};
BounceBlockObject.prototype.Init = function (params) {
if (params.length != 2) {
} else {
this.pos.x = (this.oldpos.x = (this.anchor.x = params[0]));
this.pos.y = (this.oldpos.y = (this.anchor.y = params[1]));
this.mc._xscale = 2 * this.xw;
this.mc._yscale = 2 * this.yw;
this.Draw();
this.mc._visible = true;
objects.AddToGrid(this);
objects.Moved(this);
}
};
BounceBlockObject.prototype.UnInit = function () {
objects.RemoveFromGrid(this);
objects.EndDraw(this);
objects.EndUpdate(this);
objects.EndThink(this);
};
BounceBlockObject.prototype.DumpInitData = function () {
var _local2 = (("" + this.anchor.x) + OBJPARAM_SEPERATION_CHAR) + this.anchor.y;
return(_local2);
};
BounceBlockObject.prototype.IdleAfterDeath = function () {
};
BounceBlockObject.prototype.Draw = function () {
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
};
BounceBlockObject.prototype.TestVsRagParticle = function (rp) {
var _local7 = rp.pos;
var _local5 = _local7.y - this.pos.y;
var _local2 = (this.yw + rp.yw) - Math.abs(_local5);
if (0 < _local2) {
var _local6 = _local7.x - this.pos.x;
var _local3 = (this.xw + rp.xw) - Math.abs(_local6);
if (0 < _local3) {
if (_local2 < _local3) {
if (_local5 <= 0) {
var _local8 = -1;
_local2 = _local2 * -1;
} else {
var _local8 = 1;
}
this.pos.y = this.pos.y - ((1 - this.mass) * _local2);
rp.ReportCollisionVsObject(0, this.mass * _local2, 0, _local8, 0.3);
} else {
if (_local6 < 0) {
_local3 = _local3 * -1;
var _local9 = -1;
} else {
var _local9 = 1;
}
this.pos.x = this.pos.x - ((1 - this.mass) * _local3);
rp.ReportCollisionVsObject(this.mass * _local3, 0, _local9, 0, 0.3);
}
this.sleepTimer = 0;
if (this.ASLEEP) {
this.Wake();
}
this.touchingObj = guy;
return(undefined);
}
}
this.touchingOBj = null;
};
BounceBlockObject.prototype.TestVsPlayer = function (guy) {
var _local7 = guy.pos;
var _local5 = _local7.y - this.pos.y;
var _local2 = (this.yw + guy.yw) - Math.abs(_local5);
if (0 < _local2) {
var _local6 = _local7.x - this.pos.x;
var _local3 = (this.xw + guy.xw) - Math.abs(_local6);
if (0 < _local3) {
if (_local2 < _local3) {
if (_local5 < 0) {
var _local8 = -1;
_local2 = _local2 * -1;
} else {
var _local8 = 1;
}
this.pos.y = this.pos.y - ((1 - this.mass) * _local2);
guy.ReportCollisionVsObject(0, this.mass * _local2, 0, _local8, this);
} else {
if (_local6 < 0) {
_local3 = _local3 * -1;
var _local9 = -1;
} else {
var _local9 = 1;
}
this.pos.x = this.pos.x - ((1 - this.mass) * _local3);
guy.ReportCollisionVsObject(this.mass * _local3, 0, _local9, 0, this);
}
this.sleepTimer = 0;
if (this.ASLEEP) {
this.Wake();
}
this.touchingObj = guy;
return(undefined);
}
}
this.touchingOBj = null;
};
BounceBlockObject.prototype.Wake = function () {
objects.StartUpdate(this);
objects.StartThink(this);
objects.StartDraw(this);
this.ASLEEP = false;
};
BounceBlockObject.prototype.Sleep = function () {
objects.EndUpdate(this);
objects.EndThink(this);
objects.EndDraw(this);
this.ASLEEP = true;
this.oldpos.x = this.pos.x;
this.oldpos.y = this.pos.y;
};
BounceBlockObject.prototype.Think = function () {
if (this.sleepThreshold < this.sleepTimer) {
this.Sleep();
}
};
BounceBlockObject.prototype.Update = function () {
var _local2 = this.pos;
var _local3 = this.oldpos;
var _local9;
var _local8;
var _local7;
var _local6;
_local9 = _local3.x;
_local8 = _local3.y;
_local7 = (_local3.x = _local2.x);
_local6 = (_local3.y = _local2.y);
_local2.x = _local2.x + (0.99 * (_local7 - _local9));
_local2.y = _local2.y + (0.99 * (_local6 - _local8));
var _local5 = this.anchor.x - _local2.x;
var _local4 = this.anchor.y - _local2.y;
if (0 < ((_local5 * _local5) + (_local4 * _local4))) {
_local2.x = _local2.x + (_local5 * this.stiff);
_local2.y = _local2.y + (_local4 * this.stiff);
if (this.touchingObj != null) {
}
}
this.sleepTimer++;
};
function LaunchPadObject() {
this.name = "launch pad";
this.pos = new Vector2(54, 23);
this.nx = 0;
this.ny = 1;
this.r = tiles.xw * 0.5;
this.strength = tiles.xw * 0.428571428571429;
objects.Register(this);
this.mc = gfx.CreateSprite("debugLaunchPadMC", LAYER_WALLS);
this.mc._visible = false;
}
LaunchPadObject.prototype.Destruct = function () {
gfx.DestroyMC(this.mc);
delete this.mc;
};
LaunchPadObject.prototype.Init = function (params) {
if (params.length != 4) {
} else {
this.pos.x = params[0];
this.pos.y = params[1];
this.nx = params[2];
this.ny = params[3];
this.mc._xscale = (this.mc._yscale = 2.5 * this.r);
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
this.mc._visible = true;
this.mc.gotoAndStop("launch_idle");
if (this.nx < 0) {
if (this.ny < 0) {
this.mc._rotation = -45;
} else if (0 < this.ny) {
this.mc._rotation = -135;
} else {
this.mc._rotation = -90;
}
} else if (0 < this.nx) {
if (this.ny < 0) {
this.mc._rotation = 45;
} else if (0 < this.ny) {
this.mc._rotation = 135;
} else {
this.mc._rotation = 90;
}
} else if (this.ny < 0) {
this.mc._rotation = 0;
} else if (0 < this.ny) {
this.mc._rotation = 180;
}
objects.AddToGrid(this);
objects.Moved(this);
}
};
LaunchPadObject.prototype.UnInit = function () {
objects.RemoveFromGrid(this);
};
LaunchPadObject.prototype.DumpInitData = function () {
var _local2 = (((((("" + this.pos.x) + OBJPARAM_SEPERATION_CHAR) + this.pos.y) + OBJPARAM_SEPERATION_CHAR) + this.nx) + OBJPARAM_SEPERATION_CHAR) + this.ny;
return(_local2);
};
LaunchPadObject.prototype.IdleAfterDeath = function () {
};
LaunchPadObject.prototype.TestVsPlayer = function (guy) {
var _local6 = guy.pos;
var _local5 = this.pos.x - guy.pos.x;
var _local4 = this.pos.y - guy.pos.y;
var _local2 = guy.r;
if (Math.sqrt((_local5 * _local5) + (_local4 * _local4)) < (this.r + _local2)) {
var _local9 = this.pos.x - (_local6.x - (this.nx * _local2));
var _local8 = this.pos.y - (_local6.y - (this.ny * _local2));
var _local10 = (_local9 * this.nx) + (_local8 * this.ny);
if (0 <= _local10) {
var _local7 = 1;
if (this.ny < 0) {
_local7 = _local7 + Math.abs(this.ny);
}
this.mc.gotoAndPlay("launch_triggered");
guy.Launch(this.nx * this.strength, (this.ny * this.strength) * _local7);
}
}
};
LaunchPadObject.prototype.TestVsRagParticle = function (guy) {
var _local6 = guy.pos;
var _local4 = this.pos.x - guy.pos.x;
var _local3 = this.pos.y - guy.pos.y;
var _local5 = guy.xw;
if (Math.sqrt((_local4 * _local4) + (_local3 * _local3)) < (this.r + _local5)) {
this.mc.gotoAndPlay("launch_triggered");
guy.ReportCollisionVsObject(this.nx * 12, this.ny * 12, 1, 0, 1);
}
};
function TestDoorObject() {
this.name = "door";
this.vert = 0;
this.doorI = 2;
this.doorJ = 3;
this.doorpos = new Vector2(29, 19);
this.doorsize = 10;
this.doorcell_N = 0;
this.doorcell_P = 0;
this.pos = new Vector2(32, 84);
this.r = tiles.xw * 0.833333333333333;
this.deltaI = 0;
this.deltaJ = 0;
this.isOpen = false;
this.doortimer = 0;
this.maxtimer = 5;
this.isLocked = false;
this.isTrap = false;
this.openStateFront = EID_OFF;
this.openStateBack = EID_OFF;
objects.Register(this);
this.mc = gfx.CreateSprite("debugTestDoorMC", LAYER_WALLS);
this.mc._visible = false;
this.mc.gotoAndStop("closed_Trek");
this.trigMC = gfx.CreateSprite("debugDoorTriggerMC", LAYER_WALLS);
this.trigMC.gotoAndStop("exit_closed");
this.trigMC._visible = false;
}
TestDoorObject.prototype.Destruct = function () {
gfx.DestroyMC(this.mc);
delete this.mc;
gfx.DestroyMC(this.trigMC);
delete this.trigMC;
};
TestDoorObject.prototype.Init = function (params) {
if (params.length != 9) {
} else {
this.deltaI = params[7];
this.deltaJ = params[8];
this.doorI = params[4] + this.deltaI;
this.doorJ = params[5] + this.deltaJ;
this.vert = params[2];
this.isTrap = Boolean(params[3]);
this.isLocked = Boolean(params[6]);
this.doorcell_N = tiles.GetTile_I(this.doorI, this.doorJ);
this.doorpos.x = this.doorcell_N.pos.x;
this.doorpos.y = this.doorcell_N.pos.y;
if (this.vert == 1) {
this.doorpos.y = this.doorpos.y + this.doorcell_N.yw;
this.doorsize = this.doorcell_N.xw;
this.doorcell_P = this.doorcell_N.nD;
this.openStateFront = this.doorcell_N.eD;
this.openStateBack = this.doorcell_P.eU;
} else {
this.doorpos.x = this.doorpos.x + this.doorcell_N.xw;
this.doorsize = this.doorcell_N.yw;
this.doorcell_P = this.doorcell_N.nR;
this.openStateFront = this.doorcell_N.eR;
this.openStateBack = this.doorcell_P.eL;
}
if (this.isLocked) {
this.openFrameLabel = "opening_Lock";
this.closedFrameLabel = "closed_Lock";
this.mc.gotoAndStop("closed_Lock");
this.pos.x = params[0];
this.pos.y = params[1];
this.r = tiles.xw * 0.416666666666667;
this.isTrap = false;
this.isOpen = false;
this.isLocked = true;
this.trigMC._x = this.pos.x;
this.trigMC._y = this.pos.y;
this.trigMC._xscale = (this.trigMC._yscale = this.r * 1.5);
this.trigMC.gotoAndStop("exit_closed");
this.trigMC._visible = true;
} else if (this.isTrap) {
this.openFrameLabel = "open_Trap";
this.closedFrameLabel = "closing_Trap";
this.mc.gotoAndStop("open_Trap");
this.pos.x = params[0];
this.pos.y = params[1];
this.r = tiles.xw * 0.416666666666667;
this.isOpen = true;
this.isLocked = false;
this.isTrap = true;
this.trigMC._x = this.pos.x;
this.trigMC._y = this.pos.y;
this.trigMC._xscale = (this.trigMC._yscale = this.r * 1);
this.trigMC.gotoAndStop("exit_closed");
this.trigMC._visible = true;
} else {
this.openFrameLabel = "opening_Trek";
this.closedFrameLabel = "closing_Trek";
this.pos.x = this.doorpos.x;
this.pos.y = this.doorpos.y;
this.r = tiles.xw * 0.833333333333333;
this.isOpen = false;
this.isLocked = false;
this.isTrap = false;
this.mc.gotoAndStop("closed_Trek");
}
objects.AddToGrid(this);
objects.Moved(this);
this.mc._xscale = (this.mc._yscale = 2 * this.doorcell_N.yw);
this.mc._x = this.doorcell_N.pos.x;
this.mc._y = this.doorcell_N.pos.y;
if (this.vert == 1) {
if (this.deltaJ == 0) {
this.mc._rotation = 90;
this.mc._y = this.mc._y - 1;
} else {
this.mc._y = this.mc._y + (this.doorcell_N.yw * 2);
this.mc._rotation = 270;
}
} else if (this.deltaI == 0) {
this.mc._rotation = 0;
this.mc._x = this.mc._x - 1;
} else {
this.mc._x = this.mc._x + (this.doorcell_N.xw * 2);
this.mc._rotation = 180;
}
this.mc._visible = true;
this.UpdateEdges();
}
};
TestDoorObject.prototype.UnInit = function () {
if (this.vert == 0) {
this.doorcell_N.eR = this.openStateFront;
this.doorcell_P.eL = this.openStateBack;
} else {
this.doorcell_N.eD = this.openStateFront;
this.doorcell_P.eU = this.openStateBack;
}
objects.RemoveFromGrid(this);
objects.EndUpdate(this);
};
TestDoorObject.prototype.DumpInitData = function () {
var _local2 = (((((((((((((((("" + this.pos.x) + OBJPARAM_SEPERATION_CHAR) + this.pos.y) + OBJPARAM_SEPERATION_CHAR) + this.vert) + OBJPARAM_SEPERATION_CHAR) + Number(this.isTrap)) + OBJPARAM_SEPERATION_CHAR) + (this.doorI - this.deltaI)) + OBJPARAM_SEPERATION_CHAR) + (this.doorJ - this.deltaJ)) + OBJPARAM_SEPERATION_CHAR) + Number(this.isLocked)) + OBJPARAM_SEPERATION_CHAR) + this.deltaI) + OBJPARAM_SEPERATION_CHAR) + this.deltaJ;
return(_local2);
};
TestDoorObject.prototype.UpdateEdges = function () {
if (this.vert == 0) {
if (this.isOpen) {
this.doorcell_N.eR = this.openStateFront;
this.doorcell_P.eL = this.openStateBack;
} else {
this.doorcell_N.eR = EID_SOLID;
this.doorcell_P.eL = EID_SOLID;
}
} else if (this.isOpen) {
this.doorcell_N.eD = this.openStateFront;
this.doorcell_P.eU = this.openStateBack;
} else {
this.doorcell_N.eD = EID_SOLID;
this.doorcell_P.eU = EID_SOLID;
}
};
TestDoorObject.prototype.Draw = function () {
if (this.isOpen) {
this.mc.gotoAndPlay(this.openFrameLabel);
this.trigMC.gotoAndStop("exit_open");
} else {
this.mc.gotoAndPlay(this.closedFrameLabel);
this.trigMC.gotoAndStop("exit_closed");
}
};
TestDoorObject.prototype.IdleAfterDeath = function () {
objects.RemoveFromGrid(this);
};
TestDoorObject.prototype.TestVsPlayer = function (guy) {
var _local5 = guy.pos;
var _local3 = this.pos.x - guy.pos.x;
var _local2 = this.pos.y - guy.pos.y;
if (Math.sqrt((_local3 * _local3) + (_local2 * _local2)) < (this.r + guy.r)) {
this.doortimer = 0;
if (this.isTrap) {
this.Close();
objects.RemoveFromGrid(this);
this.TestVsPlayer = null;
} else if (!this.isOpen) {
this.Open();
}
}
};
TestDoorObject.prototype.Open = function () {
this.isOpen = true;
this.UpdateEdges();
this.Draw();
if ((!this.isTrap) && (!this.isLocked)) {
objects.StartUpdate(this);
}
};
TestDoorObject.prototype.Close = function () {
objects.EndUpdate(this);
this.isOpen = false;
this.UpdateEdges();
this.Draw();
};
TestDoorObject.prototype.Update = function () {
this.doortimer++;
if (this.maxtimer < this.doortimer) {
this.Close();
}
};
function OneWayPlatformObject() {
this.name = "oneway block";
this.xw = tiles.xw;
this.yw = tiles.xw;
this.pos = new Vector2(10, 20);
this.dir = new Vector2(0, 1);
this.dirEnum = AI_DIR_U;
objects.Register(this);
this.mc = gfx.CreateSprite("debugOneWayPlatformMC", LAYER_WALLS);
this.mc._visible = false;
}
OneWayPlatformObject.prototype.Destruct = function () {
gfx.DestroyMC(this.mc);
delete this.mc;
};
OneWayPlatformObject.prototype.Init = function (params) {
if (params.length != 3) {
} else {
this.pos.x = params[0];
this.pos.y = params[1];
var _local2 = params[2];
this.dirEnum = _local2;
if (_local2 == AI_DIR_U) {
this.dir.x = 0;
this.dir.y = -1;
} else if (_local2 == AI_DIR_D) {
this.dir.x = 0;
this.dir.y = 1;
this.mc._rotation = 180;
} else if (_local2 == AI_DIR_L) {
this.dir.x = -1;
this.dir.y = 0;
this.mc._rotation = -90;
} else if (_local2 == AI_DIR_R) {
this.dir.x = 1;
this.dir.y = 0;
this.mc._rotation = 90;
}
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
this.mc._xscale = 2 * this.xw;
this.mc._yscale = 2 * this.yw;
this.mc._visible = true;
objects.AddToGrid(this);
objects.Moved(this);
}
};
OneWayPlatformObject.prototype.UnInit = function () {
objects.RemoveFromGrid(this);
};
OneWayPlatformObject.prototype.DumpInitData = function () {
var _local2 = (((("" + this.pos.x) + OBJPARAM_SEPERATION_CHAR) + this.pos.y) + OBJPARAM_SEPERATION_CHAR) + this.dirEnum;
return(_local2);
};
OneWayPlatformObject.prototype.IdleAfterDeath = function () {
};
OneWayPlatformObject.prototype.TestVsPlayer = function (guy) {
var _local3 = guy.pos;
var _local7 = _local3.y - this.pos.y;
var _local9 = (this.yw + guy.yw) - Math.abs(_local7);
if (0 < _local9) {
var _local8 = _local3.x - this.pos.x;
var _local10 = (this.xw + guy.xw) - Math.abs(_local8);
if (0 < _local10) {
if (this.dir.x == 0) {
var _local4 = guy.pos.y - guy.oldpos.y;
if ((_local4 * this.dir.y) <= 0) {
var _local11 = (guy.oldpos.y - (this.dir.y * guy.yw)) - (this.pos.y + (this.dir.y * this.yw));
if (0 <= (_local11 * this.dir.y)) {
var _local5 = (this.pos.y + (this.dir.y * this.yw)) - (guy.pos.y - (this.dir.y * guy.yw));
guy.ReportCollisionVsObject(0, _local5, 0, this.dir.y, this);
}
}
} else {
var _local4 = guy.pos.x - guy.oldpos.x;
if ((_local4 * this.dir.x) <= 0) {
var _local11 = (guy.oldpos.x - (this.dir.x * guy.xw)) - (this.pos.x + (this.dir.x * this.xw));
if (0 <= (_local11 * this.dir.x)) {
var _local6 = (this.pos.x + (this.dir.x * this.xw)) - (guy.pos.x - (this.dir.x * guy.xw));
guy.ReportCollisionVsObject(_local6, 0, this.dir.x, 0, this);
}
}
}
}
}
};
OneWayPlatformObject.prototype.TestVsRagParticle = function (guy) {
var _local3 = guy.pos;
var _local7 = _local3.y - this.pos.y;
var _local9 = (this.yw + guy.yw) - Math.abs(_local7);
if (0 < _local9) {
var _local8 = _local3.x - this.pos.x;
var _local10 = (this.xw + guy.xw) - Math.abs(_local8);
if (0 < _local10) {
if (this.dir.x == 0) {
var _local4 = guy.pos.y - guy.oldpos.y;
if ((_local4 * this.dir.y) <= 0) {
var _local11 = (guy.oldpos.y - (this.dir.y * guy.yw)) - (this.pos.y + (this.dir.y * this.yw));
if (0 <= (_local11 * this.dir.y)) {
var _local5 = (this.pos.y + (this.dir.y * this.yw)) - (guy.pos.y - (this.dir.y * guy.yw));
guy.ReportCollisionVsObject(0, _local5, 0, this.dir.y, 0.3);
}
}
} else {
var _local4 = guy.pos.x - guy.oldpos.x;
if ((_local4 * this.dir.x) <= 0) {
var _local11 = (guy.oldpos.x - (this.dir.x * guy.xw)) - (this.pos.x + (this.dir.x * this.xw));
if (0 <= (_local11 * this.dir.x)) {
var _local6 = (this.pos.x + (this.dir.x * this.xw)) - (guy.pos.x - (this.dir.x * guy.xw));
guy.ReportCollisionVsObject(_local6, 0, this.dir.x, 0, 0.3);
}
}
}
}
}
};
function ThwompObject() {
this.name = "thwump";
this.pos = new Vector2(141, 14);
this.anchor = new Vector2(91, 82);
this.fallgoal = new Vector2(98, 74);
this.goal = this.fallgoal;
this.i = 6;
this.j = 7;
this.mini = 2;
this.minj = 5;
this.maxi = 8;
this.maxj = 3;
this.xw = tiles.xw * 0.75;
this.yw = tiles.xw * 0.75;
this.movedir = 1;
this.fallspeed = tiles.xw * 0.357142857142857;
this.raisespeed = tiles.xw * 0.142857142857143;
this.speed = this.fallspeed;
this.playerWasStanding = false;
this.isMoving = false;
this.dirEnum = AI_DIR_U;
this.dir = new Vector2(1, 0);
objects.Register(this);
this.mc = gfx.CreateSprite("debugThwompMC", LAYER_OBJECTS);
this.mc._visible = false;
}
ThwompObject.prototype.Destruct = function () {
gfx.DestroyMC(this.mc);
delete this.mc;
};
ThwompObject.prototype.Init = function (params) {
if (params.length != 3) {
} else {
this.pos.x = params[0];
this.pos.y = params[1];
this.anchor.x = this.pos.x;
this.anchor.y = this.pos.y;
objects.AddToGrid(this);
objects.StartUpdate(this);
objects.Moved(this);
this.i = this.cell.i;
this.j = this.cell.j;
var _local4 = params[2];
var _local9 = 0;
this.dirEnum = _local4;
if (_local4 == AI_DIR_U) {
this.dir.x = 0;
this.dir.y = -1;
var _local3 = this.pos.x;
var _local6 = this.pos.y;
var _local2 = this.cell.nU;
while (_local2.ID == TID_EMPTY) {
_local6 = _local6 - (2 * this.cell.yw);
_local2 = _local2.nU;
}
_local6 = _local6 - this.yw;
_local6 = _local6 - (this.pos.y - this.cell.pos.y);
this.mc._rotation = 180;
} else if (_local4 == AI_DIR_D) {
this.dir.x = 0;
this.dir.y = 1;
var _local3 = this.pos.x;
var _local6 = this.pos.y;
var _local2 = this.cell.nD;
while (_local2.ID == TID_EMPTY) {
_local6 = _local6 + (2 * this.cell.yw);
_local2 = _local2.nD;
}
_local6 = _local6 + this.yw;
_local6 = _local6 - (this.pos.y - this.cell.pos.y);
this.mc._rotation = 0;
} else if (_local4 == AI_DIR_L) {
this.dir.x = -1;
this.dir.y = 0;
var _local3 = this.pos.x;
var _local6 = this.pos.y;
var _local2 = this.cell.nL;
while (_local2.ID == TID_EMPTY) {
_local3 = _local3 - (2 * this.cell.xw);
_local2 = _local2.nL;
}
_local3 = _local3 - this.xw;
_local3 = _local3 - (this.pos.x - this.cell.pos.x);
this.mc._rotation = 90;
} else if (_local4 == AI_DIR_R) {
this.dir.x = 1;
this.dir.y = 0;
var _local3 = this.pos.x;
var _local6 = this.pos.y;
var _local2 = this.cell.nR;
while (_local2.ID == TID_EMPTY) {
_local3 = _local3 + (2 * this.cell.xw);
_local2 = _local2.nR;
}
_local3 = _local3 + this.xw;
_local3 = _local3 - (this.pos.x - this.cell.pos.x);
this.mc._rotation = -90;
}
this.fallgoal.x = _local3;
this.fallgoal.y = _local6;
this.goal = this.fallgoal;
this.i = this.cell.i;
this.j = this.cell.j;
this.mini = this.cell.i;
this.minj = this.cell.j;
var _local7 = tiles.GetTile_S(_local3, _local6);
this.maxi = _local7.i;
this.maxj = _local7.j;
if (this.dir.x < 0) {
var _local8 = this.mini;
this.mini = this.maxi;
this.maxi = _local8;
}
if (this.dir.y < 0) {
var _local8 = this.minj;
this.minj = this.maxj;
this.maxj = _local8;
}
this.Update = this.Update_Waiting;
this.mc._xscale = 2 * this.xw;
this.mc._yscale = 2 * this.yw;
this.Draw();
this.mc._visible = true;
}
};
ThwompObject.prototype.UnInit = function () {
objects.RemoveFromGrid(this);
objects.EndUpdate(this);
objects.EndDraw(this);
};
ThwompObject.prototype.DumpInitData = function () {
var _local2 = (((("" + this.pos.x) + OBJPARAM_SEPERATION_CHAR) + this.pos.y) + OBJPARAM_SEPERATION_CHAR) + this.dirEnum;
return(_local2);
};
ThwompObject.prototype.IdleAfterDeath = function () {
if (this.isMoving) {
this.Update_Waiting = this.Update_Idle;
} else {
this.Update = this.Update_Idle;
}
};
ThwompObject.prototype.Update_Idle = function () {
};
ThwompObject.prototype.Draw = function () {
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
};
ThwompObject.prototype.TestVsPlayer = function (guy) {
var _local7 = guy.pos;
var _local5 = _local7.y - this.pos.y;
var _local8 = Math.abs(_local5);
var _local3 = (this.yw + guy.yw) - _local8;
if (0 < _local3) {
var _local6 = _local7.x - this.pos.x;
var _local9 = Math.abs(_local6);
var _local4 = (this.xw + guy.xw) - _local9;
if (0 < _local4) {
if (_local3 < _local4) {
if (_local5 < 0) {
if (this.dir.y < 0) {
particles.SpawnZapThwompV(this.pos, this.xw, -this.yw, guy.pos);
game.KillPlayer(KILLTYPE_ELECTRIC, 0, -8, guy.pos.x, guy.pos.y - (0.5 * guy.r), this);
} else {
guy.ReportCollisionVsObject(0, -_local3, 0, -1, this);
}
} else if (0 < this.dir.y) {
particles.SpawnZapThwompV(this.pos, this.xw, this.yw, guy.pos);
game.KillPlayer(KILLTYPE_ELECTRIC, 0, 6, guy.pos.x, guy.pos.y + (0.5 * guy.r), this);
} else {
guy.ReportCollisionVsObject(0, _local3, 0, 1, this);
}
} else if (_local6 < 0) {
if (this.dir.x < 0) {
particles.SpawnZapThwompH(this.pos, -this.xw, this.yw, guy.pos);
game.KillPlayer(KILLTYPE_ELECTRIC, -8, -4, guy.pos.x - (0.5 * guy.r), guy.pos.y, this);
} else {
guy.ReportCollisionVsObject(-_local4, 0, -1, 0, this);
}
} else if (0 < this.dir.x) {
particles.SpawnZapThwompH(this.pos, this.xw, this.yw, guy.pos);
game.KillPlayer(KILLTYPE_ELECTRIC, 8, -4, guy.pos.x + (0.5 * guy.r), guy.pos.y, this);
} else {
guy.ReportCollisionVsObject(_local4, 0, 1, 0, this);
}
}
}
};
ThwompObject.prototype.TestVsRagParticle = function (guy) {
var _local7 = guy.pos;
var _local5 = _local7.y - this.pos.y;
var _local8 = Math.abs(_local5);
var _local3 = (this.yw + guy.yw) - _local8;
if (0 < _local3) {
var _local6 = _local7.x - this.pos.x;
var _local9 = Math.abs(_local6);
var _local4 = (this.xw + guy.xw) - _local9;
if (0 < _local4) {
if (_local3 < _local4) {
if (_local5 < 0) {
if (this.dir.y < 0) {
particles.SpawnZapThwompV(this.pos, this.xw, -this.yw, guy.pos);
guy.ReportCollisionVsObject(0, -8, 0, -1, 1);
player.RagDie(KILLTYPE_ELECTRIC);
} else {
guy.ReportCollisionVsObject(0, -_local3, 0, -1, 0.3);
}
} else if (0 < this.dir.y) {
particles.SpawnZapThwompV(this.pos, this.xw, this.yw, guy.pos);
guy.ReportCollisionVsObject(0, 6, 0, 1, 1);
player.RagDie(KILLTYPE_ELECTRIC);
} else {
guy.ReportCollisionVsObject(0, _local3, 0, 1, 0.3);
}
} else if (_local6 < 0) {
if (this.dir.x < 0) {
particles.SpawnZapThwompH(this.pos, -this.xw, this.yw, guy.pos);
guy.ReportCollisionVsObject(-8, -4, -1, 0, 1);
player.RagDie(KILLTYPE_ELECTRIC);
} else {
guy.ReportCollisionVsObject(-_local4, 0, -1, 0, 0.3);
}
} else if (0 < this.dir.x) {
particles.SpawnZapThwompH(this.pos, this.xw, this.yw, guy.pos);
guy.ReportCollisionVsObject(8, -4, 1, 0, 1);
player.RagDie(KILLTYPE_ELECTRIC);
} else {
guy.ReportCollisionVsObject(_local4, 0, 1, 0, 0.3);
}
}
}
};
ThwompObject.prototype.StartFall = function () {
this.isMoving = true;
this.speed = this.fallspeed;
this.movedir = 1;
this.goal = this.fallgoal;
this.Update = this.Update_Moving;
objects.StartDraw(this);
};
ThwompObject.prototype.StartRaise = function () {
this.isMoving = true;
this.speed = this.raisespeed;
this.movedir = -1;
this.goal = this.anchor;
this.Update = this.Update_Moving;
};
ThwompObject.prototype.StartWait = function () {
this.isMoving = false;
this.Update = this.Update_Waiting;
objects.EndDraw(this);
};
ThwompObject.prototype.Update_Waiting = function () {
if (this.dir.x == 0) {
if (Math.abs(this.pos.x - player.pos.x) < (2 * (this.xw + player.xw))) {
var _local2 = player.cell.j;
if ((this.maxj < _local2) || (_local2 < this.minj)) {
} else {
this.StartFall();
}
}
} else if (Math.abs(this.pos.y - player.pos.y) < (2 * (this.yw + player.yw))) {
var _local2 = player.cell.i;
if ((this.maxi < _local2) || (_local2 < this.mini)) {
} else {
this.StartFall();
}
}
};
ThwompObject.prototype.Update_Moving = function () {
var _local3 = this.goal.x - this.pos.x;
var _local2 = this.goal.y - this.pos.y;
var _local4 = (_local3 * _local3) + (_local2 * _local2);
if (_local4 < (this.speed * this.speed)) {
this.pos.x = this.goal.x;
this.pos.y = this.goal.y;
if (this.movedir == 1) {
this.StartRaise();
} else {
this.StartWait();
}
} else {
this.pos.x = this.pos.x + ((this.movedir * this.dir.x) * this.speed);
this.pos.y = this.pos.y + ((this.movedir * this.dir.y) * this.speed);
}
objects.Moved(this);
};
function HomingLauncherObject() {
this.name = "homing rocket";
this.basepos = new Vector2(3, 8);
this.view = new Vector2(4, 56);
this.pos = new Vector2(0, 9);
this.mdir = new Vector2(7, 6);
this.speed = 0;
this.maxspeed = tiles.xw * 0.285714285714286;
this.startaccel = 0.1;
this.curaccel = this.startaccel;
this.accelrate = 1.1;
this.turnrate = 0.1;
this.isHoming = false;
this.prefireDelay = 10;
this.fireDelayTimer = 0;
objects.Register(this);
this.mc = gfx.CreateSprite("debugHomingLauncherMC", LAYER_WALLS);
this.rocketmc = gfx.CreateSprite("debugHomingRocketMC", LAYER_OBJECTS);
this.mc._visible = false;
this.rocketmc._visible = true;
this.mc.gotoAndStop("rocket_waiting");
this.snd = new Sound(this.mc);
}
HomingLauncherObject.prototype.Destruct = function () {
gfx.DestroyMC(this.mc);
delete this.mc;
gfx.DestroyMC(this.rocketmc);
delete this.rocketmc;
delete this.snd;
};
HomingLauncherObject.prototype.Init = function (params) {
if (params.length != 2) {
} else {
this.basepos.x = params[0];
this.basepos.y = params[1];
this.StartIdle();
this.mc._xscale = (this.mc._yscale = tiles.xw);
this.mc._x = this.basepos.x;
this.mc._y = this.basepos.y;
this.mc._visible = true;
this.mc.gotoAndStop("rocket_waiting");
this.rocketmc._xscale = (this.rocketmc._yscale = 100);
this.rocketmc._x = this.basepos.x;
this.rocketmc._y = this.basepos.y;
this.rocketmc._visible = false;
}
};
HomingLauncherObject.prototype.UnInit = function () {
objects.RemoveFromGrid(this);
objects.EndUpdate(this);
objects.EndThink(this);
};
HomingLauncherObject.prototype.DumpInitData = function () {
var _local2 = (("" + this.basepos.x) + OBJPARAM_SEPERATION_CHAR) + this.basepos.y;
return(_local2);
};
HomingLauncherObject.prototype.IdleAfterDeath = function () {
if (this.isHoming) {
this.StartIdle = this.StartIdle_Death;
} else {
objects.EndThink(this);
}
};
HomingLauncherObject.prototype.StartIdle_Death = function () {
this.isHoming = false;
};
HomingLauncherObject.prototype.Draw = function () {
this.rocketmc._x = this.pos.x;
this.rocketmc._y = this.pos.y;
var _local2 = NormToRot(this.mdir.x, this.mdir.y);
this.rocketmc._rotation = _local2;
particles.SpawnRocketSmoke(this.pos, _local2);
};
HomingLauncherObject.prototype.StartFiring = function () {
objects.EndThink(this);
objects.StartUpdate(this);
this.isHoming = true;
this.fireDelayTimer = 0;
this.Update = this.Update_PreFire;
};
HomingLauncherObject.prototype.StartIdle = function () {
this.isHoming = false;
objects.StartThink(this);
};
HomingLauncherObject.prototype.FireMissile = function () {
this.curaccel = this.startaccel;
this.speed = 0;
this.pos.x = this.basepos.x;
this.pos.y = this.basepos.y;
objects.AddToGrid(this);
objects.StartDraw(this);
this.Update = this.Update_Homing;
var _local3 = player.pos.x - this.basepos.x;
var _local2 = player.pos.y - this.basepos.y;
var _local4 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
if (_local4 == 0) {
} else {
_local3 = _local3 / _local4;
_local2 = _local2 / _local4;
this.mdir.x = _local3;
this.mdir.y = _local2;
}
this.rocketmc._visible = true;
this.mc.gotoAndPlay("rocket_fire");
};
HomingLauncherObject.prototype.ExplodeMissile = function () {
this.snd.stop();
this.rocketmc._visible = false;
this.mc.gotoAndPlay("rocket_explode");
particles.SpawnExplosion(this.pos);
objects.EndUpdate(this);
objects.EndDraw(this);
objects.RemoveFromGrid(this);
this.StartIdle();
};
HomingLauncherObject.prototype.Think = function () {
if (QueryRayObj(this.view, this.basepos, player.pos, player)) {
this.StartFiring();
}
};
HomingLauncherObject.prototype.TestVsPlayer = function (guy) {
var _local3 = guy.pos.x - this.pos.x;
var _local2 = guy.pos.y - this.pos.y;
var _local4 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
if (_local4 < player.r) {
game.KillPlayer(KILLTYPE_EXPLOSIVE, _local3, _local2, this.pos.x, this.pos.y, this);
this.ExplodeMissile();
return(undefined);
}
};
HomingLauncherObject.prototype.Update_PreFire = function () {
this.fireDelayTimer++;
if (this.prefireDelay <= this.fireDelayTimer) {
this.FireMissile();
}
};
HomingLauncherObject.prototype.Update_Homing = function () {
var _local3 = this.pos;
if (this.speed < this.maxspeed) {
this.curaccel = this.curaccel * this.accelrate;
this.speed = this.speed + this.curaccel;
} else {
this.speed = this.maxspeed;
}
_local3.x = _local3.x + (this.speed * this.mdir.x);
_local3.y = _local3.y + (this.speed * this.mdir.y);
if (QueryPointvsTileMap(_local3.x, _local3.y)) {
this.ExplodeMissile();
return(undefined);
}
var _local2 = this.cell;
if (objects.Moved(this)) {
var _local5 = this.cell;
var _local4;
if (_local5 == _local2.nR) {
_local4 = _local2.eR;
} else if (_local5 == _local2.nL) {
_local4 = _local2.eL;
} else if (_local5 == _local2.nU) {
_local4 = _local2.eU;
} else if (_local5 == _local2.nD) {
_local4 = _local2.eD;
} else {
_local4 = EID_OFF;
}
if (_local4 == EID_SOLID) {
this.ExplodeMissile();
return(undefined);
}
}
var _local6 = player;
dx = ((2 * _local6.pos.x) - _local6.oldpos.x) - (_local3.x + (this.speed * this.mdir.x));
dy = ((2 * _local6.pos.y) - _local6.oldpos.y) - (_local3.y + (this.speed * this.mdir.y));
var _local7 = Math.sqrt((dx * dx) + (dy * dy));
dx = dx / _local7;
dy = dy / _local7;
var _local11 = (this.mdir.x * dx) + (this.mdir.y * dy);
var _local9 = ((-this.mdir.y) * dx) + (this.mdir.x * dy);
var _local8 = this.turnrate;
if (_local11 < 0) {
}
var _local12 = _local9 * (-this.mdir.y);
var _local10 = _local9 * this.mdir.x;
this.mdir.x = this.mdir.x + (_local12 * _local8);
this.mdir.y = this.mdir.y + (_local10 * _local8);
_local7 = Math.sqrt((this.mdir.x * this.mdir.x) + (this.mdir.y * this.mdir.y));
if (_local7 == 0) {
return(undefined);
}
this.mdir.x = this.mdir.x / _local7;
this.mdir.y = this.mdir.y / _local7;
};
function TurretObject() {
this.name = "gauss turret";
this.pos = new Vector2(21, 12);
objects.Register(this);
this.view = new Vector2(0, 0);
this.targ = new Vector2(0, 0);
this.aim = new Vector2(this.pos.x, this.pos.y);
this.closeAimSpeed = 0.05;
this.midAimSpeed = 0.035;
this.farAimSpeed = 0.03;
this.aimSpeed = this.farAimSpeed;
this.outerThreshold = tiles.xw * 8;
this.innerThreshold = tiles.xw * 2;
this.midThreshold = (0.25 * this.outerThreshold) + (0.75 * this.innerThreshold);
this.outerThreshold = this.outerThreshold * this.outerThreshold;
this.midThreshold = this.midThreshold * this.midThreshold;
this.innerThreshold = this.innerThreshold * this.innerThreshold;
this.shotRate = 60;
this.shotTimer = 0;
this.fireDelayTimer = 0;
this.prefireDelay = 10;
this.postfireDelay = 10;
this.isFiring = false;
this.mc = gfx.CreateSprite("debugTurretMC", LAYER_WALLS);
this.mc._visible = false;
this.crosshairMC = gfx.CreateSprite("debugTurretCrosshairMC", LAYER_OBJECTS);
this.crosshairMC._visible = false;
}
TurretObject.prototype.Destruct = function () {
gfx.DestroyMC(this.mc);
delete this.mc;
gfx.DestroyMC(this.crosshairMC);
delete this.crosshairMC;
};
TurretObject.prototype.Init = function (params) {
if (params.length != 2) {
} else {
this.pos.x = (this.aim.x = params[0]);
this.pos.y = (this.aim.y = params[1]);
objects.StartThink(this);
this.Think = this.Think_Waiting;
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
this.mc._xscale = (this.mc._yscale = tiles.xw);
this.mc._visible = true;
this.mc.gotoAndStop("turret_idle");
this.crosshairMC._xscale = (this.crosshairMC._yscale = tiles.xw * 1.5);
this.crosshairMC._visible = false;
}
};
TurretObject.prototype.UnInit = function () {
objects.EndThink(this);
objects.EndUpdate(this);
objects.EndDraw(this);
};
TurretObject.prototype.DumpInitData = function () {
var _local2 = (("" + this.pos.x) + OBJPARAM_SEPERATION_CHAR) + this.pos.y;
return(_local2);
};
TurretObject.prototype.Draw = function () {
this.crosshairMC._x = this.aim.x;
this.crosshairMC._y = this.aim.y;
};
TurretObject.prototype.IdleAfterDeath = function () {
this.StopTargetting();
objects.EndThink(this);
objects.EndDraw(this);
};
TurretObject.prototype.StartFiring = function () {
this.crosshairMC.gotoAndStop("prefire");
this.mc.gotoAndPlay("turret_prefire");
objects.EndThink(this);
objects.EndDraw(this);
this.isFiring = true;
this.fireDelayTimer = 0;
this.Update = this.Update_PreFire;
};
TurretObject.prototype.StopFiring = function () {
objects.StartThink(this);
this.Think = this.Think_Targetting;
this.crosshairMC.gotoAndStop("postfire");
this.mc.gotoAndPlay("turret_idle");
this.isFiring = false;
this.fireDelayTimer = 0;
this.Update = this.Update_PostFire;
};
TurretObject.prototype.StartTargetting = function () {
this.crosshairMC._visible = true;
this.crosshairMC.gotoAndStop("aim_far");
this.aimSpeed = this.farAimSpeed;
this.aim.x = this.pos.x;
this.aim.y = this.pos.y;
this.KeepTargetting();
};
TurretObject.prototype.StopTargetting = function () {
this.crosshairMC._visible = false;
objects.EndUpdate(this);
this.Think = this.Think_Waiting;
objects.EndDraw(this);
};
TurretObject.prototype.KeepTargetting = function () {
this.shotTimer = this.shotRate;
this.Update = this.Update_Targetting;
this.Think = this.Think_Targetting;
objects.StartUpdate(this);
objects.StartDraw(this);
};
TurretObject.prototype.Fire = function () {
this.mc.gotoAndPlay("turret_firing");
if (QueryRayObj(this.targ, this.pos, this.aim, player)) {
var _local3 = this.aim.x - this.pos.x;
var _local2 = this.aim.y - this.pos.y;
var _local4 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
if (_local4 == 0) {
_local3 = 1;
_local2 = 1;
} else {
_local3 = _local3 / _local4;
_local2 = _local2 / _local4;
}
game.KillPlayer(KILLTYPE_HARDBULLET, _local3 * 8, _local2 * 8, this.targ.x, this.targ.y, this);
this.targ.x = this.targ.x + (_local3 * player.r);
this.targ.y = this.targ.y + (_local2 * player.r);
var _local5 = NormToRot(_local3, _local2);
} else {
var _local3 = this.aim.x - this.pos.x;
var _local2 = this.aim.y - this.pos.y;
var _local4 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
if (_local4 == 0) {
_local3 = 1;
_local2 = 1;
} else {
_local3 = _local3 / _local4;
_local2 = _local2 / _local4;
}
var _local5 = NormToRot(-_local3, -_local2);
}
particles.SpawnTurretBullet(this.pos, this.targ, _local5);
this.StopFiring();
};
TurretObject.prototype.Think_Waiting = function () {
if (QueryRayObj(this.view, this.pos, player.pos, player)) {
this.StartTargetting();
}
};
TurretObject.prototype.Think_Targetting = function () {
if (!QueryRayObj(this.view, this.pos, player.pos, player)) {
this.StopTargetting();
}
};
TurretObject.prototype.Update_Targetting = function () {
var _local7 = (2 * player.pos.x) - player.oldpos.x;
var _local6 = (2 * player.pos.y) - player.oldpos.y;
var _local2 = this.aim;
var _local5 = _local2.x - _local7;
var _local4 = _local2.y - _local6;
_local2.x = _local2.x - (this.aimSpeed * _local5);
_local2.y = _local2.y - (this.aimSpeed * _local4);
var _local3 = (_local5 * _local5) + (_local4 * _local4);
if (this.outerThreshold < _local3) {
this.crosshairMC.gotoAndStop("aim_far");
this.aimSpeed = this.farAimSpeed;
return(undefined);
}
if (_local3 < this.innerThreshold) {
this.shotTimer = this.shotTimer - (2 + (game.GetTime() % 4));
} else if (_local3 < this.midThreshold) {
this.crosshairMC.gotoAndStop("aim_near");
this.aimSpeed = this.closeAimSpeed;
this.shotTimer = this.shotTimer - (1 + (game.GetTime() % 2));
} else {
this.crosshairMC.gotoAndStop("aim_mid");
this.aimSpeed = this.midAimSpeed;
this.shotTimer = this.shotTimer - 0.5;
}
if (this.shotTimer < 0) {
this.shotTimer = this.shotRate;
this.StartFiring();
}
};
TurretObject.prototype.Update_PreFire = function () {
this.fireDelayTimer++;
if (this.prefireDelay <= this.fireDelayTimer) {
if (!QueryRayObj(this.view, this.pos, player.pos, player)) {
this.StopFiring();
} else {
this.Fire();
}
}
};
TurretObject.prototype.Update_PostFire = function () {
this.fireDelayTimer++;
this.shotMC._alpha = 100 - (100 * (this.fireDelayTimer / this.postfireDelay));
if (this.postfireDelay <= this.fireDelayTimer) {
this.shotMC._visible = false;
if (!QueryRayObj(this.view, this.pos, player.pos, player)) {
this.StopTargetting();
} else {
this.KeepTargetting();
}
}
};
function MineObject() {
this.name = "mine";
this.pos = new Vector2(43, 16);
this.r = tiles.xw * 0.333333333333333;
objects.Register(this);
this.mc = gfx.CreateSprite("debugMineMC", LAYER_OBJECTS);
this.mc._visible = false;
}
MineObject.prototype.Destruct = function () {
gfx.DestroyMC(this.mc);
delete this.mc;
};
MineObject.prototype.Init = function (params) {
if (params.length != 2) {
} else {
this.pos.x = params[0];
this.pos.y = params[1];
objects.AddToGrid(this);
objects.Moved(this);
this.mc._xscale = (this.mc._yscale = 2 * this.r);
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
this.mc.gotoAndStop("mine_unexploded");
this.mc._visible = true;
}
};
MineObject.prototype.UnInit = function () {
objects.RemoveFromGrid(this);
};
MineObject.prototype.DumpInitData = function () {
var _local2 = (("" + this.pos.x) + OBJPARAM_SEPERATION_CHAR) + this.pos.y;
return(_local2);
};
MineObject.prototype.IdleAfterDeath = function () {
};
MineObject.prototype.TestVsPlayer = function (guy) {
var _local4 = guy.pos;
var _local3 = this.pos.x - _local4.x;
var _local2 = this.pos.y - _local4.y;
if (Math.sqrt((_local3 * _local3) + (_local2 * _local2)) < (this.r + guy.r)) {
this.Explode(-_local3, -_local2);
}
};
MineObject.prototype.TestVsRagParticle = function (guy) {
var _local5 = guy.pos;
var _local4 = this.pos.x - _local5.x;
var _local3 = this.pos.y - _local5.y;
var _local2 = Math.sqrt((_local4 * _local4) + (_local3 * _local3));
if (_local2 < (this.r + guy.xw)) {
player.RagDie(KILLTYPE_EXPLOSIVE);
guy.ReportCollisionVsObject(((-_local4) / _local2) * 16, ((-_local3) / _local2) * 16, (-_local4) / _local2, (-_local3) / _local2, 1);
this.ExplodeRag(-_local4, -_local3);
}
};
MineObject.prototype.Explode = function (dx, dy) {
game.KillPlayer(KILLTYPE_EXPLOSIVE, dx, dy, this.pos.x, this.pos.y, this);
particles.SpawnExplosion(this.pos);
objects.RemoveFromGrid(this);
this.mc.gotoAndStop("mine_exploded");
};
MineObject.prototype.ExplodeRag = function (dx, dy) {
particles.SpawnExplosion(this.pos);
objects.RemoveFromGrid(this);
this.mc.gotoAndStop("mine_exploded");
};
function FloorGuardObject() {
this.name = "floor guard";
this.pos = new Vector2(41, 14);
this.r = tiles.xw * 0.5;
this.dir = 1;
this.speed = tiles.xw * 0.428571428571429;
this.view = new Vector2(0, 0);
objects.Register(this);
this.mc = gfx.CreateSprite("debugFloorGuardMC", LAYER_OBJECTS);
this.mc._visible = false;
this.mc.gotoAndStop("floorguard_idle");
}
FloorGuardObject.prototype.Destruct = function () {
gfx.DestroyMC(this.mc);
delete this.mc;
};
FloorGuardObject.prototype.Init = function (params) {
if (params.length != 3) {
} else {
this.pos.x = params[0];
this.pos.y = params[1];
if (dir < 0) {
this.dir = -1;
} else {
this.dir = 1;
}
objects.AddToGrid(this);
objects.Moved(this);
objects.StartUpdate(this);
this.Update = this.Update_Idle;
this.pos.y = (this.cell.pos.y + this.cell.yw) - this.r;
var _local2 = this.cell;
while (true) {
_local2 = _local2.nR;
if ((TID_EMPTY < _local2.ID) || (_local2.eD != EID_SOLID)) {
this.maxX = (_local2.pos.x - _local2.xw) - this.r;
break;
}
}
while (true) {
_local2 = _local2.nL;
if ((TID_EMPTY < _local2.ID) || (_local2.eD != EID_SOLID)) {
this.minX = (_local2.pos.x + _local2.xw) + this.r;
break;
}
}
_local2 = this.cell;
this.mini = _local2.i;
this.maxi = _local2.i;
while (true) {
_local2 = _local2.nR;
if (TID_EMPTY < _local2.ID) {
break;
}
this.maxi++;
}
_local2 = this.cell;
while (true) {
_local2 = _local2.nL;
if (TID_EMPTY < _local2.ID) {
break;
}
this.mini--;
}
this.mc._xscale = (this.mc._yscale = 2 * this.r);
this.Draw();
this.mc._visible = true;
}
};
FloorGuardObject.prototype.UnInit = function () {
objects.RemoveFromGrid(this);
objects.EndUpdate(this);
objects.EndDraw(this);
};
FloorGuardObject.prototype.DumpInitData = function () {
var _local2 = (((("" + this.pos.x) + OBJPARAM_SEPERATION_CHAR) + this.pos.y) + OBJPARAM_SEPERATION_CHAR) + this.dir;
return(_local2);
};
FloorGuardObject.prototype.IdleAfterDeath = function () {
this.StopChasing();
objects.EndUpdate(this);
};
FloorGuardObject.prototype.Draw = function () {
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
};
FloorGuardObject.prototype.TestVsPlayer = function (guy) {
var _local4 = guy.pos;
var _local3 = this.pos.x - _local4.x;
var _local2 = this.pos.y - _local4.y;
var _local5 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
if (_local5 < (this.r + guy.r)) {
_local3 = _local3 / _local5;
_local2 = _local2 / _local5;
particles.SpawnZap(this.pos.x - (_local3 * this.r), this.pos.y - (_local2 * this.r), NormToRot(-_local3, -_local2));
game.KillPlayer(KILLTYPE_ELECTRIC, (-_local3) * 10, (-_local2) * 10, _local4.x + (guy.r * _local3), _local4.y + (guy.r * _local2), this);
}
};
FloorGuardObject.prototype.TestVsRagParticle = function (guy) {
var _local5 = guy.pos;
var _local3 = this.pos.x - _local5.x;
var _local2 = this.pos.y - _local5.y;
var _local4 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
if (_local4 < (this.r + guy.xw)) {
_local3 = _local3 / _local4;
_local2 = _local2 / _local4;
particles.SpawnZap(this.pos.x - (_local3 * this.r), this.pos.y - (_local2 * this.r), NormToRot(-_local3, -_local2));
player.RagDie(KILLTYPE_ELECTRIC);
guy.ReportCollisionVsObject((-_local3) * 12, (-_local2) * 12, -_local3, -_local2, 1);
}
};
FloorGuardObject.prototype.StartChasing = function () {
this.Update = this.Update_Chase;
objects.StartDraw(this);
this.mc.gotoAndStop("floorguard_active");
if (player.cell.i < this.cell.i) {
this.dir = -1;
} else if (this.cell.i < player.cell.i) {
this.dir = 1;
} else {
this.StopChasing();
}
};
FloorGuardObject.prototype.StopChasing = function () {
this.mc.gotoAndStop("floorguard_idle");
this.Update = this.Update_Idle;
objects.EndDraw(this);
};
FloorGuardObject.prototype.Update_Idle = function () {
if (Math.abs(this.cell.j - player.cell.j) == 0) {
var _local2 = player.cell.i;
if ((this.maxi < _local2) || (_local2 < this.mini)) {
} else {
this.StartChasing();
}
}
};
FloorGuardObject.prototype.Update_Chase = function () {
if (this.dir < 0) {
if (Math.abs(this.pos.x - this.minX) < this.speed) {
this.pos.x = this.minX;
this.StopChasing();
} else {
this.pos.x = this.pos.x + (this.dir * this.speed);
}
} else if (Math.abs(this.maxX - this.pos.x) < this.speed) {
this.pos.x = this.maxX;
this.StopChasing();
} else {
this.pos.x = this.pos.x + (this.dir * this.speed);
}
objects.Moved(this);
};
function DroneObject() {
this.name = "drone";
this.pos = new Vector2(41, 14);
this.r = tiles.xw * 0.75;
this.dirList = new Object();
this.dirList[AI_DIR_R] = new Vector2(1, 0);
this.dirList[AI_DIR_D] = new Vector2(0, 1);
this.dirList[AI_DIR_L] = new Vector2(-1, 0);
this.dirList[AI_DIR_U] = new Vector2(0, -1);
this.curDir = AI_DIR_R;
this.curDirV = this.dirList[this.curDir];
this.goal = new Vector2(54, 85);
this.speed = tiles.xw * 0.0714285714285714;
this.curRot = 0;
this.isChaser = false;
this.ischasing = false;
this.waschasing = false;
this.ai_counter = 0;
this.ai_counter2 = 0;
this.view = new Vector2(9, 4);
this.fireDelayTimer = 0;
this.targ = new Vector2(4, 5);
this.targ2 = new Vector2(5, 7);
this.targ3 = new Vector2(3, 6);
this.prefireDelay = 0;
this.postfireDelay = 0;
this.isFiring = false;
this.laserPrefireDelay = 30;
this.laserPostfireDelay = 40;
this.laserRate = 80;
this.laserTimer = 0;
this.laserLen = 7;
this.chaingunPrefireDelay = 35;
this.chaingunPostfireDelay = 60;
this.chaingunMaxNum = 8;
this.chaingunCurNum = 0;
this.chaingunRate = 6;
this.chaingunTimer = 0;
this.chaingunSpread = 0.3;
objects.Register(this);
this.mc = gfx.CreateSprite("debugDroneMC", LAYER_OBJECTS);
this.mc._visible = false;
this.eyeMC = this.mc.attachMovie("debugDroneEyeMC", "drone" + this.UID, this.UID);
this.snd = new Sound(this.mc);
}
DroneObject.prototype.Destruct = function () {
gfx.DestroyMC(this.mc);
gfx.DestroyMC(this.beamMC);
gfx.DestroyMC(this.blastMC);
gfx.DestroyMC(this.gunMC);
gfx.DestroyMC(this.eyeMC);
delete this.mc;
delete this.beamMC;
delete this.blastMC;
delete this.eyeMC;
delete this.snd;
};
DroneObject.prototype.Init = function (params) {
if (params.length != 6) {
} else {
this.pos.x = params[0];
this.pos.y = params[1];
this.curDir = params[5];
this.SetDir(this.curDir);
objects.AddToGrid(this);
objects.StartUpdate(this);
objects.Moved(this);
this.pos.x = (this.goal.x = this.cell.pos.x);
this.pos.y = (this.goal.y = this.cell.pos.y);
this.SetupDroneType(params[2], Boolean(params[3]), params[4]);
this.mc._xscale = (this.mc._yscale = 2 * this.r);
}
};
DroneObject.prototype.UnInit = function () {
objects.RemoveFromGrid(this);
objects.EndUpdate(this);
objects.EndThink(this);
objects.EndDraw(this);
};
DroneObject.prototype.DumpInitData = function () {
var _local2 = (((((((((("" + this.pos.x) + OBJPARAM_SEPERATION_CHAR) + this.pos.y) + OBJPARAM_SEPERATION_CHAR) + this.DRONEMOVE) + OBJPARAM_SEPERATION_CHAR) + Number(this.isChaser)) + OBJPARAM_SEPERATION_CHAR) + this.DRONEWEAP) + OBJPARAM_SEPERATION_CHAR) + this.curDir;
return(_local2);
};
DroneObject.prototype.IdleAfterDeath = function () {
if (this.isChaser) {
this.Chase = this.Chase_NoSearch;
this.ischasing = false;
}
this.Think = null;
if (this.isFiring) {
this.StopFiring();
}
};
DroneObject.prototype.SetupDroneType = function (movetype, isChaser, weaptype) {
this.mc.clear();
this.DRONEMOVE = movetype;
this.DRONEWEAP = weaptype;
this.isChaser = isChaser;
if (movetype == DRONEMOVE_SURFACEFOLLOW_CW) {
this.GetNewGoal = this.GetNewGoal_Simple;
this.moveList = MoveList_SurfaceCW;
} else if (movetype == DRONEMOVE_SURFACEFOLLOW_CCW) {
this.GetNewGoal = this.GetNewGoal_Simple;
this.moveList = MoveList_SurfaceCCW;
} else if (movetype == DRONEMOVE_WANDER_CW) {
this.GetNewGoal = this.GetNewGoal_Simple;
this.moveList = MoveList_ChuChuCW;
} else if (movetype == DRONEMOVE_WANDER_CCW) {
this.GetNewGoal = this.GetNewGoal_Simple;
this.moveList = MoveList_ChuChuCCW;
} else if (movetype == DRONEMOVE_WANDER_ALTERNATING) {
this.GetNewGoal = this.GetNewGoal_ChuChuAlternating;
} else if (movetype == DRONEMOVE_WANDER_RANDOM) {
this.GetNewGoal = this.GetNewGoal_ChuChuRandom;
}
if (weaptype == DRONEWEAP_ZAP) {
if (isChaser) {
this.Chase = this.Chase_AxisSearch;
this.isChaser = true;
this.ischasing = false;
this.mc.gotoAndStop("zapdrone_chaseidle");
} else {
this.Chase = this.Chase_NoSearch;
this.isChaser = false;
this.ischasing = false;
this.mc.gotoAndStop("zapdrone_move");
}
this.name = "zap drone";
this.weaptype = DRONEWEAP_ZAP;
this.speed = this.speed * 2;
this.TestVsPlayer = this.TestVsPlayer_Zap;
this.TestVsRagParticle = this.TestVsRagParticle_Zap;
} else if (weaptype == DRONEWEAP_LASER) {
this.Chase = this.Chase_NoSearch;
this.isChaser = false;
this.ischasing = false;
this.name = "laser drone";
this.weaptype = DRONEWEAP_LASER;
this.speed = this.speed * 0.5;
this.Think = this.Think_TargetPlayer;
this.Fire = this.Fire_Laser;
this.StartFiring = this.StartFiring_Laser;
this.StopFiring = this.StopFiring_Laser;
this.Update_PreFire = this.Update_PreFire_Laser;
this.Update_PostFire = this.Update_PostFire_Laser;
this.prefireDelay = this.laserPrefireDelay;
this.postfireDelay = this.laserPostfireDelay;
objects.StartThink(this);
this.mc.gotoAndStop("laserdrone_move");
this.beamdx = 0;
this.beamdy = 0;
this.beamMC = gfx.CreateEmptySprite(LAYER_OBJECTS);
this.beamMC._visible = false;
this.blastMC = gfx.CreateSprite("debugLaserBlastMC", LAYER_OBJECTS);
this.blastMC._visible = false;
} else if (weaptype == DRONEWEAP_CHAINGUN) {
this.Chase = this.Chase_NoSearch;
this.isChaser = false;
this.ischasing = false;
this.name = "chaingun drone";
this.weaptype = DRONEWEAP_CHAINGUN;
this.speed = this.speed * 0.75;
this.Think = this.Think_TargetPlayer;
this.Fire = this.Fire_Chaingun;
this.StartFiring = this.StartFiring_Chaingun;
this.StopFiring = this.StopFiring_Chaingun;
this.Update_PreFire = this.Update_PreFire_Chaingun;
this.Update_PostFire = this.Update_PostFire_Chaingun;
this.prefireDelay = this.chaingunPrefireDelay;
this.postfireDelay = this.chaingunPostfireDelay;
objects.StartThink(this);
this.chainturretRot = 0;
this.mc.gotoAndStop("chaingundrone_move");
this.eyeMC = this.mc.attachMovie("debugChainTurretMC", "chainturret" + this.UID, this.UID);
}
this.Draw();
this.mc._visible = true;
this.Update = this.Update_Move;
objects.StartDraw(this);
};
DroneObject.prototype.Draw = function () {
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
var _local2 = this.curRot - this.eyeMC._rotation;
this.eyeMC._rotation = this.eyeMC._rotation + (0.3 * _local2);
};
DroneObject.prototype.Update_Move = function () {
this.ai_counter++;
var _local4 = this.goal.x - this.pos.x;
var _local3 = this.goal.y - this.pos.y;
var _local5 = (_local4 * _local4) + (_local3 * _local3);
if (_local5 < (this.speed * this.speed)) {
this.pos.x = this.goal.x;
this.pos.y = this.goal.y;
if (this.Chase()) {
this.ischasing = true;
this.mc.gotoAndPlay("zapdrone_chaseactive");
} else {
this.SetDir(this.GetNewGoal());
this.ischasing = false;
}
} else {
var _local2 = this.speed;
if (this.ischasing) {
_local2 = _local2 * 2;
}
this.pos.x = this.pos.x + (this.curDirV.x * _local2);
this.pos.y = this.pos.y + (this.curDirV.y * _local2);
}
objects.Moved(this);
};
function RotateAIDir(curDir, rot) {
if ((rot < 0) || (AI_ROT_270 < rot)) {
return(curDir);
}
return((curDir + rot) % 4);
}
DRONEMOVE_SURFACEFOLLOW_CW = 0;
DRONEMOVE_SURFACEFOLLOW_CCW = 1;
DRONEMOVE_WANDER_CW = 2;
DRONEMOVE_WANDER_CCW = 3;
DRONEMOVE_WANDER_ALTERNATING = 4;
DRONEMOVE_WANDER_RANDOM = 5;
AI_DIR_R = 0;
AI_DIR_D = 1;
AI_DIR_L = 2;
AI_DIR_U = 3;
AI_ROT_0 = 0;
AI_ROT_90 = 1;
AI_ROT_180 = 2;
AI_ROT_270 = 3;
MoveList_ChuChuCW = new Array();
MoveList_ChuChuCW.push(AI_ROT_0);
MoveList_ChuChuCW.push(AI_ROT_90);
MoveList_ChuChuCW.push(AI_ROT_270);
MoveList_ChuChuCW.push(AI_ROT_180);
MoveList_ChuChuCCW = new Array();
MoveList_ChuChuCCW.push(AI_ROT_0);
MoveList_ChuChuCCW.push(AI_ROT_270);
MoveList_ChuChuCCW.push(AI_ROT_90);
MoveList_ChuChuCCW.push(AI_ROT_180);
MoveList_SurfaceCW = new Array();
MoveList_SurfaceCW.push(AI_ROT_90);
MoveList_SurfaceCW.push(AI_ROT_0);
MoveList_SurfaceCW.push(AI_ROT_270);
MoveList_SurfaceCW.push(AI_ROT_180);
MoveList_SurfaceCCW = new Array();
MoveList_SurfaceCCW.push(AI_ROT_270);
MoveList_SurfaceCCW.push(AI_ROT_0);
MoveList_SurfaceCCW.push(AI_ROT_90);
MoveList_SurfaceCCW.push(AI_ROT_180);
DroneObject.prototype.SetDir = function (dir) {
if (this.dir != this.curDir) {
this.curDir = dir;
this.curDirV = this.dirList[this.curDir];
if (dir < 2) {
if (dir == 0) {
this.curRot = 0;
} else {
this.curRot = 90;
}
} else if (dir == 2) {
this.curRot = 180;
} else {
this.curRot = -90;
}
}
};
DroneObject.prototype.TestEdge = function (dir) {
var _local2;
var _local3;
if (dir == AI_DIR_U) {
_local2 = this.cell.eU;
_local3 = this.cell.nU;
} else if (dir == AI_DIR_L) {
_local2 = this.cell.eL;
_local3 = this.cell.nL;
} else if (dir == AI_DIR_D) {
_local2 = this.cell.eD;
_local3 = this.cell.nD;
} else if (dir == AI_DIR_R) {
_local2 = this.cell.eR;
_local3 = this.cell.nR;
} else {
return(false);
}
if (_local2 == EID_OFF) {
this.goal.x = _local3.pos.x;
this.goal.y = _local3.pos.y;
return(true);
}
return(false);
};
DroneObject.prototype.Chase_NoSearch = function () {
return(false);
};
DroneObject.prototype.Chase_SurfaceGrab = function () {
this.Chase = this.Chase_AxisSearch;
this.SetDir(this.surfaceFutureDir);
return(false);
};
DroneObject.prototype.Chase_AxisSearch = function () {
var _local5 = player.cell.i - this.cell.i;
var _local3 = player.cell.j - this.cell.j;
var _local2;
var _local4;
if (Math.abs(_local5) < 1) {
_local4 = Math.abs(_local3);
if (player.pos.y < this.pos.y) {
if (this.curDir == AI_DIR_D) {
return(false);
}
_local2 = AI_DIR_U;
} else {
if (this.curDir == AI_DIR_U) {
return(false);
}
_local2 = AI_DIR_D;
}
} else if (Math.abs(_local3) < 1) {
_local4 = Math.abs(_local5);
if (player.pos.x < this.pos.x) {
if (this.curDir == AI_DIR_R) {
return(false);
}
_local2 = AI_DIR_L;
} else {
if (this.curDir == AI_DIR_L) {
return(false);
}
_local2 = AI_DIR_R;
}
} else {
return(false);
}
if (this.FindTarget(_local2, _local4)) {
this.SetDir(_local2);
if (this.DRONEMOVE < DRONEMOVE_WANDER_CW) {
this.Chase = this.Chase_SurfaceGrab;
if (this.DRONEMOVE == DRONEMOVE_SURFACEFOLLOW_CW) {
rot = AI_ROT_270;
} else if (this.DRONEMOVE == DRONEMOVE_SURFACEFOLLOW_CCW) {
rot = AI_ROT_90;
} else {
return(false);
}
this.surfaceFutureDir = RotateAIDir(_local2, rot);
}
return(true);
}
return(false);
};
DroneObject.prototype.FindTarget = function (dir, t) {
var _local3 = 0;
var _local2 = this.cell;
if (dir < 2) {
if (dir == AI_DIR_R) {
while (_local3 < t) {
_local3++;
if (_local2.eR == EID_OFF) {
_local2 = _local2.nR;
continue;
}
return(false);
}
while (_local2.eR == EID_OFF) {
_local3++;
_local2 = _local2.nR;
}
this.goal.x = this.cell.pos.x + (_local3 * (2 * this.cell.xw));
return(true);
}
if (dir == AI_DIR_D) {
while (_local3 < t) {
_local3++;
if (_local2.eD == EID_OFF) {
_local2 = _local2.nD;
continue;
}
return(false);
}
while (_local2.eD == EID_OFF) {
_local3++;
_local2 = _local2.nD;
}
this.goal.y = this.cell.pos.y + (_local3 * (2 * this.cell.yw));
return(true);
}
return(false);
}
if (dir == AI_DIR_L) {
while (_local3 < t) {
_local3++;
if (_local2.eL == EID_OFF) {
_local2 = _local2.nL;
continue;
}
return(false);
}
while (_local2.eL == EID_OFF) {
_local3++;
_local2 = _local2.nL;
}
this.goal.x = this.cell.pos.x - (_local3 * (2 * this.cell.xw));
return(true);
}
if (dir == AI_DIR_U) {
while (_local3 < t) {
_local3++;
if (_local2.eU == EID_OFF) {
_local2 = _local2.nU;
continue;
}
return(false);
}
while (_local2.eU == EID_OFF) {
_local3++;
_local2 = _local2.nU;
}
this.goal.y = this.cell.pos.y - (_local3 * (2 * this.cell.yw));
return(true);
}
return(false);
};
DroneObject.prototype.GetNewGoal_Simple = function () {
var _local3 = this.moveList;
var _local4 = this.curDir;
var _local2 = RotateAIDir(_local4, _local3[0]);
if (this.TestEdge(_local2)) {
return(_local2);
}
_local2 = RotateAIDir(_local4, _local3[1]);
if (this.TestEdge(_local2)) {
return(_local2);
}
_local2 = RotateAIDir(_local4, _local3[2]);
if (this.TestEdge(_local2)) {
return(_local2);
}
_local2 = RotateAIDir(_local4, _local3[3]);
if (this.TestEdge(_local2)) {
return(_local2);
}
};
DroneObject.prototype.GetNewGoal_ChuChuAlternating = function () {
if (this.ai_counter2 == 0) {
this.moveList = MoveList_ChuChuCW;
var _local2 = this.GetNewGoal_Simple();
if (_local2 == this.curDir) {
} else {
this.ai_counter2 = 1;
}
return(_local2);
}
this.moveList = MoveList_ChuChuCCW;
var _local2 = this.GetNewGoal_Simple();
if (_local2 == this.curDir) {
} else {
this.ai_counter2 = 0;
}
return(_local2);
};
DroneObject.prototype.GetNewGoal_ChuChuRandom = function () {
if ((this.ai_counter % 2) == 0) {
this.moveList = MoveList_ChuChuCW;
var _local2 = this.GetNewGoal_Simple();
if (_local2 == this.curDir) {
} else {
this.ai_counter = 1;
}
return(_local2);
}
this.moveList = MoveList_ChuChuCCW;
var _local2 = this.GetNewGoal_Simple();
if (_local2 == this.curDir) {
} else {
this.ai_counter = 0;
}
return(_local2);
};
DRONEWEAP_ZAP = 0;
DRONEWEAP_LASER = 1;
DRONEWEAP_CHAINGUN = 2;
DroneObject.prototype.TestVsPlayer = function (guy) {
};
DroneObject.prototype.TestVsPlayer_Zap = function (guy) {
var _local4 = guy.pos;
var _local3 = this.pos.x - _local4.x;
var _local2 = this.pos.y - _local4.y;
var _local5 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
if (_local5 < (this.r + guy.r)) {
_local3 = _local3 / _local5;
_local2 = _local2 / _local5;
particles.SpawnZap(this.pos.x - (_local3 * this.r), this.pos.y - (_local2 * this.r), NormToRot(-_local3, -_local2));
game.KillPlayer(KILLTYPE_ELECTRIC, (-_local3) * 10, (-_local2) * 10, _local4.x + (guy.r * _local3), _local4.y + (guy.r * _local2), this);
}
};
DroneObject.prototype.TestVsRagParticle_Zap = function (guy) {
var _local5 = guy.pos;
var _local3 = this.pos.x - _local5.x;
var _local2 = this.pos.y - _local5.y;
var _local4 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
if (_local4 < (this.r + guy.xw)) {
_local3 = _local3 / _local4;
_local2 = _local2 / _local4;
particles.SpawnZap(this.pos.x - (_local3 * this.r), this.pos.y - (_local2 * this.r), NormToRot(-_local3, -_local2));
player.RagDie(KILLTYPE_ELECTRIC);
guy.ReportCollisionVsObject((-_local3) * 10, (-_local2) * 10, -_local3, -_local2, 1);
}
};
DroneObject.prototype.Think = function () {
};
DroneObject.prototype.Think_TargetPlayer = function () {
if (QueryRayObj(this.view, this.pos, player.pos, player)) {
this.StartFiring();
}
};
DroneObject.prototype.StartMoving = function () {
objects.StartThink(this);
this.Update = this.Update_Move;
objects.StartDraw(this);
};
DroneObject.prototype.StartFiring_Laser = function () {
this.mc.gotoAndPlay("laserdrone_prefire");
objects.EndThink(this);
objects.EndDraw(this);
this.fireDelayTimer = 0;
this.Update = this.Update_PreFire_Laser;
if (CollideRayvsTiles(this.targ, this.pos, this.view)) {
}
this.targ2.x = this.targ.x - this.pos.x;
this.targ2.y = this.targ.y - this.pos.y;
this.laserLen = Math.sqrt((this.targ2.x * this.targ2.x) + (this.targ2.y * this.targ2.y));
if (this.laserLen == 0) {
this.StopFiring();
return(undefined);
}
this.beamMC._visible = true;
this.beamMC.clear();
this.beamMC.lineStyle(0, 13334137, 100);
this.beamMC.moveTo(this.pos.x, this.pos.y);
this.beamMC.lineTo(this.targ.x, this.targ.y);
this.beamdx = this.targ2.x / this.laserLen;
this.beamdy = this.targ2.y / this.laserLen;
};
DroneObject.prototype.StopFiring_Laser = function () {
this.snd.stop();
this.mc.gotoAndPlay("laserdrone_postfire");
this.beamMC._visible = false;
this.blastMC._visible = false;
this.blastMC.gotoAndStop(1);
this.isFiring = false;
this.fireDelayTimer = 0;
this.Update = this.Update_PostFire_Laser;
};
DroneObject.prototype.Update_PreFire_Laser = function () {
particles.SpawnLaserCharge(this.pos);
this.fireDelayTimer++;
if (this.prefireDelay <= this.fireDelayTimer) {
this.isFiring = true;
this.Fire_Laser();
}
};
DroneObject.prototype.Update_PostFire_Laser = function () {
this.fireDelayTimer++;
if (this.postfireDelay <= this.fireDelayTimer) {
this.StartMoving();
}
};
DroneObject.prototype.Fire_Laser = function () {
this.mc.gotoAndStop("laserdrone_firing");
this.beamMC.clear();
this.beamMC.lineStyle(3, 8921634, 100);
this.beamMC.moveTo(this.pos.x, this.pos.y);
this.beamMC.lineTo(this.targ.x, this.targ.y);
this.blastMC._x = this.targ.x;
this.blastMC._y = this.targ.y;
this.blastMC._visible = true;
this.blastMC._xscale = (this.blastMC._yscale = 0);
this.blastMC.gotoAndPlay(1);
this.laserLen = this.laserLen * this.laserLen;
this.laserTimer = 0;
this.Update = this.Update_FiringLaser;
};
DroneObject.prototype.Update_FiringLaser = function () {
particles.SpawnLaserCharge(this.pos);
var _local10 = this.laserTimer / this.laserRate;
this.blastMC._xscale = (this.blastMC._yscale = 30 + (200 * _local10));
var _local9 = player.pos.x - this.pos.x;
var _local8 = player.pos.y - this.pos.y;
var _local2 = (_local9 * this.targ2.x) + (_local8 * this.targ2.y);
_local2 = _local2 / this.laserLen;
var _local4;
var _local3;
if (_local2 < 0) {
_local4 = this.pos.x;
_local3 = this.pos.y;
} else if (_local2 < 1) {
_local4 = this.pos.x + (_local2 * this.targ2.x);
_local3 = this.pos.y + (_local2 * this.targ2.y);
} else {
_local4 = this.targ.x;
_local3 = this.targ.y;
}
var _local6 = _local4 - player.pos.x;
var _local5 = _local3 - player.pos.y;
if (Math.sqrt((_local6 * _local6) + (_local5 * _local5)) < player.r) {
this.StopFiring_Laser();
var _local7 = Math.sqrt((this.targ2.x * this.targ2.x) + (this.targ2.y * this.targ2.y));
game.KillPlayer(KILLTYPE_LASER, 6 * (this.targ2.x / _local7), 6 * (this.targ2.y / _local7), _local4, _local3, this);
return(undefined);
}
this.laserTimer++;
if (this.laserRate <= this.laserTimer) {
this.StopFiring();
return(undefined);
}
};
DroneObject.prototype.StartFiring_Chaingun = function () {
this.mc.gotoAndPlay("chaingundrone_prefire");
objects.EndThink(this);
objects.EndDraw(this);
this.fireDelayTimer = 0;
this.Update = this.Update_PreFire;
};
DroneObject.prototype.StopFiring_Chaingun = function () {
this.snd.stop();
this.mc.gotoAndPlay("chaingundrone_postfire");
this.isFiring = false;
this.fireDelayTimer = 0;
this.Update = this.Update_PostFire_Chaingun;
};
DroneObject.prototype.Update_PreFire_Chaingun = function () {
var _local4 = player.pos.x - this.pos.x;
var _local3 = player.pos.y - this.pos.y;
var _local2 = NormToRot(_local4, _local3);
if (180 < _local2) {
_local2 = _local2 - 360;
}
var _local5 = _local2 - this.eyeMC._rotation;
this.eyeMC._rotation = this.eyeMC._rotation + (0.1 * _local5);
this.fireDelayTimer++;
if (this.prefireDelay <= this.fireDelayTimer) {
this.isFiring = true;
this.Fire_Chaingun();
this.mc.gotoAndPlay("chaingundrone_fire");
}
};
DroneObject.prototype.Update_PostFire_Chaingun = function () {
this.fireDelayTimer++;
if (this.postfireDelay <= this.fireDelayTimer) {
this.StartMoving();
}
};
DroneObject.prototype.Fire_Chaingun = function () {
this.chaingunTimer = 0;
this.chaingunMaxNum = 4 + (game.GetTime() % 5);
this.chaingunSpread = 0.1 + (0.1 * (1 + (game.GetTime() % 3)));
this.chaingunCurNum = 0;
this.Update = this.Update_FiringChaingun;
var _local3 = player.pos.x - this.pos.x;
var _local2 = player.pos.y - this.pos.y;
var _local4 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
if (_local4 == 0) {
this.StopFiring();
return(undefined);
}
_local3 = _local3 / _local4;
_local2 = _local2 / _local4;
this.targ.x = _local3;
this.targ.y = _local2;
var _local6 = player.pos.x - player.oldpos.x;
var _local5 = player.pos.y - player.oldpos.y;
var _local7 = (_local6 * (-_local2)) + (_local5 * _local3);
if (_local7 < 0) {
this.targ2.x = _local2;
this.targ2.y = -_local3;
} else {
this.targ2.x = -_local2;
this.targ2.y = _local3;
}
};
DroneObject.prototype.Update_FiringChaingun = function () {
this.chaingunTimer++;
if (this.chaingunRate <= this.chaingunTimer) {
this.chaingunTimer = 0;
if (this.chaingunMaxNum < this.chaingunCurNum) {
this.StopFiring_Chaingun();
return(undefined);
}
var _local5 = (this.chaingunCurNum / this.chaingunMaxNum) - 0.5;
_local5 = _local5 * this.chaingunSpread;
var _local7 = this.targ.x + (_local5 * this.targ2.x);
var _local6 = this.targ.y + (_local5 * this.targ2.y);
this.targ3.x = this.pos.x + _local7;
this.targ3.y = this.pos.y + _local6;
if (QueryRayObj(this.view, this.pos, this.targ3, player)) {
this.StopFiring_Chaingun();
game.KillPlayer(KILLTYPE_SOFTBULLET, _local7 * 5, _local6 * 5, this.view.x, this.view.y, this);
}
var _local3 = this.view.x - this.pos.x;
var _local2 = this.view.y - this.pos.y;
var _local4 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
_local3 = _local3 / _local4;
_local2 = _local2 / _local4;
var _local8 = NormToRot(_local3, _local2);
particles.SpawnChainBullet(this.pos, this.view, _local4, _local8);
this.eyeMC._rotation = _local8;
this.chaingunCurNum++;
}
};
function PlayerObject() {
this.inputList = new Object();
this.inputList[PINPUT_L] = false;
this.inputList[PINPUT_R] = false;
this.inputList[PINPUT_J] = false;
this.inputList[PINPUT_JTRIG] = false;
this.pos = new Vector2(45, 70);
this.oldpos = this.pos.clone();
this.r = tiles.xw * 0.833333333333333;
this.xw = this.r;
this.yw = this.r;
this.prevframe = 1;
this.SetupParams();
objects.Register(this);
this.Tick = this.TickNormal;
this.Stand();
this.Draw = this.Draw_Normal;
player = this;
this.mc = gfx.CreateSprite("testNinjaMCm", LAYER_PLAYER);
this.snd = gfx.CreateSprite("playerSoundMC", LAYER_PLAYER);
this.sndloop = gfx.CreateSprite("playerSoundLoopMC", LAYER_PLAYER);
this.sndControl = new Sound(this.sndloop);
var _local3 = _root._url;
if (_local3.substr(0, 4) != "file") {
getURL ("http://www.harveycartel.org/metanet/", _top);
}
}
PlayerObject.prototype.Destruct = function () {
this.raggy.Destruct();
delete this.raggy;
gfx.DestroyMC(this.mc);
delete this.mc;
gfx.DestroyMC(this.snd);
delete this.snd;
gfx.DestroyMC(this.sndloop);
delete this.mc;
};
PlayerObject.prototype.SetupParams = function () {
this.isDead = false;
this.timeOfDeath = 0;
this.maxspeedAir = this.r * 0.5;
this.maxspeedGround = this.r * 0.5;
this.groundAccel = 0.15;
this.airAccel = 0.1;
this.normGrav = 0.15;
this.jumpGrav = 0.025;
this.normDrag = 0.99;
this.winDrag = 0.8;
this.wallFriction = 0.13;
this.skidFriction = 0.92;
this.standFriction = 0.8;
this.g = this.normGrav;
this.d = this.normDrag;
this.facingDir = 1;
this.jumpAmt = 1;
this.jump_y_bias = 2;
this.max_jump_time = 30;
this.terminal_vel = this.r * 0.9;
this.jumptimer = 0;
this.WAS_IN_AIR = true;
this.oldv = new Vector2(0, 0);
this.IN_AIR = true;
this.NEAR_WALL = false;
this.wallN = new Vector2(0, 0);
this.floorN = new Vector2(0, 0);
this.floorN0 = new Vector2(0, 0);
this.floorN1 = new Vector2(0, 0);
this.fCount = 0;
};
PlayerObject.prototype.Init = function (params) {
if (params.length != 2) {
} else {
this.pos.x = (this.oldpos.x = params[0]);
this.pos.y = (this.oldpos.y = params[1]);
this.xw = this.r;
this.yw = this.r;
this.SetupParams();
objects.AddToGrid(this);
objects.Moved(this);
objects.StartDraw(this);
this.Tick = this.TickNormal;
this.Stand();
var _local2 = userdata.GetNinjaColor();
if (_local2 != 0) {
var _local4 = new Color(this.mc);
_local4.setRGB(_local2);
}
this.raggy = new Ragdoll(this.pos, this.r, this.r * 2, _local2);
this.mc._xscale = (this.mc._yscale = this.r * 2);
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
}
};
PlayerObject.prototype.UnInit = function () {
objects.RemoveFromGrid(this);
objects.EndDraw(this);
};
PlayerObject.prototype.DumpInitData = function () {
var _local2 = (("" + this.pos.x) + OBJPARAM_SEPERATION_CHAR) + this.pos.y;
return(_local2);
};
PlayerObject.prototype.FaceDirection = function (dir) {
if (this.facingDir == dir) {
} else {
this.facingDir = dir;
if (0 < dir) {
this.mc._xscale = Math.abs(this.mc._xscale);
} else {
this.mc._xscale = -1 * Math.abs(this.mc._xscale);
}
}
};
PlayerObject.prototype.TickNormal = function () {
p = this.pos;
o = this.oldpos;
var _local6 = o.x;
var _local5 = o.y;
var _local4 = (o.x = p.x);
var _local3 = (o.y = p.y);
var _local2 = this.d;
p.x = p.x + (_local2 * (_local4 - _local6));
p.y = p.y + ((_local2 * (_local3 - _local5)) + this.g);
objects.Moved(this);
this.PrepareToCollide();
this.CollideVsObjects();
CollideCirclevsTileMap(this);
this.HandleCollisions();
objects.Moved(this);
this.Think();
};
PlayerObject.prototype.TickRagdoll = function () {
this.raggy.Tick();
};
PlayerObject.prototype.PrepareToCollide = function () {
this.oldv.x = this.pos.x - this.oldpos.x;
this.oldv.y = this.pos.y - this.oldpos.y;
this.WAS_IN_AIR = this.IN_AIR;
this.NEAR_WALL = false;
this.IN_AIR = true;
this.fCount = 0;
};
PlayerObject.prototype.CollideVsObjects = function () {
var _local2;
var _local3 = this.cell;
_local2 = _local3.next;
while (_local2 != null) {
_local2.TestVsPlayer(this);
_local2 = _local2.next;
}
_local2 = _local3.nD.next;
while (_local2 != null) {
_local2.TestVsPlayer(this);
_local2 = _local2.next;
}
_local2 = _local3.nD.nR.next;
while (_local2 != null) {
_local2.TestVsPlayer(this);
_local2 = _local2.next;
}
_local2 = _local3.nD.nL.next;
while (_local2 != null) {
_local2.TestVsPlayer(this);
_local2 = _local2.next;
}
_local2 = _local3.nL.next;
while (_local2 != null) {
_local2.TestVsPlayer(this);
_local2 = _local2.next;
}
_local2 = _local3.nL.nU.next;
while (_local2 != null) {
_local2.TestVsPlayer(this);
_local2 = _local2.next;
}
_local2 = _local3.nR.next;
while (_local2 != null) {
_local2.TestVsPlayer(this);
_local2 = _local2.next;
}
_local2 = _local3.nR.nU.next;
while (_local2 != null) {
_local2.TestVsPlayer(this);
_local2 = _local2.next;
}
_local2 = _local3.nU.next;
while (_local2 != null) {
_local2.TestVsPlayer(this);
_local2 = _local2.next;
}
};
PlayerObject.prototype.HandleCollisions = function () {
if (0 < this.fCount) {
this.IN_AIR = false;
if (1 < this.fCount) {
var _local7 = (this.floorN0.x * this.floorN1.x) + (this.floorN0.y * this.floorN1.y);
if (0.9 < _local7) {
if ((this.floorN0.x == this.floorN.x) && (this.floorN0.y == this.floorN.y)) {
} else if ((this.floorN1.x == this.floorN.x) && (this.floorN1.y == this.floorN.y)) {
} else {
this.floorN.x = this.floorN1.x;
this.floorN.y = this.floorN1.y;
}
} else {
var _local2 = this.floorN;
_local2.x = 0.5 * (this.floorN0.x + this.floorN1.x);
_local2.y = 0.5 * (this.floorN0.y + this.floorN1.y);
var _local4 = Math.sqrt((_local2.x * _local2.x) + (_local2.y * _local2.y));
if (_local4 == 0) {
this.floorN.x = this.floorN0.x;
this.floorN.y = this.floorN0.y;
} else {
this.floorN.x = _local2.x / _local4;
this.floorN.y = _local2.y / _local4;
}
}
} else {
this.floorN.x = this.floorN0.x;
this.floorN.y = this.floorN0.y;
}
if (this.WAS_IN_AIR) {
var _local5 = (this.oldv.x * this.floorN.x) + (this.oldv.y * this.floorN.y);
_local5 = _local5 - (2 * Math.abs(this.floorN.y));
if ((0 < this.oldv.y) && (_local5 < (-this.terminal_vel))) {
game.KillPlayer(KILLTYPE_FALL, 0, 0, this.pos.x, this.pos.y, this);
}
}
}
if (this.IN_AIR && (!this.NEAR_WALL)) {
var _local3 = this.pos;
var _local6 = this.r + 0.1;
if (QueryPointvsTileMap(_local3.x + _local6, _local3.y)) {
this.NEAR_WALL = true;
this.wallN.x = -1;
this.wallN.y = 0;
} else if (QueryPointvsTileMap(_local3.x - _local6, _local3.y)) {
this.NEAR_WALL = true;
this.wallN.x = 1;
this.wallN.y = 0;
}
}
};
PlayerObject.prototype.ReportCollisionVsWorld = function (px, py, nx, ny, t) {
this.pos.x = this.pos.x + px;
this.pos.y = this.pos.y + py;
if ((0.8 * (this.r * this.r)) < ((px * px) + (py * py))) {
game.KillPlayer(KILLTYPE_EXPLOSIVE, 0, 0, this.pos.x, this.pos.y, this);
return(undefined);
}
if (ny == 0) {
this.NEAR_WALL = true;
this.wallN.x = nx;
this.wallN.y = ny;
} else if (ny < 0) {
if (this.fCount == 0) {
this.floorN0.x = nx;
this.floorN0.y = ny;
this.fCount++;
} else if ((this.fCount = 1)) {
this.floorN1.x = nx;
this.floorN1.y = ny;
this.fCount++;
}
}
};
PlayerObject.prototype.ReportCollisionVsObject = function (px, py, nx, ny, obj) {
this.pos.x = this.pos.x + px;
this.pos.y = this.pos.y + py;
if (ny == 0) {
this.NEAR_WALL = true;
this.wallN.x = nx;
this.wallN.y = ny;
} else if (ny < 0) {
if (this.fCount == 0) {
this.floorN0.x = nx;
this.floorN0.y = ny;
this.fCount++;
} else if ((this.fCount = 1)) {
this.floorN1.x = nx;
this.floorN1.y = ny;
this.fCount++;
}
}
};
PlayerObject.prototype.IdleAfterDeath = function () {
this.CollideVsObjects = null;
};
function RagParticle(x, y, w, d, snd) {
this.pos = new Vector2(x, y);
this.oldpos = new Vector2(x, y);
this.xw = w;
this.yw = w;
this.drag = d;
this.nx = 0;
this.ny = 0;
this.hit = false;
this.sndhit = false;
this.v = 0;
this.snd = snd;
}
function RagStick(p0, p1, w0, minratio, maxlen, linkage, scale, flip, col) {
this.p0 = p0;
this.p1 = p1;
this.w0 = w0;
this.w1 = 1 - this.w0;
this.minlen = (maxlen * (scale / 100)) * minratio;
this.maxlen = maxlen * (scale / 100);
this.curlen = this.maxlen;
var _local4 = p0.x - p1.x;
var _local3 = p0.y - p1.y;
this.len = Math.sqrt((_local4 * _local4) + (_local3 * _local3));
this.mc = gfx.CreateSprite(linkage, LAYER_PLAYER);
this.mc._xscale = scale;
this.mc._yscale = scale;
this.flip = flip;
this.mc._visible = false;
if (col != 0) {
var _local5 = new Color(this.mc);
_local5.setRGB(col);
}
}
function Ragdoll(pos, rad, scale, col) {
this.snd = gfx.CreateSprite("ragdollSoundMC", LAYER_PLAYER);
this.pList = new Object();
this.pList.b0 = new RagParticle(pos.x, pos.y, 2.5, 0.99, this.snd);
this.pList.b1 = new RagParticle(pos.x, pos.y - rad, 2.5, 0.995, this.snd);
this.pList.h0 = new RagParticle(pos.x + rad, pos.y - rad, 2, 0.995, this.snd);
this.pList.h1 = new RagParticle(pos.x - rad, pos.y - rad, 2, 0.99, this.snd);
this.pList.f0 = new RagParticle(pos.x + rad, pos.y + rad, 3, 0.99, this.snd);
this.pList.f1 = new RagParticle(pos.x - rad, pos.y + rad, 3, 0.995, this.snd);
this.sList = new Object();
this.sList.armL = new RagStick(this.pList.b1.pos, this.pList.h1.pos, 0.26, 0.6, 40, "arm_m", scale, -1, col);
this.sList.legL = new RagStick(this.pList.b0.pos, this.pList.f1.pos, 0.37, 0.6, 60, "leg_m", scale, 1, col);
this.sList.body = new RagStick(this.pList.b0.pos, this.pList.b1.pos, 0.4, 0.8, 30, "body_m", scale, 1, col);
this.sList.legR = new RagStick(this.pList.b0.pos, this.pList.f0.pos, 0.32, 0.6, 60, "leg_m", scale, 1, col);
this.sList.armR = new RagStick(this.pList.b1.pos, this.pList.h0.pos, 0.2, 0.6, 40, "arm_m", scale, -1, col);
this.pList.b0.otherP = this.pList.b1;
this.pList.b1.otherP = this.pList.b0;
this.pList.h0.otherP = this.pList.h1;
this.pList.h1.otherP = this.pList.h0;
this.pList.f0.otherP = this.pList.f1;
this.pList.f1.otherP = this.pList.f0;
this.exploded = false;
}
function CollideRagParticleVsObjects(p) {
var _local3 = tiles.GetTile_V(p.pos);
var _local1 = _local3.next;
while (_local1 != null) {
_local1.TestVsRagParticle(p);
_local1 = _local1.next;
}
_local1 = _local3.nD.next;
while (_local1 != null) {
_local1.TestVsRagParticle(p);
_local1 = _local1.next;
}
_local1 = _local3.nD.nR.next;
while (_local1 != null) {
_local1.TestVsRagParticle(p);
_local1 = _local1.next;
}
_local1 = _local3.nD.nL.next;
while (_local1 != null) {
_local1.TestVsRagParticle(p);
_local1 = _local1.next;
}
_local1 = _local3.nL.next;
while (_local1 != null) {
_local1.TestVsRagParticle(p);
_local1 = _local1.next;
}
_local1 = _local3.nL.nU.next;
while (_local1 != null) {
_local1.TestVsRagParticle(p);
_local1 = _local1.next;
}
_local1 = _local3.nR.next;
while (_local1 != null) {
_local1.TestVsRagParticle(p);
_local1 = _local1.next;
}
_local1 = _local3.nR.nU.next;
while (_local1 != null) {
_local1.TestVsRagParticle(p);
_local1 = _local1.next;
}
_local1 = _local3.nU.next;
while (_local1 != null) {
_local1.TestVsRagParticle(p);
_local1 = _local1.next;
}
}
RagParticle.prototype.ReportCollisionVsWorld = function (x, y, nx, ny, t) {
var _local2 = this.pos;
var _local7 = this.oldpos;
var _local12 = _local2.x - _local7.x;
var _local10 = _local2.y - _local7.y;
var _local5 = (_local12 * nx) + (_local10 * ny);
var _local4 = _local5 * nx;
var _local3 = _local5 * ny;
var _local9 = _local12 - _local4;
var _local8 = _local10 - _local3;
if (_local5 < 0) {
if (_local5 < -3) {
particles.SpawnRagBloodSpurt(_local2.x, _local2.y, -_local4, -_local3);
var _local13 = Math.random();
var _local6 = 0;
if (_local13 < 0.33) {
_local6 = 1;
} else if (_local13 < 0.66) {
_local6 = 2;
}
if (_local6 == 0) {
this.snd.gotoAndPlay("hard1");
} else if (_local6 == 1) {
this.snd.gotoAndPlay("hard2");
} else if (_local6 == 2) {
this.snd.gotoAndPlay("hard3");
}
} else {
if (_local5 < -2) {
if (Math.random() < 0.5) {
this.snd.gotoAndPlay("med1");
} else {
this.snd.gotoAndPlay("med2");
}
} else if (_local5 < -1.2) {
if (Math.random() < 0.5) {
this.snd.gotoAndPlay("soft1");
} else {
this.snd.gotoAndPlay("soft2");
}
}
var _local11 = (_local9 * _local9) + (_local8 * _local8);
if (0.3 < _local11) {
particles.SpawnRagDust(this.pos, this.xw, _local9, _local8, _local11);
}
}
_local4 = _local4 * 1.4;
_local3 = _local3 * 1.4;
} else {
_local3 = 0;
_local4 = _local3;
}
_local2.x = _local2.x + x;
_local2.y = _local2.y + y;
_local7.x = _local7.x + ((x + _local4) + (_local9 * 0.15));
_local7.y = _local7.y + ((y + _local3) + (_local8 * 0.15));
this.nx = nx;
this.ny = ny;
this.hit = true;
};
RagParticle.prototype.ReportCollisionVsObject = function (px, py, nx, ny, bias) {
var _local3 = px;
var _local2 = py;
if (this.hit) {
var _local9 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
var _local5 = this.nx;
var _local4 = this.ny;
var _local8 = (_local5 * px) + (_local4 * _local2);
if (_local8 < 0) {
var _local19 = ((-_local4) * _local3) + (_local5 * _local2);
_local9 = _local9 * 0.1;
if (_local19 < 0) {
_local3 = _local9 * (_local4 + _local5);
_local2 = _local9 * ((-_local5) + _local4);
} else {
_local3 = _local9 * ((-_local4) + _local5);
_local2 = _local9 * (_local5 + _local4);
}
}
}
var _local11 = this.pos;
var _local13 = this.oldpos;
var _local17 = _local11.x - _local13.x;
var _local15 = _local11.y - _local13.y;
var _local8 = (_local17 * nx) + (_local15 * ny);
var _local7 = _local8 * nx;
var _local6 = _local8 * ny;
px = _local17 - _local7;
py = _local15 - _local6;
if (_local8 < 0) {
if (_local8 < -3) {
particles.SpawnRagBloodSpurt(_local11.x, _local11.y, -_local7, -_local6);
var _local18 = Math.random();
var _local10 = 0;
if (_local18 < 0.33) {
_local10 = 1;
} else if (_local18 < 0.66) {
_local10 = 2;
}
if (_local10 == 0) {
this.snd.gotoAndPlay("hard1");
} else if (_local10 == 1) {
this.snd.gotoAndPlay("hard2");
} else if (_local10 == 2) {
this.snd.gotoAndPlay("hard3");
}
} else {
if (_local8 < -2) {
var _local18 = Math.rnd < 0.5;
if (_local18 == false) {
this.snd.gotoAndPlay("med1");
} else {
this.snd.gotoAndPlay("med2");
}
} else if (_local8 < -1) {
var _local18 = Math.rnd < 0.5;
if (_local18 == false) {
this.snd.gotoAndPlay("soft1");
} else {
this.snd.gotoAndPlay("soft2");
}
}
var _local16 = (px * px) + (py * py);
if (0.3 < _local16) {
particles.SpawnRagDust(this.pos, this.xw, px, py, _local16);
}
}
_local7 = _local7 * 1.4;
_local6 = _local6 * 1.4;
} else {
_local6 = 0;
_local7 = _local6;
}
_local13.x = _local13.x + ((_local3 + _local7) + (px * 0.15));
_local13.y = _local13.y + ((_local2 + _local6) + (py * 0.15));
player.raggy.PropagateForce(_local3, _local2, this, bias);
};
Ragdoll.prototype.Destruct = function () {
var _local2;
for (var _local3 in this.sList) {
_local2 = this.sList[_local3];
DestroyMC(_local2.mc);
delete _local2.mc;
}
};
Ragdoll.prototype.Hide = function () {
var _local2 = this.sList;
for (var _local3 in _local2) {
_local2.mc._visible = false;
}
};
Ragdoll.prototype.Tick = function () {
var _local8 = this.pList;
for (var _local29 in _local8) {
var _local2 = _local8[_local29].pos;
var _local18 = _local8[_local29].oldpos;
var _local27 = _local18.x;
var _local26 = _local18.y;
var _local25 = (_local18.x = _local2.x);
var _local24 = (_local18.y = _local2.y);
var _local10 = _local25 - _local27;
var _local9 = _local24 - _local26;
var _local21 = _local8[_local29].drag;
_local2.x = _local2.x + (_local21 * _local10);
_local2.y = _local2.y + ((_local21 * _local9) + 0.15);
_local8[_local29].v = (_local10 * _local10) + (_local9 * _local9);
}
var _local28 = this.sList;
for (var _local29 in _local28) {
var _local4 = _local28[_local29];
var _local20 = _local4.p0;
var _local19 = _local4.p1;
var _local22 = _local4.minlen;
var _local23 = _local4.maxlen;
var _local17 = _local20.x - _local19.x;
var _local15 = _local20.y - _local19.y;
var _local3 = Math.sqrt((_local17 * _local17) + (_local15 * _local15));
var _local7 = 0;
var _local13 = 0;
if (_local3 == 0) {
continue;
}
if (_local3 < _local22) {
_local13 = (_local3 - _local22) / _local3;
_local7 = _local13;
} else if (_local23 < _local3) {
_local13 = (_local3 - _local23) / _local3;
_local7 = _local13;
} else {
_local4.curlen = _local3;
continue;
}
_local4.curlen = _local3 - _local7;
_local7 = _local7 * _local4.w0;
_local13 = _local13 * _local4.w1;
_local20.x = _local20.x - (_local17 * _local7);
_local20.y = _local20.y - (_local15 * _local7);
_local19.x = _local19.x + (_local17 * _local13);
_local19.y = _local19.y + (_local15 * _local13);
}
for (var _local29 in _local8) {
var _local2 = _local8[_local29];
if (_local2.v < 2) {
CollideAABBvsTileMap(_local2);
} else if (_local2.v < 3) {
var _local6 = _local2.pos.x;
var _local5 = _local2.pos.y;
_local2.hit = false;
CollideAABBvsTileMap(_local2);
if (_local2.hit) {
var _local12 = 0.5 * (_local6 + _local2.oldpos.x);
var _local11 = 0.5 * (_local5 + _local2.oldpos.y);
var _local10 = _local6 - _local12;
var _local9 = _local5 - _local11;
_local2.oldpos.x = _local2.oldpos.x - _local10;
_local2.oldpos.y = _local2.oldpos.y - _local9;
_local2.pos.x = _local12;
_local2.pos.y = _local11;
_local2.hit = false;
CollideAABBvsTileMap(_local2);
if (!_local2.hit) {
_local2.pos.x = _local6;
_local2.pos.y = _local5;
_local2.oldpos.x = _local2.oldpos.x + _local10;
_local2.oldpos.y = _local2.oldpos.y + _local9;
}
}
} else {
var _local6 = _local2.pos.x;
var _local5 = _local2.pos.y;
var _local16 = 0.333333333333333;
var _local14 = 0.666666666666667;
_local2.hit = false;
CollideAABBvsTileMap(_local2);
if (_local2.hit) {
var _local12 = (_local14 * _local6) + (_local16 * _local2.oldpos.x);
var _local11 = (_local14 * _local5) + (_local16 * _local2.oldpos.y);
_local6 = _local2.pos.x;
_local5 = _local2.pos.y;
var _local10 = _local6 - _local12;
var _local9 = _local5 - _local11;
_local2.oldpos.x = _local2.oldpos.x - _local10;
_local2.oldpos.y = _local2.oldpos.y - _local9;
_local2.pos.x = _local12;
_local2.pos.y = _local11;
_local2.hit = false;
CollideAABBvsTileMap(_local2);
if (_local2.hit) {
_local12 = (_local16 * _local6) + (_local14 * _local2.oldpos.x);
_local11 = (_local16 * _local5) + (_local14 * _local2.oldpos.y);
_local6 = _local2.pos.x;
_local5 = _local2.pos.y;
_local10 = _local6 - _local12;
_local9 = _local5 - _local11;
_local2.oldpos.x = _local2.oldpos.x - _local10;
_local2.oldpos.y = _local2.oldpos.y - _local9;
_local2.pos.x = _local12;
_local2.pos.y = _local11;
_local2.hit = false;
CollideAABBvsTileMap(_local2);
if (!_local2.hit) {
_local2.pos.x = _local6;
_local2.pos.y = _local5;
_local2.oldpos.x = _local2.oldpos.x + _local10;
_local2.oldpos.y = _local2.oldpos.y + _local9;
}
} else {
_local2.pos.x = _local6;
_local2.pos.y = _local5;
_local2.oldpos.x = _local2.oldpos.x + _local10;
_local2.oldpos.y = _local2.oldpos.y + _local9;
}
}
}
CollideRagParticleVsObjects(_local2);
}
};
Ragdoll.prototype.PropagateForce = function (x, y, part, bias) {
if (this.exploded) {
part.pos.x = part.pos.x + (1.5 * x);
part.pos.y = part.pos.y + (1.5 * y);
part.otherP.pos.x = part.otherP.pos.x + x;
part.otherP.pos.y = part.otherP.pos.y + y;
} else {
var _local7 = Math.sqrt((x * x) + (y * y));
_local7 = _local7 * 0.1;
var _local3 = part.nx;
var _local2 = part.ny;
var _local8 = (_local3 * px) + (_local2 * y);
if (_local8 < 0) {
var _local9 = ((-_local2) * x) + (_local3 * y);
if (_local9 < 0) {
x = _local7 * (_local2 + _local3);
y = _local7 * ((-_local3) + _local2);
} else {
x = _local7 * ((-_local2) + _local3);
y = _local7 * (_local3 + _local2);
}
}
part.pos.x = part.pos.x + x;
part.pos.y = part.pos.y + y;
x = x * bias;
y = y * bias;
var _local10 = this.pList;
for (var _local12 in _local10) {
var _local4 = _local10[_local12];
if (_local4.hit) {
_local3 = _local4.nx;
_local2 = _local4.ny;
_local8 = (_local3 * px) + (_local2 * y);
if (_local8 < 0) {
var _local9 = ((-_local2) * x) + (_local3 * y);
if (_local9 < 0) {
x = _local7 * (_local2 + _local3);
y = _local7 * ((-_local3) + _local2);
} else {
x = _local7 * ((-_local2) + _local3);
y = _local7 * (_local3 + _local2);
}
}
}
_local4.pos.x = _local4.pos.x + x;
_local4.pos.y = _local4.pos.y + y;
}
}
};
Ragdoll.prototype.Explode = function () {
var _local3 = this.pList;
var _local2 = this.sList;
var _local5 = _local3.b1;
var _local11 = new RagParticle(_local5.pos.x, _local5.pos.y, _local5.xw, _local5.drag);
var _local10 = new RagParticle(_local5.pos.x, _local5.pos.y, _local5.xw, _local5.drag);
_local2.armL.p0 = _local11.pos;
_local2.armR.p0 = _local10.pos;
var _local6 = _local3.b0;
var _local9 = new RagParticle(_local6.pos.x, _local6.pos.y, _local6.xw, _local6.drag);
var _local8 = new RagParticle(_local6.pos.x, _local6.pos.y, _local6.xw, _local6.drag);
_local2.legL.p0 = _local9.pos;
_local2.legR.p0 = _local8.pos;
_local3.t0 = _local11;
_local3.t1 = _local10;
_local3.t2 = _local9;
_local3.t3 = _local8;
_local11.otherP = _local3.h1;
_local3.h1.otherP = _local11;
_local10.otherP = _local3.h0;
_local3.h0.otherP = _local10;
_local9.otherP = _local3.f1;
_local3.f1.otherP = _local9;
_local8.otherP = _local3.f0;
_local3.f0.otherP = _local8;
var _local12 = 8;
var _local4 = _local12 * 0.5;
var _local22 = _local12 * 0.25;
var _local7 = Math.random;
var _local21 = (_local7() * _local12) - _local4;
var _local20 = (_local7() * _local12) - _local4;
var _local19 = (_local7() * _local12) - _local4;
var _local18 = (_local7() * _local12) - _local4;
var _local17 = (_local7() * _local4) + _local4;
var _local16 = (_local7() * _local4) + _local4;
var _local15 = (_local7() * _local4) + _local4;
var _local14 = (_local7() * _local4) + _local4;
_local11.oldpos.x = _local11.oldpos.x - _local21;
_local10.oldpos.x = _local10.oldpos.x - _local20;
_local9.oldpos.x = _local9.oldpos.x - _local19;
_local8.oldpos.x = _local8.oldpos.x - _local18;
_local11.oldpos.y = _local11.oldpos.y + _local17;
_local10.oldpos.y = _local10.oldpos.y + _local16;
_local9.oldpos.y = _local9.oldpos.y + _local15;
_local8.oldpos.y = _local8.oldpos.y + _local14;
this.exploded = true;
particles.SpawnBloodSpurt(_local11.pos.x, _local11.pos.y, _local21, _local17, 3);
particles.SpawnBloodSpurt(_local10.pos.x, _local10.pos.y, _local20, _local16, 3);
particles.SpawnBloodSpurt(_local9.pos.x, _local9.pos.y, _local19, _local15, 3);
particles.SpawnBloodSpurt(_local8.pos.x, _local8.pos.y, _local18, _local14, 3);
_local2 = this.sList;
for (var _local13 in _local2) {
_local2[_local13].w0 = (_local2[_local13].w1 = 0.5);
}
};
Ragdoll.prototype.UnExplode = function () {
var _local2 = this.pList;
var _local3 = this.sList;
_local3.armL.p0 = _local2.b1.pos;
_local3.armR.p0 = _local2.b1.pos;
_local3.legL.p0 = _local2.b0.pos;
_local3.legR.p0 = _local2.b0.pos;
delete _local2.t0;
delete _local2.t1;
delete _local2.t2;
delete _local2.t3;
this.exploded = false;
};
Ragdoll.prototype.Activate = function () {
this.chunkAccumulator = 0;
var _local2 = this.sList;
for (var _local3 in _local2) {
temp = _local2[_local3].mc;
temp._visible = true;
}
};
Ragdoll.prototype.Deactivate = function () {
var _local2 = this.sList;
for (var _local3 in _local2) {
temp = _local2[_local3].mc;
temp._visible = false;
}
};
Ragdoll.prototype.MimicMC = function (vx, vy, mc, facing, prevframe) {
var _local4 = this.sList;
if (facing < 0) {
var _local7 = 1;
} else {
var _local7 = -1;
}
var _local5;
for (var _local14 in _local4) {
_local5 = _local4[_local14].mc;
_local5._yscale = (_local4[_local14].flip * _local7) * Math.abs(_local5._yscale);
}
var _local2 = new Object();
var _local6 = this.pList;
var _local13 = _local6.b0;
var _local12 = _local6.b1;
var _local11 = _local6.h0;
var _local10 = _local6.h1;
var _local16 = _local6.f0;
var _local15 = _local6.f1;
_local2.x = mc.shoulder._x;
_local2.y = mc.shoulder._y;
mc.localToGlobal(_local2);
_local12.pos.x = _local2.x;
_local12.pos.y = _local2.y;
_local2.x = mc.pelvis._x;
_local2.y = mc.pelvis._y;
mc.localToGlobal(_local2);
_local13.pos.x = _local2.x;
_local13.pos.y = _local2.y;
_local2.x = mc.handR._x;
_local2.y = mc.handR._y;
mc.localToGlobal(_local2);
_local11.pos.x = _local2.x;
_local11.pos.y = _local2.y;
_local2.x = mc.handL._x;
_local2.y = mc.handL._y;
mc.localToGlobal(_local2);
_local10.pos.x = _local2.x;
_local10.pos.y = _local2.y;
_local2.x = mc.footR._x;
_local2.y = mc.footR._y;
mc.localToGlobal(_local2);
_local16.pos.x = _local2.x;
_local16.pos.y = _local2.y;
_local2.x = mc.footL._x;
_local2.y = mc.footL._y;
mc.localToGlobal(_local2);
_local15.pos.x = _local2.x;
_local15.pos.y = _local2.y;
mc.gotoAndStop(prevframe);
_local2.x = mc.shoulder._x;
_local2.y = mc.shoulder._y;
mc.localToGlobal(_local2);
_local12.oldpos.x = _local2.x - vx;
_local12.oldpos.y = _local2.y - vy;
_local2.x = mc.pelvis._x;
_local2.y = mc.pelvis._y;
mc.localToGlobal(_local2);
_local13.oldpos.x = _local2.x - vx;
_local13.oldpos.y = _local2.y - vy;
_local2.x = mc.handR._x;
_local2.y = mc.handR._y;
mc.localToGlobal(_local2);
_local11.oldpos.x = _local2.x - vx;
_local11.oldpos.y = _local2.y - vy;
_local2.x = mc.handL._x;
_local2.y = mc.handL._y;
mc.localToGlobal(_local2);
_local10.oldpos.x = _local2.x - vx;
_local10.oldpos.y = _local2.y - vy;
_local2.x = mc.footR._x;
_local2.y = mc.footR._y;
mc.localToGlobal(_local2);
_local16.oldpos.x = _local2.x - vx;
_local16.oldpos.y = _local2.y - vy;
_local2.x = mc.footL._x;
_local2.y = mc.footL._y;
mc.localToGlobal(_local2);
_local15.oldpos.x = _local2.x - vx;
_local15.oldpos.y = _local2.y - vy;
};
Ragdoll.prototype.Shove = function (x, y) {
for (var _local2 in this.pList) {
this.pList[_local2].oldpos.x = this.pList[_local2].oldpos.x - (x * (Math.random() + 0.4));
this.pList[_local2].oldpos.y = this.pList[_local2].oldpos.y - (y * (Math.random() + 0.4));
}
};
Ragdoll.prototype.Shove_VertBias = function (fx, fy, px, py, midy, rad) {
var _local9 = this.pList;
var _local19 = _local9.b0;
var _local17 = _local9.b1;
var _local15 = _local9.h0;
var _local14 = _local9.h1;
var _local21 = _local9.f0;
var _local20 = _local9.f1;
var _local3 = (py - midy) / rad;
var _local8 = 0.8;
var _local5 = 0.4;
var _local12 = 0.2;
var _local7 = 1;
var _local4 = 1;
var _local6 = 1;
if (_local3 < 0) {
if (_local3 < -1) {
_local7 = _local5;
_local4 = _local8;
_local6 = _local12;
} else {
_local3 = _local3 * -1;
var _local13 = 1 - _local3;
_local7 = (_local13 * _local8) + (_local3 * _local5);
_local4 = (_local13 * _local5) + (_local3 * _local8);
_local6 = (_local13 * _local5) + (_local3 * _local12);
}
} else if (0 < _local3) {
if (1 < _local3) {
_local7 = _local5;
_local6 = _local8;
_local4 = _local12;
} else {
var _local13 = 1 - _local3;
_local7 = (_local13 * _local8) + (_local3 * _local5);
_local6 = (_local13 * _local5) + (_local3 * _local8);
_local4 = (_local13 * _local5) + (_local3 * _local12);
}
} else {
_local4 = 0.4;
_local7 = 0.4;
_local6 = 0.4;
}
var _local2 = Math.random;
_local19.oldpos.x = _local19.oldpos.x - ((_local2() + _local7) * fx);
_local19.oldpos.y = _local19.oldpos.y - ((_local2() + _local7) * fy);
_local17.oldpos.x = _local17.oldpos.x - ((_local2() + _local4) * fx);
_local17.oldpos.y = _local17.oldpos.y - ((_local2() + _local4) * fy);
var _local18 = _local6 * (0.8 + (0.2 * _local2()));
var _local16 = _local6 * (0.9 + (0.1 * _local2()));
_local21.oldpos.x = _local21.oldpos.x - ((_local2() + _local18) * fx);
_local21.oldpos.y = _local21.oldpos.y - ((_local2() + _local18) * fy);
_local20.oldpos.x = _local20.oldpos.x - ((_local2() + _local16) * fx);
_local20.oldpos.y = _local20.oldpos.y - ((_local2() + _local16) * fy);
var _local23 = _local4 * (0.9 + (0.1 * _local2()));
var _local22 = _local4 * (0.8 + (0.2 * _local2()));
_local15.oldpos.x = _local15.oldpos.x - ((_local2() + _local23) * fx);
_local15.oldpos.y = _local15.oldpos.y - ((_local2() + _local23) * fy);
_local14.oldpos.x = _local14.oldpos.x - ((_local2() + _local22) * fx);
_local14.oldpos.y = _local14.oldpos.y - ((_local2() + _local22) * fy);
};
Ragdoll.prototype.DrawDebug = function () {
static_rend.SetStyle(0, 16777215, 20);
var _local4 = this.sList;
var _local3;
for (var _local6 in _local4) {
_local3 = _local4[_local6];
static_rend.DrawLine(_local3.p0, _local3.p1);
}
var _local5 = this.pList;
var _local2;
for (var _local6 in _local5) {
_local2 = _local5[_local6];
static_rend.DrawAABB(_local2.pos, _local2.xw, _local2.yw);
}
};
Ragdoll.prototype.Draw = function () {
var _local10 = this.sList;
var _local11 = (Math.PI/180);
for (var _local12 in _local10) {
var _local6 = _local10[_local12];
var _local5 = _local6.mc;
var _local7 = _local6.p0;
var _local9 = _local6.p1;
var _local3 = _local9.x - _local7.x;
var _local2 = _local9.y - _local7.y;
_local5._x = _local7.x;
_local5._y = _local7.y;
var _local8 = Math.sqrt((_local3 * _local3) + (_local2 * _local2));
_local5.gotoAndStop(1 + Math.floor(100 * (_local8 / _local6.maxlen)));
_local3 = _local3 / _local8;
_local2 = _local2 / _local8;
var _local4 = 0;
if (_local3 == 0) {
if (_local2 < 0) {
_local4 = -90;
} else if (0 < _local2) {
_local4 = 90;
}
} else if (_local2 == 0) {
if (_local3 < 0) {
_local4 = 180;
} else {
_local4 = 0;
}
} else {
_local4 = Math.atan(_local2 / _local3) / _local11;
if (_local3 < 0) {
_local4 = _local4 + 180;
}
}
_local5._rotation = _local4;
}
};
PSTATE_STANDING = 0;
PSTATE_RUNNING = 1;
PSTATE_SKIDDING = 2;
PSTATE_JUMPING = 3;
PSTATE_FALLING = 4;
PSTATE_WALLSLIDING = 5;
PSTATE_RAGDOLL = 6;
PSTATE_CELEBRATING = 7;
PlayerObject.prototype.Think = function () {
game.GetInputState(this.inputList);
var _local7 = this.inputList;
var _local19 = _local7[PINPUT_R];
var _local22 = _local7[PINPUT_L];
var _local25 = _local7[PINPUT_J];
var _local15 = _local7[PINPUT_JTRIG];
var _local2 = this.pos.x - this.oldpos.x;
var _local4 = this.pos.y - this.oldpos.y;
var _local5 = this.curState;
var _local6 = 1;
var _local3 = 0;
if (_local22) {
_local3 = _local3 - 1;
}
if (_local19) {
_local3 = _local3 + 1;
}
if (this.IN_AIR) {
var _local21 = this.mc._rotation;
this.mc._rotation = this.mc._rotation - (0.1 * _local21);
var _local8 = _local2 + (_local3 * this.airAccel);
if (Math.abs(_local8) < this.maxspeedAir) {
_local2 = _local8;
}
this.oldpos.x = this.pos.x - _local2;
if (_local5 < 3) {
this.Fall();
return(undefined);
}
if (_local5 == PSTATE_JUMPING) {
this.jumptimer++;
if ((!_local25) || (this.jumptimer > this.max_jump_time)) {
this.Fall();
return(undefined);
}
return(undefined);
}
if (_local5 == PSTATE_FALLING) {
}
if (this.NEAR_WALL) {
if (_local15) {
var _local9 = 0;
var _local11 = 0;
if ((_local5 == PSTATE_WALLSLIDING) && ((_local3 * this.wallN.x) < 0)) {
_local9 = 1;
_local11 = 0.5;
} else {
_local9 = 1.5;
_local11 = 0.7;
}
particles.SpawnJumpDust(this.pos.x - (this.wallN.x * this.r), this.pos.y - (this.wallN.y * this.r), this.wallN.x * 90);
this.Jump(this.wallN.x * _local9, this.wallN.y - _local11);
return(undefined);
}
if (_local5 == PSTATE_WALLSLIDING) {
if (0 < (_local3 * this.wallN.x)) {
this.Fall();
return(undefined);
}
var _local10 = Math.abs(_local4);
var _local12 = (-(this.wallFriction * _local6)) * _local10;
this.oldpos.y = this.pos.y - (_local4 + _local12);
particles.SpawnWallDust(this.pos, this.r, this.wallN, _local10);
var _local18 = Math.min(100, Math.floor(_local10 * 70));
this.sndControl.setVolume(_local18);
return(undefined);
}
if ((0 < _local4) && ((_local3 * this.wallN.x) < 0)) {
this.Wallslide();
return(undefined);
}
} else if (_local5 == PSTATE_WALLSLIDING) {
this.Fall();
return(undefined);
}
} else {
var _local8 = _local2 + ((_local6 * _local3) * this.groundAccel);
if (Math.abs(_local8) < this.maxspeedGround) {
_local2 = _local8;
}
this.oldpos.x = this.pos.x - _local2;
if (2 < _local5) {
particles.SpawnLandDust(this.pos.x - (this.r * this.floorN.x), this.pos.y - (this.r * this.floorN.y), NormToRot(this.floorN.x, this.floorN.y) + 90, Math.abs(_local2) + _local4);
this.snd.gotoAndPlay("land");
if (0 < (_local2 * _local3)) {
this.Run(_local3);
return(undefined);
}
this.Skid();
return(undefined);
}
if (_local15) {
particles.SpawnJumpDust(this.pos.x - (this.floorN.x * this.r), this.pos.y - (this.floorN.y * this.r), this.mc._rotation);
if ((_local3 * this.floorN.x) < 0) {
this.Jump(0, -0.7);
} else {
this.Jump(this.floorN.x, this.floorN.y);
}
return(undefined);
}
if (_local5 == PSTATE_RUNNING) {
var _local24 = this.floorN.x;
var _local23 = this.floorN.y;
var _local27 = (_local2 * (-_local23)) + (_local4 * _local24);
var _local17 = Math.abs(_local27);
var _local20 = _local2 * _local17;
if ((_local3 * _local20) <= 0) {
this.Skid();
return(undefined);
}
if ((_local3 * _local24) < 0) {
var _local12 = -Math.abs(_local24);
if (_local24 < 0) {
var _local13 = -_local23;
} else {
var _local13 = _local23;
}
var _local14 = Math.abs(_local23);
var _local13 = _local13 * (0.5 * _local14);
_local12 = _local12 * (0.5 * _local14);
var _local28 = _local2 + (_local13 * this.groundAccel);
var _local26 = _local4 + (_local12 * this.groundAccel);
if (Math.abs(_local8) < this.maxspeedGround) {
_local2 = _local28;
_local4 = _local26;
}
this.oldpos.x = this.pos.x - _local2;
this.oldpos.y = this.pos.y - _local4;
}
this.AdvanceRunAnim(_local2, _local4, _local24, _local23);
} else {
if (_local5 == PSTATE_SKIDDING) {
var _local24 = this.floorN.x;
var _local23 = this.floorN.y;
var _local27 = Math.abs((_local2 * (-_local23)) + (_local4 * _local24));
var _local20 = _local2 * _local27;
if (0 < (_local20 * _local3)) {
this.Run(_local3);
return(undefined);
}
particles.SpawnFloorDust(this.pos, this.r, this.floorN, this.mc._rotation, this.facingDir, _local27);
if (_local27 < 0.1) {
this.Stand();
return(undefined);
}
var _local16 = this.skidFriction * _local6;
_local2 = _local2 * _local16;
this.oldpos.x = this.pos.x - _local2;
var _local18 = Math.min(100, Math.floor(_local27 * 100));
this.sndControl.setVolume(_local18);
return(undefined);
}
if (_local3 != 0) {
this.Run(_local3);
return(undefined);
}
var _local24 = this.floorN.x;
var _local23 = this.floorN.y;
var _local27 = Math.abs((_local2 * (-_local23)) + (_local4 * _local24));
if (0.1 <= _local27) {
this.Skid();
return(undefined);
}
var _local16 = this.standFriction * _local6;
_local2 = _local2 * _local16;
_local4 = _local4 * _local16;
this.oldpos.x = this.pos.x - _local2;
this.oldpos.y = this.pos.y - _local4;
return(undefined);
}
}
};
PlayerObject.prototype.ThinkRagdoll = function () {
};
PlayerObject.prototype.ThinkCelebrate = function () {
if (this.IN_AIR) {
if (this.celeb_wasinair) {
} else {
this.d = this.normDrag;
this.Render = this.RenderInAir;
this.celeb_wasinair = true;
}
} else {
if (this.celeb_wasinair) {
this.d = this.winDrag;
this.Render = this.RenderStatic_Ground;
var _local2 = Math.random();
if (_local2 < 0.111111111111111) {
this.mc.gotoAndPlay("CELEBRATE_NEW8");
} else if (_local2 < 0.222222222222222) {
this.mc.gotoAndPlay("CELEBRATE_NEW7");
} else if (_local2 < 0.333333333333333) {
this.mc.gotoAndPlay("CELEBRATE_NEW6");
} else if (_local2 < 0.444444444444444) {
this.mc.gotoAndPlay("CELEBRATE_NEW5");
} else if (_local2 < 0.555555555555556) {
this.mc.gotoAndPlay("CELEBRATE_NEW4");
} else if (_local2 < 0.666666666666667) {
this.mc.gotoAndPlay("CELEBRATE_NEW3");
} else if (_local2 < 0.777777777777778) {
this.mc.gotoAndPlay("CELEBRATE_NEW2");
} else if (_local2 < 0.888888888888889) {
this.mc.gotoAndPlay("CELEBRATE_NEW9");
} else {
this.mc.gotoAndPlay("CELEBRATE_NEW1");
}
}
this.celeb_wasinair = false;
}
};
PlayerObject.prototype.Jump = function (x, y) {
this.ExitState();
this.ExitState = this.ExitJump;
this.curState = PSTATE_JUMPING;
this.g = this.jumpGrav;
var _local3 = this.pos.x - this.oldpos.x;
var _local2 = this.pos.y - this.oldpos.y;
if ((_local3 * x) < 0) {
this.oldpos.x = this.pos.x;
}
if ((_local2 * y) < 0) {
this.oldpos.y = this.pos.y;
}
this.pos.x = this.pos.x + (x * this.jumpAmt);
this.pos.y = this.pos.y + (y * (this.jumpAmt + this.jump_y_bias));
this.jumptimer = 0;
this.mc._rotation = 0;
this.Render = this.RenderInAir;
this.snd.gotoAndPlay("jump");
};
PlayerObject.prototype.ExitJump = function () {
this.g = this.normGrav;
};
PlayerObject.prototype.Fall = function () {
this.ExitState();
this.ExitState = this.ExitFall;
this.curState = PSTATE_FALLING;
this.Render = this.RenderInAir;
};
PlayerObject.prototype.ExitFall = function () {
};
PlayerObject.prototype.Wallslide = function () {
this.ExitState();
this.ExitState = this.ExitWallslide;
this.curState = PSTATE_WALLSLIDING;
this.FaceDirection(-this.wallN.x);
this.mc._rotation = 0;
this.Render = this.RenderWallSlide;
this.mc.gotoAndStop("WALLSLIDE");
this.sndControl.setVolume(0);
this.sndloop.gotoAndPlay("wallslide_start");
};
PlayerObject.prototype.ExitWallslide = function () {
this.sndloop.gotoAndPlay("wallslide_stop");
this.sndControl.setVolume(100);
};
PlayerObject.prototype.Skid = function () {
this.ExitState();
this.ExitState = this.ExitSkid;
this.curState = PSTATE_SKIDDING;
this.Render = this.RenderStatic_Ground;
this.mc.gotoAndStop("SKID");
this.sndControl.setVolume(100);
this.sndloop.gotoAndPlay("skid_start");
};
PlayerObject.prototype.ExitSkid = function () {
this.sndloop.gotoAndPlay("skid_stop");
this.sndControl.setVolume(100);
};
PlayerObject.prototype.Run = function (dirX) {
this.ExitState();
this.ExitState = this.ExitRun;
this.curState = PSTATE_RUNNING;
this.Render = this.RenderRun;
this.mc.gotoAndStop("RUN");
this.runanimleftovers = 0;
};
PlayerObject.prototype.ExitRun = function () {
};
PlayerObject.prototype.Stand = function () {
this.ExitState();
this.ExitState = this.ExitStand;
this.curState = PSTATE_STANDING;
this.Render = this.RenderStatic_Ground;
this.mc.gotoAndPlay("STAND");
};
PlayerObject.prototype.ExitStand = function () {
};
PlayerObject.prototype.Launch = function (x, y) {
this.oldpos.x = this.pos.x;
this.oldpos.y = this.pos.y;
this.pos.x = this.pos.x + x;
this.pos.y = this.pos.y + y;
this.Fall();
};
PlayerObject.prototype.Die = function (x, y, px, py, KTYPE) {
var _local7 = Math.random() < 0.5;
if (KTYPE == KILLTYPE_EXPLOSIVE) {
if (_local7 == false) {
this.snd.gotoAndPlay("explode1");
} else {
this.snd.gotoAndPlay("explode2");
}
} else if (KTYPE == KILLTYPE_FALL) {
this.snd.gotoAndPlay("fall");
} else if (KTYPE == KILLTYPE_LASER) {
this.snd.gotoAndPlay("laser");
} else if (KTYPE == KILLTYPE_ELECTRIC) {
if (_local7 == false) {
this.snd.gotoAndPlay("zap1");
} else {
this.snd.gotoAndPlay("zap1");
}
} else if (_local7 == false) {
this.snd.gotoAndPlay("shot1");
} else {
this.snd.gotoAndPlay("shot2");
}
particles.SpawnBloodSpurt(px, py, x, y, 6 + Math.floor(Math.random() * 8));
this.ExitState();
this.ExitState = this.ExitDie;
this.curState = PSTATE_RAGDOLL;
this.Tick = this.TickRagdoll;
this.Think = null;
this.Draw = this.Draw_Ragdoll;
this.mc._visible = false;
this.isDead = true;
this.timeOfDeath = game.GetTime();
var _local12 = this.pos.x - this.oldpos.x;
var _local11 = this.pos.y - this.oldpos.y;
this.raggy.Activate();
this.raggy.MimicMC(_local12, _local11, this.mc, this.facingDir, this.prevframe);
if (KTYPE == KILLTYPE_FALL) {
} else {
if (!this.IN_AIR) {
var _local8 = (this.floorN.x * x) + (this.floorN.y * y);
if (_local8 < 0) {
var _local6 = _local8 * this.floorN.x;
var _local5 = _local8 * this.floorN.y;
var _local10 = x - _local6;
var _local9 = y - _local5;
static_rend.SetStyle(0, 2237064, 100);
static_rend.DrawLine_S(this.pos.x, this.pos.y, this.pos.x + _local6, this.pos.y + _local5);
static_rend.SetStyle(0, 8921634, 100);
static_rend.DrawLine_S(this.pos.x, this.pos.y, this.pos.x + _local10, this.pos.y + _local9);
x = x - (_local6 * 0.85);
y = y - (_local5 * 0.85);
x = x + (_local10 * 0.4);
y = y + (_local9 * 0.4);
}
}
if (this.NEAR_WALL) {
var _local8 = (this.wallN.x * x) + (this.wallN.y * y);
if (_local8 < 0) {
var _local6 = _local8 * this.wallN.x;
var _local5 = _local8 * this.wallN.y;
var _local10 = x - _local6;
var _local9 = y - _local5;
static_rend.SetStyle(0, 2237064, 100);
static_rend.DrawLine_S(this.pos.x, this.pos.y, this.pos.x + _local6, this.pos.y + _local5);
static_rend.SetStyle(0, 8921634, 100);
static_rend.DrawLine_S(this.pos.x, this.pos.y, this.pos.x + _local10, this.pos.y + _local9);
x = x - (_local6 * 0.85);
y = y - (_local5 * 0.85);
x = x + (_local10 * 0.4);
y = y + (_local9 * 0.4);
}
}
this.raggy.Shove_VertBias(x, y, px, py, this.pos.y, this.r);
}
this.TickRagdoll();
};
PlayerObject.prototype.RagDie = function (KTYPE) {
var _local2 = Math.random() < 0.5;
if (KTYPE == KILLTYPE_EXPLOSIVE) {
this.raggy.chunkAccumulator = this.raggy.chunkAccumulator + (Math.random() * 0.6);
if ((!this.raggy.exploded) && (Math.random() < this.raggy.chunkAccumulator)) {
this.raggy.Explode();
if (_local2 == false) {
this.snd.gotoAndPlay("explode1");
} else {
this.snd.gotoAndPlay("explode2");
}
} else if (_local2 == false) {
this.snd.gotoAndPlay("shot1");
} else {
this.snd.gotoAndPlay("shot2");
}
} else if (KTYPE == KILLTYPE_FALL) {
this.snd.gotoAndPlay("fall");
} else if (KTYPE == KILLTYPE_LASER) {
this.snd.gotoAndPlay("laser");
} else if (KTYPE == KILLTYPE_ELECTRIC) {
if (_local2 == false) {
this.snd.gotoAndPlay("zap1");
} else {
this.snd.gotoAndPlay("zap1");
}
} else if (_local2 == false) {
this.snd.gotoAndPlay("shot1");
} else {
this.snd.gotoAndPlay("shot2");
}
};
PlayerObject.prototype.ExitDie = function () {
if (this.raggy.exploded) {
this.raggy.Unexplode();
}
this.raggy.Deactivate();
this.isDead = false;
this.timeOfDeath = 0;
this.Tick = this.TickNormal;
this.Think = PlayerObject.prototype.Think;
this.mc._visible = true;
this.Draw = this.Draw_Normal;
};
PlayerObject.prototype.Celebrate = function () {
this.ExitState();
this.ExitState = this.ExitCelebrate;
this.curState = PSTATE_CELEBRATING;
this.Think = this.ThinkCelebrate;
this.celeb_wasinair = this.IN_AIR;
};
PlayerObject.prototype.ExitCelebrate = function () {
this.d = this.normDrag;
this.Think = PlayerObject.prototype.Think;
};
PlayerObject.prototype.Draw_Normal = function () {
this.prevframe = this.mc._currentframe;
this.Render();
};
PlayerObject.prototype.Draw_Ragdoll = function () {
this.raggy.Draw();
};
PlayerObject.prototype.FaceMovement = function () {
var _local2 = this.pos.x - this.oldpos.x;
if (_local2 == 0) {
} else if (0 < _local2) {
this.FaceDirection(1);
} else if (_local2 < 0) {
this.FaceDirection(-1);
}
};
PlayerObject.prototype.RenderWallSlide = function () {
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
};
PlayerObject.prototype.RenderInAir = function () {
this.FaceMovement();
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
var _local2 = this.pos.y - this.oldpos.y;
var _local5 = -1;
var _local4 = 2.5;
var _local3 = 0;
if (_local2 < 0) {
if (_local2 < _local5) {
_local3 = -1;
} else {
_local3 = -(_local2 / _local5);
}
} else if (_local4 < _local2) {
_local3 = 1;
} else {
_local3 = Math.sqrt(_local2 / _local4);
}
var _local6 = Math.floor(_local3 * 9);
this.mc.gotoAndStop(94 + _local6);
};
PlayerObject.prototype.RenderRun = function () {
this.FaceMovement();
this.mc.gotoAndStop(this.runanimcurframe);
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
var _local3 = this.floorN.x;
var _local4 = this.floorN.y;
var _local2 = 0;
if (_local3 == 0) {
_local2 = -90;
} else if (_local4 == 0) {
if (_local3 < 0) {
_local2 = 180;
} else {
_local2 = 0;
}
} else {
_local2 = Math.atan(_local4 / _local3) / (Math.PI/180);
if (_local3 < 0) {
_local2 = _local2 + 180;
}
}
_local2 = _local2 + 90;
this.mc._rotation = _local2;
};
PlayerObject.prototype.AdvanceRunAnim = function (vx, vy, nx, ny) {
var _local5 = Math.abs((vx * (-ny)) + (vy * nx));
var _local3 = 13;
var _local8 = 0.9;
var _local6 = 72;
var _local9 = this.mc._currentframe - _local3;
var _local2 = _local5 / _local8;
_local2 = _local2 + this.runanimleftovers;
var _local4 = Math.floor(_local2);
this.runanimleftovers = _local2 - _local4;
var _local7 = (_local9 + _local4) % _local6;
this.runanimcurframe = _local3 + _local7;
};
PlayerObject.prototype.RenderDebug = function () {
static_rend.SetStyle(0, 0, 25);
static_rend.DrawAABB(this.pos, this.xw, this.yw);
static_rend.DrawCircle(this.pos, this.r);
};
PlayerObject.prototype.RenderStatic = function () {
this.FaceMovement();
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
};
PlayerObject.prototype.RenderStatic_Ground = function () {
this.FaceMovement();
this.mc._x = this.pos.x;
this.mc._y = this.pos.y;
var _local3 = this.floorN.x;
var _local4 = this.floorN.y;
var _local2 = 0;
if (_local3 == 0) {
_local2 = -90;
} else if (_local4 == 0) {
if (_local3 < 0) {
_local2 = 180;
} else {
_local2 = 0;
}
} else {
_local2 = Math.atan(_local4 / _local3) / (Math.PI/180);
if (_local3 < 0) {
_local2 = _local2 + 180;
}
}
_local2 = _local2 + 90;
this.mc._rotation = _local2;
};
function NinjaGame() {
this.SetDemoFormat(true);
this.KEYDEF_L = userdata.GetLeftKey();
this.KEYDEF_R = userdata.GetRightKey();
this.KEYDEF_J = userdata.GetJumpKey();
this.playerMaxTime = 3600;
this.playerCurTime = 3600;
this.playerStartingTime = 3600;
this.playerBonusTime = 80;
this.isTimeTrial = false;
this.RECORDING_DEMO = false;
this.mapStr = "";
this.objStr = "";
this.tickCounter = 0;
this.demoTickCount = 0;
this.GetInputState = this.GetInputState_Normal;
var _local3 = _root._url;
if (_local3.substr(0, 4) != "file") {
getURL ("http://www.harveycartel.org/metanet/", _top);
}
}
NinjaGame.prototype.SetDemoFormat = function (isCompressed) {
if (isCompressed) {
this.InstallCompressedCodec();
} else {
this.InstallComplexCodec();
}
};
NinjaGame.prototype.LoadDemo = function (str) {
if (str.charAt(0) == "A") {
this.SetDemoFormat(true);
this.LoadDemo_Compressed(str);
} else {
this.SetDemoFormat(false);
this.LoadDemo_Complex(str);
}
};
NinjaGame.prototype.DumpDemoData = function (isCompressed) {
if (isCompressed) {
this.SetDemoFormat(true);
return(this.DumpDemoData_Compressed());
}
this.SetDemoFormat(false);
return(this.DumpDemoData_Complex());
};
NinjaGame.prototype.SetKeyDefs = function (jdef, ldef, rdef) {
this.KEYDEF_L = ldef;
this.KEYDEF_R = rdef;
this.KEYDEF_J = jdef;
};
NinjaGame.prototype.InitNewGame = function (gamemode) {
if (gamemode == 2) {
this.isTimeTrial = false;
this.isCustom = true;
} else if (gamemode == 1) {
this.isTimeTrial = true;
this.isCustom = false;
} else if (gamemode == 0) {
this.isTimeTrial = false;
this.isCustom = false;
}
this.playerCurTime = (this.playerStartingTime = this.playerMaxTime);
this.tickCounter = 0;
};
NinjaGame.prototype.InitNewLevel = function () {
if (this.isTimeTrial) {
this.playerStartingTime = this.playerMaxTime;
} else if (this.isCustom) {
this.playerStartingTime = this.playerMaxTime;
} else {
this.playerStartingTime = this.playerCurTime;
}
this.tickCounter = 0;
};
NinjaGame.prototype.InitRetryLevel = function () {
this.playerCurTime = this.playerStartingTime;
this.tickCounter = 0;
};
NinjaGame.prototype.Tick = function () {
debug_rend.Clear();
static_rend.Clear();
objects.Tick();
player.Tick();
this.tickCounter++;
};
NinjaGame.prototype.Draw = function () {
objects.Draw();
};
NinjaGame.prototype.DrawPlayerTime = function () {
gui.DrawPlayerTime(this.playerCurTime, this.playerMaxTime);
};
NinjaGame.prototype.FillPlayerTime = function () {
gui.FillPlayerTime(this.playerCurTime, this.playerMaxTime);
};
NinjaGame.prototype.GetPlayerTime = function () {
return(this.playerCurTime);
};
NinjaGame.prototype.GetPlayerLevelTime = function () {
var _local2 = this.playerMaxTime + (this.playerCurTime - this.playerStartingTime);
return(_local2);
};
NinjaGame.prototype.GetTime = function () {
return(this.tickCounter);
};
NinjaGame.prototype.GiveBonusTime = function () {
this.playerCurTime = this.playerCurTime + this.playerBonusTime;
};
KILLTYPE_ELECTRIC = 0;
KILLTYPE_EXPLOSIVE = 1;
KILLTYPE_WEAKBULLET = 2;
KILLTYPE_HARDBULLET = 3;
KILLTYPE_FALL = 4;
KILLTYPE_LASER = 5;
NinjaGame.prototype.KillPlayer = function (killtype, fx, fy, px, py, obj) {
if (!player.isDead) {
player.Die(fx, fy, px, py, killtype);
if (killtype == KILLTYPE_EXPLOSIVE) {
player.raggy.Explode();
}
App_PlayerDeathEvent();
var _local1 = "You were killed by ";
var _local3 = objects.GetObjType(obj);
if (_local3 == OBJTYPE_PLAYER) {
_local1 = _local1 + "yourself!! looooooser!!";
if (!APP_DEBUG_DEATH) {
userdata.IncrementKillCount("player");
}
} else {
_local1 = _local1 + ("a " + obj.name);
if (!APP_DEBUG_DEATH) {
userdata.IncrementKillCount(obj.name);
}
}
console.AddLine(_local1);
}
};
LEVEL_SEPERATION_CHAR = "|";
OBJECT_SEPERATION_CHAR = "!";
OBJTYPE_SEPERATION_CHAR = "^";
OBJPARAM_SEPERATION_CHAR = ",";
NinjaGame.prototype.DumpLevelData = function () {
var _local2 = this.DumpMapData();
var _local4 = this.DumpObjData();
var _local3 = (_local2 + LEVEL_SEPERATION_CHAR) + _local4;
return(_local3);
};
NinjaGame.prototype.DumpMapData = function () {
var _local1 = tiles.GetTileStates();
return(_local1);
};
NinjaGame.prototype.DumpObjData = function () {
var _local1 = objects.GetObjectStates();
return(_local1);
};
PINPUT_L = 0;
PINPUT_R = 1;
PINPUT_J = 2;
PINPUT_JTRIG = 3;
BITSHIFT_L = 0;
BITSHIFT_R = 1;
BITSHIFT_J = 2;
BITSHIFT_JTRIG = 3;
BITMASK_L = 1 << BITSHIFT_L;
BITMASK_R = 1 << BITSHIFT_R;
BITMASK_J = 1 << BITSHIFT_J;
BITMASK_JTRIG = 1 << BITSHIFT_JTRIG;
NinjaGame.prototype.GetInputState_Normal = function (inList) {
inList[PINPUT_L] = Key.isDown(this.KEYDEF_L);
inList[PINPUT_R] = Key.isDown(this.KEYDEF_R);
var _local3 = inList[PINPUT_J];
inList[PINPUT_J] = Key.isDown(this.KEYDEF_J);
inList[PINPUT_JTRIG] = inList[PINPUT_J] && (!_local3);
if (this.RECORDING_DEMO) {
this.RecordFrame(inList);
}
};
NinjaGame.prototype.GetDemoTickCount = function () {
return(this.demoTickCount);
};
function EncodeOctalString_RLEo6(str) {
var _local8 = "";
var _local5 = str.length;
var _local3 = 0;
while (_local3 < _local5) {
var _local4 = str.charAt(_local3);
var _local2 = 0;
var _local1 = _local3;
while ((_local1 < _local5) && (_local2 < RLEo6_MAX_RUN_LEN)) {
if (str.charAt(_local1) == _local4) {
_local2++;
} else {
break;
}
_local1++;
}
if (_local2 < 5) {
_local8 = _local8 + _local4;
} else {
var _local7 = EncodeCharRun_RLEo6(_local4, _local2);
_local8 = _local8 + _local7;
_local3 = _local1 - 1;
}
_local3++;
}
return(_local8);
}
function EncodeCharRun_RLEo6(char, len) {
var _local1 = "7";
_local1 = _local1 + char;
if (len < 5) {
return("");
}
len = len - 4;
var _local8 = 56;
var _local6 = 7;
var _local9 = (len & _local8) >> 3;
var _local10 = len & _local6;
var _local7 = new Number(_local9);
var _local5 = new Number(_local10);
var _local3 = _local7.toString(8);
var _local4 = _local5.toString(8);
_local1 = _local1 + _local3;
_local1 = _local1 + _local4;
return(_local1);
}
function DecodeCharRun_RLEo6(runStr) {
var _local3 = runStr.charAt(1);
var _local5 = runStr.charAt(2);
var _local6 = runStr.charAt(3);
var _local7 = parseInt(_local5, 8);
var _local8 = parseInt(_local6, 8);
var _local2 = 0;
_local2 = _local2 + (_local7 << 3);
_local2 = _local2 + _local8;
_local2 = _local2 + 4;
var _local1 = "";
while (_local1.length < _local2) {
_local1 = _local1 + _local3;
}
return(_local1);
}
function DecodeOctalString_RLEo6(str) {
var _local5 = "";
var _local7 = str.length;
var _local1 = 0;
while (_local1 < _local7) {
var _local2 = str.charAt(_local1);
if (_local2 == "7") {
var _local3 = str.substr(_local1, 4);
var _local4 = DecodeCharRun_RLEo6(_local3);
_local5 = _local5 + _local4;
_local1 = _local1 + 3;
} else {
_local5 = _local5 + _local2;
}
_local1++;
}
return(_local5);
}
RLEo6_MAX_RUN_LEN = 67;
function RLEo6c_SetTokenRange(bottom, top) {
if (top < bottom) {
return(undefined);
}
RLEo6c_RUN_CHARSHIFT = bottom;
RLEo6c_MAX_RUN_LEN = top - bottom;
}
function EncodeOctalString_RLEo6c(str) {
var _local8 = "";
var _local5 = PackOctalString(str);
var _local6 = _local5.length;
var _local3 = 0;
while (_local3 < _local6) {
var _local4 = _local5.charAt(_local3);
var _local2 = 0;
var _local1 = _local3;
while ((_local1 < _local6) && (_local2 < RLEo6c_MAX_RUN_LEN)) {
if (_local5.charAt(_local1) == _local4) {
_local2++;
} else {
break;
}
_local1++;
}
if (_local2 < RLEo6c_MIN_RUN_LEN) {
_local8 = _local8 + _local4;
} else {
var _local7 = EncodeCharRun_RLEo6c(_local4, _local2);
_local8 = _local8 + _local7;
_local3 = _local1 - 1;
}
_local3++;
}
return(_local8);
}
function EncodeCharRun_RLEo6c(char, len) {
var _local1 = "";
len = len + RLEo6c_RUN_CHARSHIFT;
var _local2 = String.fromCharCode(len);
_local1 = _local1 + _local2;
_local1 = _local1 + char;
return(_local1);
}
function DecodeCharRun_RLEo6c(runStr) {
var _local2 = runStr.charCodeAt(0);
_local2 = _local2 - RLEo6c_RUN_CHARSHIFT;
var _local3 = runStr.charAt(1);
var _local1 = "";
while (_local1.length < _local2) {
_local1 = _local1 + _local3;
}
return(_local1);
}
function DecodeOctalString_RLEo6c(str) {
var _local7 = "";
var _local8 = str.length;
var _local1 = 0;
while (_local1 < _local8) {
var _local4 = str.charCodeAt(_local1);
if (RLEo6c_RUN_CHARSHIFT <= _local4) {
var _local3 = str.substr(_local1, 2);
var _local6 = DecodeCharRun_RLEo6c(_local3);
_local7 = _local7 + _local6;
_local1 = _local1 + (RLEo6c_MIN_RUN_LEN - 1);
} else {
var _local5 = str.charAt(_local1);
_local7 = _local7 + _local5;
}
_local1++;
}
var _local9 = UnpackOctalString(_local7);
return(_local9);
}
RLEo6c_RUN_CHARSHIFT = 100;
RLEo6c_MIN_RUN_LEN = 3;
RLEo6c_MAX_RUN_LEN = 50;
function PackOctalString(str) {
var _local10 = str.length;
if ((_local10 % 2) == 1) {
str = str + "3";
}
var _local9 = "";
_local10 = str.length;
var _local2 = 0;
while (_local2 < _local10) {
var _local3 = str.charAt(_local2);
var _local4 = str.charAt(_local2 + 1);
var _local7 = parseInt(_local3, 8);
var _local6 = parseInt(_local4, 8);
var _local1 = 0;
_local1 = _local1 + (_local7 << 3);
_local1 = _local1 + _local6;
_local1 = _local1 + 34;
if (91 < _local1) {
_local1 = _local1 + 1;
}
var _local5 = String.fromCharCode(_local1);
_local9 = _local9 + _local5;
_local2 = _local2 + 2;
}
return(_local9);
}
function UnpackOctalString(str) {
var _local3 = "";
var _local12 = str.length;
var _local2 = 0;
while (_local2 < _local12) {
var _local1 = str.charCodeAt(_local2);
if (91 < _local1) {
_local1 = _local1 - 1;
}
_local1 = _local1 - 34;
var _local9 = 56;
var _local7 = 7;
var _local10 = (_local1 & _local9) >> 3;
var _local11 = _local1 & _local7;
var _local8 = new Number(_local10);
var _local6 = new Number(_local11);
var _local4 = _local8.toString(8);
var _local5 = _local6.toString(8);
_local3 = _local3 + _local4;
_local3 = _local3 + _local5;
_local2++;
}
if (_local3.charAt(_local3.length - 1) == "3") {
_local3 = _local3.substr(0, _local3.length - 1);
}
return(_local3);
}
function BeginIncrementalCompression(str, callback) {
_root.APP_INC_ENCODE_SOURCE = str;
_root.APP_INC_ENCODE_OUTPUT = "";
_root.APP_INC_ENCODE_CALLBACK = callback;
_root.APP_INC_ENCODE_STEP = 0;
_root.APP_INC_ENCODE_ITERATOR = 0;
_root.APP_INC_ENCODE_STRLEN = APP_INC_ENCODE_SOURCE.length;
_root.APP_INC_ENCODE_INTERVAL = setInterval(_root.CompressDemo_Inc, 15);
}
function CompressDemo_Inc(str) {
if (APP_INC_ENCODE_STEP == 0) {
if (!EncodeOctalString_RLEo6_Inc()) {
APP_INC_ENCODE_STEP = 1;
APP_INC_ENCODE_ITERATOR = 0;
APP_INC_ENCODE_SOURCE = PackOctalString(APP_INC_ENCODE_OUTPUT);
APP_INC_ENCODE_OUTPUT = "";
APP_INC_ENCODE_STRLEN = APP_INC_ENCODE_SOURCE.length;
}
} else if (APP_INC_ENCODE_STEP == 1) {
if (!EncodeOctalString_RLEo6c_Inc()) {
var _local1 = "A" + APP_INC_ENCODE_OUTPUT;
APP_INC_ENCODE_CALLBACK(_local1);
clearInterval(APP_INC_ENCODE_INTERVAL);
}
}
}
function EncodeOctalString_RLEo6_Inc() {
var _local6 = 0;
var _local7 = 40;
var _local4 = APP_INC_ENCODE_SOURCE;
while (_local6 < _local7) {
var _local3 = _local4.charAt(APP_INC_ENCODE_ITERATOR);
var _local2 = 0;
var _local1 = APP_INC_ENCODE_ITERATOR;
while ((_local1 < APP_INC_ENCODE_STRLEN) && (_local2 < RLEo6_MAX_RUN_LEN)) {
if (_local4.charAt(_local1) == _local3) {
_local2++;
} else {
break;
}
_local1++;
}
if (_local2 < 5) {
APP_INC_ENCODE_OUTPUT = APP_INC_ENCODE_OUTPUT + _local3;
} else {
var _local5 = EncodeCharRun_RLEo6(_local3, _local2);
APP_INC_ENCODE_OUTPUT = APP_INC_ENCODE_OUTPUT + _local5;
APP_INC_ENCODE_ITERATOR = _local1 - 1;
}
_local6++;
APP_INC_ENCODE_ITERATOR++;
if (APP_INC_ENCODE_STRLEN <= APP_INC_ENCODE_ITERATOR) {
return(false);
}
}
if (APP_INC_ENCODE_ITERATOR < APP_INC_ENCODE_STRLEN) {
return(true);
}
return(false);
}
function EncodeOctalString_RLEo6c_Inc() {
var _local6 = 0;
var _local7 = 40;
var _local4 = APP_INC_ENCODE_SOURCE;
while (_local6 < _local7) {
var _local3 = _local4.charAt(APP_INC_ENCODE_ITERATOR);
var _local2 = 0;
var _local1 = APP_INC_ENCODE_ITERATOR;
while ((_local1 < APP_INC_ENCODE_STRLEN) && (_local2 < RLEo6_MAX_RUN_LEN)) {
if (_local4.charAt(_local1) == _local3) {
_local2++;
} else {
break;
}
_local1++;
}
if (_local2 < RLEo6c_MIN_RUN_LEN) {
APP_INC_ENCODE_OUTPUT = APP_INC_ENCODE_OUTPUT + _local3;
} else {
var _local5 = EncodeCharRun_RLEo6c(_local3, _local2);
APP_INC_ENCODE_OUTPUT = APP_INC_ENCODE_OUTPUT + _local5;
APP_INC_ENCODE_ITERATOR = _local1 - 1;
}
_local6++;
APP_INC_ENCODE_ITERATOR++;
if (APP_INC_ENCODE_STRLEN <= APP_INC_ENCODE_ITERATOR) {
return(false);
}
}
if (APP_INC_ENCODE_ITERATOR < APP_INC_ENCODE_STRLEN) {
return(true);
}
return(false);
}
APP_INC_ENCODE_INTERVAL = null;
APP_INC_ENCODE_SOURCE = "";
APP_INC_ENCODE_OUTPUT = "";
APP_INC_ENCODE_CALLBACK = null;
APP_INC_ENCODE_STEP = 0;
APP_INC_ENCODE_STRLEN = 0;
APP_INC_ENCODE_ITERATOR = 0;
NinjaGame.prototype.DumpDemoData_Inc = function () {
var _local6 = "";
var _local3 = 0;
while (_local3 < this.demoList.length) {
var _local5 = this.demoList[_local3] & BITMASK_BOTTOM30;
var _local4 = new Number(_local5);
var _local2 = _local4.toString(8);
while (_local2.length < 10) {
_local2 = "0" + _local2;
}
_local6 = _local6 + _local2;
_local3++;
}
return(_local6);
};
function CompressDemo(str) {
var _local2 = EncodeOctalString_RLEo6(str);
var _local1 = EncodeOctalString_RLEo6c(_local2);
_local1 = "A" + _local1;
return(_local1);
}
function DecompressDemo(str) {
var _local2 = DecodeOctalString_RLEo6c(str.substr(1));
var _local1 = DecodeOctalString_RLEo6(_local2);
return(_local1);
}
NinjaGame.prototype.InstallCompressedCodec = function () {
this.StartRecordingDemo = this.StartRecordingDemo_Compressed;
this.StopRecordingDemo = this.StopRecordingDemo_Compressed;
this.StartDemoPlayback = this.StartDemoPlayback_Compressed;
this.StopDemoPlayback = this.StopDemoPlayback_Compressed;
this.RecordFrame = this.RecordFrame_Compressed;
this.GetInputState_DemoPlayback = this.GetInputState_DemoPlayback_Compressed;
};
NinjaGame.prototype.InstallComplexCodec = function () {
this.StartRecordingDemo = this.StartRecordingDemo_Complex;
this.StopRecordingDemo = this.StopRecordingDemo_Complex;
this.StartDemoPlayback = this.StartDemoPlayback_Complex;
this.StopDemoPlayback = this.StopDemoPlayback_Complex;
this.RecordFrame = this.RecordFrame_Complex;
this.GetInputState_DemoPlayback = this.GetInputState_DemoPlayback_Complex;
};
BITMASK_BOTTOM30 = 0;
var i = 0;
while (i < 30) {
BITMASK_BOTTOM30 = BITMASK_BOTTOM30 + (1 << i);
i++;
}
BITMASK_FRAME_COMPRESSED = (BITMASK_L + BITMASK_R) + BITMASK_J;
shiftList_Compressed = new Array();
shiftList_Compressed[0] = 27;
shiftList_Compressed[1] = 24;
shiftList_Compressed[2] = 21;
shiftList_Compressed[3] = 18;
shiftList_Compressed[4] = 15;
shiftList_Compressed[5] = 12;
shiftList_Compressed[6] = 9;
shiftList_Compressed[7] = 6;
shiftList_Compressed[8] = 3;
shiftList_Compressed[9] = 0;
NUM_BITPACKS_COMPRESSED = shiftList_Compressed.length;
NinjaGame.prototype.StartRecordingDemo_Compressed = function () {
console.AddLine("-demo recording started..");
this.GetInputState = this.GetInputState_Normal;
this.RECORDING_DEMO = true;
this.demoTickCount = 0;
this.demoList = new Array();
this.demoList.push(0);
this.demoCurShift = 0;
};
NinjaGame.prototype.StopRecordingDemo_Compressed = function () {
this.RECORDING_DEMO = false;
this.demoTickCount = this.demoTickCount - 1;
if (this.demoTickCount < 0) {
this.demoTickCount = 0;
}
console.AddLine("-demo recording stopped.");
};
NinjaGame.prototype.StartDemoPlayback_Compressed = function () {
console.AddLine("-demo playback started..");
this.GetInputState = this.GetInputState_DemoPlayback;
this.jtrig_playback_cache = false;
this.demoCurPlayEntry = 0;
this.demoCurShift = 0;
};
NinjaGame.prototype.StopDemoPlayback_Compressed = function () {
console.AddLine("-demo playback stopped.");
this.GetInputState = this.GetInputState_Normal;
};
NinjaGame.prototype.RecordFrame_Compressed = function (inList) {
if (5000 <= this.demoList.length) {
this.StopRecordingDemo();
return(undefined);
}
if (inList[PINPUT_L] && (inList[PINPUT_R])) {
inList[PINPUT_R] = false;
inList[PINPUT_L] = false;
}
var _local4 = Number(inList[PINPUT_L]);
var _local3 = Number(inList[PINPUT_R]);
var _local5 = Number(inList[PINPUT_J]);
var _local6 = ((0 + (_local4 << BITSHIFT_L)) + (_local3 << BITSHIFT_R)) + (_local5 << BITSHIFT_J);
var _local7 = shiftList_Compressed[this.demoCurShift];
this.demoList[this.demoList.length - 1] = this.demoList[this.demoList.length - 1] + (_local6 << _local7);
this.demoCurShift++;
if (NUM_BITPACKS_COMPRESSED <= this.demoCurShift) {
this.demoList.push(0);
this.demoCurShift = 0;
}
this.demoTickCount++;
};
NinjaGame.prototype.GetInputState_DemoPlayback_Compressed = function (inList) {
if (this.demoTickCount <= game.GetTime()) {
this.StopDemoPlayback();
return(undefined);
}
var _local2 = this.demoList[this.demoCurPlayEntry];
_local2 = _local2 >> shiftList_Compressed[this.demoCurShift];
_local2 = _local2 & BITMASK_FRAME_COMPRESSED;
var _local5 = _local2 & BITMASK_L;
var _local4 = _local2 & BITMASK_R;
var _local6 = _local2 & BITMASK_J;
inList[PINPUT_L] = Boolean(_local5);
inList[PINPUT_R] = Boolean(_local4);
inList[PINPUT_J] = Boolean(_local6);
inList[PINPUT_JTRIG] = inList[PINPUT_J] && (!this.jtrig_playback_cache);
this.jtrig_playback_cache = inList[PINPUT_J];
this.demoCurShift++;
if (NUM_BITPACKS_COMPRESSED <= this.demoCurShift) {
this.demoCurPlayEntry++;
this.demoCurShift = 0;
}
};
NinjaGame.prototype.LoadDemo_Compressed = function (demoStr) {
var _local5 = DecompressDemo(demoStr);
this.demoList = new Array();
var _local2 = 0;
while (_local2 < _local5.length) {
var _local4 = parseInt(_local5.substr(_local2, 10), 8);
var _local3 = new Number(_local4);
this.demoList.push(_local3.valueOf());
_local2 = _local2 + 10;
}
console.AddLine("-demo loaded.");
};
NinjaGame.prototype.DumpDemoData_Compressed = function () {
var _local6 = "";
var _local3 = 0;
while (_local3 < this.demoList.length) {
var _local5 = this.demoList[_local3] & BITMASK_BOTTOM30;
var _local4 = new Number(_local5);
var _local2 = _local4.toString(8);
while (_local2.length < 10) {
_local2 = "0" + _local2;
}
_local6 = _local6 + _local2;
_local3++;
}
var _local7 = CompressDemo(_local6);
return(_local7);
};
DEMOFRAME_SEPERATION_CHAR = "|";
DEMOTICKS_SEPERATION_CHAR = ":";
BITMASK_FRAME_COMPLEX = ((BITMASK_L + BITMASK_R) + BITMASK_J) + BITMASK_JTRIG;
shiftList_Complex = new Array();
shiftList_Complex[0] = 0;
shiftList_Complex[1] = 4;
shiftList_Complex[2] = 8;
shiftList_Complex[3] = 12;
shiftList_Complex[4] = 16;
shiftList_Complex[5] = 20;
shiftList_Complex[6] = 24;
NUM_BITPACKS_COMPLEX = shiftList_Complex.length;
NinjaGame.prototype.StartRecordingDemo_Complex = function () {
console.AddLine("-demo recording started..");
this.GetInputState = this.GetInputState_Normal;
this.RECORDING_DEMO = true;
this.demoTickCount = 0;
this.demoList = new Array();
this.demoList.push(0);
this.demoCurShift = 0;
};
NinjaGame.prototype.StopRecordingDemo_Complex = function () {
this.RECORDING_DEMO = false;
this.demoTickCount = this.demoTickCount - 1;
if (this.demoTickCount < 0) {
this.demoTickCount = 0;
}
console.AddLine("-demo recording stopped.");
};
NinjaGame.prototype.LoadDemo_Complex = function (demoStr) {
var _local4 = demoStr.split(DEMOTICKS_SEPERATION_CHAR);
this.demoTickCount = Number(_local4[0]);
var _local3 = _local4[1].split(DEMOFRAME_SEPERATION_CHAR);
this.demoList = new Array();
var _local2 = 0;
while (_local2 < _local3.length) {
this.demoList[_local2] = Number(_local3[_local2]);
_local2++;
}
console.AddLine("-demo loaded.");
};
NinjaGame.prototype.StartDemoPlayback_Complex = function () {
console.AddLine("-demo playback started..");
this.GetInputState = this.GetInputState_DemoPlayback;
this.demoCurPlayEntry = 0;
this.demoCurShift = 0;
};
NinjaGame.prototype.StopDemoPlayback_Complex = function () {
console.AddLine("-demo playback stopped.");
this.GetInputState = this.GetInputState_Normal;
};
NinjaGame.prototype.DumpDemoData_Complex = function () {
var _local3 = "";
_local3 = _local3 + (this.demoTickCount + DEMOTICKS_SEPERATION_CHAR);
var _local2 = 0;
while (_local2 < this.demoList.length) {
_local3 = _local3 + this.demoList[_local2];
_local3 = _local3 + DEMOFRAME_SEPERATION_CHAR;
_local2++;
}
if (0 < _local3.length) {
var _local4 = _local3.lastIndexOf(DEMOFRAME_SEPERATION_CHAR);
_local3 = _local3.substring(0, _local4);
}
return(_local3);
};
NinjaGame.prototype.RecordFrame_Complex = function (inList) {
if (3600 <= this.demoList.length) {
this.StopRecordingDemo();
return(undefined);
}
var _local4 = Number(inList[PINPUT_L]);
var _local3 = Number(inList[PINPUT_R]);
var _local5 = Number(inList[PINPUT_J]);
var _local6 = Number(inList[PINPUT_JTRIG]);
var _local7 = (((0 + (_local4 << BITSHIFT_L)) + (_local3 << BITSHIFT_R)) + (_local5 << BITSHIFT_J)) + (_local6 << BITSHIFT_JTRIG);
var _local8 = shiftList_Complex[this.demoCurShift];
this.demoList[this.demoList.length - 1] = this.demoList[this.demoList.length - 1] + (_local7 << _local8);
this.demoCurShift++;
if (NUM_BITPACKS_COMPLEX <= this.demoCurShift) {
this.demoList.push(0);
this.demoCurShift = 0;
}
this.demoTickCount++;
};
NinjaGame.prototype.GetInputState_DemoPlayback_Complex = function (inList) {
if (this.demoTickCount <= game.GetTime()) {
this.StopDemoPlayback();
return(undefined);
}
var _local2 = this.demoList[this.demoCurPlayEntry];
_local2 = _local2 >> shiftList_Complex[this.demoCurShift];
_local2 = _local2 & BITMASK_FRAME_COMPLEX;
var _local5 = _local2 & BITMASK_L;
var _local4 = _local2 & BITMASK_R;
var _local6 = _local2 & BITMASK_J;
var _local7 = _local2 & BITMASK_JTRIG;
inList[PINPUT_L] = Boolean(_local5);
inList[PINPUT_R] = Boolean(_local4);
inList[PINPUT_J] = Boolean(_local6);
inList[PINPUT_JTRIG] = Boolean(_local7);
this.demoCurShift++;
if (NUM_BITPACKS_COMPLEX <= this.demoCurShift) {
this.demoCurPlayEntry++;
this.demoCurShift = 0;
}
};
NinjaGame.prototype.InitLoadLevel = function (str) {
this.levStr = str;
var _local2 = this.levStr.split(LEVEL_SEPERATION_CHAR);
this.InitLoadMap(_local2[0]);
this.InitLoadObjects(_local2[1]);
};
NinjaGame.prototype.InitLoadMap = function (str) {
this.mapStr = str;
this.CUR_CHAR = 0;
this.NUM_ROWS = tiles.cols;
this.NUM_COLS = tiles.rows;
this.CUR_COL = 0;
this.CUR_ROW = 0;
this.MAP_LOADED = false;
};
NinjaGame.prototype.LoadingMap = function () {
if (this.NUM_ROWS <= this.CUR_ROW) {
this.CUR_COL++;
this.CUR_ROW = 0;
}
if (this.NUM_COLS <= this.CUR_COL) {
return(false);
}
tiles.SetTileState(this.CUR_COL, this.CUR_ROW, this.mapStr.charCodeAt(this.CUR_CHAR));
this.CUR_CHAR++;
this.CUR_ROW++;
return(true);
};
NinjaGame.prototype.InitLoadObjects = function (str) {
objects.Clear();
this.objStr = str;
if (0 < this.objStr.length) {
this.oStrArray = this.objStr.split(OBJECT_SEPERATION_CHAR);
var _local2 = 0;
while (_local2 < this.oStrArray.length) {
_local2++;
}
this.CURRENT_OBJ_LOADING = 0;
this.objParamList = new Array();
this.objUIDList = new Array();
} else {
this.CUR_OBJ_LOADING = 0;
this.oStrArray = new Array();
this.objParamList = new Array();
this.objUIDList = new Array();
}
};
NinjaGame.prototype.InitReloadObjects = function () {
this.InitLoadObjects(this.objStr);
};
NinjaGame.prototype.LoadingObjects = function () {
if (this.CURRENT_OBJ_LOADING < this.oStrArray.length) {
var _local4 = this.oStrArray[this.CURRENT_OBJ_LOADING].split(OBJTYPE_SEPERATION_CHAR);
var _local2 = _local4[1].split(OBJPARAM_SEPERATION_CHAR);
for (var _local3 in _local2) {
_local2[_local3] = Number(_local2[_local3]);
}
this.objUIDList.push(objects.SpawnGameObject(Number(_local4[0]), _local2));
this.objParamList.push(_local2);
this.CURRENT_OBJ_LOADING++;
return(true);
}
return(false);
};
function NinjaEditor() {
}
EOBJTYPE_GOLD = 0;
EOBJTYPE_BOUNCEBLOCK = 1;
EOBJTYPE_LAUNCHPAD = 2;
EOBJTYPE_TURRET = 3;
EOBJTYPE_FLOORGUARD = 4;
EOBJTYPE_PLAYER = 5;
EOBJTYPE_MINE = 6;
EOBJTYPE_ONEWAYPLATFORM = 7;
EOBJTYPE_THWOMP = 8;
EOBJTYPE_EXIT = 9;
EOBJTYPE_HOMINGLAUNCHER = 10;
EOBJTYPE_TREKDOOR = 11;
EOBJTYPE_LOCKDOOR = 12;
EOBJTYPE_TRAPDOOR = 13;
EOBJTYPE_ZAPDRONE = 14;
EOBJTYPE_LASERDRONE = 15;
EOBJTYPE_CHAINGUNDRONE = 16;
NinjaEditor.prototype.Init = function () {
this.levStr = "";
this.mapStr = "";
this.objStr = "";
this.gridrend = new VectorRenderer();
var _local2 = gfx.CreateEmptySprite(LAYER_EDITOR);
gfx.DestroyMC(this.gridrend.buffer);
this.gridrend.buffer = _local2;
this.gridAlpha = 40;
this.gridmode = 0;
this.doorrendList = new Array();
this.doortrigsvis = true;
this.selrend = new VectorRenderer();
this.tilemode = 0;
this.tilemin = new Vector2(0, 0);
this.tilemax = new Vector2(0, 0);
this.tilesel_start = null;
this.tilesel_end = null;
this.rend = new VectorRenderer();
this.objList = new Array();
this.objnum = 0;
this.pointer = gfx.CreateSprite("editorCursor", LAYER_EDITORGUI);
this.pointer._visible = false;
this.objMenuMC = gfx.CreateSprite("editorObjMenuMC", LAYER_EDITORGUI);
this.objMenuMC._x = 0;
this.objMenuMC._y = 0;
this.objMenuMC._visible = false;
this.tileMenuMC = gfx.CreateSprite("editorTileMenuMC", LAYER_EDITORGUI);
this.tileMenuMC._x = 100;
this.tileMenuMC._y = 0;
this.tileMenuMC._visible = false;
this.setObjTypeKeys = new Object();
this.setObjTypeKeys[EOBJTYPE_GOLD] = 48;
this.setObjTypeKeys[EOBJTYPE_BOUNCEBLOCK] = 189;
this.setObjTypeKeys[EOBJTYPE_LAUNCHPAD] = 187;
this.setObjTypeKeys[EOBJTYPE_TURRET] = 49;
this.setObjTypeKeys[EOBJTYPE_FLOORGUARD] = 52;
this.setObjTypeKeys[EOBJTYPE_PLAYER] = 57;
this.setObjTypeKeys[EOBJTYPE_MINE] = 51;
this.setObjTypeKeys[EOBJTYPE_ONEWAYPLATFORM] = 219;
this.setObjTypeKeys[EOBJTYPE_THWOMP] = 53;
this.setObjTypeKeys[EOBJTYPE_EXIT] = 221;
this.setObjTypeKeys[EOBJTYPE_HOMINGLAUNCHER] = 50;
this.setObjTypeKeys[EOBJTYPE_TREKDOOR] = 73;
this.setObjTypeKeys[EOBJTYPE_LOCKDOOR] = 79;
this.setObjTypeKeys[EOBJTYPE_TRAPDOOR] = 80;
this.setObjTypeKeys[EOBJTYPE_ZAPDRONE] = 54;
this.setObjTypeKeys[EOBJTYPE_LASERDRONE] = 55;
this.setObjTypeKeys[EOBJTYPE_CHAINGUNDRONE] = 56;
this.currentEOBJTYPE = EOBJTYPE_GOLD;
this.currentOBJTYPE = OBJTYPE_GOLD;
this.objTypes = new Object();
this.objTypes[EOBJTYPE_GOLD] = OBJTYPE_GOLD;
this.objTypes[EOBJTYPE_BOUNCEBLOCK] = OBJTYPE_BOUNCEBLOCK;
this.objTypes[EOBJTYPE_LAUNCHPAD] = OBJTYPE_LAUNCHPAD;
this.objTypes[EOBJTYPE_TURRET] = OBJTYPE_TURRET;
this.objTypes[EOBJTYPE_FLOORGUARD] = OBJTYPE_FLOORGUARD;
this.objTypes[EOBJTYPE_PLAYER] = OBJTYPE_PLAYER;
this.objTypes[EOBJTYPE_MINE] = OBJTYPE_MINE;
this.objTypes[EOBJTYPE_ONEWAYPLATFORM] = OBJTYPE_ONEWAYPLATFORM;
this.objTypes[EOBJTYPE_THWOMP] = OBJTYPE_THWOMP;
this.objTypes[EOBJTYPE_EXIT] = OBJTYPE_EXIT;
this.objTypes[EOBJTYPE_HOMINGLAUNCHER] = OBJTYPE_HOMINGLAUNCHER;
this.objTypes[EOBJTYPE_TREKDOOR] = OBJTYPE_TESTDOOR;
this.objTypes[EOBJTYPE_LOCKDOOR] = OBJTYPE_TESTDOOR;
this.objTypes[EOBJTYPE_TRAPDOOR] = OBJTYPE_TESTDOOR;
this.objTypes[EOBJTYPE_ZAPDRONE] = OBJTYPE_DRONE;
this.objTypes[EOBJTYPE_LASERDRONE] = OBJTYPE_DRONE;
this.objTypes[EOBJTYPE_CHAINGUNDRONE] = OBJTYPE_DRONE;
this.tileTypeList = new Object();
this.tileTypeList[1] = new Array(TID_45DEGnn, TID_45DEGnp, TID_45DEGpp, TID_45DEGpn);
this.tileTypeList[2] = new Array(TID_67DEGnnS, TID_67DEGnpS, TID_67DEGppS, TID_67DEGpnS);
this.tileTypeList[3] = new Array(TID_22DEGnnS, TID_22DEGnpS, TID_22DEGppS, TID_22DEGpnS);
this.tileTypeList[4] = new Array(TID_CONCAVEnn, TID_CONCAVEnp, TID_CONCAVEpp, TID_CONCAVEpn);
this.tileTypeList[5] = new Array(TID_HALFl, TID_HALFd, TID_HALFr, TID_HALFu);
this.tileTypeList[6] = new Array(TID_67DEGnnB, TID_67DEGnpB, TID_67DEGppB, TID_67DEGpnB);
this.tileTypeList[7] = new Array(TID_22DEGnnB, TID_22DEGnpB, TID_22DEGppB, TID_22DEGpnB);
this.tileTypeList[8] = new Array(TID_CONVEXnn, TID_CONVEXnp, TID_CONVEXpp, TID_CONVEXpn);
this.tileCurType = 1;
this.MUST_BUILD_EDIT_OBJS = false;
};
NinjaEditor.prototype.Destruct = function () {
this.rend.Kill();
delete this.rend;
this.gridrend.Kill();
delete this.gridrend;
delete this.doorrendList;
this.selrend.Kill();
delete this.selrend;
gfx.DestroyMC(this.pointer);
delete this.pointer;
gfx.DestroyMC(this.objMenuMC);
delete this.objMenuMC;
gfx.DestroyMC(this.tileMenuMC);
delete this.tileMenuMC;
for (var _local2 in this.objList) {
gfx.DestroyMC(this.objList[_local2][EDITRECORD_MC]);
gfx.DestroyMC(this.objList[_local2][EDITRECORD_MC2]);
delete this.objList[_local2];
}
delete this.objList;
};
NinjaEditor.prototype.Start = function () {
this.rend.Show();
this.gridrend.Show();
this.selrend.Show();
this.gridmode = 0;
this.MUST_BUILD_EDIT_OBJS = true;
for (var _local2 in this.objList) {
this.objList[_local2][EDITRECORD_MC]._visible = true;
this.objList[_local2][EDITRECORD_MC2]._visible = true;
}
this.StartEditMenu();
};
NinjaEditor.prototype.Exit = function () {
this.rend.Clear();
this.gridrend.Clear();
this.selrend.Clear();
this.rend.Hide();
this.gridrend.Hide();
this.selrend.Hide();
this.pointer._visible = false;
this.objMenuMC._visible = false;
this.tileMenuMC_visible = false;
this.SetTxtBox(this.DumpData());
this.MUST_BUILD_EDIT_OBJS = false;
this.SpawnGameObjects();
for (var _local3 in this.objList) {
this.objList[_local3][EDITRECORD_MC]._visible = false;
this.objList[_local3][EDITRECORD_MC2]._visible = false;
}
var _local2;
for (var _local3 in this.objList) {
_local2 = this.objList.pop();
gfx.DestroyMC(_local2[EDITRECORD_MC]);
DestroyMC(_local2[EDITRECORD_MC2]);
}
};
NinjaEditor.prototype.SetTxtBox = function (str) {
gui.SetTxt(TXTBOX_TOP, str);
};
NinjaEditor.prototype.GetTxtBox = function () {
var _local1 = gui.GetTxt(TXTBOX_TOP);
return(_local1);
};
NinjaEditor.prototype.DumpData = function () {
this.SpawnGameObjects();
var _local2 = game.DumpLevelData();
objects.Clear();
return(_local2);
};
NinjaEditor.prototype.LoadData = function (levStr) {
this.MUST_BUILD_EDIT_OBJS = true;
App_LoadLevel_Raw(levStr, App_StartEditor);
};
NinjaEditor.prototype.LoadObjData = function (objStr) {
var _local3;
for (var _local5 in this.objList) {
_local3 = this.objList.pop();
gfx.DestroyMC(_local3[EDITRECORD_MC]);
DestroyMC(_local3[EDITRECORD_MC2]);
}
objects.Clear();
this.objStr = objStr;
var _local4;
if (0 < this.objStr.length) {
_local4 = this.objStr.split(OBJECT_SEPERATION_CHAR);
this.CURRENT_OBJ_LOADING = 0;
} else {
this.CURRENT_OBJ_LOADING = 0;
return(undefined);
}
while (this.CURRENT_OBJ_LOADING < _local4.length) {
_local3 = _local4[this.CURRENT_OBJ_LOADING].split(OBJTYPE_SEPERATION_CHAR);
var _local2 = _local3[1].split(OBJPARAM_SEPERATION_CHAR);
for (var _local5 in _local2) {
_local2[_local5] = Number(_local2[_local5]);
}
this.BuildEditObj(Number(_local3[0]), _local2);
this.CURRENT_OBJ_LOADING++;
}
};
NinjaEditor.prototype.StartEditMenu = function () {
this.StopEdit();
this.Tick = this.TickEditMenu;
gui.Display(GUI_TEMP_EDITOR);
};
NinjaEditor.prototype.TickEditMenu = function () {
if (this.MUST_BUILD_EDIT_OBJS) {
this.MUST_BUILD_EDIT_OBJS = false;
this.LoadObjData(game.DumpObjData());
}
if (Key.isDown(192) || (Key.isDown(220))) {
APP_KEY_TRIG = false;
this.Exit();
var _local2 = gui.GetTxt(TXTBOX_TOP);
App_LoadLevel_Raw(_local2, App_StartDebugMenu);
return(undefined);
}
if (Key.isDown(33)) {
this.LoadData(this.GetTxtBox());
} else if (Key.isDown(34)) {
this.SetTxtBox(this.DumpData());
} else if (Key.isDown(45) || (Key.isDown(96))) {
this.StopEdit();
this.StartEditObjects();
} else if (Key.isDown(46) || (Key.isDown(110))) {
this.StopEdit();
this.StartEditTiles();
}
};
NinjaEditor.prototype.TickGrid = function () {
if (Key.isDown(86) && (this.gridmode != 0)) {
this.gridmode = 0;
this.gridrend.Clear();
this.gridrend.Hide();
} else if (Key.isDown(70) && (this.gridmode != 1)) {
this.gridmode = 1;
this.gridrend.Clear();
this.gridrend.Show();
this.DrawGrid_1();
this.DrawGrid_0();
} else if (Key.isDown(76) && (this.gridmode != 2)) {
this.gridmode = 2;
this.gridrend.Clear();
this.gridrend.Show();
this.DrawGrid_2();
this.DrawGrid_0();
this.DrawGrid_0();
} else if (Key.isDown(72) && (this.gridmode != 3)) {
this.gridmode = 3;
this.gridrend.Clear();
this.gridrend.Show();
this.DrawGrid_3();
this.DrawGrid_0();
} else if (Key.isDown(75) && (this.gridmode != 4)) {
this.gridmode = 4;
this.gridrend.Clear();
this.gridrend.Show();
this.DrawGrid_4();
this.DrawGrid_0();
this.DrawGrid_0();
} else if (Key.isDown(74) && (this.gridmode != 5)) {
this.gridmode = 5;
this.gridrend.Clear();
this.gridrend.Show();
this.DrawGrid_5();
this.DrawGrid_0();
} else if (Key.isDown(71) && (this.gridmode != 6)) {
this.gridmode = 6;
this.gridrend.Clear();
this.gridrend.Show();
this.DrawGrid_6();
this.DrawGrid_0();
} else if (Key.isDown(66) && (this.gridmode != 7)) {
this.gridmode = 7;
this.gridrend.Clear();
this.gridrend.Show();
this.DrawGrid_7();
} else if (Key.isDown(78) && (this.gridmode != 8)) {
this.gridmode = 8;
this.gridrend.Clear();
this.gridrend.Show();
this.DrawGrid_8();
} else if (Key.isDown(77) && (this.gridmode != 9)) {
this.gridmode = 9;
this.gridrend.Clear();
this.gridrend.Show();
this.DrawGrid_9();
}
};
NinjaEditor.prototype.DrawGrid_0 = function () {
var _local2 = APP_TILE_SCALE * 2;
var _local5 = APP_NUM_GRIDCOLS + 2;
var _local6 = APP_NUM_GRIDROWS + 2;
var _local8 = _local5 * _local2;
var _local7 = _local6 * _local2;
this.gridrend.SetStyle(0, 16777215, this.gridAlpha);
var _local10 = Math.floor(_local5 / 2);
var _local9 = Math.floor(_local6 / 2);
var _local4 = _local10 * _local2;
var _local3 = _local9 * _local2;
this.gridrend.DrawLine_S(0, _local3, _local8, _local3);
this.gridrend.DrawLine_S(_local4, 0, _local4, _local7);
this.gridrend.DrawLine_S(0, _local3 + _local2, _local8, _local3 + _local2);
this.gridrend.DrawLine_S(_local4 + _local2, 0, _local4 + _local2, _local7);
};
NinjaEditor.prototype.DrawGrid_1 = function () {
var _local2 = APP_TILE_SCALE * 2;
var _local10 = APP_NUM_GRIDCOLS + 2;
var _local12 = APP_NUM_GRIDROWS + 2;
var _local8 = _local10 * _local2;
var _local7 = _local12 * _local2;
this.gridrend.SetStyle(0, 11184810, this.gridAlpha);
var _local11 = Math.floor(_local10 / 4);
var _local9 = Math.floor(_local12 / 4);
var _local6 = _local11 * _local2;
var _local4 = _local9 * _local2;
this.gridrend.DrawLine_S(0, _local4, _local8, _local4);
this.gridrend.DrawLine_S(_local6, 0, _local6, _local7);
this.gridrend.DrawLine_S(0, _local4 + _local2, _local8, _local4 + _local2);
this.gridrend.DrawLine_S(_local6 + _local2, 0, _local6 + _local2, _local7);
var _local5 = (_local11 * 3) * _local2;
var _local3 = (_local9 * 3) * _local2;
this.gridrend.DrawLine_S(0, _local3, _local8, _local3);
this.gridrend.DrawLine_S(_local5, 0, _local5, _local7);
this.gridrend.DrawLine_S(0, _local3 + _local2, _local8, _local3 + _local2);
this.gridrend.DrawLine_S(_local5 + _local2, 0, _local5 + _local2, _local7);
};
NinjaEditor.prototype.DrawGrid_2 = function () {
var _local4 = APP_TILE_SCALE * 2;
var _local8 = APP_NUM_GRIDCOLS + 2;
var _local9 = APP_NUM_GRIDROWS + 2;
var _local11 = _local8 * _local4;
var _local10 = _local9 * _local4;
var _local2 = 0;
while (_local2 < _local8) {
var _local5 = 0;
if (_local2 < 16) {
_local5 = 1;
}
var _local3 = 0;
if (((_local2 + _local5) % 2) == 0) {
this.gridrend.SetStyle(0, 11184810, this.gridAlpha);
} else {
this.gridrend.SetStyle(0, 14540253, this.gridAlpha);
_local3 = _local4;
}
var _local7 = _local2 * _local4;
this.gridrend.DrawLine_S(_local7, _local3, _local7, _local10 - _local3);
_local2++;
}
_local2 = 0;
while (_local2 < _local9) {
var _local5 = 0;
if (_local2 < 12) {
_local5 = 1;
}
var _local3 = 0;
if (((_local2 + _local5) % 2) == 0) {
this.gridrend.SetStyle(0, 11184810, this.gridAlpha);
} else {
this.gridrend.SetStyle(0, 14540253, this.gridAlpha);
_local3 = _local4;
}
var _local6 = _local2 * _local4;
this.gridrend.DrawLine_S(_local3, _local6, _local11 - _local3, _local6);
_local2++;
}
};
NinjaEditor.prototype.DrawGrid_3 = function () {
var _local2 = APP_TILE_SCALE * 2;
var _local10 = APP_NUM_GRIDCOLS + 2;
var _local11 = APP_NUM_GRIDROWS + 2;
var _local9 = _local10 * _local2;
var _local8 = _local11 * _local2;
this.gridrend.SetStyle(0, 11184810, this.gridAlpha);
var _local6 = new Array();
_local6[1] = 1;
_local6[3] = 2;
_local6[5] = 1;
_local6[7] = 2;
_local6[9] = 1;
_local6[11] = 2;
_local6[13] = 1;
_local6[15] = 2;
_local6[17] = 2;
_local6[19] = 1;
_local6[21] = 2;
_local6[23] = 1;
_local6[25] = 2;
_local6[27] = 1;
_local6[29] = 2;
_local6[31] = 1;
var _local7 = new Array();
_local7[1] = 1;
_local7[3] = 2;
_local7[5] = 1;
_local7[7] = 2;
_local7[9] = 1;
_local7[11] = 2;
_local7[13] = 2;
_local7[15] = 1;
_local7[17] = 2;
_local7[19] = 1;
_local7[21] = 2;
_local7[23] = 1;
var _local3 = 0;
while (_local3 < _local10) {
if (_local6[_local3] == 1) {
var _local5 = _local3 * _local2;
this.gridrend.DrawLine_S(_local5, 0, _local5, _local8);
this.gridrend.DrawLine_S(_local5 + _local2, 0, _local5 + _local2, _local8);
}
_local3++;
}
_local3 = 0;
while (_local3 < _local11) {
if (_local7[_local3] == 1) {
var _local4 = _local3 * _local2;
this.gridrend.DrawLine_S(0, _local4, _local9, _local4);
this.gridrend.DrawLine_S(0, _local4 + _local2, _local9, _local4 + _local2);
}
_local3++;
}
};
NinjaEditor.prototype.DrawGrid_4 = function () {
var _local2 = APP_TILE_SCALE * 2;
var _local10 = APP_NUM_GRIDCOLS + 2;
var _local11 = APP_NUM_GRIDROWS + 2;
var _local9 = _local10 * _local2;
var _local8 = _local11 * _local2;
this.gridrend.SetStyle(0, 11184810, this.gridAlpha);
var _local6 = new Array();
_local6[1] = 1;
_local6[3] = 2;
_local6[5] = 1;
_local6[7] = 2;
_local6[9] = 1;
_local6[11] = 2;
_local6[13] = 1;
_local6[15] = 2;
_local6[17] = 2;
_local6[19] = 1;
_local6[21] = 2;
_local6[23] = 1;
_local6[25] = 2;
_local6[27] = 1;
_local6[29] = 2;
_local6[31] = 1;
var _local7 = new Array();
_local7[1] = 1;
_local7[3] = 2;
_local7[5] = 1;
_local7[7] = 2;
_local7[9] = 1;
_local7[11] = 2;
_local7[13] = 2;
_local7[15] = 1;
_local7[17] = 2;
_local7[19] = 1;
_local7[21] = 2;
_local7[23] = 1;
var _local3 = 0;
while (_local3 < _local10) {
if (_local6[_local3] == 2) {
var _local5 = _local3 * _local2;
this.gridrend.DrawLine_S(_local5, 0, _local5, _local8);
this.gridrend.DrawLine_S(_local5 + _local2, 0, _local5 + _local2, _local8);
}
_local3++;
}
_local3 = 0;
while (_local3 < _local11) {
if (_local7[_local3] == 2) {
var _local4 = _local3 * _local2;
this.gridrend.DrawLine_S(0, _local4, _local9, _local4);
this.gridrend.DrawLine_S(0, _local4 + _local2, _local9, _local4 + _local2);
}
_local3++;
}
};
NinjaEditor.prototype.DrawGrid_5 = function () {
var _local2 = APP_TILE_SCALE * 2;
var _local10 = APP_NUM_GRIDCOLS + 2;
var _local11 = APP_NUM_GRIDROWS + 2;
var _local9 = _local10 * _local2;
var _local8 = _local11 * _local2;
this.gridrend.SetStyle(0, 11184810, this.gridAlpha);
var _local6 = new Array();
_local6[0] = 1;
_local6[2] = 2;
_local6[4] = 1;
_local6[6] = 2;
_local6[8] = 1;
_local6[10] = 2;
_local6[12] = 1;
_local6[14] = 2;
_local6[18] = 2;
_local6[20] = 1;
_local6[22] = 2;
_local6[24] = 1;
_local6[26] = 2;
_local6[28] = 1;
_local6[30] = 2;
_local6[32] = 1;
var _local7 = new Array();
_local7[0] = 1;
_local7[2] = 2;
_local7[4] = 1;
_local7[6] = 2;
_local7[8] = 1;
_local7[10] = 2;
_local7[14] = 2;
_local7[16] = 1;
_local7[18] = 2;
_local7[20] = 1;
_local7[22] = 2;
_local7[24] = 1;
var _local3 = 0;
while (_local3 < _local10) {
if (_local6[_local3] == 2) {
var _local5 = _local3 * _local2;
this.gridrend.DrawLine_S(_local5, 0, _local5, _local8);
this.gridrend.DrawLine_S(_local5 + _local2, 0, _local5 + _local2, _local8);
}
_local3++;
}
_local3 = 0;
while (_local3 < _local11) {
if (_local7[_local3] == 2) {
var _local4 = _local3 * _local2;
this.gridrend.DrawLine_S(0, _local4, _local9, _local4);
this.gridrend.DrawLine_S(0, _local4 + _local2, _local9, _local4 + _local2);
}
_local3++;
}
};
NinjaEditor.prototype.DrawGrid_6 = function () {
var _local2 = APP_TILE_SCALE * 2;
var _local10 = APP_NUM_GRIDCOLS + 2;
var _local11 = APP_NUM_GRIDROWS + 2;
var _local9 = _local10 * _local2;
var _local8 = _local11 * _local2;
this.gridrend.SetStyle(0, 11184810, this.gridAlpha);
var _local6 = new Array();
_local6[0] = 1;
_local6[2] = 2;
_local6[4] = 1;
_local6[6] = 2;
_local6[8] = 1;
_local6[10] = 2;
_local6[12] = 1;
_local6[14] = 2;
_local6[18] = 2;
_local6[20] = 1;
_local6[22] = 2;
_local6[24] = 1;
_local6[26] = 2;
_local6[28] = 1;
_local6[30] = 2;
_local6[32] = 1;
var _local7 = new Array();
_local7[0] = 1;
_local7[2] = 2;
_local7[4] = 1;
_local7[6] = 2;
_local7[8] = 1;
_local7[10] = 2;
_local7[14] = 2;
_local7[16] = 1;
_local7[18] = 2;
_local7[20] = 1;
_local7[22] = 2;
_local7[24] = 1;
var _local3 = 0;
while (_local3 < _local10) {
if (_local6[_local3] == 1) {
var _local5 = _local3 * _local2;
this.gridrend.DrawLine_S(_local5, 0, _local5, _local8);
this.gridrend.DrawLine_S(_local5 + _local2, 0, _local5 + _local2, _local8);
}
_local3++;
}
_local3 = 0;
while (_local3 < _local11) {
if (_local7[_local3] == 1) {
var _local4 = _local3 * _local2;
this.gridrend.DrawLine_S(0, _local4, _local9, _local4);
this.gridrend.DrawLine_S(0, _local4 + _local2, _local9, _local4 + _local2);
}
_local3++;
}
};
NinjaEditor.prototype.DrawGrid_7 = function () {
var _local5 = APP_TILE_SCALE * 2;
var _local11 = APP_NUM_GRIDCOLS + 2;
var _local12 = APP_NUM_GRIDROWS + 2;
var _local10 = _local11 * _local5;
var _local9 = _local12 * _local5;
this.gridrend.SetStyle(0, 16777215, this.gridAlpha);
var _local8 = _local10 / 2;
var _local7 = _local9 / 2;
this.gridrend.DrawLine_S(0, _local7, _local10, _local7);
this.gridrend.DrawLine_S(_local8, 0, _local8, _local9);
var _local3 = new Array();
_local3[1] = 1;
_local3[3] = 2;
_local3[5] = 1;
_local3[7] = 2;
_local3[9] = 1;
_local3[11] = 2;
_local3[13] = 1;
_local3[15] = 2;
_local3[17] = 2;
_local3[19] = 1;
_local3[21] = 2;
_local3[23] = 1;
_local3[25] = 2;
_local3[27] = 1;
_local3[29] = 2;
_local3[31] = 1;
var _local6 = new Array();
_local6[1] = 1;
_local6[3] = 2;
_local6[5] = 1;
_local6[7] = 2;
_local6[9] = 1;
_local6[11] = 2;
_local6[13] = 2;
_local6[15] = 1;
_local6[17] = 2;
_local6[19] = 1;
_local6[21] = 2;
_local6[23] = 1;
var _local2 = 0;
for ( ; _local2 < _local11 ; _local2++) {
var _local4 = 0;
if (_local3[_local2] == 1) {
this.gridrend.SetStyle(0, 14540253, this.gridAlpha);
_local4 = _local5;
} else if (_local3[_local2] == 2) {
this.gridrend.SetStyle(0, 11184810, this.gridAlpha);
} else {
continue;
}
_local8 = (_local2 * _local5) + APP_TILE_SCALE;
this.gridrend.DrawLine_S(_local8, _local4, _local8, _local9 - _local4);
}
_local2 = 0;
for ( ; _local2 < _local12 ; _local2++) {
var _local4 = 0;
if (_local6[_local2] == 1) {
this.gridrend.SetStyle(0, 14540253, this.gridAlpha);
_local4 = _local5;
} else if (_local6[_local2] == 2) {
this.gridrend.SetStyle(0, 11184810, this.gridAlpha);
} else {
continue;
}
_local7 = (_local2 * _local5) + APP_TILE_SCALE;
this.gridrend.DrawLine_S(_local4, _local7, _local10 - _local4, _local7);
}
};
NinjaEditor.prototype.DrawGrid_8 = function () {
var _local5 = APP_TILE_SCALE * 2;
var _local11 = APP_NUM_GRIDCOLS + 2;
var _local12 = APP_NUM_GRIDROWS + 2;
var _local10 = _local11 * _local5;
var _local9 = _local12 * _local5;
this.gridrend.SetStyle(0, 16777215, this.gridAlpha);
var _local8 = _local10 / 2;
var _local7 = _local9 / 2;
this.gridrend.DrawLine_S(0, _local7, _local10, _local7);
this.gridrend.DrawLine_S(_local8, 0, _local8, _local9);
var _local3 = new Array();
_local3[0] = 1;
_local3[2] = 2;
_local3[4] = 1;
_local3[6] = 2;
_local3[8] = 1;
_local3[10] = 2;
_local3[12] = 1;
_local3[14] = 2;
_local3[18] = 2;
_local3[20] = 1;
_local3[22] = 2;
_local3[24] = 1;
_local3[26] = 2;
_local3[28] = 1;
_local3[30] = 2;
_local3[32] = 1;
var _local6 = new Array();
_local6[0] = 1;
_local6[2] = 2;
_local6[4] = 1;
_local6[6] = 2;
_local6[8] = 1;
_local6[10] = 2;
_local6[14] = 2;
_local6[16] = 1;
_local6[18] = 2;
_local6[20] = 1;
_local6[22] = 2;
_local6[24] = 1;
var _local2 = 1;
for ( ; _local2 < (_local11 - 1) ; _local2++) {
var _local4 = 0;
if (_local3[_local2] == 1) {
this.gridrend.SetStyle(0, 14540253, this.gridAlpha);
_local4 = _local5;
} else if (_local3[_local2] == 2) {
this.gridrend.SetStyle(0, 11184810, this.gridAlpha);
} else {
continue;
}
_local8 = (_local2 * _local5) + APP_TILE_SCALE;
this.gridrend.DrawLine_S(_local8, _local4, _local8, _local9 - _local4);
}
_local2 = 1;
for ( ; _local2 < (_local12 - 1) ; _local2++) {
var _local4 = 0;
if (_local6[_local2] == 1) {
this.gridrend.SetStyle(0, 14540253, this.gridAlpha);
_local4 = _local5;
} else if (_local6[_local2] == 2) {
this.gridrend.SetStyle(0, 11184810, this.gridAlpha);
} else {
continue;
}
_local7 = (_local2 * _local5) + APP_TILE_SCALE;
this.gridrend.DrawLine_S(_local4, _local7, _local10 - _local4, _local7);
}
};
NinjaEditor.prototype.DrawGrid_9 = function () {
var _local4 = APP_TILE_SCALE * 2;
var _local7 = APP_NUM_GRIDCOLS + 2;
var _local8 = APP_NUM_GRIDROWS + 2;
var _local6 = _local7 * _local4;
var _local5 = _local8 * _local4;
var _local2 = 1;
while (_local2 < (_local7 - 1)) {
var _local3 = 0;
if ((_local2 % 2) == 0) {
this.gridrend.SetStyle(0, 11184810, this.gridAlpha);
} else {
this.gridrend.SetStyle(0, 14540253, this.gridAlpha);
_local3 = _local4;
}
var _local10 = (_local2 * _local4) + APP_TILE_SCALE;
this.gridrend.DrawLine_S(_local10, _local3, _local10, _local5 - _local3);
_local2++;
}
_local2 = 1;
while (_local2 < (_local8 - 1)) {
var _local3 = 0;
if ((_local2 % 2) == 0) {
this.gridrend.SetStyle(0, 11184810, this.gridAlpha);
} else {
this.gridrend.SetStyle(0, 14540253, this.gridAlpha);
_local3 = _local4;
}
var _local9 = (_local2 * _local4) + APP_TILE_SCALE;
this.gridrend.DrawLine_S(_local3, _local9, _local6 - _local3, _local9);
_local2++;
}
this.gridrend.SetStyle(0, 16777215, this.gridAlpha);
var _local10 = _local6 / 2;
var _local9 = _local5 / 2;
this.gridrend.DrawLine_S(0, _local9, _local6, _local9);
this.gridrend.DrawLine_S(_local10, 0, _local10, _local5);
this.gridrend.DrawLine_S(0, _local9, _local6, _local9);
this.gridrend.DrawLine_S(_local10, 0, _local10, _local5);
};
NinjaEditor.prototype.StartEditTiles = function () {
gui.Display(GUI_TILE_EDITOR);
gui.HideTxt();
this.tileCurType = 1;
this.pointer.txt = "";
this.pointer._visible = false;
this.objMenuMC._visible = false;
this.tileMenuMC._visible = true;
this.tileMenuMC.gotoAndStop(1);
this.pointer.objhelp._visible = false;
this.RefreshTileMenu();
this.Tick = this.TickEditTiles;
this.StopEdit = this.StopEditTiles;
this.StartTileMode_Paint();
this.selrend.Clear();
this.selrend.Show();
};
NinjaEditor.prototype.StopEditTiles = function () {
this.pointer._visible = false;
this.objMenuMC._visible = false;
this.tileMenuMC._visible = false;
this.selrend.Hide();
};
NinjaEditor.prototype.RefreshTileMenu = function () {
var _local2 = input.getMousePos();
if (_local2.y < 300) {
this.tileMenuMC._y = 450;
} else {
this.tileMenuMC._y = 150;
}
};
NinjaEditor.prototype.TickEditTiles = function () {
this.TickGrid();
if (Key.isDown(36)) {
this.StartEditMenu();
return(undefined);
}
if (Key.isDown(45) || (Key.isDown(96))) {
this.StopEdit();
this.StartEditObjects();
}
this.TickCurrentTileMode();
};
NinjaEditor.prototype.StartTileMode_Paint = function () {
this.TickCurrentTileMode = this.TickCurrentTileMode_Paint;
this.tilemin.x = (this.tilemin.y = (this.tilemax.x = (this.tilemax.y = -1)));
this.selrend.Clear();
this.tileMenuMC._visible = true;
this.RefreshTileMenu();
};
NinjaEditor.prototype.TickCurrentTileMode_Paint = function () {
if (input.MousePressed()) {
this.StartTileMode_ClipBoard();
return(undefined);
}
var _local3 = input.getMousePos();
var _local5 = APP_TILE_SCALE * 2;
_local3.x = Math.min(792 - (_local5 + 1), Math.max(_local5, _local3.x));
_local3.y = Math.min(600 - (_local5 + 1), Math.max(_local5, _local3.y));
var _local2 = tiles.GetTile_V(_local3);
this.rend.Clear();
this.rend.SetStyle(0, 0, 30);
this.rend.DrawAABB(_local2.pos, _local2.xw, _local2.yw);
var _local6 = new Vector2(_local3.x, _local3.y);
this.pointer._x = _local6.x;
this.pointer._y = _local6.y;
this.RefreshTileMenu();
if (Key.isDown(49)) {
this.tileCurType = 1;
} else if (Key.isDown(50)) {
this.tileCurType = 2;
} else if (Key.isDown(51)) {
this.tileCurType = 3;
} else if (Key.isDown(52)) {
this.tileCurType = 4;
} else if (Key.isDown(53)) {
this.tileCurType = 5;
} else if (Key.isDown(54)) {
this.tileCurType = 6;
} else if (Key.isDown(55)) {
this.tileCurType = 7;
} else if (Key.isDown(56)) {
this.tileCurType = 8;
}
if (Key.isDown(16)) {
if (this.tileCurType <= 4) {
var _local4 = this.tileCurType + 4;
} else {
var _local4 = this.tileCurType - 4;
}
} else {
var _local4 = this.tileCurType;
}
this.tileMenuMC.gotoAndStop(_local4);
if (Key.isDown(68)) {
_local2.Clear();
} else if (Key.isDown(69)) {
_local2.SetState(TID_FULL);
} else if (Key.isDown(81)) {
_local2.SetState(this.tileTypeList[_local4][0]);
} else if (Key.isDown(65)) {
_local2.SetState(this.tileTypeList[_local4][1]);
} else if (Key.isDown(83)) {
_local2.SetState(this.tileTypeList[_local4][2]);
} else if (Key.isDown(87)) {
_local2.SetState(this.tileTypeList[_local4][3]);
}
};
NinjaEditor.prototype.StartTileMode_ClipBoard = function () {
this.TickCurrentTileMode = this.TickCurrentTileMode_ClipBoard;
this.tilemode = 0;
var _local2 = input.getMousePos();
var _local3 = APP_TILE_SCALE * 2;
_local2.x = Math.min(792 - (_local3 + 1), Math.max(_local3, _local2.x));
_local2.y = Math.min(600 - (_local3 + 1), Math.max(_local3, _local2.y));
var _local4 = tiles.GetTile_V(_local2);
this.tilesel_start = _local4;
this.tilesel_end = null;
this.tilemin.x = (this.tilemin.y = (this.tilemax.x = (this.tilemax.y = -1)));
this.tilesel_iw = 0;
this.tilesel_jw = 0;
this.selrend.Clear();
this.RefreshTileMenu();
this.tileMenuMC.gotoAndStop(9);
};
NinjaEditor.prototype.TickCurrentTileMode_ClipBoard = function () {
this.RefreshTileMenu();
var _local8 = input.getMousePos();
var _local9 = APP_TILE_SCALE * 2;
_local8.x = Math.min(792 - (_local9 + 1), Math.max(_local9, _local8.x));
_local8.y = Math.min(600 - (_local9 + 1), Math.max(_local9, _local8.y));
var _local7 = tiles.GetTile_V(_local8);
this.rend.Clear();
this.rend.SetStyle(0, 0, 30);
this.rend.DrawAABB(_local7.pos, _local7.xw, _local7.yw);
var _local10 = new Vector2(_local8.x, _local8.y);
this.pointer._x = _local10.x;
this.pointer._y = _local10.y;
if (input.MousePressed()) {
this.StartTileMode_ClipBoard();
} else if (input.MouseDown()) {
var _local14 = this.tilesel_start.pos.x - _local7.pos.x;
var _local13 = this.tilesel_start.pos.y - _local7.pos.y;
var _local15 = Math.abs(_local14);
var _local17 = Math.abs(_local13);
this.selrend.Clear();
this.selrend.SetStyle(3, 16777215, 30);
var _local16 = new Vector2(_local7.pos.x + (0.5 * _local14), _local7.pos.y + (0.5 * _local13));
this.selrend.DrawAABB(_local16, (0.5 * _local15) + _local7.xw, (0.5 * _local17) + _local7.yw);
} else if (input.MouseReleased()) {
this.tilesel_end = _local7;
if (this.tilesel_start == this.tilesel_end) {
this.StartTileMode_Paint();
return(undefined);
}
this.tilemode = 1;
this.tilemin.x = Math.min(this.tilesel_start.i, this.tilesel_end.i);
this.tilemin.y = Math.min(this.tilesel_start.j, this.tilesel_end.j);
this.tilemax.x = Math.max(this.tilesel_start.i, this.tilesel_end.i);
this.tilemax.y = Math.max(this.tilesel_start.j, this.tilesel_end.j);
this.tilesel_iw = this.tilemax.x - this.tilemin.x;
this.tilesel_jw = this.tilemax.y - this.tilemin.y;
this.tilestateList = new Array();
var _local6 = 0;
while (_local6 < (this.tilesel_iw + 1)) {
this.tilestateList[_local6] = new Array();
var _local2 = 0;
while (_local2 < (this.tilesel_jw + 1)) {
var _local5 = tiles.GetTile_I(this.tilemin.x + _local6, this.tilemin.y + _local2);
this.tilestateList[_local6][_local2] = _local5.ID;
_local2++;
}
_local6++;
}
} else {
var _local14 = this.tilesel_start.pos.x - this.tilesel_end.pos.x;
var _local13 = this.tilesel_start.pos.y - this.tilesel_end.pos.y;
var _local15 = Math.abs(_local14);
var _local17 = Math.abs(_local13);
this.selrend.Clear();
this.selrend.SetStyle(3, 16777215, 30);
var _local16 = new Vector2(this.tilesel_end.pos.x + (0.5 * _local14), this.tilesel_end.pos.y + (0.5 * _local13));
this.selrend.DrawAABB(_local16, (0.5 * _local15) + this.tilesel_end.xw, (0.5 * _local17) + this.tilesel_end.yw);
var _local12 = Math.min(APP_NUM_GRIDCOLS, Math.max(1, _local7.i + this.tilesel_iw));
var _local11 = Math.min(APP_NUM_GRIDROWS, Math.max(1, _local7.j + this.tilesel_jw));
var _local4 = _local12 - this.tilesel_iw;
var _local3 = _local11 - this.tilesel_jw;
_local14 = (this.tilesel_iw * 2) * APP_TILE_SCALE;
_local13 = (this.tilesel_jw * 2) * APP_TILE_SCALE;
_local15 = Math.abs(_local14);
_local17 = Math.abs(_local13);
this.selrend.SetStyle(3, 10066329, 30);
_local16 = new Vector2((APP_TILE_SCALE + ((_local4 * 2) * APP_TILE_SCALE)) + (0.5 * _local14), (APP_TILE_SCALE + ((_local3 * 2) * APP_TILE_SCALE)) + (0.5 * _local13));
this.selrend.DrawAABB(_local16, (0.5 * _local15) + APP_TILE_SCALE, (0.5 * _local17) + APP_TILE_SCALE);
if (Key.isDown(67)) {
if (this.tilemode == 1) {
this.tilemode = 0;
var _local6 = 0;
while (_local6 < (this.tilesel_iw + 1)) {
var _local2 = 0;
while (_local2 < (this.tilesel_jw + 1)) {
var _local5 = tiles.GetTile_I(_local4 + _local6, _local3 + _local2);
_local5.SetState(this.tilestateList[_local6][_local2]);
_local2++;
}
_local6++;
}
}
} else if (Key.isDown(88)) {
if (this.tilemode == 1) {
this.tilemode = 0;
var _local6 = 0;
while (_local6 < (this.tilesel_iw + 1)) {
var _local2 = 0;
while (_local2 < (this.tilesel_jw + 1)) {
var _local5 = tiles.GetTile_I(this.tilemin.x + _local6, this.tilemin.y + _local2);
_local5.Clear();
_local2++;
}
_local6++;
}
_local6 = 0;
while (_local6 < (this.tilesel_iw + 1)) {
var _local2 = 0;
while (_local2 < (this.tilesel_jw + 1)) {
var _local5 = tiles.GetTile_I(_local4 + _local6, _local3 + _local2);
_local5.SetState(this.tilestateList[_local6][_local2]);
_local2++;
}
_local6++;
}
this.tilesel_start = tiles.GetTile_I(_local4, _local3);
this.tilesel_end = tiles.GetTile_I(_local12, _local11);
this.tilemin.x = Math.min(this.tilesel_start.i, this.tilesel_end.i);
this.tilemin.y = Math.min(this.tilesel_start.j, this.tilesel_end.j);
this.tilemax.x = Math.max(this.tilesel_start.i, this.tilesel_end.i);
this.tilemax.y = Math.max(this.tilesel_start.j, this.tilesel_end.j);
}
} else if (Key.isDown(90)) {
if (this.tilemode == 1) {
this.tilemode = 0;
var _local6 = 0;
while (_local6 < (this.tilesel_iw + 1)) {
var _local2 = 0;
while (_local2 < (this.tilesel_jw + 1)) {
var _local5 = tiles.GetTile_I(_local4 + _local6, _local3 + _local2);
_local5.Clear();
_local2++;
}
_local6++;
}
}
} else if (Key.isDown(65)) {
if (this.tilemode == 1) {
this.tilemode = 0;
var _local6 = 0;
while (_local6 < (this.tilesel_iw + 1)) {
var _local2 = 0;
while (_local2 < (this.tilesel_jw + 1)) {
var _local5 = tiles.GetTile_I(_local4 + _local6, _local3 + _local2);
_local5.SetState(TID_FULL);
_local2++;
}
_local6++;
}
}
} else {
this.tilemode = 1;
}
}
};
NinjaEditor.prototype.StartEditObjects = function () {
gui.Display(GUI_OBJ_EDITOR);
gui.HideTxt();
this.objSnapTo = tiles.xw;
this.pointer.txt = "(1/2 snap)";
this.pointer._visible = true;
this.objMenuMC._visible = true;
this.tileMenuMC._visible = false;
this.pointer.objhelp._visible = true;
this.pointer.tilehelp._visible = false;
this.Tick = this.TickEditObjects;
this.StopEdit = this.StopEditObjects;
this.currentEOBJTYPE = Number(0);
this.currentOBJTYPE = this.objTypes[0];
this.editObjStep = 0;
this.pointer.objhelp.gotoAndStop(this.currentEOBJTYPE + 1);
this.RefreshObjMenu();
};
NinjaEditor.prototype.StopEditObjects = function () {
this.pointer._visible = false;
this.objMenuMC._visible = false;
this.tileMenuMC._visible = false;
};
NinjaEditor.prototype.RefreshObjMenu = function () {
var _local2 = input.getMousePos();
if (_local2.x < 400) {
this.objMenuMC._x = 400;
} else {
this.objMenuMC._x = 0;
}
if (_local2.y < 300) {
this.objMenuMC._y = 450;
} else {
this.objMenuMC._y = 150;
}
};
NinjaEditor.prototype.TickEditObjects = function () {
this.TickGrid();
if (Key.isDown(36)) {
this.StartEditMenu();
return(undefined);
}
if (Key.isDown(46) || (Key.isDown(110))) {
this.StopEdit();
this.StartEditTiles();
}
m = input.getMousePos();
if (Key.isDown(90)) {
this.objSnapTo = 1;
this.pointer.txt = "(no snap)";
} else if (Key.isDown(88)) {
this.objSnapTo = tiles.xw;
this.pointer.txt = "(1/2 snap)";
} else if (Key.isDown(67)) {
this.objSnapTo = tiles.xw * 0.5;
this.pointer.txt = "(1/4 snap)";
}
if (Key.isDown(82)) {
this.doortrigsvis = false;
for (var _local6 in this.doorrendList) {
this.doorrendList[_local6]._visible = false;
}
} else if (Key.isDown(84)) {
this.doortrigsvis = true;
for (var _local6 in this.doorrendList) {
this.doorrendList[_local6]._visible = true;
}
}
var _local2 = new Vector2(Math.round(m.x / this.objSnapTo) * this.objSnapTo, Math.round(m.y / this.objSnapTo) * this.objSnapTo);
this.pointer._x = _local2.x;
this.pointer._y = _local2.y;
var _local7 = tiles.GetTile_V(_local2);
this.rend.Clear();
this.rend.SetStyle(0, 0, 30);
this.rend.DrawAABB(_local7.pos, _local7.xw, _local7.yw);
this.RefreshObjMenu();
for (var _local6 in this.setObjTypeKeys) {
if (Key.isDown(this.setObjTypeKeys[_local6])) {
this.currentEOBJTYPE = Number(_local6);
this.currentOBJTYPE = this.objTypes[_local6];
this.editObjStep = 0;
this.pointer.objhelp.gotoAndStop(this.currentEOBJTYPE + 1);
break;
}
}
if (input.MousePressed()) {
if (Key.isDown(8)) {
this.KillNearestObj(m);
return(undefined);
}
if (Key.isDown(220)) {
this.KillMostRecentObj();
return(undefined);
}
delete params;
var _local3 = 2;
var params = new Array();
params[0] = _local2.x;
params[1] = _local2.y;
if (this.currentEOBJTYPE == EOBJTYPE_FLOORGUARD) {
params[2] = 1;
_local3 = 3;
} else if (this.currentEOBJTYPE == EOBJTYPE_ONEWAYPLATFORM) {
if (Key.isDown(83)) {
params[2] = AI_DIR_D;
} else if (Key.isDown(87)) {
params[2] = AI_DIR_U;
} else if (Key.isDown(65)) {
params[2] = AI_DIR_L;
} else if (Key.isDown(68)) {
params[2] = AI_DIR_R;
} else {
return(undefined);
}
_local3 = 3;
} else if (this.currentEOBJTYPE == EOBJTYPE_THWOMP) {
if (Key.isDown(83)) {
params[2] = AI_DIR_D;
} else if (Key.isDown(87)) {
params[2] = AI_DIR_U;
} else if (Key.isDown(65)) {
params[2] = AI_DIR_L;
} else if (Key.isDown(68)) {
params[2] = AI_DIR_R;
} else {
return(undefined);
}
_local3 = 3;
} else if (this.currentEOBJTYPE == EOBJTYPE_LAUNCHPAD) {
var _local5 = 0;
var _local4 = 0;
if (Key.isDown(87)) {
_local4 = -1;
} else if (Key.isDown(83)) {
_local4 = 1;
}
if (Key.isDown(65)) {
_local5 = -1;
} else if (Key.isDown(68)) {
_local5 = 1;
}
var _local8 = Math.sqrt((_local5 * _local5) + (_local4 * _local4));
if (_local8 == 0) {
return(undefined);
}
_local5 = _local5 / _local8;
_local4 = _local4 / _local8;
params[2] = _local5;
params[3] = _local4;
_local3 = 4;
} else if (this.currentEOBJTYPE == EOBJTYPE_EXIT) {
if (this.editObjStep == 0) {
this.editObjStepVar0 = new Vector2(_local2.x, _local2.y);
this.editObjStep = 1;
this.pointer.objhelp.gotoAndStop(18);
return(undefined);
}
if (this.editObjStep == 1) {
params[0] = this.editObjStepVar0.x;
params[1] = this.editObjStepVar0.y;
params[2] = _local2.x;
params[3] = _local2.y;
this.pointer.objhelp.gotoAndStop(10);
_local3 = 4;
}
} else if (this.currentEOBJTYPE == EOBJTYPE_TREKDOOR) {
var _local9 = tiles.GetTile_V(_local2);
params[4] = _local9.i;
params[5] = _local9.j;
params[3] = 0;
params[0] = _local2.x;
params[1] = _local2.y;
params[6] = 0;
if (Key.isDown(83)) {
params[2] = 1;
params[7] = 0;
params[8] = 0;
} else if (Key.isDown(68)) {
params[2] = 0;
params[7] = 0;
params[8] = 0;
} else if (Key.isDown(65)) {
params[7] = -1;
params[8] = 0;
params[2] = 0;
} else if (Key.isDown(87)) {
params[7] = 0;
params[8] = -1;
params[2] = 1;
} else {
return(undefined);
}
_local3 = 9;
} else if (this.currentEOBJTYPE == EOBJTYPE_LOCKDOOR) {
var _local9 = tiles.GetTile_V(_local2);
params[4] = _local9.i;
params[5] = _local9.j;
params[3] = 0;
params[6] = 1;
if (this.editObjStep == 0) {
this.editObjStepVar0 = new Vector2(params[4], params[5]);
this.editObjStepVarX = new Vector2(0, 0);
this.editObjStep = 1;
if (Key.isDown(83)) {
this.editObjStepVar1 = 1;
} else if (Key.isDown(68)) {
this.editObjStepVar1 = 0;
} else if (Key.isDown(65)) {
this.editObjStepVarX.x = -1;
this.editObjStepVar1 = 0;
} else if (Key.isDown(87)) {
this.editObjStepVarX.y = -1;
this.editObjStepVar1 = 1;
} else {
this.editObjStep = 0;
return(undefined);
}
this.pointer.objhelp.gotoAndStop(19);
return(undefined);
}
if (this.editObjStep == 1) {
params[4] = this.editObjStepVar0.x;
params[5] = this.editObjStepVar0.y;
params[7] = this.editObjStepVarX.x;
params[8] = this.editObjStepVarX.y;
params[2] = this.editObjStepVar1;
params[0] = _local2.x;
params[1] = _local2.y;
this.pointer.objhelp.gotoAndStop(13);
_local3 = 9;
}
} else if (this.currentEOBJTYPE == EOBJTYPE_TRAPDOOR) {
var _local9 = tiles.GetTile_V(_local2);
params[4] = _local9.i;
params[5] = _local9.j;
params[3] = 1;
params[6] = 0;
if (this.editObjStep == 0) {
this.editObjStepVar0 = new Vector2(params[4], params[5]);
this.editObjStepVarX = new Vector2(0, 0);
this.editObjStep = 1;
if (Key.isDown(83)) {
this.editObjStepVar1 = 1;
} else if (Key.isDown(68)) {
this.editObjStepVar1 = 0;
} else if (Key.isDown(65)) {
this.editObjStepVarX.x = -1;
this.editObjStepVar1 = 0;
} else if (Key.isDown(87)) {
this.editObjStepVarX.y = -1;
this.editObjStepVar1 = 1;
} else {
this.editObjStep = 0;
return(undefined);
}
this.pointer.objhelp.gotoAndStop(20);
return(undefined);
}
if (this.editObjStep == 1) {
params[4] = this.editObjStepVar0.x;
params[5] = this.editObjStepVar0.y;
params[2] = this.editObjStepVar1;
params[7] = this.editObjStepVarX.x;
params[8] = this.editObjStepVarX.y;
params[0] = _local2.x;
params[1] = _local2.y;
this.pointer.objhelp.gotoAndStop(14);
_local3 = 9;
}
} else if (this.currentEOBJTYPE == EOBJTYPE_ZAPDRONE) {
if (this.editObjStep == 0) {
if (Key.isDown(81)) {
var _local10 = DRONEMOVE_SURFACEFOLLOW_CCW;
} else if (Key.isDown(69)) {
var _local10 = DRONEMOVE_SURFACEFOLLOW_CW;
} else if (Key.isDown(87)) {
var _local10 = DRONEMOVE_WANDER_ALTERNATING;
} else if (Key.isDown(83)) {
var _local10 = DRONEMOVE_WANDER_RANDOM;
} else if (Key.isDown(65)) {
var _local10 = DRONEMOVE_WANDER_CCW;
} else if (Key.isDown(68)) {
var _local10 = DRONEMOVE_WANDER_CW;
} else {
return(undefined);
}
this.editObjStepVar0 = _local10;
this.editObjStep = 1;
this.pointer.objhelp.gotoAndStop(21);
return(undefined);
}
if (this.editObjStep == 1) {
if (Key.isDown(68)) {
var _local11 = AI_DIR_R;
} else if (Key.isDown(65)) {
var _local11 = AI_DIR_L;
} else if (Key.isDown(87)) {
var _local11 = AI_DIR_U;
} else if (Key.isDown(83)) {
var _local11 = AI_DIR_D;
} else {
this.editObjStep = 0;
this.pointer.objhelp.gotoAndStop(15);
return(undefined);
}
this.editObjStepVar1 = _local11;
this.editObjStep = 2;
this.pointer.objhelp.gotoAndStop(22);
return(undefined);
}
if (this.editObjStep == 2) {
if (Key.isDown(32)) {
var _local12 = 1;
} else {
var _local12 = 0;
}
params[2] = this.editObjStepVar0;
params[3] = _local12;
params[4] = DRONEWEAP_ZAP;
params[5] = this.editObjStepVar1;
this.pointer.objhelp.gotoAndStop(15);
_local3 = 6;
}
} else if (this.currentEOBJTYPE == EOBJTYPE_LASERDRONE) {
if (this.editObjStep == 0) {
if (Key.isDown(81)) {
var _local10 = DRONEMOVE_SURFACEFOLLOW_CCW;
} else if (Key.isDown(69)) {
var _local10 = DRONEMOVE_SURFACEFOLLOW_CW;
} else if (Key.isDown(87)) {
var _local10 = DRONEMOVE_WANDER_ALTERNATING;
} else if (Key.isDown(83)) {
var _local10 = DRONEMOVE_WANDER_RANDOM;
} else if (Key.isDown(65)) {
var _local10 = DRONEMOVE_WANDER_CCW;
} else if (Key.isDown(68)) {
var _local10 = DRONEMOVE_WANDER_CW;
} else {
return(undefined);
}
this.editObjStepVar0 = _local10;
this.editObjStep = 1;
this.pointer.objhelp.gotoAndStop(23);
return(undefined);
}
if (this.editObjStep == 1) {
if (Key.isDown(68)) {
var _local11 = AI_DIR_R;
} else if (Key.isDown(65)) {
var _local11 = AI_DIR_L;
} else if (Key.isDown(87)) {
var _local11 = AI_DIR_U;
} else if (Key.isDown(83)) {
var _local11 = AI_DIR_D;
} else {
this.editObjStep = 0;
this.pointer.objhelp.gotoAndStop(16);
return(undefined);
}
this.editObjStepVar1 = _local11;
this.editObjStep = 2;
params[2] = this.editObjStepVar0;
params[3] = _local12;
params[4] = DRONEWEAP_LASER;
params[5] = this.editObjStepVar1;
this.pointer.objhelp.gotoAndStop(16);
_local3 = 6;
}
} else if (this.currentEOBJTYPE == EOBJTYPE_CHAINGUNDRONE) {
if (this.editObjStep == 0) {
if (Key.isDown(81)) {
var _local10 = DRONEMOVE_SURFACEFOLLOW_CCW;
} else if (Key.isDown(69)) {
var _local10 = DRONEMOVE_SURFACEFOLLOW_CW;
} else if (Key.isDown(87)) {
var _local10 = DRONEMOVE_WANDER_ALTERNATING;
} else if (Key.isDown(83)) {
var _local10 = DRONEMOVE_WANDER_RANDOM;
} else if (Key.isDown(65)) {
var _local10 = DRONEMOVE_WANDER_CCW;
} else if (Key.isDown(68)) {
var _local10 = DRONEMOVE_WANDER_CW;
} else {
return(undefined);
}
this.editObjStepVar0 = _local10;
this.editObjStep = 1;
this.pointer.objhelp.gotoAndStop(25);
return(undefined);
}
if (this.editObjStep == 1) {
if (Key.isDown(68)) {
var _local11 = AI_DIR_R;
} else if (Key.isDown(65)) {
var _local11 = AI_DIR_L;
} else if (Key.isDown(87)) {
var _local11 = AI_DIR_U;
} else if (Key.isDown(83)) {
var _local11 = AI_DIR_D;
} else {
this.editObjStep = 0;
this.pointer.objhelp.gotoAndStop(17);
return(undefined);
}
this.editObjStepVar1 = _local11;
this.editObjStep = 2;
if (Key.isDown(32)) {
var _local12 = 1;
} else {
var _local12 = 0;
}
params[2] = this.editObjStepVar0;
params[3] = _local12;
params[4] = DRONEWEAP_CHAINGUN;
params[5] = this.editObjStepVar1;
this.pointer.objhelp.gotoAndStop(17);
_local3 = 6;
}
} else {
_local3 = 2;
}
this.CreateObject(this.currentOBJTYPE, params, _local3, this.currentEOBJTYPE);
}
};
NinjaEditor.prototype.KillMostRecentObj = function () {
var _local2 = this.objList.pop();
gfx.DestroyMC(_local2[EDITRECORD_MC]);
gfx.DestroyMC(_local2[EDITRECORD_MC2]);
};
NinjaEditor.prototype.KillNearestObj = function (p) {
var _local11 = tiles.GetTile_S(p.x, p.y);
var _local13 = _local11.i;
var _local12 = _local11.j;
var _local8 = null;
var _local7 = 10000000 /* 0x989680 */;
var _local9 = -1;
var _local6 = this.objList;
for (var _local10 in _local6) {
var _local14 = _local6[_local10];
var _local4 = _local14[EDITRECORD_POS].x - p.x;
var _local3 = _local14[EDITRECORD_POS].y - p.y;
var _local2 = (_local4 * _local4) + (_local3 * _local3);
if (300 < _local2) {
continue;
}
if (_local2 < _local7) {
_local9 = _local10;
_local8 = _local14;
_local7 = _local2;
}
}
if (_local8 != null) {
var _local14 = this.objList.splice(_local9, 1);
gfx.DestroyMC(_local8[EDITRECORD_MC]);
gfx.DestroyMC(_local8[EDITRECORD_MC2]);
}
};
NinjaEditor.prototype.SpawnGameObjects = function () {
var _local3 = -1;
for (var _local2 in this.objList) {
if (this.objList[_local2][EDITRECORD_TYPE] == OBJTYPE_PLAYER) {
_local3 = _local2;
break;
}
}
if (_local3 < 0) {
} else {
var _local4 = this.objList[_local3];
this.objList.splice(_local3, 1);
this.objList.splice(0, 0, _local4);
}
objects.Clear();
var _local2 = 0;
while (_local2 < this.objList.length) {
objects.SpawnGameObject(this.objList[_local2][EDITRECORD_TYPE], this.objList[_local2][EDITRECORD_PARAMS]);
_local2++;
}
};
NinjaEditor.prototype.BuildEditObj = function (OBJTYPE, params) {
var _local2 = -1;
if (OBJTYPE == OBJTYPE_GOLD) {
_local2 = EOBJTYPE_GOLD;
} else if (OBJTYPE == OBJTYPE_BOUNCEBLOCK) {
_local2 = EOBJTYPE_BOUNCEBLOCK;
} else if (OBJTYPE == OBJTYPE_LAUNCHPAD) {
_local2 = EOBJTYPE_LAUNCHPAD;
} else if (OBJTYPE == OBJTYPE_TURRET) {
_local2 = EOBJTYPE_TURRET;
} else if (OBJTYPE == OBJTYPE_FLOORGUARD) {
_local2 = EOBJTYPE_FLOORGUARD;
} else if (OBJTYPE == OBJTYPE_PLAYER) {
_local2 = EOBJTYPE_PLAYER;
} else if (OBJTYPE == OBJTYPE_MINE) {
_local2 = EOBJTYPE_MINE;
} else if (OBJTYPE == OBJTYPE_ONEWAYPLATFORM) {
_local2 = EOBJTYPE_ONEWAYPLATFORM;
} else if (OBJTYPE == OBJTYPE_THWOMP) {
_local2 = EOBJTYPE_THWOMP;
} else if (OBJTYPE == OBJTYPE_EXIT) {
_local2 = EOBJTYPE_EXIT;
} else if (OBJTYPE == OBJTYPE_HOMINGLAUNCHER) {
_local2 = EOBJTYPE_HOMINGLAUNCHER;
} else if (OBJTYPE == OBJTYPE_ONEWAYPLATFORM) {
_local2 = EOBJTYPE_ONEWAYPLATFORM;
} else if (OBJTYPE == OBJTYPE_TESTDOOR) {
if ((params[3] == 1) && (params[6] == 0)) {
_local2 = EOBJTYPE_TRAPDOOR;
} else if ((params[3] == 0) && (params[6] == 1)) {
_local2 = EOBJTYPE_LOCKDOOR;
} else if ((params[3] == 0) && (params[6] == 0)) {
_local2 = EOBJTYPE_TREKDOOR;
} else {
return(undefined);
}
} else if (OBJTYPE == OBJTYPE_DRONE) {
if (params[4] == DRONEWEAP_ZAP) {
_local2 = EOBJTYPE_ZAPDRONE;
} else if (params[4] == DRONEWEAP_LASER) {
_local2 = EOBJTYPE_LASERDRONE;
} else if (params[4] == DRONEWEAP_CHAINGUN) {
_local2 = EOBJTYPE_CHAINGUNDRONE;
} else {
return(undefined);
}
} else {
return(undefined);
}
this.CreateObject(OBJTYPE, params, params.length, _local2);
};
EDITRECORD_TYPE = 0;
EDITRECORD_PARAMS = 1;
EDITRECORD_POS = 2;
EDITRECORD_CELLI = 3;
EDITRECORD_CELLJ = 4;
EDITRECORD_MC = 5;
EDITRECORD_MC2 = 6;
NinjaEditor.prototype.CreateObject = function (OBJTYPE, params, plen, EOBJTYPE) {
this.editObjStep = 0;
this.objnum++;
var _local8 = params[0];
var _local7 = params[1];
var _local6 = tiles.GetTile_S(_local8, _local7);
var _local11 = _local6.i;
var _local10 = _local6.j;
var _local3 = new Array();
_local3[EDITRECORD_TYPE] = OBJTYPE;
_local3[EDITRECORD_PARAMS] = new Array();
var _local2 = 0;
while (_local2 < plen) {
_local3[EDITRECORD_PARAMS][_local2] = params[_local2];
_local2++;
}
_local3[EDITRECORD_POS] = new Vector2(_local8, _local7);
_local3[EDITRECORD_CELLI] = _local11;
_local3[EDITRECORD_CELLJ] = _local10;
var _local9 = gfx.CreateSprite("editorObjMC", LAYER_EDITOR);
_local3[EDITRECORD_MC] = _local9;
var _local12 = gfx.CreateSprite("editorObjMC", LAYER_EDITOR);
_local3[EDITRECORD_MC2] = _local12;
this.objList.push(_local3);
this.DrawObject(_local3, EOBJTYPE);
};
NinjaEditor.prototype.DrawObject = function (defList, EOBJ_TYPE) {
var _local12 = defList[EDITRECORD_POS];
var _local2 = defList[EDITRECORD_PARAMS];
var _local16 = defList[EDITRECORD_CELLI];
var _local15 = defList[EDITRECORD_CELLJ];
var _local13 = defList[EDITRECORD_TYPE];
var _local4 = defList[EDITRECORD_MC];
var _local3 = defList[EDITRECORD_MC2];
_local4.gotoAndStop(EOBJ_TYPE + 1);
_local4._x = _local12.x;
_local4._y = _local12.y;
_local4._rotation = 0;
_local3._rotation = 0;
_local3.gotoAndStop(1);
if (EOBJ_TYPE == EOBJTYPE_PLAYER) {
_local3._visible = false;
} else if (EOBJ_TYPE == EOBJTYPE_GOLD) {
_local3._visible = false;
} else if (EOBJ_TYPE == EOBJTYPE_BOUNCEBLOCK) {
_local3._visible = false;
} else if (EOBJ_TYPE == EOBJTYPE_LAUNCHPAD) {
_local3._visible = false;
var _local14 = Math.atan2(_local2[3], _local2[2]);
_local4._rotation = 90 + (_local14 / (Math.PI/180));
} else if (EOBJ_TYPE == EOBJTYPE_TURRET) {
_local3._visible = false;
} else if (EOBJ_TYPE == EOBJTYPE_FLOORGUARD) {
_local3._visible = false;
var _local11 = tiles.GetTile_S(_local2[0], _local2[1]);
_local2[1] = (_local11.pos.y + _local11.yw) - 6;
_local4._x = _local2[0];
_local4._y = _local2[1];
} else if (EOBJ_TYPE == EOBJTYPE_ZAPDRONE) {
var _local11 = tiles.GetTile_S(_local2[0], _local2[1]);
_local2[0] = _local11.pos.x;
_local2[1] = _local11.pos.y;
_local4._x = _local2[0];
_local4._y = _local2[1];
if (_local2[3] == 1) {
_local4.gotoAndStop(21);
}
_local3._x = _local2[0];
_local3._y = _local2[1];
_local3.gotoAndStop(22);
if (_local2[5] == AI_DIR_U) {
_local3._rotation = -90;
} else if (_local2[5] == AI_DIR_L) {
_local3._rotation = 180;
} else if (_local2[5] == AI_DIR_R) {
_local3._rotation = 0;
} else {
_local3._rotation = 90;
}
_local3._visible = true;
} else if (EOBJ_TYPE == EOBJTYPE_LASERDRONE) {
var _local11 = tiles.GetTile_S(_local2[0], _local2[1]);
_local2[0] = _local11.pos.x;
_local2[1] = _local11.pos.y;
_local4._x = _local2[0];
_local4._y = _local2[1];
_local3._x = _local2[0];
_local3._y = _local2[1];
_local3.gotoAndStop(22);
if (_local2[5] == AI_DIR_U) {
_local3._rotation = -90;
} else if (_local2[5] == AI_DIR_L) {
_local3._rotation = 180;
} else if (_local2[5] == AI_DIR_R) {
_local3._rotation = 0;
} else {
_local3._rotation = 90;
}
_local3._visible = true;
} else if (EOBJ_TYPE == EOBJTYPE_CHAINGUNDRONE) {
var _local11 = tiles.GetTile_S(_local2[0], _local2[1]);
_local2[0] = _local11.pos.x;
_local2[1] = _local11.pos.y;
_local4._x = _local2[0];
_local4._y = _local2[1];
_local3._x = _local2[0];
_local3._y = _local2[1];
_local3.gotoAndStop(22);
if (_local2[5] == AI_DIR_U) {
_local3._rotation = -90;
} else if (_local2[5] == AI_DIR_L) {
_local3._rotation = 180;
} else if (_local2[5] == AI_DIR_R) {
_local3._rotation = 0;
} else {
_local3._rotation = 90;
}
_local3._visible = true;
} else if (EOBJ_TYPE == EOBJTYPE_ONEWAYPLATFORM) {
_local3._visible = false;
if (_local2[2] == AI_DIR_D) {
_local4._rotation = 180;
} else if (_local2[2] == AI_DIR_L) {
_local4._rotation = -90;
} else if (_local2[2] == AI_DIR_R) {
_local4._rotation = 90;
}
} else if (EOBJ_TYPE == EOBJTYPE_THWOMP) {
_local3._visible = false;
if (_local2[2] == AI_DIR_U) {
_local4._rotation = 180;
} else if (_local2[2] == AI_DIR_L) {
_local4._rotation = 90;
} else if (_local2[2] == AI_DIR_R) {
_local4._rotation = -90;
}
} else if (EOBJ_TYPE == EOBJTYPE_TREKDOOR) {
_local3._visible = false;
var _local8 = tiles.GetTile_I(_local2[4], _local2[5]);
_local4._x = _local8.pos.x;
_local4._y = _local8.pos.y;
if (_local2[2] == 1) {
if (_local2[8] == 0) {
_local4._rotation = 90;
} else {
_local4._rotation = -90;
}
} else if (_local2[7] == 0) {
_local4._rotation = 0;
} else {
_local4._rotation = 180;
}
} else if (EOBJ_TYPE == EOBJTYPE_TRAPDOOR) {
var _local8 = tiles.GetTile_I(_local2[4], _local2[5]);
var _local10 = 0;
var _local9 = 0;
_local4._x = _local8.pos.x;
_local4._y = _local8.pos.y;
if (_local2[2] == 1) {
if (_local2[8] == 0) {
_local4._rotation = 90;
_local9 = 1;
} else {
_local4._rotation = -90;
_local9 = -1;
}
} else if (_local2[7] == 0) {
_local4._rotation = 0;
_local10 = 1;
} else {
_local4._rotation = 180;
_local10 = -1;
}
_local3.gotoAndStop(20);
_local3._x = _local2[0];
_local3._y = _local2[1];
_local3._visible = true;
var _local6 = _local3.createEmptyMovieClip("triggerbuffer", 5);
_local6.lineStyle(0, 16768477, 80);
_local6.moveTo(0, 0);
_local6.lineTo((_local8.pos.x + (_local10 * APP_TILE_SCALE)) - _local2[0], (_local8.pos.y + (_local9 * APP_TILE_SCALE)) - _local2[1]);
_local6._visible = this.doortrigsvis;
this.doorrendList.push(_local6);
} else if (EOBJ_TYPE == EOBJTYPE_LOCKDOOR) {
var _local8 = tiles.GetTile_I(_local2[4], _local2[5]);
var _local10 = 0;
var _local9 = 0;
_local4._x = _local8.pos.x;
_local4._y = _local8.pos.y;
if (_local2[2] == 1) {
if (_local2[8] == 0) {
_local4._rotation = 90;
_local9 = 1;
} else {
_local4._rotation = -90;
_local9 = -1;
}
} else if (_local2[7] == 0) {
_local4._rotation = 0;
_local10 = 1;
} else {
_local4._rotation = 180;
_local10 = -1;
}
_local3.gotoAndStop(19);
_local3._x = _local2[0];
_local3._y = _local2[1];
_local3._visible = true;
var _local6 = _local3.createEmptyMovieClip("triggerbuffer", 5);
_local6.lineStyle(0, 16768511, 80);
_local6.moveTo(0, 0);
_local6.lineTo((_local8.pos.x + (_local10 * APP_TILE_SCALE)) - _local2[0], (_local8.pos.y + (_local9 * APP_TILE_SCALE)) - _local2[1]);
_local6._visible = this.doortrigsvis;
this.doorrendList.push(_local6);
} else if (EOBJ_TYPE == EOBJTYPE_HOMINGLAUNCHER) {
_local3._visible = false;
} else if (EOBJ_TYPE == EOBJTYPE_EXIT) {
_local3.gotoAndStop(18);
_local3._x = _local2[2];
_local3._y = _local2[3];
_local3._visible = true;
var _local6 = _local3.createEmptyMovieClip("triggerbuffer", 5);
_local6.lineStyle(0, 16777215, 80);
_local6.moveTo(0, 0);
_local6.lineTo(_local2[0] - _local2[2], _local2[1] - _local2[3]);
_local6._visible = this.doortrigsvis;
this.doorrendList.push(_local6);
} else if (EOBJ_TYPE == EOBJTYPE_MINE) {
_local3._visible = false;
}
};
function NinjaData() {
this.curLevel = 0;
this.curEpisode = 0;
this.curHelpDemo = HELPDEMO_JUMP1;
this.helpLevelStr = "";
this.episodeList = new Array();
this.levelList = new Array();
this.menudemoList = new Object();
this.helpdemoList = new Object();
this.menudemoTotalNum = 0;
this.BuildGameData();
this.menuShuffleList = new Array();
var _local2 = 0;
while (_local2 < this.menudemoTotalNum) {
this.menuShuffleList[_local2] = _local2;
_local2++;
}
this.curMenuDemo = 0;
this.ShuffleMenuDemos();
}
NinjaData.prototype.GetBlankMap = function () {
return("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000");
};
NinjaData.prototype.GetFullMap = function () {
return("11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111");
};
NinjaData.prototype.IncrementCurrentLevel = function () {
this.curLevel++;
if (this.levelList.length <= this.curLevel) {
this.curLevel = 0;
return(false);
}
return(true);
};
NinjaData.prototype.GetCurrentLevelID = function () {
return(this.curLevel);
};
NinjaData.prototype.GetLevelData = function (id) {
if ((id < 0) || (this.levelList.length <= id)) {
return(null);
}
return(this.levelList[id].levStr);
};
NinjaData.prototype.GetCurrentLevelName = function () {
var _local2 = (((("Episode " + this.curEpisode) + " Level ") + this.curLevel) + ": ") + this.levelList[this.curLevel].levname;
return(_local2);
};
NinjaData.prototype.LoadEpisode = function (code) {
var _local2 = 0;
while (_local2 < this.episodeList.length) {
if (this.episodeList[_local2].code == code) {
this.curLevel = 0;
this.curEpisode = _local2;
this.levelList = this.episodeList[_local2].levelList;
return(true);
}
_local2++;
}
this.ResetEpisode();
return(false);
};
NinjaData.prototype.LoadEpisodeNum = function (num) {
if (this.episodeList[num] != null) {
this.curLevel = 0;
this.curEpisode = num;
this.levelList = this.episodeList[num].levelList;
return(true);
}
this.ResetEpisode();
return(false);
};
NinjaData.prototype.ResetEpisode = function () {
this.curEpisode = 0;
this.curLevel = 0;
this.levelList = this.episodeList[this.curEpisode].levelList;
};
NinjaData.prototype.GetNextEpisodeNum = function () {
if (this.curEpisode == EPISODE_FINAL0) {
return(-1);
}
if (this.curEpisode == EPISODE_FINAL1) {
return(-1);
}
if (this.curEpisode == EPISODE_FINAL2) {
return(-1);
}
if (this.curEpisode == EPISODE_FINAL3) {
return(-1);
}
if (this.curEpisode == EPISODE_FINAL4) {
return(-1);
}
if (this.curEpisode == EPISODE_FINAL5) {
return(-1);
}
if (this.curEpisode == EPISODE_FINAL6) {
return(-1);
}
if (this.curEpisode == EPISODE_FINAL7) {
return(-1);
}
if (this.curEpisode == EPISODE_FINAL8) {
return(-1);
}
if (this.curEpisode == EPISODE_FINAL9) {
return(-1);
}
this.curEpisode = this.curEpisode + 1;
return(this.curEpisode);
};
NinjaData.prototype.GetHelpLevelData = function () {
return(this.helpLevelStr);
};
NinjaData.prototype.GetCurrentHelpDemo = function () {
return(this.curHelpDemo);
};
NinjaData.prototype.SetCurrentHelpDemo = function (demoID) {
if (this.helpdemoList[demoID] != null) {
this.curHelpDemo = demoID;
this.curHelpDemoReel = 0;
}
};
NinjaData.prototype.GetHelpDemoObjects = function () {
return(this.helpdemoList[this.curHelpDemo].objStr);
};
NinjaData.prototype.GetCurrentHelpDemoData = function () {
return(this.helpdemoList[this.curHelpDemo].demoList[this.curHelpDemoReel]);
};
NinjaData.prototype.IncrementHelpDemoReel = function () {
this.curHelpDemoReel = (1 + this.curHelpDemoReel) % this.helpdemoList[this.curHelpDemo].demoList.length;
};
NinjaData.prototype.GetCurrentMenuDemoID = function () {
return(this.menuShuffleList[this.curMenuDemo]);
};
NinjaData.prototype.IncrementCurrentMenuDemo = function () {
this.curMenuDemo++;
if (this.menudemoTotalNum <= this.curMenuDemo) {
this.curMenuDemo = 0;
this.ShuffleMenuDemos();
}
};
NinjaData.prototype.ShuffleMenuDemos = function () {
var _local5 = this.menudemoTotalNum;
var _local2 = 0;
while (_local2 < _local5) {
var _local3 = Math.floor(Math.random() * _local5);
var _local4 = this.menuShuffleList[_local2];
this.menuShuffleList[_local2] = this.menuShuffleList[_local3];
this.menuShuffleList[_local3] = _local4;
_local2++;
}
};
NinjaData.prototype.GetMenuDemoLevel = function (demoID) {
var _local2 = this.menudemoList[demoID];
if (_local2 != null) {
return(this.episodeList[_local2.epID].levelList[_local2.levNum].levStr);
}
return(null);
};
NinjaData.prototype.GetMenuDemoData = function (demoID) {
var _local2 = this.menudemoList[demoID];
if (_local2 != null) {
return(_local2.demoStr);
}
return(null);
};
function EpisodeData(epname, code, levelList) {
this.epname = epname;
this.code = code;
this.levelList = levelList;
}
function LevelData(levname, levStr) {
this.levname = levname;
this.levStr = levStr;
}
function MenuDemoData(epID, levNum, demoStr) {
this.epID = epID;
this.levNum = levNum;
this.demoStr = demoStr;
}
function HelpDemoData(objStr, demoList) {
this.objStr = objStr;
this.demoList = demoList;
}
EPISODE_FINAL0 = 9;
EPISODE_FINAL1 = 19;
EPISODE_FINAL2 = 29;
EPISODE_FINAL3 = 39;
EPISODE_FINAL4 = 49;
EPISODE_FINAL5 = 59;
EPISODE_FINAL6 = 69;
EPISODE_FINAL7 = 79;
EPISODE_FINAL8 = 89;
EPISODE_FINAL9 = 99;
NinjaData.prototype.BuildGameData = function () {
this.BuildGameData_Set0();
this.BuildGameData_Set1();
this.BuildGameData_Set2();
this.BuildGameData_Set3();
this.BuildGameData_Set4();
this.BuildGameData_Set5();
this.BuildGameData_Set6();
this.BuildGameData_Set7();
this.BuildGameData_Set8();
this.BuildGameData_Set9();
this.levelList = this.episodeList[0].levelList;
this.BuildGameData_MenuDemos();
this.BuildGameData_HelpDemos();
};
NinjaData.prototype.BuildGameData_Set0 = function () {
var _local20 = new LevelData("lockness", "0000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001=0000000000000000000001000000000000000000000010000000000000000000000=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070000000000000000000000:000000000000000000000000000000000000000000000070000000000000000000070:00000000000000000000:00000000000<000000000000000000000010000000000000000000000100000000000000000000001<000000000000070000000110000000000000:000000011000000000000000000000110000000000000000000001100000000000000000|5^36,396!9^84,324,1,0,10,14,1,0,0!9^132,324,1,0,14,12,1,0,0!9^60,324,1,0,18,10,1,0,0!9^108,324,1,0,21,7,1,0,0!0^252,348!0^348,300!0^444,252!0^516,180!0^612,96!0^636,96!0^660,96!0^36,324!0^156,324!2^228,576,0,-1!6^36,36,5,0,0,0!11^732,108,588,96");
var _local51 = new LevelData("cloud city", "000000000000:9006110000000000000000008071=000000000000;<0000:1110000000000000110000011=000000000000;1100000:=00000000000;111100000000000000000;1196100000000000000000119001000000000000000001=0001000000;<00000000010007100000;1100000000;100;1=00000111<0000000:907110000001111000000000011=0000001961000000000011000000010010000000000:=00000;0:00100000000000000000:80001000000000000000000:807=000000000000000000011100000000000000000000:11000000000000000000000:=0000000000000000000000000;<00000000000000000000;110000000000000000000;111000000000000000000011110000000000000000000111100000000000000000;111110000000000000000;11111100000;11111111111119611000;1111111111111110011000:11111111111111=00:=000000000000000000000000|5^108,564!1^612,132!1^516,132!1^420,132!1^180,492!1^540,300!1^60,84!11^708,492,36,396!0^444,372!0^132,180!0^108,204!0^288,84!0^360,156!0^108,372!0^228,396!0^660,372!0^636,396!0^684,108!0^540,468!0^492,396!9^204,204,0,0,1,14,1,0,0!11^372,444,60,60!9^60,60,0,1,15,15,0,-1,0!0^228,576!0^240,576!0^252,576!0^264,576!0^276,576!0^288,576!0^300,576!0^312,576!0^324,576!0^336,576!0^348,576!0^360,576!0^372,576!0^384,576!0^396,576!0^408,576!0^420,576!0^432,576!0^444,576!0^456,576");
var _local17 = new LevelData("the motherlode", "9000000000000000000000080000000000000000000000111111<0000000000000000111111100003111LH000000119696100001110FJLH000011087010000111000FJ10001=01101000011100000500?900:=01000021500000000C000000100000000000000?1000000=00000000000000C1000;<0000003140000000110001100000011100000001100011000000111000000011000:=0000001110000000210000000000021100000000200000<0000002100000000000000=0000000100000000000000000000001000000;<00000<000040001000000:=00000=0000100050000000000000000005000000000000000000000000000000000;<00000<0000000000000001100000=0000000000040001100000000000000000100011000000000000400001000:=00004000000310000500000000010000021100000000000400100000000000000;<0001001000000000000001100010014000000000000711807|5^60,516!11^588,492,168,156!7^180,156,0!7^300,228,3!7^324,228,3!7^348,228,3!7^252,252,3!7^228,252,3!7^228,396,3!7^252,396,3!7^540,372,3!7^564,372,3!7^708,372,3!7^732,372,3!1^588,228!1^408,264!1^384,492!1^480,444!1^300,444!1^84,252!0^36,48!0^60,48!0^48,48!0^48,36!0^36,60!0^36,72!0^36,84!0^36,96!0^36,108!0^48,60!0^48,72!0^48,84!0^48,96!0^48,108!0^60,108!0^60,96!0^60,84!0^60,72!0^60,60!0^60,120!0^60,132!0^60,144!0^60,156!0^48,156!0^36,156!0^36,144!0^36,132!0^36,120!0^48,120!0^48,132!0^48,144!0^156,84!0^144,84!0^132,96!0^144,108!0^156,120!0^144,132!0^132,144!0^144,156!0^168,84!0^180,84!0^300,84!0^324,84!0^396,132!0^420,132!0^468,108!0^492,108!0^564,108!0^588,108!0^660,84!0^684,84!0^708,84!0^732,84!0^756,84!0^744,72!0^720,72!0^696,72!0^672,72!0^468,228!0^492,228!0^516,228!0^588,396!0^612,396!0^636,396!0^660,396!2^636,288,0,-1!2^36,576,0,-1!2^204,300,0.707106781186547,-0.707106781186547!0^276,516!0^300,516!0^324,516!0^132,564!0^156,564!0^180,552!0^204,540!0^228,528!0^252,516!0^396,564!0^444,564!0^492,564!0^540,564!0^588,564!0^636,564!0^684,564!0^732,564!0^756,564!0^756,540!0^744,552!0^744,528!0^732,540!0^720,552!0^708,564!0^756,516!0^756,444!0^732,444!0^756,420");
var _local52 = new LevelData("all about thwumps", "00001011000000000000000000010110000000000000000000001500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003111000000000000111111111110000000000000000000000000000000011111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111000000000000000000000000000000001111111111000000000000000002111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000010110000000000000000000101100000000|5^324,564!8^324,60,1!8^228,108,1!8^420,108,1!11^756,324,36,156!0^36,564!0^60,564!0^84,564!0^108,564!0^132,564!0^156,564!0^180,564!0^204,564!0^444,564!0^468,564!0^492,564!0^516,564!0^540,564!0^564,564!0^588,564!0^612,564!0^636,564!0^660,564!0^684,564!0^708,564!0^732,564!0^756,564!12^384,552!12^384,516!12^384,480!12^384,444!12^384,408!12^384,372!12^384,336!12^384,300!12^384,264!12^384,228!12^384,192!12^384,156!12^384,120!12^264,120!12^264,156!12^264,192!12^264,228!12^264,264!12^264,300!12^264,336!12^264,372!12^264,408!12^264,444!12^264,480!12^264,516!12^264,552!12^480,360!12^168,360!12^192,192!12^192,228!12^192,264!12^192,300!12^192,336!12^456,336!12^456,300!12^456,264!12^480,396!12^480,432!12^480,468!12^168,396!12^168,432");
var _local24 = new LevelData("the box, the box!", "90000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011110000001000010000000000100000010000100000000001000000100001000000000010000001000010000000111100000010000100000000000000000111111000000000000000000000000000000000000000000000000000000000000000000011100000000011111100000100000000000100001000001000000000001000010000010000000000010000100000100000000000100001000001000000000001000010000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001001110000000000000000000000100011100000000000000001000100000000000000001110001000000000000000000000011100000000000000000080000000000000000000007|5^348,564!7^708,324,3!7^708,252,3!7^60,204,3!7^60,324,3!7^60,396,3!7^540,348,1!7^300,228,1!1^492,540!1^420,540!1^612,132!11^204,132,732,60!0^636,516!0^660,516!0^660,492!0^636,492!0^684,132!0^708,132!0^708,108!0^684,108!0^396,180!0^396,204!0^396,228!0^396,252!0^252,348!0^252,372!0^252,396!0^228,348!0^204,348!0^372,444!0^408,444!0^444,444!0^480,444!0^516,444!0^552,444!0^588,444!0^60,156!0^156,60!0^252,60!9^252,420,0,0,28,23,1,0,0!2^732,576,0,-1!2^120,576,0,-1!2^384,408,-0.707106781186547,-0.707106781186547!2^228,312,0.707106781186547,-0.707106781186547!7^660,204,3");
var _local18 = new LevelData("cavern", "1000000011111111111111110000000F111111111111111@00000000021111111111111000000000000FJ1111111110000000000000011111111100000000000000F11111111000000000000000F11111150000000000000000F1111M0000000000000000001111000000000000000000021110000GOK1111L00000000111000G11111111L000000011100G1111111111LH00000B1100111111111111100000011001111111111111H00000B10011111111111111L0000>1001111111111111110000010011111111111111100000100FJ11MFJ111111110000010000110001111111100000>0000F1LH31111111I000000000001111111111I000000000000111111111M000000000000011111111I000000000000001111111I0000000000000001111111H00GK1L00000000011111111LK1111H0000000G11111111111111100000001111111111111111000000G1111111111111111H0000011111111111111111500|5^671.959736390519,566!11^756,564,756,36!0^492,228!0^732,108!0^708,108!0^684,132!0^660,132!0^756,84!0^204,468!0^312,348!0^612,324!0^648,360!0^636,324!0^588,348!2^132,408,0,-1!6^84,252,0,0,0,1!6^252,60,1,1,0,0!12^264,492!12^348,516!12^492,564!12^492,108!12^528,132!12^84,276!12^96,288!12^216,264!12^204,264!12^192,264!12^180,264!12^168,264!1^588,492!1^564,492!12^384,420!12^372,396");
var _local47 = new LevelData("like happy little puppies", "00000000000000100000000000000000000001000000000000000000000010000000000000000000000111<000000000000000000010010000000111111111<0010010000000000000000100100100000000000000001001001000000000000000010010010000000000;11111100111=00000000001000001001000000000000010000010010000000000000:1111110010000000000000000000100:111111000000000000010000000000011111111111=0000000000000000000000000000000000000000000000000000000000000;11111111111<0000000000100000000000100000000001000000000001000;10000010000000000010001000000100000000000100010000001000000000001000100000010000;11<0001000100000010000100100010001000000100001001000100010000001000010010001000:10000010000100100010000000000100001001000000000000001000010010000000000|5^36,348!11^756,228,300,132!7^108,132,1!7^108,228,1!7^108,324,1!7^132,276,3!7^132,204,3!4^660,114,1!4^108,570,1!1^252,516!1^108,516!0^372,276!0^372,252!0^372,228!0^372,204!0^372,180!0^372,156!0^180,276!0^204,276!0^228,276!0^228,252!0^204,252!0^180,252!0^180,228!0^204,228!0^228,228!0^228,204!0^204,204!0^180,204!0^180,180!0^204,180!0^228,180!0^228,156!0^204,156!0^180,156!0^372,132!0^372,108!0^372,84!0^372,60!0^372,36!0^36,396!0^60,396!0^84,396!0^84,420!0^84,444!0^60,444!0^36,444!0^36,420!0^60,420!0^276,396!0^300,396!0^324,396!0^324,420!0^300,420!0^276,420!0^276,444!0^300,444!0^324,444!0^756,564!0^756,540!0^756,516!0^756,492!0^756,468!0^756,444!0^756,420!0^708,396!0^684,396!0^660,396!0^636,396!0^612,396!0^588,396!0^564,396!0^540,396!0^516,396!0^492,396!0^492,372!0^492,348!0^684,228!0^660,228!0^636,228!1^444,492!1^396,444");
var _local15 = new LevelData("steps", "0001110000000000000000000011140000000000000000000:1114000000000000000000011114000000000000000000011114000000000000000000:1111400000000000000000011111400000000000000000011111400000000000000000:1111140000000000000000011111140000000000000000011111140000000000000000:1111114000000000000000011111114000000000000000011111114000000000000000:11111118;000000000000001111111110000000000000001111111100000<000000000:11111110000010000000000111111100000=0000000000011111100000000000000000:1111100000000000000000011111000000000000000000011110000000000000000000:1110000000000000000000011100000000000000000000011000000000000000000000:10000000000000000000000180000100010001000100000000000000000000000000000000000000000000000000000|5^732,564!11^36,84,60,252!9^468,60,0,0,28,23,1,0,0!0^108,108!0^180,156!0^252,204!0^324,252!0^396,300!0^468,348!0^540,396!0^612,444!0^684,492!2^216,576,0,-1!2^24,408,0.707106781186547,-0.707106781186547!6^36,564,1,0,0,0!6^756,36,5,1,0,2!2^204,324,-0.707106781186547,-0.707106781186547!0^708,180!0^708,156!0^708,276!0^708,252!0^708,348!0^708,372!0^672,564!0^660,564!0^648,564!0^636,564!0^612,564!0^624,564!0^600,564!0^588,564!0^576,564!0^564,564!0^552,564!0^540,564!0^528,564!0^516,564!0^492,564!0^504,564!0^480,564!0^468,564!0^456,564!0^444,564!0^432,564!0^420,564!0^396,564!0^408,564!0^384,564!0^372,564!0^360,564!0^348,564!0^336,564!0^636,468!0^564,420!0^492,372!0^420,324!0^348,276!0^276,228!0^204,180!0^132,132");
var _local29 = new LevelData("little dipper", "000000000000000000000000000000000000000000000000000;<000000;<000000000000;1111111111<00000000000:1111111111=00000000000000000006110000000;000000000000011000000010000000000007110000000:00000000000;111<000000000000000000:111=0;1<000000000;<00000:=00:1=000000000110000000000000000000001100000000000000;0000001100000000000000:0000001100000000000000000000011000000000;11<0000000011800000000:11=000000001111<0000000000000000001111100000000000;000000:111100000000000:0000000006100000000000000000000001000000;11<0000000000001000000:11=00000000000010000000000000000000000100000000000;0000000007100000000000:000000;1111000000000000000000:111=000000;111<000000000000000000:111=000000000000000000000000000;<00000000000000000;|5^600,252!1^336,504!1^480,504!1^624,504!2^36,576,0,-1!2^180,336,0,-1!0^264,420!0^408,420!0^552,420!0^696,420!0^732,564!0^720,564!0^708,564!0^696,564!0^684,564!0^672,564!0^660,564!0^588,564!0^576,564!0^564,564!0^552,564!0^540,564!0^528,564!0^516,564!0^444,564!0^432,564!0^420,564!0^408,564!0^396,564!0^372,564!0^384,564!0^300,564!0^288,564!0^276,564!0^264,564!0^252,564!0^240,564!0^228,564!11^540,252,192,540!1^576,204!1^336,336!7^744,432,3!7^744,384,3!7^744,336,3!7^744,288,3!7^744,240,3!7^744,192,3!6^36,60,4,0,0,1!6^660,468,5,0,0,3!6^588,324,4,0,0,2!6^372,132,5,0,0,0");
var _local38 = new LevelData("slides", "0000000000000000000000000111LH00000000000000000000FJ11111LH000000000000100000FJ111H0000000000014000000FJ111111I0H000011400000000FJ1G100100000211LH0000000FJ10010000O02111LH0000000FJ111000100FJ1211400000000FJ000100002L111@0000000000001800002111D00000000000011D0000FJ111LH0000000000FJ14000021IJ1@00000000O00FJ40000FJ11D0000000010000240000021111400000100000240000021101400001000000B4000002100110001000000>14000002100504010000000B1400000210001010000000>11@00000B1001010000000021D00000>100101000000000B1@00000100101000000000>1D000005005010000000000B1000000000010000000000N1000000000010000000000C10000000000100000000071100000000001000000000B?100000000001000000000>11000000000010000000000B90000000000100000000000000000000|5^36,564!12^768,372!12^768,408!12^768,444!12^768,480!12^768,516!12^768,552!8^36,84,1!9^324,276,0,0,23,2,1,0,0!9^204,276,0,0,21,2,1,0,0!9^300,156,0,0,20,2,1,0,0!0^396,468!0^420,468!0^420,492!0^444,492!0^444,516!0^468,516!0^180,468!0^180,492!0^156,492!0^156,468!0^108,228!0^120,252!0^132,276!0^264,204!0^288,228!0^384,372!0^408,396!0^432,420!0^516,288!0^540,312!11^660,276,756,60!3^756,108");
var _local42 = new LevelData("square stairs", "00000010001000100010000000000000000000000000000000100010001000100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010001000100010000000000000000000000000000000100010001000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010001000100000000000000000000000000000001000100010001000100|5^447.675733432821,566!11^36,60,420,60!0^756,468!0^708,420!0^756,372!0^708,324!0^756,276!0^708,228!0^756,180!0^708,132!0^756,84!0^372,84!0^420,132!0^372,180!0^420,228!0^372,276!0^420,324!0^372,372!0^420,420!0^372,468!0^84,468!0^36,420!0^84,372!0^36,324!0^84,276!0^36,228!0^84,180!0^36,132!0^84,84!6^756,36,4,1,0,2!6^36,36,5,1,0,0!1^660,540!1^468,540!1^156,540");
var _local43 = new LevelData("shaft..s", "00000000000000000000000011111111111100111111100000000000001111000000000001111000000000111100000010010000000001001000111100111111111110010000000000000000000000110011111111111111100000000000000000000001111111001111111111111000000000000000000000011111111100111111111110000000000000000000000111111111110011111111100000000000000000000001000000000111000001111011111111111000000010010000000000000000111100111111111111111000000000000000000000000011111111101111100001100000000001110001111110001111111000000000000000000000011111111111111100111000000000000000000000011111111111111111110000000000000000000000100111111111000000111100000000000011111111001110000011110000000000000000111100111111111111111000000000000000000000000|5^756,564!11^84,300,372,372!9^660,396,0,0,22,1,1,0,0!9^324,276,0,0,30,23,1,-1,0!9^276,324,0,0,20,23,1,-1,0!9^228,372,0,0,11,23,1,-1,0!9^60,372,0,0,7,23,1,-1,0!0^156,180!0^132,180!0^132,156!0^156,156!0^132,468!0^156,468!0^132,492!0^156,492!0^420,156!0^444,156!0^444,180!0^420,180!0^516,324!0^516,348!0^516,372!0^708,60!0^708,84!0^708,108!0^660,276!0^660,300!0^660,324!0^660,348!0^660,372!0^372,276!0^372,300!0^372,324!0^372,348!0^372,396!0^372,420!0^372,444!0^372,468!0^132,60!0^132,84!0^132,108!0^108,108!0^108,84!0^36,540!0^36,516!0^36,492!0^36,468!0^36,444!0^36,420!0^36,396!0^36,372!0^36,348!0^36,324!0^36,300!0^36,276!0^36,252!0^36,228!0^36,204!0^36,180!0^36,156!0^36,132!0^36,108!0^36,84!0^36,60!7^756,516,3!7^756,444,3!7^756,372,3!7^756,300,3!7^756,228,3!7^756,108,3!7^636,492,3!7^636,420,3!7^636,252,3!7^636,180,3!7^636,108,3!7^540,516,3!7^516,60,3!7^420,468,3!7^420,420,3!7^420,372,3!7^420,324,3!7^420,276,3!7^372,204,3!7^372,156,3!7^276,84,1!7^276,156,1!7^276,228,1!7^276,300,1!7^300,372,1!7^300,444,1!7^300,504,1!7^180,372,3!7^180,300,3!7^180,228,3");
var _local25 = new LevelData("who's sick of thwumps?", "0000000000000000000000000011111111111111111110000111111111111111111100001111111111111111111000011111111111111111110000OOOOOOOOOOOOOOOOOOO000000000000000000000000000QQQQQQQQQQQQQQQQQQQ0000111111111111111111100001111111111111111111000011111111111111111110000OOOOOOOOOOOOOOOOOOO000000000000000000000000000QQQQQQQQQQQQQQQQQQQ0000111111111111111111100001111111111111111111000011111111111111111110000OOOOOOOOOOOOOOOOOOO000000000000000000000000000QQQQQQQQQQQQQQQQQQQ0000111111111111111111100001111111111111111111000011111111111111111110000OOOOOOOOOOOOOOOOOOO000000000000000000000000000QQQQQQQQQQQQQQQQ00000001111111111111111111000011111111111111111110000111111111111111111100001111111111111111111000011111111111111111110|5^708,564!8^612,108,1!8^468,108,1!8^324,108,1!8^180,108,1!9^540,564,0,0,24,23,1,0,0!9^396,564,0,0,18,23,1,0,0!9^252,564,0,0,12,23,1,0,0!9^108,564,0,0,6,23,1,0,0!11^732,564,36,372!3^396,36!0^36,108!0^36,120!0^36,132!0^36,144!0^36,156!0^36,168!0^36,180!0^36,192!0^36,204!0^36,216!0^36,228!0^36,240!0^36,252!0^36,276!0^36,264!0^36,288!0^36,300!0^36,312!0^36,324!0^36,336!0^36,348!0^36,396!0^36,408!0^36,420!0^36,432!0^36,444!0^36,456!0^36,468!0^36,480!0^36,492!0^36,504!0^36,516!0^36,528!0^36,540!0^228,564!0^276,564!0^372,564!0^420,564!0^516,564!0^564,564!0^756,84!0^732,84!0^708,84!0^684,84!0^660,84!0^744,72!0^720,72!0^696,72!0^672,72");
var _local39 = new LevelData("chasm", "FJ11000000000000000000000FJLH000000000000000000000FJLH000000000000000000000FJLH000000000000000000000FJLH000000000000000000000FJLH000000000000000000000FJLH000000000000000000000FJLH000000000000000000000FJLH000000000000000000000FJLH000000000000000000000FJ000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000GK0000000000000000000GKMI00000000000000000GKMI00000000000000000GKMI00000000000000000GKMI00000000000000000GKMI00000000000000000GKMI00000000000000000GKMI00000000000000000GKMI00000000000000000GKMI00000000000000000GK110000000000000000000|5^396,516!9^750,42,0,0,11,23,1,0,0!9^42,42,0,0,21,23,1,-1,0!11^48,564,744,564!6^36,516,1,1,0,3!6^756,516,0,1,0,3!1^396,492!1^396,372!1^396,252!1^396,132!6^300,36,0,0,1,2");
var _local57 = new LevelData("(don't) go for the gold", "00400000000000000000000001H00000000000000000000011111111111111111110000000000001010000000100211110001010101111101000>10101110101010000010000101010001010101110100001010111010101010101000010100010101010101010000101011101010111010100001011100010100000101000010000011100011111010000101111100011100000100001010000011100011101000010101110100011101010000101010111011100010100001000100010000011101000011111010111110100010000100000100000101010100001011111011101110101000010100010001000001010000101010111010111010100001010100010101010101000010101011101010101010000101010101010101110100001010101000101000001@00010111011111011111111400100000000000000000000001111111111111111111000000000000000000000F10000000000000000000000200|5^756,564!9^468,396,1,0,4,3,1,0,-1!9^612,252,0,0,27,14,1,0,0!9^564,396,1,0,12,13,1,0,-1!9^636,156,0,0,19,20,1,-1,0!9^228,396,0,0,27,8,1,0,0!9^372,252,1,0,12,5,1,0,-1!9^204,444,1,1,4,9,0,0,0!9^564,252,1,1,4,5,0,0,0!0^564,228!0^396,204!0^588,444!0^564,444!0^540,444!0^204,444!0^276,444!0^276,420!0^276,396!0^276,372!0^372,444!0^180,204!0^180,228!0^228,204!0^228,180!0^252,156!4^108,306,1!11^36,60,132,204!0^132,180!0^564,252!0^156,108!0^180,108!0^204,108!0^228,108!0^252,108");
var _local58 = new LevelData("burgertime", "9000000000000000000000600000000000000000000000000;00;<00;1<00;<00<00000010011001110011001000000:00:=00:1=00:=00=000000000000000000000000000000000000000000000000000000000000000000000000000;00;<00;1<00;<00<00000010011001110011001000000:00:=00:1=00:=00=000000000000000000000000000000000000000000000000000000000000000000000000000;00;<00;0<00;<00<00000010011000000011001000000:00:=00:0=00:=00=000000000000000000000000000000000000000000000000000000000000000000000000000;00;<00;1<00;<00<00000010011001110011001000000:00:=00:1=00:=00=000000000000000000000000000000000000000000000000000000000000000000000000000;00;<00;1<00;<00<00000010011001110011001000000:00:=00:1=00:=00=0000000000000000000000000080000000000000000000007|5^396,528!1^468,468!1^612,468!1^324,468!1^180,468!1^180,372!1^324,372!1^468,372!1^612,372!1^612,252!1^468,252!1^324,252!1^180,252!1^180,156!1^324,156!1^468,156!1^612,156!9^108,468,1,0,16,13,1,0,0!9^684,372,1,0,16,11,1,0,-1!9^684,156,1,0,16,13,1,0,-1!9^108,252,1,0,16,11,1,0,0!9^252,156,0,0,15,12,1,-1,0!9^396,468,0,0,15,12,1,0,0!9^684,468,0,0,17,12,1,0,0!9^108,156,0,0,17,12,1,-1,0!11^396,84,396,300!0^516,468!0^528,468!0^540,468!0^552,468!0^564,468!0^276,468!0^264,468!0^252,468!0^228,468!0^240,468!0^396,372!0^384,372!0^408,372!0^420,378!0^372,378!0^408,156!0^396,156!0^384,156!0^372,162!0^420,162!0^96,84!0^108,84!0^120,84!0^240,84!0^252,84!0^264,84!0^528,84!0^540,84!0^552,84!0^672,84!0^684,84!0^696,84!0^690,72!0^678,72!0^546,72!0^534,72!0^258,72!0^246,72!0^114,72!0^102,72!6^252,36,3,1,0,2!6^540,564,3,1,0,0!6^36,300,2,1,0,3!6^756,300,2,1,0,1");
var _local44 = new LevelData("platformpuzzle", "000000000P1000000000000000000000P1000000000000000000000P1000000000000000000000P10000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000P1111000000000000000000P11O1000000000000000000P1000000000000000000000P10000000000000111111111111110000000001OOOOOOOOOOOOO00000000010000000000000000000000100000000000000000000001000000000000000000011010000000000000000000P1000000000000000000000P1000000000000000000000P1000000000000000000000P1000000000000000000000P1000000000000000000000P100000000000000000000011010000000000000000000000000000000000000000000000000000000000000011000000000000000000000P1000000000000000000000P1000000000000000000000P1000000000000000000|5^586.632097968693,566!7^660,492,3!7^636,492,3!7^612,492,3!7^588,492,3!7^564,492,3!7^540,492,3!7^516,492,3!7^492,492,3!7^468,492,3!7^444,492,3!7^420,492,3!7^396,492,3!7^372,492,3!7^684,492,2!7^684,516,2!7^684,540,2!7^684,564,2!7^684,468,2!7^684,444,2!7^684,420,2!7^516,468,2!7^516,444,2!7^516,420,2!7^660,420,3!7^636,420,3!7^612,420,3!7^588,420,3!7^564,420,3!7^540,420,3!7^516,420,3!7^492,420,3!7^468,420,3!7^444,420,3!7^420,420,3!7^396,420,3!7^372,420,3!7^684,420,3!7^708,420,3!7^732,420,3!7^756,396,1!7^756,348,3!7^732,348,3!7^708,348,3!7^684,348,3!7^660,348,3!7^636,348,3!7^612,348,3!7^588,348,3!7^564,348,3!7^540,348,3!7^516,348,3!7^492,348,3!7^468,348,0!7^468,372,0!7^468,396,0!7^468,348,3!7^444,348,3!7^420,348,3!7^396,348,3!7^372,348,3!7^636,324,0!7^636,300,0!7^636,276,0!7^492,324,2!7^492,300,2!7^492,276,2!7^372,276,3!7^396,276,3!7^420,276,3!7^444,276,3!7^468,276,3!7^492,276,3!7^516,276,3!7^540,276,3!7^564,276,3!7^588,276,3!7^612,276,3!7^636,276,3!7^660,276,3!7^684,276,3!7^708,276,3!7^732,276,3!7^732,276,3!7^756,276,3!7^348,276,0!7^348,300,0!7^348,324,0!7^348,348,0!7^348,372,0!7^348,396,0!7^348,420,0!7^348,444,0!7^348,468,0!7^348,492,0!7^348,516,0!7^348,540,0!7^348,564,0!10^36,36!11^300,564,732,564!9^612,324,0,0,10,23,1,0,0!9^444,324,0,0,18,9,1,-1,0!9^468,468,0,0,25,9,1,0,0!12^516,264!0^756,300!0^732,300!0^708,300!0^684,300!0^612,300!0^588,300!0^564,300!0^540,300!0^516,300!0^444,300!0^420,300!0^396,300!0^396,372!0^420,372!0^444,372!0^516,372!0^540,372!0^564,372!0^588,372!0^612,372!0^636,372!0^660,372!0^684,372!0^708,372!0^732,372!0^636,444!0^612,444!0^588,444!0^564,444!0^540,444!0^468,444!0^444,444!0^420,444!0^396,444!0^756,540!0^756,516!0^756,492!0^756,468!0^756,444!0^756,84!0^756,60!0^732,84!0^36,204!0^36,228!0^60,228!0^300,396!0^300,420!0^276,420!8^204,492,1!2^708,576,0,-1!2^396,576,0,-1!2^312,240,-0.707106781186547,-0.707106781186547!2^432,168,-0.707106781186547,-0.707106781186547!1^516,540");
var _local30 = new LevelData("rise over run", "90000000000000000061906000000000000000000710000011@000000000100015000000>D0000000002400000000000B@000000000240000000000>D0000000000240000000000B@000000000024000000000>1100001400002100000000000000061000000000000000000000010000000000010000000007100000000000100000100015000000000002400001LH000000000000000240000FJLH000000000000002400000FJLH000000100000021100000FJLH0000E0000000000000000FJ1000P0000000000000000001000P0000000000000000000000P000000100000000000000?A000000100000310014000N000000?E00003500002400N000000CA00035000000100C00000?E000150000000000E00000CA000000000000000P0000?E0000000000000000P0000CA000000000000000?A0000100000000GK100000N000001000000GKMI000000N0000000000GKMI00000000N00080000001I0000000000C807|5^36,540!11^708,564,756,180!9^300,300,0,0,15,23,1,-1,0!2^252,336,0,-1!2^444,432,0,-1!2^564,252,-0.707106781186547,-0.707106781186547!3^396,444!3^684,108!3^108,84!0^132,120!0^156,132!0^180,144!0^204,156!0^324,72!0^348,96!0^372,120!0^396,144!0^528,132!0^552,120!0^576,108!0^600,96!0^624,84!0^648,72!0^672,60!0^588,204!0^516,372!0^324,204!0^300,204!0^300,60!0^276,60!0^696,60!0^732,204!0^720,228!0^708,252!0^696,276!0^684,300!0^672,324!0^588,564!0^564,564!0^540,564!0^516,564!0^492,564!0^564,420!0^204,300!0^84,348!0^120,372!0^144,396!0^168,420!0^192,444!0^216,468!0^84,444!0^84,60!0^372,516!0^396,516!0^420,516!0^504,504!0^576,492!0^672,480");
var _local31 = new LevelData("deosil", "0000000000000000000000000000000000000000000000000000000000000000000000031111111111111111140000100000000000000000100001000000000000000001001010000000000000000010?0010000000000000000010N0010000000000000000010>001003111111111114001000010010000000000010010000100100000000000100110001001000000000001001000110010000314000010010000100100001010000B00B0?0010010000100000000000N00100100001010000C00C0>01100100002150000100100001001000000000001001000010010000000000010011000100100000000000100100001002111111111115001000010000000000000000010?0010000000000000000010N1010000000000000000010>001000000000000000001000010000000000000000010000211111111111111111500000000000000000000000000000000000000000000000000000000000000000000000|5^420,300!11^396,252,396,60!9^396,228,1,0,16,18,1,0,0!9^396,132,1,0,16,21,1,0,0!6^516,420,3,1,0,3!6^276,180,3,1,0,1!6^276,60,0,1,0,0!6^132,564,0,1,0,0!6^660,492,3,1,0,3!6^228,300,0,1,0,3!7^396,492,3!0^396,348!0^396,372!0^396,396!0^396,420!0^468,60!0^492,60!0^516,60!0^540,60!0^564,60!0^588,60!0^612,60!0^636,60!0^660,60!0^324,60!0^300,60!0^276,60!0^252,60!0^228,60!0^204,60!0^180,60!0^156,60!0^132,60!0^132,492!0^156,492!0^180,492!0^204,492!0^228,492!0^252,492!0^276,492!0^300,492!0^324,492!0^348,492!0^444,492!0^468,492!0^492,492!0^516,492!0^540,492!0^564,492!0^588,492!0^612,492!0^636,492!0^660,492!0^516,132!0^492,132!0^468,132!0^444,132!0^420,132!0^372,132!0^348,132!0^324,132!0^300,132!0^276,132!0^348,420!0^324,420!0^300,420!0^276,420!0^444,420!0^468,420!0^492,420!0^516,420!0^756,564!0^588,552!0^396,552!0^204,552!0^36,564!0^36,540!0^60,564!0^36,516!0^84,564!0^732,564!0^708,564!0^756,540!0^756,516!0^444,36!0^348,36");
var _local60 = new LevelData("blast doors", "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001@0000000000000000000001P0000000000000000000101P0000000000000000000101P0000000000000000000101P0000000000000000000101P0000000000000000000101P0000000000000000000101P000000001@000000000101P000000001P000000000101P000000001P000000000101P000000001P000000000101P000000001P000000000101P000000001P000000000101P000000001P000000000101P000000001P000000000101P000000001P000000111101P000000001P000000111101P000000001P000000100001P000000001P000000100001P000000001P000000100001P000000001P000000B@00?1A000000001D000000>1111E00000000001@0000000000000000000000D00000000000000000000000000000000000000000000000000000000000000000000000|5^732,564!9^564,444,0,0,22,8,1,0,0!9^372,444,0,0,15,8,1,-1,0!9^504,204,0,0,20,8,0,0,0!9^240,204,0,0,9,8,0,0,0!9^468,444,0,1,18,8,0,-1,0!0^360,444!0^384,444!0^456,444!0^468,444!0^480,444!0^552,444!0^576,444!0^468,204!0^396,204!0^492,156!0^468,156!0^444,156!0^420,156!0^396,156!0^372,156!0^348,156!0^324,156!0^300,156!0^276,156!0^252,156!0^228,156!0^204,156!1^60,276!1^132,324!1^180,372!1^228,420!11^612,204,516,84!10^36,36!12^408,444!12^420,444!12^516,444!12^528,444!6^36,564,3,0,1,0");
var _local34 = new LevelData("room full of gold", "00000001111111110000000000000010000000100000000000000000000001000000000000001000000010000000000000010000000000000000000000100111001000000000000001001110010000000000000010011100100000000000000100111001000000000000000001110010000000000000010011100100000001111114100111001311111100000021001110015000000000000020011100500000000000000000111000000000000000000001110000000000000211140011100311150000000211140111031115000040000211141113111500000140000211111111150000032140000211111115000003102140000211111500000315002140000211150000031500002140000000000003150000002140000000000315000000002140000000031500000000002140000003150000000000002140000315000000000000002110011500000000000000000000000000000000000000000000000000000|5^36,564!8^132,396,1!8^84,204,1!11^732,564,708,60!4^396,258,1!12^432,480!12^456,456!12^480,432!12^504,408!12^528,384!12^552,360!12^432,120!12^456,144!12^480,168!12^504,192!12^528,216!12^552,240!4^324,570,1!0^276,108!0^276,84!0^276,60!0^276,36!0^276,132!0^276,156!0^276,180!0^252,180!0^252,156!0^252,132!0^252,108!0^252,84!0^252,60!0^252,36!0^228,36!0^228,60!0^228,84!0^228,108!0^228,132!0^228,156!0^228,180!0^204,180!0^204,156!0^204,132!0^204,108!0^204,84!0^204,60!0^204,36!0^180,36!0^156,36!0^132,36!0^108,36!0^84,36!0^60,36!0^36,36!0^36,60!0^60,60!0^84,60!0^108,60!0^132,60!0^156,60!0^180,60!0^180,84!0^180,108!0^180,132!0^180,156!0^180,180!0^156,180!0^156,156!0^156,132!0^156,108!0^156,84!0^132,84!0^132,108!0^132,132!0^132,156!0^132,180!0^108,180!0^108,156!0^108,132!0^108,108!0^108,84!0^84,84!0^84,108!0^84,132!0^84,156!0^84,180!0^60,180!0^60,156!0^60,132!0^60,108!0^60,84!0^36,84!0^36,108!0^36,132!0^36,156!0^36,180");
var _local12 = new LevelData("factory", "001111502100000000002110011110005000000000001100211100000000000000011000211400040000000000110000FJ14031000000000011000000FJ11500000000001100000000000000000000021000000000000000000000010000000000000000000000100000000140000000003101000000000240000310010010000000000100111100100100000000035000021001001000031001500000000010011140150000000000000100111101000000000000001001115014000000000000010010000210014000000000103100000000024000031001011000000000010011110010020000000003500002100140000000000150000000002110000000000000000000000000000000000000000000000000003140140000000000003010011101140000000031010100110002100003100100201001100001001111001000014011400010000210010000210111111100000000100000000000000000000031403|5^48,36!6^420,516,3,1,0,2!8^132,300,1!8^444,420,1!8^348,420,1!8^492,36,1!8^300,36,1!11^708,564,60,228!1^60,324!1^588,468!1^588,348!2^396,480,0,-1!2^468,396,-0.707106781186547,-0.707106781186547!2^324,396,0.707106781186547,-0.707106781186547!2^276,396,-0.707106781186547,-0.707106781186547!2^516,396,0.707106781186547,-0.707106781186547!2^660,396,-0.707106781186547,-0.707106781186547!12^180,228!12^204,228!12^228,228!12^372,228!12^396,228!12^420,228!4^372,546,1!9^492,324,0,0,22,23,1,0,0!9^300,324,0,0,22,23,1,-1,0!9^420,540,0,0,26,22,1,-1,0!9^396,180,0,0,26,22,1,0,0!9^300,252,0,0,26,8,1,-1,0!9^492,252,0,0,26,8,1,0,0!12^564,228!12^588,228!0^660,180!0^672,240!0^684,252!0^696,252!0^708,252!0^708,240!0^696,240!0^684,240!0^660,240!0^660,228!0^672,228!0^684,228!0^696,228!0^708,228!0^708,216!0^696,216!0^684,216!0^672,216!0^660,216!0^660,204!0^672,204!0^684,204!0^696,204!0^708,204!0^708,192!0^696,192!0^684,192!0^672,192!0^660,192!0^672,180!0^684,180!0^696,180");
var _local16 = new LevelData("the long way", "00000000000000000000000000000000000000000000000011111111111111111110000100000000000000000100001000000000000000001000010011111111111110010000100100000000000100100001001000000000001001000010010011111110010010000100100100000100100100001001001010101001001000010010010101010010010000100100101010100100100001001001010101001001000010010010101010010010000100100001010100100000001001001010101001001000010010010101010010010000100100101010100100100001001001010101001001000010010010111010010010000100100100000100100100001001001111111001001000010010000000000010010000100100000000000100100001001111110111111001000010000000000000000010000100000000000000000100001111111111111111111000000000000000000000000000000000000000000000000|5^756,564!12^420,468!12^420,492!12^612,276!12^588,276!12^372,252!6^636,60,0,1,0,0!6^540,132,1,1,0,2!6^348,204,1,1,0,2!6^372,252,0,0,0,0!0^420,204!0^444,204!0^468,204!0^492,204!0^516,204!0^540,204!0^564,204!0^348,252!0^324,252!0^300,252!0^276,252!0^444,492!0^468,492!0^492,492!0^516,492!0^540,492!0^564,492!0^588,492!0^612,492!0^636,492!0^660,492!0^684,492!0^660,468!0^636,468!0^612,468!0^588,468!0^564,468!0^540,468!0^516,468!0^492,468!0^468,468!0^444,468!12^420,540!12^420,564!11^468,564,492,300!0^540,348!0^516,348!0^492,348!0^468,348!0^444,348!0^420,348!0^396,348!0^372,348!0^348,348!0^324,348!0^300,348!0^276,348!0^252,348!0^180,420!0^204,420!0^228,420!0^252,420!0^276,420!0^300,420!0^324,420!0^348,420!0^348,396!0^324,396!0^300,396!0^276,396!0^252,396!0^228,396!0^204,396!0^84,60!0^108,60!0^132,60!0^156,60!0^180,60!0^204,60!0^228,60!0^252,60!0^276,60!0^300,60!0^324,60!0^348,60!0^372,60!0^396,60!0^372,36!0^348,36!0^324,36!0^300,36!0^276,36!0^252,36!0^228,36!0^204,36!0^180,36!0^156,36!0^132,36!0^108,36!0^84,36!0^36,564!0^60,564!0^84,564!0^108,564!0^132,564!0^156,564!0^180,564!0^204,564!0^60,540!0^84,540!0^108,540!0^132,540!0^156,540!0^180,540!0^204,540");
var _local54 = new LevelData("wall jump frenzy", "000N0000000000000000000000N00000000000000000000000000000000000000000000000000000000000000000000000000000031111111000000111111111111111110000000000000000000000000000000000000000000000000000111111111111111110000000000000000000000000000000000000000000000000000111111111111111110000000000021111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031111111111100000011111111111111111000000000000000000000000000000000000000000000000000011111111111111111000000000000000000000000000000000000000000000000000011111111111111111000000000000000211111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|5^756,564!11^36,96,564,84!12^672,516!12^672,480!12^672,444!12^672,408!12^672,372!12^648,324!12^648,288!12^648,252!12^648,216!12^648,180!12^648,144!12^120,516!12^120,480!12^120,444!12^120,408!12^120,372!12^144,324!12^144,288!12^144,252!12^144,216!12^144,180!12^144,144!12^456,516!12^456,480!12^456,444!12^456,408!12^456,372!12^456,336!12^456,300!12^456,264!12^336,264!12^480,228!12^480,192!12^480,156!12^312,228!12^312,192!12^312,156!12^336,300!12^336,336!12^336,372!12^336,408!12^336,444!12^336,480!12^336,516!12^768,480!12^768,408!12^768,324!12^768,252!12^768,180!12^768,108!12^24,480!12^24,408!12^24,324!12^24,252!12^24,180!6^564,108,1,0,2,2!6^228,108,0,0,2,0!8^396,36,1!0^612,444!0^588,396!0^612,348!0^588,300!0^612,252!0^180,444!0^204,396!0^180,348!0^204,300!0^180,252!0^396,564!0^384,564!0^408,564!12^444,60!12^348,60!4^276,570,1!0^276,444!0^252,396!0^276,348!0^252,300!0^276,252!0^204,204!0^180,156!0^252,204!0^276,156!0^588,204!0^612,156!0^516,156!0^540,204!0^516,252!0^540,300!0^516,348!0^540,396!0^516,444!0^564,564!0^576,564!0^552,564!0^540,564!0^588,564!0^252,564!0^240,564!0^228,564!0^216,564!0^204,564!0^588,492!0^540,492!0^252,492!0^204,492!0^396,396!0^396,300!0^396,204");
var _local19 = new LevelData("curvaceous", "9000611900000000000001000000:=00000000000000100000000000000000000001000;<00000;1111<000000:0006=0000011111100;<00000000000001111110011000700000000011111100:=00;1000000000:11111000000:1807<000000000610000000611110000000000100000000906=00<000000710000000700000010000;11100;<00;1000000=0000:11100:=00:1000000000000611000000060000000000007110000000700;111<00;1111100;<00;1001111=00:1111=00:=00:10019000000000000000000600100000000000000000007001000;111111<000;<00;100100011119061000:=00:1001000:11=0001000000006001000000000010000000070710000000000=0000000;1019000;<000000000;<00:10100071100<0000001100060:00;19000=00;<001100070000:1000000011001100;1000000000000011001100:1000000000;<00118711000680;<0;<0711871111118007|5^138,564!11^48,564,744,564!9^138,78,0,0,4,23,1,0,0!9^630,150,0,0,3,23,1,0,0!12^66,84!12^180,102!12^180,30!6^660,204,1,0,0,3!6^684,180,0,0,0,2!6^684,420,1,0,0,2!12^360,456!12^456,456!12^552,456!12^576,456!12^204,456!12^276,456!12^240,456!0^660,558!0^648,570!0^636,558!0^564,558!0^552,570!0^540,558!0^468,558!0^456,570!0^444,558!0^372,558!0^360,570!0^348,558!0^276,558!0^264,570!0^252,570!0^240,570!0^228,558!0^246,558!0^258,558!0^276,546!0^228,546!0^360,546!0^456,546!0^552,546!0^648,546!2^294,534,-0.707106781186547,-0.707106781186547!2^522,534,0.707106781186547,-0.707106781186547!0^240,348!0^252,348!0^264,348!0^276,336!0^228,336!0^228,324!0^276,324!0^348,312!0^354,324!0^366,324!0^372,312!0^324,156!0^306,156!0^276,156!0^294,156!3^450,114!3^312,276!9^456,288,0,0,3,23,1,-1,0");
var _local48 = new LevelData("trench run", "00100000000000000000000001000003114000000000000010000011110000011100000111140100101111101000000000101001010000010000000101010010101111100000000010100111010000000000011501000000100000000000100010000001111114000001000111400000001110000010000001000000011500000100000010000000100000001000000100000001000003110000001000000010000010000000021400011100000111111100001000100000000000001000010001100000000000010000100001110000000111100001001000100000001100000010010101100000011000000000100001000000010000000001111110000000100000000010010000003115031111400100210000011000100001001000100000110001010010010101000001100010000100000021003111011500101111110010010000100000021111100100211115000000000002115000000000000000000000000|5^48,48!11^84,60,108,468!8^708,84,1!12^180,288!12^108,288!12^144,252!12^768,228!12^708,348!12^768,348!12^168,492!12^216,444!9^132,468,1,1,19,19,0,0,-1!9^132,444,1,1,27,19,0,0,-1!9^132,420,0,1,28,13,0,0,0!9^132,396,0,1,26,10,0,0,0!9^132,372,1,1,7,5,0,0,-1!9^144,276,0,0,6,15,1,-1,0!9^180,432,0,0,28,6,1,-1,0!9^708,156,0,0,7,15,1,0,0!6^132,132,0,0,0,3!6^636,300,1,0,0,0!6^684,276,0,0,0,0!6^516,468,1,1,0,3!6^636,492,0,1,0,2!12^204,84!12^204,48!12^444,156!12^684,60!12^324,228!12^492,288!12^540,372!12^300,420!12^300,348!12^60,396!12^60,348!0^108,324!0^120,324!0^132,324!0^144,324!0^156,324!0^372,108!0^372,132!0^372,120!0^708,492!0^708,516!0^684,516!0^684,492!0^696,504!0^684,504!0^696,492!0^708,504!0^696,516!0^348,468!0^336,468!0^324,468!0^312,468!0^300,468!0^288,468!0^276,468!0^264,468!0^252,468!0^264,456!0^288,456!0^312,456!0^336,456!0^324,444!0^300,444!0^276,444!0^564,156!0^540,156!0^660,84!0^636,84!0^612,84!0^444,204!0^420,204!0^432,204!0^432,192!0^444,192!0^420,192!0^420,180!0^432,180!0^444,180!0^468,396!0^480,396!0^492,396!0^504,396!0^516,396!0^528,396!0^540,396!0^552,396!0^576,396!0^564,396!0^588,396!0^600,396!0^624,396!0^612,396!0^636,396!0^204,480!0^204,492!0^204,504!0^204,516!0^204,528!0^216,540!0^228,552!0^84,204!0^96,204!0^108,204!0^120,204!0^132,204!0^144,204!0^156,204!0^168,204!0^180,204!0^192,204!0^204,204!0^216,204!0^228,204!0^240,204!0^252,204");
var _local55 = new LevelData("bamboo forest", "00OOO000100000000010OOO00OO000010000000000000000000000100OOOOO001QQ0O0000000010000OOOO01000O0000000010000000001000000OOOOO01QQQQQQQ001000O0000000010000000001000OQQQQQQQ0100OOOOOOO1000O00000000100000000010000000OOOOO10QQQQQQQ01000Q0000000010000OOOOO1000Q0000000010000000001000O0000000010000000001000O00OOOO001000000000100000000000010000000001000Q000QQQQ01000OOOOO01000Q0000000010OOOOO0001000Q0QQQQQ001000000000100000000000010000QQQQ01000O00000000100000000010000000000001QQQQQQ0001000Q00OOOOOO10000000001000O0000000010000000001000O0000000010000000001000O0QQQQQQ010000OOOOO10000OOOOO000100OOOO0001000Q0000000010000000001000000OOOOO01OO00000001000O0000000010000OOOO01000000000000000000000010000000000001QQQQQQ00010000|5^756,564!0^756,444!0^732,444!0^708,444!0^684,444!0^624,84!0^624,108!0^624,132!0^480,204!0^504,204!0^528,204!0^372,108!0^372,132!0^372,156!0^192,204!0^168,204!0^144,204!0^120,204!0^528,180!0^132,252!0^108,252!0^132,276!0^36,444!0^372,540!0^396,540!0^420,540!0^348,540!0^324,540!0^300,540!0^444,540!0^444,564!0^36,492!8^732,36,1!8^60,252,1!3^468,36!3^540,252!3^324,252!3^732,492!12^420,216!12^396,216!12^660,576!12^120,456!12^96,456!12^468,456!12^444,456!12^660,456!0^180,180!0^180,156!0^180,132!0^180,108!0^180,84!0^180,60!11^48,60,624,60");
var _local32 = new LevelData("filthy tramps", "0000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000001000000000000000000000015000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000140000000P0000000000000100000000P0000000000000200000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000|5^732,564!2^516,576,0,-1!2^276,576,0,-1!2^396,576,0,-1!2^468,336,0,-1!2^324,336,0,-1!2^204,240,0,-1!2^588,240,0,-1!2^696,156,-0.707106781186547,-0.707106781186547!2^96,156,0.707106781186547,-0.707106781186547!2^216,252,0.707106781186547,-0.707106781186547!2^576,252,-0.707106781186547,-0.707106781186547!2^24,468,0.707106781186547,-0.707106781186547!2^768,468,-0.707106781186547,-0.707106781186547!1^84,348!1^708,348!1^132,204!1^660,204!7^132,540,1!7^108,540,1!7^84,540,1!7^72,564,0!9^396,84,0,0,6,23,1,-1,0!11^588,444,108,564!3^756,36!10^36,36");
var _local49 = new LevelData("pac-ninja", "00000000000000000000000000000000000000000000000000000000000000000000001110100000000000000000010001000000000000000000101010000000000000000000010100000000000000000010101000000000000000000101010000000000000000000000100000000000000000011101000000000000000000100010000000000000000001010100000000000000000010101000000000000000000101010000000000000000000010100000000000000000011101000000000000000000001010000000000000000000010100000000000000000000101000000000000000000011010000000000000000000000100000000000000000011101000000000000000000100010000000000000000001000100000000000000000010001000000000000000000100010000000000000000001111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000|5^660,36!2^24,180,1,0!2^24,204,1,0!2^24,228,1,0!2^24,252,1,0!2^24,276,1,0!2^24,300,1,0!2^24,324,1,0!2^24,348,1,0!2^24,372,1,0!2^24,396,1,0!2^24,420,1,0!2^24,444,1,0!2^24,468,1,0!2^24,492,1,0!2^24,516,1,0!2^24,540,1,0!2^24,564,1,0!2^768,180,-1,0!2^768,204,-1,0!2^768,228,-1,0!2^768,252,-1,0!2^768,276,-1,0!2^768,300,-1,0!2^768,324,-1,0!2^768,348,-1,0!2^768,372,-1,0!2^768,396,-1,0!2^768,420,-1,0!2^768,444,-1,0!2^768,468,-1,0!2^768,492,-1,0!2^768,516,-1,0!2^768,540,-1,0!2^768,564,-1,0!8^276,132,2!8^324,132,0!6^396,180,1,0,0,0!6^372,84,1,0,0,2!6^132,36,0,0,0,0!6^204,132,1,0,0,2!6^252,84,0,0,0,3!11^636,132,132,132!9^324,84,0,0,23,5,1,-1,0!9^216,36,0,0,23,5,1,0,0!0^444,84!0^468,84!0^492,84!0^372,36!0^348,36!0^324,36!0^300,36!0^276,36!0^228,84!0^204,84!0^180,84!0^156,84!0^348,132!0^372,132!0^396,132!0^420,132!0^444,132!0^468,132!0^492,132!0^516,132!0^540,132!0^252,132!0^228,132!0^204,132!0^180,132!0^156,132!0^108,132!0^132,108!0^132,84");
var _local37 = new LevelData("castle/basement", "00000000000100001000011000000001001000010000110000000011110111100000000000100000100000001000000001111001000000010000000010000010000000100000111100100111111111110000101001001000000000000000010010010000000000000010100100100111111100000101001001001111111000001010000010000000000000010111100100000000000000001000001011111111110001010010010000000010000010100100100000000100000101001001001100001000111010010010001000110000010100100100010000000000101001001000100000000001010010011111111111000000100000100000000000000101111001000000000000011110000010000000000000000100110100001101100000001001001000010001000000011110010000100010000000100100100001000100000000001111000011111000000000000010000000000000000000000000000000000|5^36,36!9^636,204,1,0,1,9,1,0,-1!9^60,276,0,0,25,19,1,-1,0!9^348,96,1,0,14,4,0,0,-1!9^540,96,1,0,22,4,0,0,-1!9^228,96,1,0,9,4,0,0,-1!9^540,240,1,0,22,9,0,0,0!9^348,240,1,0,14,9,0,0,0!9^300,240,1,0,12,9,0,0,0!9^156,240,1,0,6,9,0,0,0!9^756,348,1,1,31,12,0,0,0!11^60,396,612,132!6^156,132,0,1,0,3!6^564,252,1,1,0,0!6^252,348,0,0,1,0!2^372,504,0,-1!12^444,48!12^444,480!12^420,360!12^84,576!12^108,288!6^636,444,0,0,1,0!9^684,492,1,0,6,16,1,0,0!9^492,372,1,0,5,16,1,0,0!9^204,324,1,0,4,16,1,0,0!4^156,474,1!4^492,378,1!4^348,138,1!9^252,204,1,0,24,9,1,0,0!0^660,492!0^636,492!0^684,468!0^684,444!0^396,204!0^420,204!0^444,204!0^468,204!0^492,204!0^612,204!0^612,180!0^636,180!0^684,204!0^684,180!0^708,204!0^564,132!0^204,132!0^492,132!0^468,132!0^264,132!0^288,132!0^444,132!0^468,84!0^228,204!0^204,204!0^60,252!0^36,276!0^324,468!0^324,492!0^324,516!0^204,492!0^204,516!0^204,540!0^372,444!0^372,420!0^372,396!0^372,372!0^372,348!0^708,396!0^684,396!0^612,540!0^636,540!0^132,372!0^156,372!0^108,372!3^756,36!1^756,468");
var _local61 = new LevelData("artifact 2", "0000000000000000000000000000000000000000000000000D00000000000001D00000001D00004000000011000?000BE000010000000BE000C00000000?10000GO000000100000000C50003150000001000000035000?1E0000000B000000350000N1P0000000>00000?E00000>1D0000000000000CP0000002140000000000031P0004000FQ000000?000011D000100000000000C0000B11@002LOOH000000310CD0>11D000FQQQQD000011011001110000000010000110BE0?11E000GOOOOE0000110000C11A003MQQI00000021000011E000100000000000B000021P0005000GO000000>00000BP000000315000000000000>D00000?1E00000000000000240000N1P0000000?000000024000>1D0000000C00000000B4000214000000100000000>10000FQ0000001000CD000010000000CD000B0001E00005000000011000>000E00000000000001E00000000000000000000000000000000000000000000000000|5^396,36!0^384,324!0^384,336!0^384,348!0^384,360!0^384,372!0^384,384!0^384,396!0^396,396!0^408,396!0^408,384!0^408,372!0^408,360!0^408,348!0^408,336!0^408,324!0^396,336!0^396,348!0^396,360!0^396,372!0^396,384!3^228,384!3^564,384!6^396,444,0,0,1,2!11^696,84,396,516!6^36,540,4,1,0,3!6^756,540,4,1,0,3!6^468,252,0,0,1,0!0^564,312!0^564,300!0^564,288!0^228,288!0^228,300!0^228,312!0^300,252!0^312,252!0^324,252!0^492,252!0^468,252!0^480,252!0^708,420!0^696,420!0^684,420!0^84,420!0^96,420!0^108,420!0^252,564!0^276,564!0^264,564!0^264,552!0^252,552!0^276,552!0^516,564!0^528,564!0^540,564!0^540,552!0^528,552!0^516,552");
var _local53 = new LevelData("cloud city 2", "0001110101111101011190600011101011111010111000000:11111111111111110000000000000000000006100700000000000000000001L0100000000000000000001M0100000000000000000001006000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000;<00000000000001007000;=:<0000000000001L01000:<;=0000000000001M0100001900000000000001006000010000000000000010000000100000000000000100000001800000000000001000000;=:<0000000000001000000:<;=00000000000010070000:=0000000000000=0010000000000000000000000100000000<0000000000000600000;0010000000000000000;MQ100:111<000000000000E00N00000:1111<00000000P0000000000000000000700D0000NH00000;1111=001001LOOK11LOO001=00000000000000000000000000000000000000000000000000000|5^48,60!9^684,192,0,0,13,22,1,0,0!9^636,144,0,0,5,22,1,0,0!0^468,564!0^480,564!0^456,564!0^444,564!0^432,564!0^420,564!0^408,564!0^396,564!0^384,564!0^288,564!0^276,564!0^264,564!0^252,564!0^240,564!0^228,564!0^216,564!0^204,564!0^192,564!0^576,564!0^588,564!0^600,564!0^612,564!0^624,564!0^636,564!0^648,564!4^204,570,1!4^396,570,1!4^588,570,1!4^492,474,1!6^732,300,1,0,0,3!6^660,492,0,0,0,3!6^660,396,1,0,0,3!12^300,108!12^276,144!12^300,180!12^336,84!12^336,204!0^108,132!0^108,156!0^108,180!0^108,204!0^108,228!0^108,252!0^108,276!0^108,300!0^108,324!0^108,348!0^108,372!0^108,396!0^108,420!0^108,444!11^408,108,72,552!6^708,468,2,0,1,3!0^444,468!0^420,468!0^396,468!0^372,468!0^348,468!0^324,468!0^300,468!0^276,468!0^252,468!0^228,468!0^204,468!0^180,468!0^156,468!0^132,468!0^468,468!0^636,108!0^648,96!0^660,96!0^672,96!0^684,108!0^696,120!0^696,144!0^696,168!0^624,120!0^696,132!0^696,156!0^588,204!0^576,204!0^648,108!0^660,108!0^672,108");
var _local26 = new LevelData("space battle", "000000000000000000000000000000000000000000A0000000000000000000000000000000000000000000>000000GOH0000000000000000000?111@000000>@0?A000A000N111P0000000B1E00000000>11100000000>0A000000000FQ000000@0000A00000000000000000P0000000000000000000000000>0000000000000000000000000000000@000000000000000A00000KD00000000000@00000000>1I00000000000P0000000001000000000000000000000K100000000000000000000>1I0000000000004000000001000000000001010000000KI00000000003101400000KI0000000000350002400001000000000001000@01000K10000000000010N0P0100FJ10000000000010>0A01000010N0000000002400035000010N0000000000211150000010N0000000000000000000N10N000A0000000000000000100N000>@0?A0000000000N100N0000B1E00000000000N100N0000>0A000000000000100N00|5^36,564!11^564,252,756,420!9^204,348,0,0,20,10,1,0,0!9^564,84,0,0,14,23,1,-1,0!9^756,564,0,0,19,10,1,-1,0!0^348,84!0^444,132!0^360,96!0^96,180!0^120,192!0^156,192!0^156,240!0^144,252!0^72,384!0^432,372!0^240,540!0^252,480!0^264,468!0^264,480!0^696,264!0^768,204!0^744,300!0^720,24!0^708,36!0^672,36!0^660,36!0^156,36!0^84,48!0^24,72!0^36,84!0^120,456!0^108,468!0^588,420!0^600,408!0^612,432!0^288,168!6^60,156,4,0,2,0!0^756,504!0^744,504!0^732,504!0^720,504!0^708,504!0^696,504!0^684,504!0^660,480!0^648,480!0^636,480!0^624,480!0^612,480!0^600,480!0^588,480!0^660,564!0^648,564!0^636,564!0^624,564!0^612,564!0^600,564!0^588,564!0^564,564!0^576,564!0^552,564!0^540,564!0^516,564!0^504,564!0^504,564!0^492,564!0^480,564!0^468,564!0^468,564!0^456,564!0^444,564!0^432,564!0^420,564!0^696,564!0^708,564!0^432,24!0^24,288!0^120,576!0^696,372!0^708,360!0^708,372!0^720,384");
var _local45 = new LevelData("pagoda-ish", "0000000000000000000000000;800P0000000000000000071QQQP0000000000000000001000P0000000000000000061OO0P000000000000000000:900P000;800P0000000000000000071QQ0P0000000000000000001000P0000000000000000061OOOP000000000000000000:900P000000000000000000000000;800P0000000000000000071QQQP0000000000000000001000P0000000000000000061OO0P0000000000;800P000:900P00000000071QQ0P0000000000000000001000P0000000000000000061OOOP000000000000000000:900P000000000000000000000000000000000000000000000000000000000000000000000000000000000000;800P0000000000000000071QQ0P0000000000000000001000P000000;800P00000061OOOP0000071QQQP0000000:900P0000001000P0000000000000000061OO0P000000000000000000:900P000000000000000000000000000000000000000000000000|5^420,564!3^756,36!1^300,228!1^516,420!1^84,468!6^156,396,1,0,0,0!11^204,324,108,60!2^36,576,0,-1!2^756,576,0,-1!9^60,156,0,0,24,9,1,-1,0!3^36,36!9^612,204,0,0,7,14,1,-1,0!9^324,396,0,0,16,12,1,-1,0!9^420,276,0,0,5,6,1,0,0!9^108,132,0,0,28,20,1,0,0!9^660,468,0,0,14,20,1,0,0!0^612,180!0^612,228!0^660,444!0^660,492!0^420,252!0^420,300!0^108,108!0^108,156!0^324,444!0^324,492!0^660,396!0^612,132!0^420,204!0^204,252!0^756,540!0^756,516!0^756,492!0^756,468!0^756,444!0^756,420!0^756,396!0^756,372!0^36,540!0^36,516!0^36,492!0^36,468!0^36,444!0^36,420!0^36,396!0^36,372!0^300,204!0^516,396!0^516,444!0^300,252!0^84,444!0^84,492!0^492,564!0^516,540!0^204,564!0^180,540!0^540,516!0^156,516");
var _local13 = new LevelData("the gauntlet", "00000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000004000000011000000000000010000000110000000000000100000001100000000000001000000011000000000000010000000110000000000000100000001500000000000001000000010000000000000010000000100000000000000100000001000000000000001000000010000000000000010000000100000000000000100000001000000000000001000000010000000000000010000000100000000000000100000001000000000000001000000010000000000000010000000100000000000000100000001000000000000001000000010000000000000010000000100000000000000100000001000000000000001000000010000000000400010000000500000000001000100000000000000000010001000000000000000000100010000000000000000001000100000000000000|5^47.6846448661045,500.259948983262!0^756,564!0^756,540!0^732,564!0^492,468!0^444,468!0^396,468!0^732,180!0^708,156!0^708,204!0^732,204!0^684,204!0^756,204!0^156,132!0^204,132!0^252,132!12^36,156!12^36,180!8^756,252,1!8^252,252,1!8^204,252,1!8^156,252,1!3^564,252!3^444,252!3^324,252!2^36,408,0,-1!11^756,108,396,348!4^276,210,1!1^564,156!10^36,132!4^252,570,1");
var _local56 = new LevelData("vert world", "00000000000000000000000021150000000000000000100001000000002111150000000000031114000000000000000000000000000000000000000000000000000000000000000211140003111150000000000005000000000000000000000000000000000000000000000000000000031140000000000000000000000000000311500000000000000000000000003140000000000000000000000000000000000000000000000000000000000000000000000211115000000000002111400000000000140110000000000000000002111500000000000211150000000000000000000000000000000000000000000000000003115000002111400000000000000000000000000000000000000211400000000000000000000000000000000000002114000000000311400000000000000000000000000000000003111140000000003114000000000000000000010010000000000000000000000100000000000000000|5^756,564!6^84,540,1,0,0,3!11^744,132,36,564!9^444,108,1,0,31,3,1,0,-1!9^84,84,1,0,31,3,1,0,0!0^426,222!0^546,342!0^474,438!0^474,546!0^630,546!0^630,462!0^678,402!0^678,270!0^642,150!0^540,126!0^294,126!0^318,270!0^306,210!0^318,330!0^402,366!0^402,498!0^246,546!0^246,462!0^186,474!0^174,342!0^90,450!0^90,318!0^102,282!0^102,174!0^186,150!0^66,54!0^66,138!0^36,132!0^36,108!0^36,84!0^36,60!0^594,270!0^582,354!12^252,312!12^312,414!12^492,282!12^366,156!12^234,108!12^600,96!12^720,468!12^120,480!1^366,132!1^324,516!2^312,576,0,-1!2^720,576,0,-1!6^204,252,2,0,2,0");
var _local59 = new LevelData("step lightly", "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000001000000000000000000000010000000000000000000000B0000000000000000000000>00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|5^756,564!1^84,516!1^708,516!1^564,516!1^228,516!1^396,516!1^636,420!1^492,420!1^300,420!1^156,420!1^228,348!1^564,348!1^396,372!1^84,324!1^708,324!1^636,228!1^156,228!1^396,252!1^396,156!1^156,132!1^636,132!12^396,276!12^636,252!12^636,156!12^396,180!12^156,156!12^156,252!12^84,348!12^156,444!12^228,372!12^300,444!12^228,540!12^396,540!12^564,540!12^708,540!12^636,444!12^708,348!12^564,372!12^492,444!12^396,396!2^768,540,-1,0!2^768,492,-1,0!2^768,444,-1,0!2^768,396,-1,0!2^768,348,-1,0!2^768,300,-1,0!2^768,252,-1,0!2^768,204,-1,0!2^768,156,-1,0!2^24,540,1,0!2^24,492,1,0!2^24,444,1,0!2^24,396,1,0!2^24,348,1,0!2^24,300,1,0!2^24,252,1,0!2^24,204,1,0!2^24,156,1,0!11^384,36,420,36!0^396,228!0^396,132!0^156,108!0^156,204!0^84,300!0^156,396!0^228,324!0^300,396!0^228,492!0^396,492!0^564,492!0^708,492!0^636,396!0^708,300!0^636,204!0^636,108!0^564,324!0^492,396!0^396,348!0^624,564!0^636,564!0^648,564!0^516,564!0^504,564!0^492,564!0^360,564!0^348,564!0^336,564!0^204,564!0^192,564!0^180,564!0^60,564!0^72,564!0^84,564!0^480,564!0^324,564!0^312,564!0^168,564");
var _local35 = new LevelData("hunted", "90000061190061101900006000;<00:=0;<0:=01000000000:=00000618007100000000000000000:1111=0000008000000000000000000;<001<0000000;<00000000:=000000;<000:=0000000000000000:=000000000000000001=000000000000000000000900000000000000000;<000000000000000;<0000:=000000000000000:=0000000000000;<000000000000000000000:=0000000000000000000000000000000000000000000000000000000;<000000000000000000000:=000000000000000000000000000000000000000000000000000000000000000000000000000000000000;<000000000000000000000:=000000000000000000000000000000;<000000000000000000000:=000000000000000000000000000000;<000000000000000000000:=00000000;<000000000000000000000:=000000000000000000000000000<0080<000000000000000;010010180000000000000710187|5^744,540!11^48,396,756,492!9^192,36,0,0,31,2,1,-1,0!9^762,60,0,0,30,20,1,-1,0!6^108,204,4,1,0,3!6^756,132,5,1,0,1!6^588,276,4,1,0,3!6^204,348,5,1,0,1!0^192,108!0^168,228!0^72,84!0^336,108!0^288,300!0^408,372!0^408,360!0^408,348!0^288,288!0^288,276!0^168,216!0^168,204!0^192,96!0^192,84!0^72,72!0^72,60!0^336,96!0^336,84!0^528,228!0^528,216!0^528,204!0^648,108!0^648,96!0^648,84!0^672,348!0^672,336!0^672,324!0^576,444!0^576,432!0^576,420!0^264,444!0^264,432!0^264,420!0^144,468!0^144,456!0^144,444");
var _local40 = new LevelData("mainframe", "10000000000000000000001500000000311140000000020000000001502100000000000003110000000001140000000015000000000002100000000100031000000001000000000000150000114000000031000001000000210000000110000010000000100014000000000100000101000110000000000000001010000000310000000000010000000001500111140003100000140010000002100015000002100100314000000000314001001001110000000001110010010021500000000021500100100000031000140000031001400111150002100000150021000000000001000000000000000000000010100000000000000100000101000110011000001000000010001500210000010000003100000000000000140000115000000000010002100000000100000000140000000000031000000002110000000001150000000000000140310000000004000000002111500000000310000000000000000000001|5^396,36!1^396,300!6^372,396,4,1,0,2!6^420,396,4,1,0,0!11^396,564,396,204!9^528,396,1,0,14,6,1,0,-1!9^264,396,1,0,18,6,1,0,-1!9^348,168,0,0,14,23,1,-1,0!9^444,168,0,0,18,23,1,0,0!9^648,432,0,0,21,16,1,-1,0!9^144,432,0,0,11,16,1,0,0!9^708,300,0,0,10,16,1,-1,0!9^84,300,0,0,22,16,1,0,0!10^396,348!3^396,516!0^540,204!0^552,204!0^564,204!0^576,204!0^588,204!0^600,204!0^612,204!0^636,108!0^660,108!0^156,108!0^132,108!0^180,204!0^192,204!0^204,204!0^216,204!0^228,204!0^240,204!0^252,204!0^444,324!0^348,324!0^300,348!0^276,348!0^252,348!0^492,348!0^516,348!0^540,348!0^612,348!0^180,348!0^108,396!0^672,396!0^708,228!0^84,228!0^228,36!0^564,36!0^228,492!0^252,492!0^540,492!0^564,492!0^468,492!0^324,492!0^240,492!0^228,480!0^240,480!0^252,480!0^552,492!0^540,480!0^552,480!0^564,480");
var _local46 = new LevelData("rocket arena", "0000000000FJ11115000FJ1000000000000FJ11000000200000000000000FJ40000000000000000000000240000000000000000000000240000000000000000000000240000000000000000000000B4000000000000000000000>11000000000000000000000B1000000000000000000000>100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000001400000000000001000310011000000000000?1000150021000000000000C100010000100000000000?1500010000100000000000C50000100001000000000035000001000010000000003500000010000100000000350000000100001000000GK5000000001000010000GK1500000000014000100GK1150000000000111111001115000000000001500210015000000000000000000000000000000000000000000000000000000000|5^696,240!1^180,540!1^156,540!1^132,540!1^108,540!11^564,180,84,492!10^36,36!9^564,420,0,0,19,23,1,0,0!9^420,516,0,0,17,23,1,0,0!9^276,516,0,0,11,23,1,0,0!9^180,468,0,0,9,23,1,0,0!9^36,252,0,0,8,23,1,-1,0!0^648,276!0^636,300!0^624,324!0^612,348!0^600,372!0^588,396!0^576,408!0^552,432!0^540,444!0^528,456!0^516,468!0^396,516!0^384,516!0^372,516!0^360,516!0^348,516!0^336,516!0^324,516!0^312,516!0^300,516!0^312,504!0^324,504!0^336,504!0^348,504!0^360,504!0^372,504!0^384,504!0^372,492!0^360,492!0^348,492!0^336,492!0^324,492!0^336,480!0^348,480!0^360,480!0^348,468!0^168,456!0^156,444!0^144,432!0^132,420!0^120,408!0^108,396!2^348,528,0,-1!2^540,468,-0.707106781186547,-0.707106781186547!2^156,468,0.707106781186547,-0.707106781186547!6^444,564,5,1,0,0!6^372,564,4,1,0,0!6^252,564,3,1,0,0!1^396,180!1^372,180!1^348,180!1^324,180!1^732,540!1^708,540!1^684,540!1^660,468!1^636,468!1^612,468!1^708,396");
var _local41 = new LevelData("attractor", "55555550000000002222222515155000000000002212125555500000000000002222251550000000000000002212555000000000000000002225500000000000000000002250000000000000000000002000000000000000000000004000055555500000000000014000505050000000000000110005555000000000000000100050500000000000000001000550000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000004001000440000000000000010010004040000000000000101100044440000000000001015000404040000000000011500004444440000000000000000000000000000000000040000000000000000000003440000000000000000000334440000000000000000033341440000000000000003313444440000000000000333334141440000000000033131344444440000000003333333|5^300,564!2^744,432,-0.707106781186547,-0.707106781186547!2^720,456,-0.707106781186547,-0.707106781186547!2^696,480,-0.707106781186547,-0.707106781186547!2^672,504,-0.707106781186547,-0.707106781186547!2^648,528,-0.707106781186547,-0.707106781186547!2^624,552,-0.707106781186547,-0.707106781186547!2^168,552,0.707106781186547,-0.707106781186547!2^144,528,0.707106781186547,-0.707106781186547!2^120,504,0.707106781186547,-0.707106781186547!2^96,480,0.707106781186547,-0.707106781186547!2^72,456,0.707106781186547,-0.707106781186547!2^48,432,0.707106781186547,-0.707106781186547!2^204,576,0,-1!2^588,576,0,-1!2^396,576,0,-1!1^492,516!1^300,516!1^492,348!1^300,348!1^36,396!1^756,396!1^708,324!1^84,324!1^132,252!1^660,252!1^612,180!1^180,180!1^552,432!1^240,432!1^444,276!1^348,276!9^480,36,0,0,19,23,1,-1,0!9^312,36,0,0,19,23,1,0,0!11^504,564,396,204!12^324,204!12^300,228!12^276,252!12^252,276!12^348,180!12^444,180!12^468,204!12^492,228!12^516,252!12^540,276!3^588,36!3^204,36!7^372,108,3!7^396,108,3!7^420,108,3!6^300,36,2,1,0,0!6^492,36,3,0,0,2!0^348,228!0^348,240!0^348,252!0^444,228!0^444,240!0^444,252!0^492,300!0^492,312!0^492,324!0^552,384!0^552,396!0^552,408!0^492,468!0^492,480!0^492,492!0^300,300!0^300,312!0^300,324!0^240,384!0^240,396!0^240,408!0^36,348!0^36,360!0^36,372!0^84,276!0^84,288!0^84,300!0^132,216!0^132,228!0^132,204!0^180,132!0^180,144!0^180,156!0^612,132!0^612,144!0^612,156!0^660,204!0^660,216!0^660,228!0^708,276!0^708,288!0^708,300!0^756,348!0^756,360!0^756,372");
var _local50 = new LevelData("plan plan plan", "0000000010000000000000000000000104000000031140000000001010311140111100000000000101000101001000000000O01010H010100100000000010101010101001000000000101010I01010010000000001010100010100100000000000101040101001000000000O0501010101001000000000100010101110010000000002111501021500100000000000000010000000000000000003140111111110000000000011101000000100000000000101010;00<01000000000000010101001010000000000000101000000100000000000001011000011000000000000010100000010000000000000101010010100000000000111010:00=0100000000000000010000001000000000000011110000110000OOO00000000000000210000P0N0000000000000001000000N00000000000000010000P0N00000000000000010000QQQ000000000000000100000000000000000000001000000000000000000000000|5^624,60!9^516,564,1,0,27,4,1,0,-1!9^228,564,1,0,13,12,1,0,-1!9^408,468,1,0,13,12,1,0,0!11^660,144,120,516!6^204,492,0,1,0,0!4^156,258,1!4^228,354,1!4^276,402,1!4^348,570,1!6^372,396,2,0,2,0!0^252,444!0^240,444!0^228,444!0^216,444!0^204,444!0^192,444!0^180,444!0^168,444!0^156,444!0^144,444!0^132,444!0^120,444!0^108,444!9^252,444,0,1,4,18,0,-1,0!2^588,312,0,-1!1^492,240!1^684,456!6^564,396,3,0,2,2!7^276,564,0!7^324,540,1!0^204,204!0^192,204!0^180,204!0^168,204!0^156,204!0^144,204!0^396,300!0^408,300!0^420,300!0^432,300!0^444,300!0^456,300!0^468,300!0^480,300!0^492,300!0^504,300!0^516,300!0^516,288!0^504,288!0^492,288!0^480,288!0^456,288!0^468,288!0^444,288!0^432,288!0^420,288!0^420,276!0^432,276!0^444,276!0^456,276!0^468,276!0^480,276!0^492,276!0^504,276!0^516,276!0^684,432!0^684,420!0^684,408!0^492,216!0^492,204!0^492,192!0^264,300!0^240,300!0^216,300!0^192,300!0^168,300!0^144,300!0^120,300!0^252,300!0^228,300!0^204,300!0^180,300!0^168,300!0^156,300!0^132,300!0^276,300");
var _local27 = new LevelData("artifact", "10111150210111500150000101500000201500001000005010000000010000050000300100000000500000000031005000000000000000003500000000000000000000350300000000000000000035001000000000000000003500010000000000000000350000100000000000000035001002000000000000003500000000000000114000350000000000000001110035000000000000000002100100000000000001400001000000000000000011110000000000000000000111100000000000000000001500001000000000000000000000310010000000000000000011100240000000000000000115000240001000000000000000000240000000000000000000000240000000000000000000000240001000000000000000000240000000000000000000000240000000000000000000000240200040000000000000000240000100000000000000000210001400000000000140000200011140003140031114000|5^48,540!6^636,564,3,1,0,3!6^276,564,2,1,0,3!6^492,564,3,1,0,3!7^420,372,3!7^396,372,3!7^444,420,3!7^372,420,3!7^396,468,3!7^420,468,3!7^444,516,3!7^372,516,3!7^540,540,3!7^276,540,3!9^684,564,0,0,2,2,1,0,0!11^732,84,36,276!9^132,564,0,0,2,2,1,-1,0!9^36,60,0,0,2,11,1,0,0!6^396,204,1,0,1,0!0^444,84!0^432,84!0^420,84!0^408,84!0^396,84!0^384,84!0^372,84!0^372,72!0^384,72!0^396,72!0^408,72!0^420,72!0^432,72!0^444,72!0^492,180!0^504,180!0^516,180!0^516,168!0^504,168!0^492,168!0^492,156!0^504,156!0^516,156!0^420,252!0^408,252!0^396,252!0^396,264!0^408,264!0^420,264!0^420,240!0^408,240!0^396,240!0^324,180!0^312,180!0^300,180!0^300,168!0^312,168!0^324,168!0^324,156!0^312,156!0^300,156!12^348,300!12^348,276!12^468,276!12^468,300!2^408,360,0,-1!2^756,276,-0.707106781186547,-0.707106781186547!2^48,240,0.707106781186547,-0.707106781186547!2^324,324,-0.707106781186547,-0.707106781186547!2^492,324,0.707106781186547,-0.707106781186547!2^756,396,-0.707106781186547,-0.707106781186547!1^564,108!1^252,108!0^36,420!0^36,396!0^60,420!0^84,420!0^36,408!0^48,420!0^48,408!0^84,60!0^108,60!0^132,60!0^96,276!0^180,540!0^204,540!0^228,540!0^588,516!0^516,444!0^420,444!0^396,444!0^444,396!0^372,396!0^372,492!0^444,492!0^540,516!0^276,516");
var _local33 = new LevelData("gauss arena", "1010000000000000000010050100000000000000000210005000003100140000000000000000311001140000000000000031MI00FJ140000000000003MI000000FJ4000000000035000000000024000000003500000000000024000000350000000000000024000035000000000000000024001E000000000000000000B401A000000000000000000>14E00000000000000000000B1A00000000000000000000>10000000000000000000000100000000000000000000001@00000000000000000000?1D00000000000000000000C11@000000000000000000?151D000000000000000000C5002400000000000000003500002400000000000000350000002400000000000035000000002400000000003500000000002LH000000GK500000000000021LH00GK1500000000000000211001150000000000400000210015000000000401000000000000000003101010000000000000000010010100000000000000000100|5^36,60!2^552,456,-0.707106781186547,-0.707106781186547!2^216,456,0.707106781186547,-0.707106781186547!2^552,120,-0.707106781186547,0.707106781186547!2^216,120,0.707106781186547,0.707106781186547!2^384,552,0,-1!2^384,24,0,1!1^348,300!1^420,300!1^384,204!2^564,108,0.707106781186547,-0.707106781186547!11^744,564,36,564!9^384,468,0,0,30,2,1,-1,0!9^756,60,0,0,2,23,1,0,0!9^384,120,0,0,29,23,1,-1,0!2^36,504,0,-1!2^756,504,0,-1!2^468,384,0,-1!2^300,384,0,-1!3^384,264!3^180,180!3^588,180!0^36,120!0^36,144!0^36,168!0^36,192!0^36,216!0^36,240!0^36,264!0^36,288!0^36,312!0^36,336!0^36,360!0^36,384!0^36,408!0^36,432!0^36,456!0^756,120!0^756,144!0^756,168!0^756,192!0^756,216!0^756,240!0^756,264!0^756,288!0^756,312!0^756,336!0^756,360!0^756,384!0^756,408!0^756,432!0^756,456!0^204,96!0^180,120!0^156,144!0^132,168!0^108,192!0^84,216!0^228,72!0^600,132!0^624,156!0^648,180!0^672,204!0^696,228!0^660,300!0^684,300!0^84,300!0^108,300!0^96,300!0^672,300!0^684,288!0^684,276!0^672,276!0^660,276!0^660,288!0^108,288!0^108,276!0^96,276!0^84,276!0^84,288");
var _local21 = new LevelData("industrial zone", "000000000000000000000000000000000000111100000000000001111111001000000000000010000000010000000001111100000000100000000010000000000001001000000100000000000000010000001000000000000000100000010000000000000001000000100000000000000010000001001000;0<000111100000010010001010001000000000000100010100010000000000001000:0=00010000000001111000000000100000000010000000000001100000000100000000000001000000001111111000000010000000000000010000000100000000000000100001001000000000000001000010110000000000010010000100000000000000100100001000000000000001001000010000000000000010000001100000000000000111111110000000000000000000000000000000003140000000000000000000010100000000000000000000005000000000000000000000000000000000000000000|5^708,36!9^612,156,0,0,14,12,1,0,0!9^108,180,0,0,14,12,1,-1,0!9^228,468,0,0,11,12,1,-1,0!9^468,564,0,0,11,12,1,0,0!11^720,84,312,300!6^660,324,1,1,0,3!6^348,396,0,1,0,0!6^60,252,1,1,0,1!6^348,156,0,1,0,3!3^468,372!3^108,228!0^588,348!0^564,348!0^540,348!0^516,348!0^492,348!0^84,396!0^84,372!0^108,372!0^108,396!0^132,396!0^132,372!0^156,372!0^156,396!0^300,252!0^324,252!0^312,240!0^336,240!0^288,240!1^708,516!1^636,456!1^396,324!1^204,360!1^156,276");
var _local28 = new LevelData("launchpad arena", "500000000000001100000020000000000000011000000000000000000000J1400000000000111000000021400003000031MI00000000B1100110001150000000000>1100110001E0000000000001500020001A0000000000000000000000000000000000000000000000000000000000000000000000003100000000000000000000315000000014000000000031E00000000QJ400000000311A0000000000240000000111000000000000B@000000111000000000000NP000000111000000000000CA000000211@0000000000350000000021D00000000OK5000000000021400000001500000000000021000000000000000000000000000000000000000000000000000000000000001@0000000000000000000001D0000000000001400030001140000000000?110011000021LH00000000C1100110000011100000003150000200000000000000K150000000000000000000011000000040000000000000110000003|5^432,552!2^396,516,0,-1!2^240,576,0,-1!2^552,576,0,-1!2^108,396,0.707106781186547,-0.707106781186547!2^684,396,-0.707106781186547,-0.707106781186547!2^744,360,0,-1!2^48,360,0,-1!2^180,432,0,-1!2^612,432,0,-1!2^516,228,0.707106781186547,-0.707106781186547!2^276,228,-0.707106781186547,-0.707106781186547!2^132,132,-0.707106781186547,-0.707106781186547!2^660,132,0.707106781186547,-0.707106781186547!2^216,108,1,0!2^576,108,-1,0!2^348,156,-0.707106781186547,-0.707106781186547!2^444,156,0.707106781186547,-0.707106781186547!10^396,300!3^396,60!6^612,84,0,0,2,0!6^180,84,1,0,2,2!6^36,468,2,1,0,0!6^756,468,3,1,0,2!11^396,564,396,132!7^420,108,1!7^396,108,1!7^372,108,1!9^720,564,0,0,17,5,1,0,0!9^72,564,0,0,15,5,1,-1,0!0^504,420!0^492,420!0^480,420!0^480,408!0^480,396!0^492,396!0^504,396!0^504,408!0^288,420!0^300,420!0^312,420!0^312,408!0^312,396!0^300,396!0^288,396!0^288,408!0^636,516!0^636,504!0^636,492!0^648,492!0^660,492!0^660,504!0^660,516!0^648,516!0^132,516!0^132,504!0^132,492!0^156,492!0^144,492!0^156,504!0^156,516!0^144,516!0^84,156!0^60,156!0^36,156!0^36,180!0^84,180!0^84,204!0^60,204!0^36,204!0^60,180!0^708,156!0^732,156!0^756,156!0^756,180!0^732,180!0^708,180!0^708,204!0^732,204!0^756,204!0^492,408!0^300,408!0^144,504!0^648,504");
var _local22 = new LevelData("dodgem", "000000000000000000000000000000000000000000000001111111100111111100000010000001001000001000000100000010010000010000001000003500240000100003010000050000240001000010100000000000200011110101000000000000000000001010000000000000000000020100000000000000000000001000000000000034000000010000000000000250000000F000000000000000000000000000000000000000000000G000000000000000000000010000000000000003400000100000000000000025000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000003400010000000140000000025000100000001100314000000001000000011111010000000011115000110020100000000000000001500005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|5^732,552!1^372,192!2^372,576,0,-1!2^492,576,0,-1!2^168,312,0.707106781186547,-0.707106781186547!7^372,300,1!7^396,300,1!7^420,324,2!7^420,348,2!7^396,372,3!7^372,372,3!7^348,348,0!7^348,324,0!7^492,396,0!7^492,372,0!7^516,348,1!7^540,348,1!7^564,372,2!7^564,396,2!7^540,420,3!7^516,420,3!7^660,468,1!7^684,468,1!7^684,540,3!7^660,540,3!7^636,516,0!7^636,492,0!7^708,492,2!7^708,516,2!7^468,228,1!7^492,228,1!7^516,252,2!7^516,276,2!7^492,300,3!7^468,300,3!7^444,276,0!7^444,252,0!3^756,36!10^108,84!6^180,132,4,0,0,0!6^324,492,5,0,0,2!0^636,36!0^612,36!0^588,36!0^564,36!0^540,36!0^516,36!0^492,36!0^468,36!0^444,36!0^420,36!2^684,576,-0.707106781186547,-0.707106781186547!2^480,72,0,1!11^624,372,36,564!4^84,570,1!7^60,276,0!7^60,252,0!9^180,180,0,0,8,22,1,0,0!9^432,420,0,0,8,22,1,-1,0!12^24,408!12^72,348!12^72,228!12^24,168!12^72,108!12^24,60!6^36,228,1,1,0,3!0^108,324!0^108,348!0^108,372!0^108,396!0^108,420!0^132,420!0^156,420!0^180,420!0^204,420!0^192,408!0^168,408!0^144,408!0^120,408!0^120,384!0^120,360!0^120,336!0^132,396!6^132,348,2,0,0,0");
var _local36 = new LevelData("complex", "00000000000000000000000000000000000000000000000000000000000000000000000011111111111111100000000100000010000001000000001000000E01LOOO1110030001110100P0000000011010000000100P000000001101000000010?A000000101000000000010N0000000E01000000000010N0000000P01000000000010C0000000D010000000000101110010010100000000001010000100001000000000010100001000010000000000101501110011100300000001000000000000001000000010000000000000010000000101401110011100200000001010000100001000000000010100001000010000000000101111010NM010000000000100000000N0010000000000100000000NL0100000000001000000000001000001110011111110000011010020100000000111100110100001000000000001111002003010000000000000000000011100000000000000000000000000000000000000000|5^144,48!9^144,144,0,1,7,22,0,-1,0!9^144,144,0,1,27,22,0,0,0!11^684,108,144,144!9^564,468,1,0,5,13,1,0,-1!9^264,468,0,0,22,19,1,-1,0!9^288,468,0,0,24,19,1,0,0!9^516,276,0,0,13,19,1,0,0!9^348,276,0,0,9,19,1,-1,0!9^132,420,1,1,9,23,0,0,-1!9^144,420,0,1,18,22,0,0,0!9^132,420,0,1,21,21,0,0,0!9^144,420,1,1,21,21,0,0,0!9^132,420,0,1,17,21,0,-1,0!9^132,420,0,0,7,7,1,0,0!9^144,420,0,0,7,7,1,-1,0!6^300,564,3,0,0,0!6^588,564,2,0,0,2!6^492,348,0,0,1,0!6^372,396,0,0,1,2!12^168,324!12^168,348!12^168,372!12^168,396!12^240,432!12^264,432!12^288,432!12^312,432!12^564,420!12^540,420!12^588,420!0^132,144!0^156,144!0^156,168!0^144,168!0^132,168!0^132,192!0^144,192!0^156,192!0^156,216!0^144,216!0^132,216!0^132,240!0^144,240!0^156,240!0^180,240!0^204,240!0^192,240!0^228,240!0^240,240!0^252,240!0^300,240!0^288,240!0^276,240!0^468,228!0^480,228!0^492,228!0^504,228!0^516,228!0^528,228!0^540,228!0^516,300!0^492,276!0^372,276!0^348,300!0^444,372!0^444,360!0^444,348!0^444,336!0^444,324!0^420,324!0^420,336!0^420,348!0^420,360!0^420,372!0^432,336!0^432,360!0^432,384!0^432,312");
var _local23 = new LevelData("industrial zone 2", "000000000000000000000000000000000000000000000000111110011001110000000000000000000000000000000000000000000000040000000001111111111110100000000010000000000001000000000100000000000010000000001000000000000100000000010000000000001000000000100000000000010000000001150000000000100000000000000000000001110000000111100?1P00000010000000100000N0P00000050000000100000>0P0000000000000010000000A00004000000000100000000000010000000001000000000000100000000010000000000001000000000100000000000010000000001000000000000100000000010000000000001000000000100000000000010000000001000011000000100000000011150111111111000000000000000000000000000300000000000000000000001000001110000111000000010000000000000000000000200000000000000000000000|5^756,552!11^696,540,372,300!1^84,516!1^420,528!1^708,480!1^516,360!1^240,372!1^288,288!1^492,252!7^636,228,2!7^348,444,3!7^372,444,3!7^396,444,3!7^156,420,0!7^324,132,3!6^540,420,0,1,0,0!6^180,300,1,1,0,3!6^132,84,4,0,1,0!6^276,492,5,1,2,2!9^444,108,0,0,16,12,1,0,0!9^588,420,0,0,16,12,1,-1,0!3^612,156!3^180,396!0^180,420!0^204,420!0^228,420!0^252,420!0^276,420!0^300,420!0^324,420!0^420,420!0^444,420!0^468,420!0^492,420!0^516,420!0^540,420!0^564,420!0^612,420!2^36,576,0,-1!2^108,576,0,-1!2^324,432,0,-1!2^552,432,0,-1");
var _local14 = new LevelData("keep on tryin", "00100000000000000000000001000000000000000001110020000000000000000010000000;0000000000000000000000:000000000000350000000000000000000035000000000000;0000000000000000000000:00000000000000000000000000;0000000000000000000000:0000000000000000000000000000000000000000;0000000000000000000000:0000000000000000000000000000000000000000000000000000000000000000000000000;000000000000000;000000:000000000000000:00000000000000000000000000000000000000000000000000000000000000000000000;0000000000000000000000:00000000000000000;0000000000000000000000:000000000000000000000000000000000000000000000000;0000000000000000000000:000000000000000040030000000000000000000103500000000000000001111010000000000000000000010100000000000000000000|5^60,468!12^24,192!12^24,276!12^24,360!12^24,444!12^24,528!12^36,402!12^36,486!12^42,318!12^42,234!12^756,192!12^768,288!12^756,384!12^768,480!12^744,540!12^756,432!12^756,336!12^756,240!6^84,540,2,0,1,0!11^684,564,732,60!2^96,504,0,-1!9^60,60,0,0,30,2,1,-1,0!3^348,36!7^108,516,1!7^132,516,1!7^156,516,1!7^180,516,1!7^204,516,1!7^228,516,1!7^252,516,1!7^276,516,1!7^300,516,1!7^324,516,1!7^348,516,1!7^372,516,1!7^396,516,1!7^420,516,1!7^444,516,1!7^468,516,1!7^492,516,1!7^516,516,1!7^540,516,1!7^564,516,1!7^588,516,1!7^612,516,1!7^636,516,1!7^660,516,1!7^684,516,1!2^552,228,1,0!2^672,180,1,0!2^168,228,-1,0!2^216,324,-1,0!2^288,204,-1,0!2^432,324,1,0!2^432,168,0,1!2^576,120,0,1!2^648,192,0,1!2^120,168,0,1!2^312,216,0,1!2^408,336,0,1!2^240,336,0,1!0^228,306!0^252,306!0^240,294!0^396,306!0^420,306!0^408,294!0^510,210!0^546,210!0^528,198!0^648,150!0^636,162!0^660,162!0^594,90!0^558,90!0^576,78!0^432,120!0^420,132!0^444,132!0^312,168!0^300,186!0^324,186!0^192,210!0^192,192!0^120,126!0^132,138!0^108,138");
var _local4 = new Array();
_local4.push(_local17);
_local4.push(_local51);
_local4.push(_local52);
_local4.push(_local24);
_local4.push(_local20);
this.episodeList[0] = new EpisodeData("episode 0", "xxxx", _local4);
var _local3 = new Array();
_local3.push(_local18);
_local3.push(_local47);
_local3.push(_local29);
_local3.push(_local38);
_local3.push(_local15);
this.episodeList[1] = new EpisodeData("episode 1", "deli", _local3);
var _local6 = new Array();
_local6.push(_local42);
_local6.push(_local43);
_local6.push(_local25);
_local6.push(_local39);
_local6.push(_local57);
this.episodeList[2] = new EpisodeData("episode 2", "billow", _local6);
var _local5 = new Array();
_local5.push(_local58);
_local5.push(_local44);
_local5.push(_local30);
_local5.push(_local31);
_local5.push(_local60);
this.episodeList[3] = new EpisodeData("episode 3", "spright", _local5);
var _local8 = new Array();
_local8.push(_local34);
_local8.push(_local12);
_local8.push(_local54);
_local8.push(_local16);
_local8.push(_local19);
this.episodeList[4] = new EpisodeData("episode 4", "stainless", _local8);
var _local7 = new Array();
_local7.push(_local48);
_local7.push(_local55);
_local7.push(_local32);
_local7.push(_local49);
_local7.push(_local37);
this.episodeList[5] = new EpisodeData("episode 5", "resonant", _local7);
var _local10 = new Array();
_local10.push(_local61);
_local10.push(_local21);
_local10.push(_local26);
_local10.push(_local45);
_local10.push(_local13);
this.episodeList[6] = new EpisodeData("episode 6", "allegory", _local10);
var _local9 = new Array();
_local9.push(_local56);
_local9.push(_local59);
_local9.push(_local35);
_local9.push(_local40);
_local9.push(_local46);
this.episodeList[7] = new EpisodeData("episode 7", "donut", _local9);
var _local2 = new Array();
_local2.push(_local41);
_local2.push(_local50);
_local2.push(_local27);
_local2.push(_local53);
_local2.push(_local33);
this.episodeList[8] = new EpisodeData("episode 8", "chuckles", _local2);
var _local11 = new Array();
_local11.push(_local28);
_local11.push(_local36);
_local11.push(_local22);
_local11.push(_local23);
_local11.push(_local14);
this.episodeList[9] = new EpisodeData("episode 9", "gaze", _local11);
};
NinjaData.prototype.BuildGameData_Set1 = function () {
var _local12 = new LevelData("longjump", "E000000100000FJ1000000BA000000E00000001000000>000000000000000E0000D00000000000C00000000001000000C000010000000000000000010000100000000000000000100001000000000000000001000010000000000000000010000E0000000000000000010000000000D000010000001000000000010000100000010000000000000000000000100000000000000000?0000100000000000000000C0000100000000000000003100001000000000000000011000010000000000000000210000100000000000000000B0000100000000000000000>0000100000000000000000000001000000000010000100000010000000000E0000100000010000D00000000000000000100001000000000000000001000010000000000000000010000100000000000000000B000010000000000000000000000B0000000000100000000000000000D0000E00@000000D00000001000000?D000000100000GK1000000C|5^696,480!11^396,108,396,168!0^540,372!0^516,372!0^276,372!0^252,372!0^252,492!0^276,492!0^516,492!0^540,492!2^396,528,0,-1!2^720,384,0,-1!2^72,384,0,-1!0^756,180!0^744,180!0^732,180!0^756,168!0^756,156!0^60,180!0^48,180!0^36,180!0^36,168!0^36,156!0^264,360!0^528,360!0^528,480!0^264,480");
var _local31 = new LevelData("hold it", "1111111111111111111111111111111111111111111111111111500001000001111111111110000010000011111111111100000E0000011111111111100000P0000011111111111100000P000002111111111110000?A000000111111111110000N0000003111111111110000N0000001111111111110000N0000001111111111110000N0000001111111111110000>@00000B1111111111100000P00000N1111111111100000P00000C1111111111100000P0000011111111111100000P000001111111111110000?A000001111111111110000N00000?1111111111110000N00000N1111111111110000N00000>1111111111110000N0000001111111111110000>@0000011111111111100000D0000011111111111100000100003111111111111000000000011111111111110000000000211111111111140000000000111111111111111111111111111111111111111111111111111111111111111111111111111|5^108,396!12^204,432!12^348,420!12^492,408!12^636,396!12^204,408!12^348,396!12^492,384!12^636,372!12^540,264!12^468,264!12^384,276!12^264,264!12^384,204!12^384,168!12^264,168!12^312,216!12^216,216!12^504,168!12^384,192!12^384,180!12^384,288!12^288,276!12^240,276!0^264,228!0^276,240!0^252,240!0^252,228!0^264,216!0^276,228!0^288,240!0^240,240!0^516,264!0^504,264!0^492,264!0^492,252!0^504,252!0^516,252!0^396,264!0^396,252!0^396,240!0^396,228!0^396,216!0^384,216!0^372,216!0^372,228!0^372,240!0^372,252!0^372,264!0^384,264!0^384,252!0^384,240!0^384,228!0^264,420!0^288,420!0^396,420!0^420,420!0^444,420!0^540,420!0^564,420!0^588,420!0^576,408!0^552,408!0^564,396!2^684,432,0,-1!11^108,276,156,276");
var _local50 = new LevelData("don't look down", "50015000000150000000002000100000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000010000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000001000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000100000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001000000040000014000000014000003|5^84,540!2^396,552,0,-1!2^588,552,0,-1!2^204,552,0,-1!1^540,372!1^444,372!1^348,372!1^252,372!1^156,372!1^60,372!1^636,372!1^636,252!1^540,252!1^444,252!1^348,252!1^252,252!1^156,252!1^108,336!1^684,216!1^636,132!1^540,132!1^444,132!1^348,132!1^252,132!1^156,132!1^108,120!0^636,36!0^636,48!0^540,48!0^540,36!0^444,36!0^444,48!0^348,48!0^348,36!0^252,36!0^252,48!0^156,48!0^156,36!0^156,156!0^156,168!0^252,156!0^252,168!0^348,156!0^348,168!0^444,156!0^444,168!0^540,156!0^540,168!0^636,156!0^636,168!0^636,276!0^540,276!0^444,276!0^348,276!0^252,276!0^156,276!11^48,84,48,276");
var _local32 = new LevelData("balcon", "50010001000100010001002000500050005000500050000000000000000000000000000000000000000000000000000000000000040000000000000000000000100003000000000000000002000010000000003000040000000100000000010000100000002000000000100001000000000000000001000050000000000030000050000000000000031100000000000000040000150000000000000000100001000000000000000001000010000000000000000010000100000000000000000100001000000000000000001000010000000000000000050000110000004000000000000002100000010000400000000000000000100001000000000000000001000010000000300000000020000500000001000000000000000003000010000000000000000010000200000000000000000500000000000000000000000000000000000000000000000000000000004000400040004000400040010001000100010001003|5^180,564!9^396,492,0,0,20,23,1,0,0!9^396,372,0,0,19,23,1,0,0!9^396,192,0,0,19,23,1,-1,0!11^384,564,396,72!0^756,468!0^744,468!0^732,468!0^756,372!0^744,372!0^732,372!0^732,276!0^744,276!0^756,276!0^756,180!0^744,180!0^732,180!0^732,84!0^744,84!0^756,84!0^36,84!0^48,84!0^60,84!0^60,180!0^48,180!0^36,180!0^36,276!0^48,276!0^60,276!0^60,372!0^48,372!0^36,372!0^36,468!0^48,468!0^60,468!6^156,372,3,0,0,0!6^588,180,2,0,0,2!6^204,132,2,0,0,0!6^636,324,3,0,0,2");
var _local13 = new LevelData("ditched", "90006119000000000000006000001100000000000000000000011800000000000000000000111111111111111<0000000:1111111111111110000000000000000000061100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000007110000000;1111111111111110000000111111111111111=00000001190000000000000000000011000000000000000080007118000000000000007|5^720,108!11^72,132,396,252!2^540,480,0,-1!2^252,480,0,-1!2^396,480,0,-1!1^468,372!1^324,372!1^204,324!1^588,324!1^492,252!1^300,252!1^396,180!0^612,468!0^600,468!0^588,468!0^576,468!0^564,468!0^564,456!0^576,456!0^588,456!0^600,456!0^612,456!0^180,468!0^192,468!0^204,468!0^216,468!0^228,468!0^228,456!0^216,456!0^204,456!0^192,456!0^180,456!0^420,468!0^432,468!0^444,468!0^456,468!0^468,468!0^480,468!0^492,468!0^504,468!0^516,468!0^276,468!0^288,468!0^300,468!0^312,468!0^324,468!0^336,468!0^348,468!0^360,468!0^372,468!12^468,420!12^324,420!12^204,372!12^588,372!12^588,204!12^204,204!12^444,156!12^348,156!12^432,372!12^360,372");
var _local22 = new LevelData("frogger", "0001000010000100001001000010000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000100000000000000000100N0100000000000000000000>1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000?1100000000000000000000N01000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000N0100000000000000000000>1100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000?1100000000000000000000N010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000010000100001000010000|5^684,540!6^564,444,2,0,0,2!6^60,132,2,0,0,0!6^372,204,3,0,0,0!6^228,324,2,0,0,2!6^540,324,3,0,0,0!6^684,132,3,0,0,2!7^96,156,3!7^120,156,3!7^240,156,3!7^264,156,3!7^384,156,3!7^408,156,3!7^528,156,3!7^552,156,3!7^672,156,3!7^696,156,3!7^156,228,3!7^180,228,3!7^204,228,3!7^300,228,3!7^324,228,3!7^348,228,3!7^444,228,3!7^468,228,3!7^492,228,3!7^588,228,3!7^612,228,3!7^636,228,3!7^240,276,3!7^264,276,3!7^528,276,3!7^552,276,3!7^372,336,3!7^396,336,3!7^420,336,3!7^636,348,3!7^660,348,3!7^684,348,3!7^108,348,3!7^132,348,3!7^156,348,3!7^228,396,3!7^252,396,3!7^276,396,3!7^540,396,3!7^564,396,3!7^516,396,3!7^372,456,3!7^396,456,3!7^420,456,3!7^276,516,3!7^300,516,3!7^324,516,3!7^468,516,3!7^492,516,3!7^516,516,3!7^588,540,3!7^612,540,3!7^396,540,3!12^36,456!12^36,336!12^36,216!12^756,216!12^756,336!12^756,456!11^60,564,612,84!0^732,84!0^744,84!0^756,84!0^756,72!0^744,72!0^732,72!0^732,60!0^744,60!0^756,60!0^60,84!0^48,84!0^36,84!0^36,72!0^48,72!0^60,72!0^60,60!0^48,60!0^36,60!0^180,48!0^180,36!0^324,36!0^324,48!0^468,48!0^468,36!0^612,36!0^612,48!7^180,168,3!7^324,168,3!7^468,168,3!7^612,168,3!7^684,276,3!7^708,276,3!7^108,276,3!7^84,276,3!9^180,84,0,0,6,23,1,0,0!9^120,564,0,0,25,3,1,0,0!0^324,84!0^336,84!0^348,84!0^444,84!0^456,84!0^468,84!0^444,72!0^444,60!0^444,48!0^456,48!0^348,72!0^348,60!0^348,48!0^336,48!0^600,48!0^732,48!0^744,48!0^756,48!0^60,48!0^48,48!0^36,48");
var _local56 = new LevelData("cityscape 2", "00000000000000000000000503111115031111150311110350003503500035035003135000350350003503500315500035035000350350031531111503111115031111153500000000000000000315350111111111111150311535000000000P000000031535000000OOO0P000000311153000000P0000000000000001000000P0000000000N11P05003000QQQP0000000N10P00001000000P0000000N10P000010OOOOOP0000000N10P000050P000000000000N10P000000P000000000000N10P;O0000P000000000000N10P:Q0000P000000000000N10P000000QQQQQQQQQP000N10P000000000000000P000N10P000000000000000P000N10P00000000OOOOOOOP000N10P00300000P0000000000N10P00100000P0000000000O10P00500000P0000000000010P00000000QQPNQQQQP00Q10P0000000000PN0000P00N10P0000000OOOPNOOOOP00N10P0000000P00000000000N10P000;100P00000000000N10P00019|5^348,492!9^276,408,1,0,11,16,0,0,0!9^276,432,1,0,11,18,0,0,-1!11^612,84,60,60!9^756,516,1,0,11,8,1,0,-1!9^468,108,0,0,8,15,1,0,0!9^468,228,0,0,8,14,1,0,0!9^396,84,0,0,10,7,1,0,0!1^372,252!1^372,300!1^324,204!1^324,300!1^276,252!1^228,252!1^228,300!1^372,348!0^660,168!0^684,168!0^708,168!0^588,120!0^612,120!0^636,120!0^732,120!0^756,120!0^612,168!0^636,144!0^636,192!0^636,240!0^588,216!0^588,264!0^612,288!0^636,288!0^756,144!0^732,96!0^732,192!0^732,216!0^756,192!0^756,240!0^756,264!0^636,312!0^684,312!0^732,312!0^756,336!0^576,336!0^552,336!0^552,288!0^528,312!9^420,180,0,0,18,16,1,0,0!0^552,360!0^732,360!0^672,360!0^492,336!6^180,36,2,0,0,1!4^468,570,1");
var _local42 = new LevelData("strata", "000P000000000P0000P0000000P000000000000000000000000000000000000000P000000000000000000P000P000000000000000000P000P00000000P000000000P000P00000000P000000000P000P00000000P000000000P000P0000000000000000000000P000000000000000000000000000000000000P000000P000000000000000P000000P000000000000000P000000P00000000000000000000000000000000000000000000000P000000000000000000P000P000000000000000000P000P0000000000P0000000P000P0000000000P00000000000P0000000000P000000000000000000000000000P0000P00000000000000000P0000P00000000000000000000000000000000000000000000000P00000000P0000000000000P00000000P0000000000000P000000000000000000000000000000000000000000P0000000000000000000000P00000000P0000000000000P00000000P0000000000000P00000|5^48,72!11^744,84,744,552!0^624,492!0^612,492!0^600,492!0^456,492!0^444,492!0^432,492!0^420,492!0^408,492!0^396,492!0^384,492!0^216,492!0^204,492!0^192,492!0^180,492!0^168,492!0^156,492!0^144,492!0^132,492!0^120,492!0^108,492!0^96,492!3^756,276");
var _local53 = new LevelData("mod", "000000000000001000000000000000000000018000000000000000000000:11111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111<0;11111<0;11111<0;10061019000610190006101900010100000101000001010000101000001010000010100001010000010100000101000710180007101800071018111=0:11111=0:11111=0:100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;111<00000000000000000019061000000000000000000100010000000000000000001000100000000000000000010001000000000000000000100010000000000000000001000100000000000000000010001000000000000000|5^60,348!11^36,564,756,84!9^324,132,0,0,3,23,1,0,0!10^36,36!4^732,570,1!6^324,324,0,0,0,0!0^612,96!0^636,96!0^660,96!0^684,96!0^708,96!0^732,96!0^276,528!0^300,528!0^324,528!0^348,528!0^372,528!0^300,144!0^276,144!0^348,144!0^372,144!0^72,420!0^72,444!0^72,468!0^72,492!0^72,516!1^492,156!1^492,324!1^492,468");
var _local54 = new LevelData("superliminal", "90000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000340000000000340700000;1111114311111111100000:152111111111152110000000000002500000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070000000000000;1114311110000000000000:111111111000000000000000002500060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000007|5^732,540!0^228,180!0^216,180!0^216,192!0^228,192!0^228,276!0^216,276!0^216,288!0^228,288!0^228,372!0^216,372!0^216,384!0^228,384!0^228,468!0^216,468!0^216,480!0^228,480!0^36,180!0^48,180!0^48,192!0^36,192!0^36,276!0^48,276!0^48,288!0^36,288!0^36,372!0^48,372!0^48,384!0^36,384!0^36,468!0^48,468!0^48,480!0^36,480!0^120,564!0^120,552!0^132,552!0^132,564!0^144,564!0^144,552!0^120,540!0^132,540!0^144,540!11^348,564,528,324!2^660,576,0,-1!2^396,576,0,-1!10^132,480!6^300,372,2,0,0,0!6^492,372,2,0,0,1!6^492,540,2,0,0,2!6^300,540,2,0,0,3");
var _local51 = new LevelData("simpleton", "5000000150000000001500200000001000000000000000003100010000000000000000350003140003140350000001000N111000111150000000100002150002150000000001000000000000000000000010000000000000000000000100000000000000000000301000000000000000000001010000000000000000000010100000000000000000000201000000000000000000000010000000000000000000000100003140003140000000001000011100011100000000010000215000215000000000100000B0000000000000000100000N000000000000000010000000000000000000030100000000000000000000101000000000000000000001010000000000000000000020100000000000000000000001400000000000000000000021400000000314000000000021000000001110000000000010000000021500000000000100000000000000000000001000000000000000000040014014031100310031003|5^36,396!12^516,552!12^540,552!12^252,552!12^276,552!4^132,570,1!4^396,570,1!4^660,570,1!1^528,444!1^264,444!1^324,396!1^204,396!1^468,396!1^588,396!2^72,576,0,-1!2^48,192,0,-1!11^708,84,396,300!2^156,324,0.707106781186547,-0.707106781186547!2^372,324,-0.707106781186547,-0.707106781186547!2^420,324,0.707106781186547,-0.707106781186547!2^636,324,-0.707106781186547,-0.707106781186547!2^372,180,-0.707106781186547,-0.707106781186547!2^156,180,0.707106781186547,-0.707106781186547!2^36,456,0,-1!0^756,516!0^756,528!0^756,540!0^744,540!0^744,528!0^744,516!0^756,420!0^744,420!0^744,432!0^744,444!0^756,444!0^756,432!0^756,324!0^744,324!0^744,336!0^744,348!0^756,348!0^756,336!0^540,528!0^528,528!0^516,528!0^516,516!0^528,516!0^540,516!0^540,504!0^528,504!0^516,504!0^276,528!0^264,528!0^252,528!0^252,516!0^264,516!0^276,516!0^276,504!0^264,504!0^252,504!0^540,492!0^528,492!0^516,492!0^276,492!0^264,492!0^252,492!6^684,84,2,0,0,3!6^588,84,3,0,0,2!6^468,132,3,0,0,0!6^588,564,3,0,0,3!2^756,252,-0.707106781186547,-0.707106781186547");
var _local57 = new LevelData("les islots A", "0011111119000000000000600:1111110000000000000700006111100000;<000;11100000:1110000011000111100000061100000:=000:1110000000:180000000000006000000006111<0000000007000000000:11100;<0000;1000000000061100110000:100000000000:=0011000006000000000000000:=00000700000000000000000000;1100000000000000000000:11000000000000000000000060000000000000000000000000000000000000000;<00000000000000000000011000000000000000000000:=000000000000000000000000000800000000000000000000001<0000000000000000;11101=0000000000000000:11109000000000000000000619000000000000000;<0000100000000000000001100001000000000000;<0011000010000000000001100110000100000000;<00110011800010000000011001187111<0010000;<001187111111110010000118711111111111187187|5^36,48!11^660,564,756,60!9^42,258,0,0,21,23,1,-1,0!9^150,258,0,0,22,23,1,0,0!6^228,444,1,1,0,0!6^636,420,0,1,0,2!6^36,516,1,1,0,3!0^684,564!0^696,564!0^708,564!0^720,564!0^732,564!0^744,564!0^756,552!0^744,552!0^744,540!0^732,540!0^732,552!0^720,552!0^720,540!0^708,540!0^708,552!0^696,552!0^696,540!0^684,540!0^684,552!0^732,492!0^744,492!0^744,480!0^744,468!0^732,468!0^732,480!0^696,348!0^696,336!0^696,324!0^684,324!0^684,336!0^684,348!0^720,252!0^720,240!0^720,228!0^708,228!0^708,240!0^708,252!0^744,156!0^744,144!0^744,132!0^732,132!0^732,144!0^732,156!1^324,300!1^492,300!1^408,228!1^492,156!1^324,156!1^408,84!6^420,564,2,0,0,2");
var _local52 = new LevelData("pyramined", "00000000000000000000002010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000GK0000000000000000000GK1100000000000000000GK1111000000000000000GK1150020000000000000GK1500000000000000000GK1500000000000000000GK1500000000000000000GK1500000000000000000GK1500000000000000000GK150000000000000000000FJ10000000000000000000000000000000000000000000GK100000000000000000000FJ14000000000000000000000FJ14000000000000000000000FJ14000000000000000000000FJ14000000000000000000000FJ14000000000000000000000FJ14000000000000000000000FJ11400300000000000000000FJ11110000000000000000000FJ110000000000000000000001100000000000000000000010000000000000000000000200100000000000000000000000000000000000000000003|5^324,60!11^396,564,684,564!9^84,564,0,0,29,23,1,0,0!1^396,300!1^396,420!1^324,516!1^468,516!1^516,396!1^276,396!1^708,420!1^708,300!1^708,180!1^612,108!1^612,228!1^84,420!1^84,300!1^84,180!1^180,228!1^180,108!6^732,84,0,0,1,2!6^60,84,1,0,1,0!12^660,420!12^660,300!12^660,180!12^564,228!12^564,108!12^228,108!12^228,228!12^132,180!12^132,300!12^132,420!0^708,396!0^708,384!0^708,276!0^708,264!0^708,156!0^708,144!0^612,204!0^612,192!0^612,84!0^612,72!0^84,396!0^84,384!0^84,276!0^84,264!0^84,156!0^84,144!0^180,204!0^180,192!0^180,84!0^180,72");
var _local34 = new LevelData("you'll die if you try", "00000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000?0000000000000000000000C00000000000000000000031000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000210000000000000000000000B0000000000000000000000>0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003|5^60,552!1^84,372!1^708,372!1^612,372!1^516,372!1^180,372!1^276,372!1^396,372!1^324,300!1^468,300!1^156,276!1^636,276!1^252,204!1^540,204!1^708,228!1^84,228!1^132,132!1^660,132!1^396,132!12^84,420!12^132,396!12^180,420!12^228,396!12^276,420!12^324,396!12^372,420!12^708,420!12^660,396!12^612,420!12^564,396!12^516,420!12^468,396!12^420,420!12^228,324!12^564,324!12^432,252!12^360,252!12^612,204!12^180,204!12^84,60!12^708,60!0^84,348!0^84,336!0^84,324!0^180,348!0^180,336!0^180,324!0^276,348!0^276,336!0^276,324!0^324,276!0^324,264!0^324,252!0^156,252!0^156,240!0^156,228!0^84,204!0^84,192!0^84,180!0^132,108!0^132,96!0^132,84!0^252,180!0^252,168!0^252,156!0^396,108!0^396,96!0^396,84!0^540,180!0^540,168!0^540,156!0^660,108!0^660,96!0^660,84!0^708,204!0^708,192!0^708,180!0^708,348!0^708,336!0^708,324!0^636,252!0^636,240!0^636,228!0^612,348!0^612,336!0^612,324!0^516,348!0^516,336!0^516,324!0^468,276!0^468,264!0^468,252!0^396,348!0^396,336!0^396,324!0^396,312!0^396,300!0^396,288!0^396,276!0^396,264!0^396,252!0^372,132!0^360,132!0^348,132!0^420,132!0^432,132!0^444,132!0^396,156!0^396,168!0^396,180!0^252,228!0^252,240!0^252,252!0^540,228!0^540,240!0^540,252!0^564,204!0^576,204!0^588,204!0^516,204!0^504,204!0^492,204!0^276,204!0^288,204!0^300,204!0^228,204!0^216,204!0^204,204!0^156,132!0^168,132!0^180,132!0^108,132!0^96,132!0^84,132!0^132,156!0^132,168!0^132,180!0^636,132!0^624,132!0^612,132!0^684,132!0^696,132!0^708,132!0^660,156!0^660,168!0^660,180!0^708,252!0^708,264!0^708,276!0^84,252!0^84,264!0^84,276!0^660,276!0^612,276!0^492,300!0^444,300!0^348,300!0^300,300!0^180,276!0^132,276!3^396,36!11^396,516,744,552");
var _local60 = new LevelData("lowrise", "0000000000000000000000600000000000000000000000000;11111<0000000000000000190006100000000000070001000001000000;1111110001000001000000190000600018000010000001000000000:1<0001000000:000000000061007100000000000000000010;1=000000;000000000001010000000010000000000010100000007100000000000:0100000;11=00000000000001000001900000000000000010000010000000000000000=00000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000=00000000000000000000000000000000000000000000000000000000000000000000<000000000000000000000018000000070000000000000:11111111100000000000000000000006000000000000000000000000000000000000000000000000000000000000000000007|5^72,516!10^744,48!3^360,384!3^624,384!9^228,480,0,0,13,7,1,0,0!1^396,516!1^492,516!1^492,420!1^300,516!9^444,516,0,0,13,7,1,-1,0!9^492,468,0,0,12,7,1,-1,0!9^348,516,0,0,11,7,1,-1,0!11^132,228,180,228!0^708,564!0^720,564!0^732,564!0^744,564!0^696,564!0^684,552!0^756,552!0^756,540!0^756,528!0^756,516!0^756,504!0^756,492!0^756,480!0^756,468!0^756,456!0^756,444!0^756,432!0^756,420!0^756,408!0^756,396!0^756,384!0^684,540!0^684,528!0^684,516!0^684,504!0^684,492!0^684,480!0^684,468!0^684,456!0^684,444!0^684,432!0^684,420!0^684,408!0^684,396!0^684,384!0^684,372!0^684,360!0^756,360!0^756,372!0^696,552!0^708,552!0^720,552!0^732,552!0^744,552!0^744,540!0^732,540!0^744,528!0^696,540!0^708,540!0^696,528!0^720,540!0^696,516!0^696,504!0^696,492!0^696,480!0^696,468!0^696,456!0^696,444!0^696,432!0^696,420!0^696,408!0^696,396!0^696,384!0^696,372!0^696,360!0^744,360!0^744,372!0^744,384!0^744,396!0^744,408!0^744,420!0^744,432!0^744,444!0^744,456!0^744,468!0^744,480!0^744,492!0^744,504!0^744,516!2^576,576,0,-1!2^468,336,0,-1!2^72,576,0,-1!7^564,348,3!7^588,348,3!7^228,420,1");
var _local38 = new LevelData("acrophobe", "50011011500000000000000000150210000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000015000000000000000000000000000000000000000000000000000000000000001400000000000000000040311000000000000000000|5^36,156!11^48,84,732,84!1^660,156!1^132,156!2^768,252,-1,0!2^768,288,-1,0!2^768,324,-1,0!2^768,360,-1,0!2^768,396,-1,0!2^768,432,-1,0!2^768,468,-1,0!2^768,504,-1,0!2^768,540,-1,0!2^24,252,1,0!2^24,288,1,0!2^24,324,1,0!2^24,360,1,0!2^24,396,1,0!2^24,432,1,0!2^24,468,1,0!2^24,504,1,0!2^24,540,1,0!6^612,276,0,0,0,2!6^612,204,1,0,0,2!6^180,204,0,0,0,0!6^180,276,1,0,0,0!0^324,180!0^348,180!0^372,180!0^396,180!0^420,180!0^444,180!0^468,180!0^468,156!0^468,132!0^444,132!0^420,132!0^396,132!0^372,132!0^348,132!0^324,132!0^324,156!0^348,156!0^372,156!0^396,156!0^420,156!0^444,156");
var _local44 = new LevelData("cloud city 3", "001191619119000000000060011718171100000000;<0000:1111111=00000000110000000000610000000006100000000000=0000000000100000000000000000000001000000000000000000<00010000000000000000001000180000000000000000010006100000000000000;10100001000000000000001901000710000;11<0000071001000:=0000111=000;11=001000000007119000019000010000000;111800001000001000000011961<00018000710000000:=00:=000:11111=00;1<00000000000000000000191000000000000000000001710000000000000000000711100000000000;1111111196100000;<000019000006100100000:1800010000000100=00000061<0010000000100000000001100180011<0100000000071100:111111010000000;1111000000000010000000:11110000000000=000000000611000000000000000000000:=00000000000000000000000000000000000007|5^48,48!11^336,84,612,348!2^534,126,-0.707106781186547,-0.707106781186547!9^372,324,0,0,26,18,1,0,0!3^468,228!0^408,132!0^408,120!0^408,108!0^396,114!0^396,126!0^444,396!0^444,372!0^444,348!0^444,324!0^444,300!0^492,324!0^492,348!0^492,372!0^492,396!0^492,420!0^468,408!0^468,384!0^468,360!0^468,336!0^468,312!0^492,444!0^468,432!0^444,420!9^240,396,0,0,10,16,0,-1,0!6^324,396,5,1,0,0!4^372,570,1!0^564,516!0^552,516!0^540,516!0^528,516!0^516,504!0^528,504!0^540,504!0^552,504!0^564,492!0^552,492!0^540,492!0^528,492!6^540,324,2,1,0,0");
var _local30 = new LevelData("crosshairs", "50000000020001500000002000000000000010000000000031100000000500000000040115000000000000001100101500000000000000011401010000000000300000211000500000340001400000210000000031100011400000000000003111000111400000000000311110001111400000000031111100011111400000003111111000111111400000311111110001111111400001111111500021111111000000000000000000000000000000000000000000000000000000000000000000000000011111114000311111110000211111110001111111500000211111100011111150000000211111000111115000000000211110001111500000000000211100011150000000000000211000115000000000400000250001500000310101000000000020000031101014000000000000000115050114000000000000001100002110000000040000000000000000000000100000000040000000030001400000003|5^684,540!1^396,300!6^36,276,2,0,2,0!6^756,324,2,0,2,2!2^120,480,0,-1!2^672,480,0,-1!2^636,348,0.707106781186547,-0.707106781186547!2^756,252,-0.707106781186547,-0.707106781186547!2^720,336,0,-1!2^72,336,0,-1!2^156,348,-0.707106781186547,-0.707106781186547!2^36,252,0.707106781186547,-0.707106781186547!2^240,168,-0.707106781186547,-0.707106781186547!2^552,168,0.707106781186547,-0.707106781186547!2^300,108,-0.707106781186547,-0.707106781186547!2^492,108,0.707106781186547,-0.707106781186547!3^396,156!9^636,564,0,0,6,2,1,0,0!9^612,564,0,0,5,2,1,-1,0!9^138,60,0,0,6,23,1,-1,0!9^150,60,0,0,7,23,1,0,0!11^648,60,168,564!2^396,576,0,-1!0^396,516!0^396,492!0^396,468!0^396,444!0^396,420!0^396,396!0^396,372!0^396,228!0^396,204!0^396,180!0^396,132!0^396,108!0^396,84!0^420,228!0^420,204!0^420,180!0^420,156!0^420,132!0^420,108!0^420,84!0^372,84!0^372,108!0^372,132!0^372,156!0^372,180!0^372,204!0^372,228!0^468,300!0^492,300!0^516,300!0^540,300!0^564,300!0^588,300!0^612,300!0^180,300!0^204,300!0^228,300!0^252,300!0^276,300!0^300,300!0^324,300");
var _local23 = new LevelData("cliffhanger", "000000021150000000000020000000015000000000000000000000000000000000000000O00000000000QQQQQ0000000000000000000000000000000000QQ0000000000000000O000000000000000000000000000000000000000000000000000000000QQQQ0000000O00000OO0000000000000000000000000000000000000000000000000000000000000O0000000000000000000000000000000000QQQ0000000000000000000000000000000O0000QQ000000000000000000000000000000000000000000000000000OO000000000O0000000000000000000000000000OO00000000000000000000000000000000000000O0000000000000000000000000000000000O000000000000000000000000000000000O0000QQ00000000000000000000000000000000000000000000000000000000000000H0000000000GOOOOOOOO1L010000OH0000111111111I00100001111M011111111140G14000000000111111111|5^156,540!11^744,84,390,198!9^696,84,0,0,29,3,1,0,0!2^60,216,0,-1!12^588,408!12^672,408!12^630,408!12^348,438!12^348,402!12^336,420!12^372,492!12^420,456!12^480,468!12^432,504!12^504,540!12^576,528!12^636,492!12^636,456!12^564,444!12^528,480!12^588,492!12^648,540!12^660,480!12^612,552!12^456,540!12^504,504!12^372,540!12^324,528!12^444,408!12^456,408!0^114,90!0^186,90!0^258,90!0^330,90!0^402,90!0^474,90!0^546,90!0^618,90!0^570,378!0^450,378!0^342,378!0^222,378!0^102,378!0^150,210!0^258,234!0^498,234!0^606,210!6^132,36,2,0,0,0!6^684,156,3,0,0,2");
var _local18 = new LevelData("leap of faith 2", "900000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;0000000000000000000000:000;0000000000000000000000:000000000000000;0000000000000000000000:00000000000000000000000000000000000000000000000000;00000000000000;0000000:00000000000000:00000000000000000000000000;00000;0000000000000000:00000:0000000000000000000000000000<0000000000000;0000000010000000000000:00000000100000000000000000000001000000;<000000000080071800007118000000007|5^732,84!12^648,156!12^612,168!12^576,180!12^540,192!12^504,204!12^468,216!12^432,228!12^396,240!12^360,252!12^684,144!12^324,264!12^288,276!12^288,300!11^204,564,744,276!3^744,168!6^396,564,5,1,0,0!6^588,420,5,1,0,1!6^468,396,5,1,0,2!0^672,444!0^600,372!0^552,276!0^456,348!0^384,420!0^528,468!0^600,516!0^408,516!0^36,60!0^36,72!0^36,84!0^36,96!0^36,108!0^36,120!0^36,132!0^36,144!0^36,156!0^36,168!0^36,180!0^36,192!0^36,204!0^36,216!0^36,228!0^36,240!0^36,252!0^36,264!0^36,276!0^36,288!0^36,300");
var _local55 = new LevelData("revolute", "500000000000000000000020000000000000000000000000111111111111111111=00001500000000000000000000010000000000000000000000100111111111111=00;00001001500000000000001000010010000000000000010000100100111111=00;00100001001001500000001001004010010010000000010010010100100100<00;001001001010010010010010010010010100100100100100100100101001001001001001001001010010010010010010010010100100100100100100100101001001001001001001001010010010010010010010010100100100:00100100100501001001000001001001000010010010000310010010000100100=00;11100100100001001000000000001001000010010000000000310010000100=00;11111111100100001000000000000000001000010000000000000000310000=00;111111111111111000000000000000000000000040000000000000000000003|5^420,552!11^396,60,396,276!9^396,132,0,0,12,2,1,-1,0!9^396,492,0,0,20,2,1,0,0!9^228,60,0,0,20,2,1,-1,0!9^564,60,0,0,12,2,1,0,0!9^396,420,0,0,14,2,1,-1,0!9^396,204,0,0,18,2,1,0,0!9^192,300,0,0,15,2,1,-1,0!9^672,300,0,0,17,2,1,0,0!6^396,348,3,1,0,0!6^468,324,2,1,0,0!6^420,252,2,1,0,2!6^348,276,3,1,0,2!0^408,492!0^420,492!0^432,492!0^444,492!0^384,492!0^372,492!0^360,492!0^348,492!0^384,420!0^372,420!0^360,420!0^408,420!0^420,420!0^432,420!0^672,312!0^672,324!0^672,288!0^672,276!0^192,312!0^192,324!0^192,288!0^192,276!0^384,204!0^408,204!0^408,132!0^384,132");
var _local19 = new LevelData("bunker", "000021111111111111000020000011111111111110000000000111111111111100000001001111111111111000000010011111111111110000?0010011111111111150000N0010011111111111500000>001001111111111503100000010011111111150311400000100111111115031111100001001111111503111500000010011111150311110000000100111115031111100000001001111100111111001000010011111001111110010000100111110000021100100001001111100114011001000010011111001110110010000000111150311101100100000001115031115011001000000311503111100110010000111150311111111100100000215031111111111001000000003111111111110010000000311111111111100100000001111111111111001000000011111111111110010000000111111111111100100000001111111111111000000000011111111111110000000003111111111111100003|5^684,480!11^504,396,60,84!9^204,120,1,0,16,13,1,0,-1!9^744,72,1,0,16,13,1,0,0!9^348,48,1,0,16,14,1,0,0!9^300,516,0,0,18,16,1,-1,0!9^120,516,0,0,18,16,1,0,0!9^516,552,0,0,19,16,1,0,0!6^84,564,5,1,0,0!6^132,468,5,1,0,1!6^444,132,5,1,0,2!6^108,36,5,1,0,0!6^300,108,0,0,2,2!0^312,312!0^300,324!0^288,336!0^276,348!0^264,360!0^252,372!0^240,384!0^228,396!0^216,408!0^204,420!0^192,432!0^324,300!0^468,276!0^480,264!0^492,252!0^504,240!0^516,228!0^528,216!0^540,204!0^552,192!0^564,180!0^576,168!0^588,156");
var _local58 = new LevelData("fool's gold", "50000000000000000000002000000000000000000000000000000000000000000000000010000000000000000000000100000000000000000000001400000000000000000000011000000000310000003000110000000001500000110001140000000000000000000011110000000000000000000111500000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000300011000000000000000001000110000000000000000020001100000000000000000000011000000000000000000000110000000000000000000001114000000000000000000011110000000000000000000115000000000000000000001100000000014000001100011000000000210000002000150000000000000000000001000000000000000000000010000000000000000000000000000000000000000000000000000000000000000040000000000000000000003|5^120,60!11^672,84,396,84!3^252,204!3^540,204!10^396,180!12^204,528!12^588,528!12^768,192!12^768,324!12^768,468!12^24,240!12^24,396!2^396,552,0,-1!2^420,564,0.707106781186547,-0.707106781186547!2^372,564,-0.707106781186547,-0.707106781186547!0^756,552!0^744,564!0^732,564!0^720,564!0^708,564!0^696,564!0^684,564!0^672,564!0^660,564!0^648,564!0^636,564!0^624,564!0^612,552!0^612,540!0^756,540!0^744,540!0^732,540!0^720,540!0^708,540!0^696,540!0^684,540!0^672,540!0^660,540!0^648,540!0^636,540!0^624,540!0^624,552!0^636,552!0^648,552!0^660,552!0^672,552!0^684,552!0^696,552!0^708,552!0^720,552!0^732,552!0^744,552!0^36,540!0^36,552!0^48,564!0^60,564!0^72,564!0^84,564!0^96,564!0^108,564!0^120,564!0^132,564!0^144,564!0^156,564!0^168,564!0^180,552!0^180,540!0^168,540!0^156,540!0^144,540!0^132,540!0^120,540!0^108,540!0^96,540!0^84,540!0^72,540!0^60,540!0^48,540!0^48,552!0^60,552!0^72,552!0^84,552!0^96,552!0^108,552!0^120,552!0^132,552!0^144,552!0^156,552!0^168,552!0^564,564!0^564,552!0^564,540!0^552,540!0^540,540!0^528,540!0^516,540!0^504,540!0^492,540!0^480,540!0^468,540!0^456,552!0^444,564!0^456,564!0^468,564!0^480,564!0^492,564!0^504,564!0^516,564!0^528,564!0^540,564!0^552,564!0^552,552!0^540,552!0^528,552!0^516,552!0^504,552!0^492,552!0^480,552!0^468,552!0^228,564!0^240,564!0^252,564!0^264,564!0^276,564!0^288,564!0^300,564!0^312,564!0^324,564!0^336,564!0^348,564!0^336,552!0^324,540!0^312,540!0^300,540!0^288,540!0^276,540!0^264,540!0^252,540!0^240,540!0^228,540!0^228,552!0^240,552!0^252,552!0^264,552!0^276,552!0^288,552!0^300,552!0^312,552!0^324,552!2^180,372,-0.707106781186547,-0.707106781186547!2^204,360,0,-1!2^588,360,0,-1!2^612,372,0.707106781186547,-0.707106781186547!1^516,444!1^276,444!1^348,396!1^444,396!1^516,348!1^276,348!1^396,300!1^624,276!1^168,276!1^696,240!1^96,240!1^696,396!1^96,396");
var _local45 = new LevelData("the two towers", "900000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<000<000<000<000<000000=000=000=000=000=0000000000000000000000000000000<000<000<000<000<000000=000=000=000=000=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<000<000<000<000<000000=000=000=000=000=000000000000000000000000000<000<000<000<000<000000=000=000=000=000=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000007|5^204,540!3^396,420!3^396,228!3^396,36!11^168,60,624,60!12^768,528!12^768,432!12^768,336!12^768,240!12^768,144!12^24,528!12^24,432!12^24,336!12^24,240!12^24,144!0^756,180!0^756,192!0^756,204!0^756,276!0^756,288!0^756,300!0^756,372!0^756,384!0^756,396!0^756,468!0^756,480!0^756,492!0^36,180!0^36,192!0^36,204!0^36,276!0^36,288!0^36,300!0^36,372!0^36,384!0^36,396!0^36,468!0^36,480!0^36,492!0^552,492!0^552,396!0^552,300!0^552,204!0^552,108!0^240,108!0^240,204!0^240,300!0^240,396!0^240,492!0^168,444!0^168,348!0^168,252!0^168,156!0^624,156!0^624,252!0^624,348!0^624,444");
var _local25 = new LevelData("industrial zone 3", "50001000000000000000211000050000000000000000210000000000000003100000200000311111111115000000000001500000000000000000000010000000000310000000003100000000001500000000011000000000010000000000150011000000100003100000000210000001000011000000000100000010000100000000001000000100001000000000010000001000010000000000100000010000100000000031000000100001000000001110000031000000000000010000000150000030000000100000001000000100000001000000000000000000000010000000000000000014003100000000010000000110011000000003100000001000000000000015000000010000000000000100000000140000000000001000000002100000000000010000000001000000000000100000000014000031140031000000000111111500111110000000000000000000000000000340000000000000000000031|5^708,288!11^288,564,216,108!9^432,360,0,0,15,23,1,0,0!9^684,192,0,0,15,23,1,-1,0!9^672,384,0,0,14,23,1,-1,0!9^132,300,0,0,13,23,1,-1,0!3^312,288!10^420,228!1^192,504!1^132,540!1^408,504!1^492,540!1^660,516!6^60,108,3,0,1,0!0^348,228!0^336,228!0^324,228!0^312,228!0^300,228!0^288,228!0^276,228!0^492,180!0^480,180!0^468,180!0^456,180!0^444,180!0^432,180!0^420,180!0^60,180!0^60,204!0^60,228!0^60,252!0^60,276!0^60,300!0^60,324!0^60,348!0^60,372!12^36,156!12^84,228!12^36,300!12^84,372!1^636,288!1^564,348!1^180,348!1^324,372!4^108,570,1!4^708,570,1");
var _local14 = new LevelData("artifact 3", "50000000000000000000002000000000000000000000000000140000000000000000000000240000000000000040000000BD000000000000010000000>1H0C1D0000000310000000011110100000GK150000000?1I0B0100000B1100000000CE0000E0000002E00000003500000000000000000000150000000000000000000000000000000000000000@000000000000000000000?D000000000000000000000C140000000000000000000311100000000000000000001115000000000000000000021E000000000000000000000BA000000000000000000000>000000000000000000000000000140000000000000000000000240000000000000000000000BD0000D0000003D00000000>1H0C0100000C1100000000011110100000FJ140000000?1I0B1E0000000210000000CE00000000000001000000350000000000000050000015000000000000000000000000000000000000000040000000000000000000003|5^660,504!1^396,84!1^396,108!1^396,132!1^396,156!1^396,180!1^396,204!1^396,228!1^396,252!1^396,276!1^396,300!1^396,324!1^396,348!1^396,372!1^396,396!1^396,420!1^396,444!1^396,468!1^396,492!1^396,516!9^192,300,0,0,24,12,1,-1,0!9^612,168,0,0,8,12,1,0,0!11^120,516,600,300!0^192,180!0^180,180!0^168,180!0^168,168!0^180,168!0^192,168!0^192,156!0^180,156!0^168,156!0^168,144!0^180,144!0^192,144!0^192,132!0^180,132!0^168,132!0^108,132!0^108,120!0^108,144!0^120,144!0^120,132!0^120,120!0^252,120!0^252,132!0^252,144!0^240,144!0^240,132!0^240,120!0^228,120!0^228,132!0^228,144!0^132,144!0^132,132!0^132,120!0^156,132!0^156,144!0^204,144!0^204,132!0^216,132!0^216,144!0^144,144!0^144,132!0^156,156!0^204,156!0^216,120!0^144,120!0^216,156!0^144,156!10^180,120!3^492,132!3^300,132!2^564,492,-0.707106781186547,-0.707106781186547!2^228,492,0.707106781186547,-0.707106781186547!2^732,576,0,-1!2^60,576,0,-1!7^732,444,3!7^756,444,3!7^36,444,3!7^60,444,3!7^324,444,3!7^348,444,3!7^300,444,3!7^444,444,3!7^468,444,3!7^492,444,3!7^708,444,3!7^84,444,3!1^492,252!1^300,252!1^492,348!1^300,348!3^732,132!3^60,132!0^708,420!0^720,420!0^732,420!0^744,420!0^756,420!0^492,420!0^480,420!0^468,420!0^456,420!0^444,420!0^348,420!0^336,420!0^324,420!0^312,420!0^300,420!0^84,420!0^72,420!0^60,420!0^48,420!0^36,420");
var _local43 = new LevelData("hunted 2", "9000000:=000:=000:=0611000000000000000000000:1000000000000000000000060000;<00000;<00;<00;<000000:=00000:=001100:=0000000000000000011000000000000;<0000000:=00000;000000:=00000000000000:000000000;<000000000000000000000:=0000000;<000000;<0000000000000:=000000:=000000000000000000000000000000;<00000000;00000000;<00:=00000000:00000000:=000000000;<000000000000000000000110000000000;<000000000:=0000000000:=00;<00000000;000000000000:=00000000:000;<000000000000000000000:=0000000000000;<000000000000;<0000000:=000000000000:=000000000000000000;<00000000000000;000000:=0000000;<00000:000000000000000110000000000;<00000;<001100;<000000:=00000:=00:=00:=0000000000000000000000007000000000000000000000;18000000;<000;<000;<0711|5^396,444!11^396,564,396,48!6^60,348,5,1,0,3!6^636,372,5,1,0,3!6^636,84,5,1,0,2!6^156,372,5,1,0,0!0^456,300!0^336,300!0^360,204!0^432,204!0^672,108!0^600,156!0^552,228!0^672,276!0^504,84!0^288,84!0^120,108!0^192,156!0^240,228!0^120,276!0^264,444!0^120,468!0^528,444!0^672,468!0^600,540!0^456,540!0^336,540!0^192,540");
var _local29 = new LevelData("crypt", "5000000021111111E00000>000000000111111500000000311400001111150000000?011110000111MI000C1111101111400021500003500002011111000000000?1000000011501400000000C500L0000210002400000035003140000000001111111500311100@0000000000000000111E00D0000000GK11D0000111A0?1140311111I01000311E00C11111E0000001403111A001150000000000111115000011000000310001150000031110000001140G11000GK11111001D0021111110001111111001140001111100K1111115001110001111100000000F000111000111111400000000002110001500211111140000001100000000111111100400015000000000000021001000100000000000000010010031000000000000000100100111400000000000001001001111000114000140310010000211111111111111M0010000000000021111MI00001000000000000000000000311111111111111111111111|5^60,540!0^300,300!0^312,300!0^324,300!0^336,300!0^348,300!0^360,300!0^372,300!0^384,300!0^660,204!0^660,216!0^660,228!0^660,240!0^660,252!0^516,300!0^516,312!0^516,324!0^588,156!0^600,156!0^612,156!0^660,396!0^660,384!0^660,372!0^660,360!0^660,348!0^492,36!0^504,36!0^516,36!0^528,36!0^540,36!0^540,108!0^552,108!0^564,108!0^576,108!0^588,108!11^612,492,420,420!12^132,324!12^60,408!12^216,228!12^216,360!12^132,252!12^84,132!3^348,84!3^624,192!8^732,540,2!12^564,576!12^648,576!6^468,540,1,0,0,3!6^540,180,0,0,0,2!6^132,36,0,0,0,0");
var _local61 = new LevelData("picturesque", "0000000000000000F101I0B0000000000000000010100>00000000000000000B010000000000000000000000E00?0000000000000000000000N0000000000000000000000C000000000000000000000010000000000000000000003100000000000000000000?1100000000000000000000N1100000000000000000000>11000000000000000000000FJ00000000000000000000000000000000000000000000000000000000000000000000?0000000000000000000000C0000000000000000000003100000000000000000000?1100000000000000000000C110000000000000000000011100000000000000000000211000000000000000000000B1000000000000000000000N1000000000000000000000>1000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000?0000000000000000000000C00000000000000000000GK1|5^48,516!11^48,468,660,552!9^336,552,0,0,3,19,1,0,0!9^492,480,0,0,3,19,1,-1,0!10^756,300!10^36,300!0^90,48!0^48,102!0^96,156!0^276,174!0^216,216!0^114,228!0^294,96!0^612,78!0^606,144!0^588,216!0^642,258!0^714,120!0^450,108!0^372,150!0^504,186!0^666,174!0^522,66!0^360,66!0^210,132!0^168,84!0^450,162!0^366,222!0^300,204!0^522,114!0^564,90!0^42,150!0^60,186!0^600,204!0^528,240!0^330,186");
var _local26 = new LevelData("mined over madder", "9000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000007<0000000000000000000006=00000000000000000000000000000000000000070000000000;0<000000;111000000000000000000011110000000000:0=000000:1110000000000000000000000600007<0000000000000000000006=0000000000000000000000000000000000;1<0000000000000;0<0000111000000000000000000001110000000000000:0=000011100000000000000000000:1=00000007<0000000000000000000006=00000000000000000000000000000000000000070000000000;0<000000;111000000000000000000011110000000000:0=000000:1110000000000000000000000600007<0000000000000000000006=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000007|5^396,396!11^396,564,396,156!0^648,108!0^648,96!0^648,84!0^648,72!0^648,60!0^648,48!0^648,36!0^480,108!0^480,96!0^480,84!0^480,72!0^480,60!0^480,48!0^480,36!0^312,108!0^312,96!0^312,84!0^312,72!0^312,60!0^312,48!0^312,36!0^144,108!0^144,96!0^144,84!0^144,72!0^144,60!0^144,48!0^144,36!12^228,276!12^204,300!12^228,324!12^252,300!12^396,276!12^396,324!12^420,300!12^372,300!12^564,276!12^540,300!12^564,324!12^588,300!12^756,216!12^36,216!1^684,252!1^108,252!12^36,252!12^36,288!12^756,252!12^756,288!1^300,396!1^492,396!1^612,420!1^684,348!1^108,348!1^180,420!6^60,540,5,1,0,3!6^636,516,5,1,0,3!6^756,84,5,1,0,2!6^180,204,5,1,0,0");
var _local59 = new LevelData("shaftastic", "I000000000000000000000F00000000000000000000000000000000000000000000000000C111111111111111L0000001I0000000000000000000001H000000000000000000000B111111111111111M00000000000000000000000000000000000000000000000000000000000000000000000000C111D00C111111111L0000011101001I0000000000000000001001H000000000000000J11E00B111111111M000000000000000000000000000000000000000000000000000000000000000000000000000000C111111111111L0000000001I0000000000000000000001H000000000000000000000B111111111111M0000000000000000000000000000000000000000000000000000000000000000000000000C11111111111111111L00001I0000000000000000000001H000000000000000000000B11111111111111111M000000000000000000000000000000000000000000000000H000000000000000000000G|5^312,240!11^312,180,648,120!9^144,168,1,0,13,5,1,0,-1!9^312,312,1,0,13,5,1,0,0!9^480,240,1,0,13,6,1,0,0!0^564,492!0^564,444!0^564,396!0^564,348!0^564,300!0^564,252!0^396,492!0^396,444!0^396,396!0^396,348!0^396,300!0^228,492!0^228,444!0^228,396!0^228,348!0^228,300!0^228,252!0^228,204!0^228,156!0^396,252!6^180,36,2,1,0,0!6^36,348,3,1,0,1!6^252,564,2,1,0,3!6^588,324,3,1,0,3");
var _local35 = new LevelData("stimpack", "90000000000000000000006000000000000000000000000000000C00J1M00D00000000000000E0000000B00000000000000000000000000000000000000000000000000003000000000000000000000G1000000C11111111111111110000001I0000000000000F1000000100000000000000020000001000K11D00000000000000010001AF1000000000000000100010010000000000000001H0?1001000000000000000B111M00100000000000000000000001000000000000000C111L0010000000000000001I0>10010000000000000001000100100000000000000010001@G10000000000000001000J11E000000000000000100000000000000030000001H0000000000000G1000000B1111111111111111000000000000000000000F100000000000000000000002000000000000000000000000000000D0000000C00000000000000B00K1L00E00000000000000000000000000000080000000000000000000007|5^684,540!11^396,324,96,540!9^684,276,1,0,16,8,1,0,-1!9^84,84,1,0,16,9,1,0,-1!9^492,60,1,0,16,10,1,0,-1!9^156,300,1,0,16,11,1,0,-1!0^756,60!0^756,72!0^756,84!0^756,96!0^36,60!0^36,72!0^36,84!0^36,96!0^228,156!0^252,156!0^276,156!0^300,156!0^324,156!0^348,156!0^444,156!0^468,156!0^492,156!0^516,156!0^540,156!0^564,156!6^84,228,1,0,1,0!6^108,420,0,1,0,2!6^132,36,3,1,0,0!6^300,132,5,1,0,3!1^348,108!1^444,108");
var _local46 = new LevelData("hallowed", "11100011115000000000002150000021100011111000001000000011000115010000000000000010031100140000000000000100110001111110000000001002100000011100000000010001000000021000000000100011000000010000000001003114000000000000000010011111000000000000000100211500000000000000001000110000000000000000010001000000000000000001100010000000000000000311400100000000000000011111001000000000000000021150010000000000000000011000100000000000000000010001000000000000000000100011000000000000000001000114000000000000000010001111000000000000000100011500000000000000001000110000000000000000010001000000000000000000100310000000000000000001001100000000000000000010021000000000100000001100011000000011400000311000114000003111100011114031111000111|5^84,324!9^132,300,1,0,1,14,1,0,-1!9^252,300,1,0,1,15,1,0,-1!9^396,300,1,0,1,16,1,0,-1!9^540,300,1,0,1,17,1,0,-1!11^84,564,660,300!6^708,324,2,0,1,3!0^180,324!0^192,324!0^204,324!0^588,324!0^600,324!0^612,324");
var _local47 = new LevelData("judgement call", "0000:000=00000000000006000000000000000000000000000000000000000000000000000000000000000000;0000000000000000000000:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;0000000000000000000000:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;000000000000000000000010000000000000000000000:0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;0000000000000000000000:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;0000000000000000000000:0000000000000000000000000000000000000000000000000;<000;0<00000000000007|5^396,540!6^684,36,3,0,1,2!6^156,156,3,0,1,2!6^396,108,3,0,1,0!6^708,204,3,0,1,2!11^396,492,672,492!0^264,492!0^264,480!0^264,468!0^264,456!0^264,444!0^264,432!0^264,420!0^120,492!0^120,480!0^120,468!0^120,456!0^120,444!0^120,432!0^120,420!0^228,516!0^216,516!0^204,516!0^192,516!0^180,516!0^168,516!0^156,516!0^240,504!0^252,492!0^144,504!0^132,492!0^252,420!0^252,432!0^252,444!0^252,456!0^252,468!0^252,480!0^240,492!0^228,504!0^216,504!0^204,504!0^192,504!0^180,504!0^168,504!0^156,504!0^144,492!0^132,480!0^132,468!0^132,456!0^132,444!0^132,432!0^132,420!0^228,492!0^240,480!0^156,492!0^144,480");
var _local33 = new LevelData("ndiana jones", "50000000211500000000001000000000000000000000020000000000000000000000040000140000031400000000111111110000111111111115000021500001500000002100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400003140000140000000311111111100001111111111150000150000021500000000001401000000000000000000011110000000000000000300000000311400000000001|5^96,540!1^204,324!1^252,324!1^300,324!1^348,324!1^396,324!1^444,324!1^492,324!1^540,324!1^588,324!2^756,552,0,-1!2^36,552,0,-1!12^144,372!12^144,408!12^144,444!12^144,480!12^144,516!12^648,372!12^648,408!12^648,444!12^648,480!12^648,516!12^636,540!12^156,540!12^624,564!12^168,564!11^696,132,396,252!9^108,132,1,0,28,3,1,0,-1!9^696,552,1,0,28,3,1,0,0!6^36,60,2,0,0,0!6^684,516,2,0,0,3!6^756,420,2,0,0,1!12^636,348!12^156,348!12^600,576!12^192,576!0^204,300!0^252,300!0^300,300!0^348,300!0^396,300!0^444,300!0^492,300!0^540,300!0^588,300!0^156,300!0^132,300!0^660,300!0^636,300!0^72,84!0^72,96!0^72,108!0^72,120!0^72,72!0^720,528!0^720,516!0^720,504!0^720,492!0^720,480!0^720,468!0^720,456!0^720,444!0^720,432!0^720,420!0^720,408!6^156,60,3,0,1,1");
var _local15 = new LevelData("armoury", "11000000000000000000011024000000000000000003500024001400000000000010000021111000000000000100000000000000000000000000000000000000311000000000000000000035000000000000000000003500000001000000000000010000000010000000000000100000003500000000000000000000350000000000000000000001000000000000000000000010031000000003114000000000100000000150000000000001000000001000000000000010000000014000000000000100000000021150000000001000000000000000000010020000000000000000000100000000000000000000002400000000000000100000002400000000000001000000001000000000000024000000010000000000000024000000000000000000000021100000000000000000000000000000000031111000000000000100003500150000000000001000350000000000000000024011000000000000000000011|5^300,564!9^732,36,0,0,19,23,1,0,0!9^60,36,0,0,18,23,1,0,0!9^708,156,0,0,17,23,1,0,0!9^84,156,0,0,16,23,1,0,0!11^372,564,396,180!2^180,324,-0.707106781186547,-0.707106781186547!2^612,324,0.707106781186547,-0.707106781186547!2^756,528,0,-1!2^492,456,0,-1!2^300,456,0,-1!2^36,528,0,-1!2^396,528,0,-1!2^576,288,0.707106781186547,-0.707106781186547!2^216,288,-0.707106781186547,-0.707106781186547!2^348,228,-0.707106781186547,-0.707106781186547!2^444,228,0.707106781186547,-0.707106781186547!2^444,300,0.707106781186547,0.707106781186547!2^348,300,-0.707106781186547,0.707106781186547!0^420,300!0^420,276!0^420,252!0^372,300!0^372,276!0^372,252!0^396,228!0^396,252!0^396,276!0^396,300!0^384,288!0^408,288!0^408,264!0^384,264!0^384,240!0^408,240!3^576,360!3^216,360!3^396,108!6^300,36,2,0,0,0!6^492,36,3,0,0,2!0^324,204!0^312,192!0^300,180!0^468,204!0^480,192!0^492,180!0^636,300!0^648,288!0^660,276!0^156,300!0^144,288!0^132,276!0^300,420!0^300,408!0^300,396!0^492,420!0^492,408!0^492,396!0^420,180!0^372,180!0^756,180!0^744,180!0^732,180!0^36,180!0^48,180!0^60,180");
var _local27 = new LevelData("timing", "50215000000000215021110000000000000000100000000001000000000001000000000010000000000010000000000100000000000100000000001000000000001000000040310000000000010000000111100000000000100000001111000000000001000000050210000000000010000000000100000000000100000000001000000000001000000000010000000000010000000000100000000000100000000001000000000001000000000010000000000010000000000100000000000100000000001000000000001000000000010000000000010000000000100000000000100000000001000000000001000000000010000000000010000000000100000000000100000000001000000000001000000000000000000000010000000000100000000000100000000001000000000001000000000010000000000010000000000100000000000000000000001000000000000000000040314000000000000000003|5^132,372!0^660,324!0^588,300!0^516,324!0^444,300!0^372,324!0^300,300!0^228,324!0^156,300!0^84,324!8^204,564,3!8^180,564,3!8^156,420,1!8^132,420,1!8^108,564,3!8^84,420,1!8^564,420,1!8^540,420,1!8^516,564,3!8^492,564,3!8^468,420,1!8^444,420,1!12^552,564!12^456,564!12^228,564!12^144,564!11^84,372,30,564!6^156,84,3,0,1,0!6^84,84,3,0,1,0!6^708,84,3,0,2,0!6^636,84,3,0,2,0!9^48,564,1,0,25,4,1,0,-1!9^60,564,1,0,2,4,1,0,-1!0^336,540!0^336,516!0^336,468!0^336,444!0^372,492!0^372,480!0^372,468!0^372,504!0^372,516!0^300,492!0^300,480!0^300,468!0^300,504!0^300,516!0^312,528!0^324,540!0^348,540!0^360,528!0^360,456!0^348,444!0^324,444!0^312,456!0^324,492!0^324,480!0^324,504!0^348,504!0^348,492!0^348,480");
var _local28 = new LevelData("cache", "5211521150111150000000240210015031500000000000140100103110000311114001101001011100035000211011010?E011500350000015011010NP011000100000010011010NP015000100000000011010>D010000240000000011010010100000240000000110100B0100000010000000110100N0100000010000000110100N0240000350000000150100N0024003500000000500100C00021150000000000001001000000000000000003010?E000000000000000001010NP000000000000000001010NP000000000000000001010>D00000000000000000101@0100000000000000000101D010000000040000000010B1010000000010001400010>E0100000030100011000100001000000101400150301@0001000000101110103101D000100000010111010110114031000003101110101101111110000315011101011021111500031503115010210000000001150311503140240000000011431114311140|5^84,84!9^744,552,0,0,4,23,1,0,0!9^48,240,0,0,26,21,1,-1,0!9^48,48,0,0,4,8,1,0,0!9^744,432,0,0,25,15,1,-1,0!9^60,144,0,0,25,19,1,-1,0!11^264,372,744,312!1^228,516!1^468,516!1^348,516!3^432,192!3^108,444!12^276,180!12^324,180!12^372,168!12^228,168!12^108,168!12^84,168!6^156,132,2,0,0,0!1^288,468!1^408,468!1^408,396!1^408,300!1^480,324!0^132,84!0^276,84!0^204,84!0^444,36!0^660,36!0^516,36!0^588,36!0^252,204!0^228,204!0^180,204!0^168,204!0^156,204!0^240,204!0^660,372!0^648,372!0^636,372!0^684,468!0^672,468!0^660,468!0^684,516!0^672,516!0^660,516!0^180,324!0^168,324!0^156,324!0^756,228!0^756,216!0^756,204!0^744,228!0^732,228!0^744,216");
var _local39 = new LevelData("longest yard", "001015000000215000000000020100000000100000000000001000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000D000001000000000000000010000010000000000000000E00000100000000000000000000001000000000000000000000?E000000000000000000000CP0000000000000000000001A000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000310000000000000000000001100000000000000000000015000000000000000000000100000000000000000000000000000000?0000000000000000000000C000000000000000000000310000000000000000000GK11|5^72,300!2^372,324,0.707106781186547,-0.707106781186547!2^588,324,-0.707106781186547,-0.707106781186547!2^144,336,0,-1!12^384,396!12^432,408!12^480,408!12^528,408!12^564,396!11^60,564,36,108!9^636,300,0,0,2,4,1,0,0!12^600,576!12^420,576!12^264,576!12^132,576!12^168,540!12^360,516!12^324,468!12^84,432!12^216,504!12^492,480!12^540,528!12^444,528!12^600,432!12^588,492!12^648,516!12^684,420!12^276,408!12^180,432!10^36,36!3^48,384!0^252,180!0^240,180!0^228,180!0^216,180!0^204,180");
var _local41 = new LevelData("hanger", "I00000J1110111M0000000F00000000000E000000000000000000000000000000000000000000000000000000000000000D00000D000000000000000010000010000000000000000B00000E0000000000000000000000000000000000000000000000000000000000000000000000D00000000000000000000001000000000000D000000000E0000000000C010000C0000000000000001010000100000000000000G1010000E00000D0000000111010000000000100000000F1010000D00000E00000000010100001000000000000000B010000B00000000000000000E000000000D000000000000000000000010000000000000000000000E000000000000000000000000000000000000000000000000000000000000C00000D000000000000000010000010000000000000000E00000E0000000000000000000000000000000000000000000000000000000000000000000D00000000000H00000K1110111L0000000G|5^36,276!11^396,108,756,276!9^360,228,0,0,13,4,1,-1,0!9^360,216,0,0,19,4,1,0,0!9^432,228,0,0,14,4,1,-1,0!9^432,216,0,0,18,4,1,0,0!9^396,372,0,0,15,4,1,-1,0!9^396,360,0,0,17,4,1,0,0!10^396,276!0^636,156!0^648,156!0^660,156!0^660,144!0^648,144!0^660,132!0^156,156!0^144,156!0^132,156!0^132,144!0^144,144!0^132,132!12^768,432!12^768,480!12^768,528!12^24,432!12^24,480!12^24,528!12^36,576!12^756,576!12^708,576!12^660,576!12^612,576!12^564,576!12^516,576!12^468,576!12^420,576!12^372,576!12^324,576!12^276,576!12^228,576!12^180,576!12^132,576!12^84,576");
var _local16 = new LevelData("change the channel marge", "9000000000000000000000600000000000000000000000001<0001<0001<0001<000000:=000:=000:=000:=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111000000000019000000000610000000000100000000000100000000001000000000001000000000010000000000010000000000100000000000100000000001000000000001000;0000001000000000001000100000010000000000010001000000100000000000100010000001000000000001000=00000F1000000000000000000000G100000000000000000000001800000000071000000000011111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011110000111100000000000100100001001000080000001071000010710007|5^396,492!6^396,108,1,0,1,2!11^732,180,252,204!1^324,348!1^420,348!1^492,300!1^492,204!0^324,276!0^324,252!0^324,228!0^492,252!0^420,300!0^420,276!0^420,252!0^324,204!0^276,372!0^276,348!0^276,324!0^276,300!0^276,276!0^492,372!0^420,372!0^420,156!0^708,372!0^732,372!0^756,372!0^84,420!0^84,300!0^84,180!0^84,60!9^276,108,1,0,20,17,1,0,0!9^552,108,1,0,21,17,1,0,0!4^204,570,1!2^696,384,-0.707106781186547,-0.707106781186547!6^84,180,0,0,0,0!6^84,420,1,0,0,2!2^660,576,0,-1!0^300,108!0^324,108!0^348,108!0^252,108!0^228,108!0^372,108!0^396,108!0^420,108!0^444,108!0^468,108!0^708,180!0^756,180!3^732,60!2^576,288,0.707106781186547,-0.707106781186547");
var _local36 = new LevelData("lucy in the sky", "15000211500000250000021500000250000000000000020001400000000000000000000015000000000000000002000000000000000000000000000003400034003400000200000025000250025000000000000000000000000000020000000000000000000000000000000000000000000002000000034000000034000000000000250000003114000200000000000340021150000000000000002500025000000000000000000000000000300000000000000000000001000000034000000000000020014003114003400340000000150021150025002500000000000025000000000000030000000000000000000000000000000000000000000003000000000003400034000000003400000025003114000300025000000000021150000000000340000000025000030000002500000000000000000000000000000000000003000000000000000340000004000000000000002500000314000340034003400000031|5^48,516!11^456,60,96,84!6^156,36,5,1,0,0!6^420,372,5,1,0,2!6^588,252,5,1,0,3!6^372,108,5,1,0,1!2^396,552,0,-1!2^36,372,0.707106781186547,-0.707106781186547!2^756,348,-0.707106781186547,-0.707106781186547!2^756,252,-0.707106781186547,-0.707106781186547!2^756,156,-0.707106781186547,-0.707106781186547!0^720,552!0^672,552!0^624,552!0^576,552!0^528,552!0^480,552!0^432,552!0^360,552!0^312,552!0^264,552!0^216,552!0^168,552!0^120,552!0^72,552!0^576,276!0^600,372!0^720,372!0^456,396!0^456,300!0^648,156!0^600,84!0^456,156!0^288,180!0^168,156!0^168,276!0^168,372!0^312,372!0^336,276");
var _local20 = new LevelData("pit of despair", "50001111111111111111111000011111111111111111110000000000000000000021100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000031100001111111111111111111000011111111111111111110000111111111111111111100000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000111111111111111111140001111111111111111111|5^192,504!8^300,468,2!8^84,420,0!8^300,372,2!8^84,300,0!8^300,252,2!8^84,180,0!8^300,132,2!12^312,444!12^312,396!12^72,396!12^72,348!12^72,324!12^312,324!12^312,348!12^312,276!12^72,276!12^72,228!12^72,204!12^312,156!12^312,204!12^312,228!12^72,444!12^384,132!12^384,168!12^384,204!12^384,240!12^384,276!12^384,312!12^384,348!12^384,384!12^384,420!12^384,456!12^384,492!12^720,168!12^720,228!12^720,288!12^720,348!12^720,408!12^720,468!12^720,528!1^468,204!1^612,180!1^588,312!1^504,372!1^636,432!1^540,492!11^432,564,684,564!10^552,156!0^60,108!0^48,108!0^36,108!0^36,96!0^48,96!0^60,96!0^60,84!0^48,84!0^36,84!0^36,72!0^48,72!0^60,72!0^60,60!0^48,60!0^36,60!0^60,48!0^48,48!0^60,36!0^36,48!0^48,36!0^732,108!0^744,108!0^756,108!0^756,96!0^744,96!0^732,96!0^732,84!0^744,84!0^756,84!0^756,72!0^744,72!0^732,72!0^732,60!0^744,60!0^756,60!0^756,48!0^744,48!0^732,48!0^732,36!0^744,36!1^420,420!1^420,300!1^684,252!1^684,372");
var _local21 = new LevelData("bgarth", "00000000000000000000010000000000000000000000B0000000000000000000000000000000000000D000000000000000000000010000000000000000000000100000000000000000000C01000000000000000000001010000000000000000000010100000000000000000000101000000000000000000001010000000000000000000?101H00000000000K111111150111111L0000000000000000I0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000H000000000000J111111140111111M0000000000000>101I00000000000000000001010000000000000000000010100000000000000000000101000000000000000000001010000000000000000000010E000000000000000000001000000000000000000000010000000000000000000000B0000000000000000000000000000000000000000000000000000000C000000000000000000000010|5^744,564!1^396,444!1^396,156!7^564,516,3!7^588,516,3!7^660,468,3!7^684,468,3!7^732,420,3!7^756,420,3!7^588,240,3!7^564,240,3!7^540,240,3!7^276,132,3!7^228,180,3!7^180,228,3!7^132,276,3!7^84,324,3!7^36,372,3!7^84,420,3!7^156,468,3!7^228,516,3!7^300,552,3!7^684,180,3!7^708,180,3!7^732,180,3!7^588,108,3!7^564,108,3!7^540,108,3!0^612,324!0^600,324!0^588,324!0^576,324!0^564,324!0^552,324!0^540,324!0^528,324!0^516,324!0^504,324!0^492,324!0^480,324!9^396,48,0,0,2,23,1,0,0!11^48,564,396,204!3^348,276!3^444,276!3^36,36!3^756,36!0^564,216!0^564,84!0^708,156!0^744,396!0^672,444!0^576,492!0^276,108!0^228,156!0^180,204!0^132,252!0^84,300!0^36,348!0^84,396!0^156,444!0^228,492!0^300,528");
var _local37 = new LevelData("la matrice", "5000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000100000000000000000000002400000000000000000000001000000000000000000000050000000000000000000000000000000000000000000030000000000000000000000100000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000100000000000000000000002400000000000000000000001000000000000000000000050000000000000000000000000000000000000000000030000000000000000000000100000000000000000000002000000000000000000000000000000000000000000000000000000000000000000?1000000000000000000000CA040000000000000000000100|5^396,540!1^108,492!1^684,492!1^540,492!1^252,492!1^396,492!1^180,396!1^324,396!1^468,396!1^612,396!1^684,300!1^540,300!1^396,300!1^252,300!1^108,300!1^180,204!1^324,204!1^468,204!1^612,204!1^396,108!11^744,564,396,72!9^108,264,0,0,29,23,1,-1,0!9^684,264,0,0,29,23,1,0,0!6^756,300,0,1,0,3!6^36,300,0,1,0,1!6^84,36,1,1,0,0!6^708,36,1,1,0,0!0^540,276!0^612,180!0^468,180!0^324,180!0^180,180!0^252,276!0^396,276!0^180,372!0^324,372!0^468,372!0^612,372!0^684,468!0^540,468!0^396,468!0^252,468!0^108,468!1^252,132!1^540,132!12^540,156!12^252,156!1^60,420!1^732,420!1^732,228!1^60,228!12^60,252!12^60,444!12^732,252!12^732,444");
var _local24 = new LevelData("superliminal 2", "900000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;111111111111111<004000190000000000000000010001000:1111=000:1=0001000100000000000000000710001000;11111111111111=000100010000000000000000001000100000000000000000010;0100000000000000000010101000000000000000000101010000000000000000001010100000000000000000010:010000000000000000001000100000000000000000018071000000000000000000:11118000000000000000000000611111111111111<0000000019000001=000061000000001000000000000010000000018001<00001<00100000000:1111111111=0050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000007|5^564,132!11^372,108,588,276!10^384,540!0^468,228!0^444,228!0^420,228!0^396,228!0^372,228!0^348,228!0^324,228!0^300,228!0^300,252!0^300,276!0^300,300!0^324,300!0^348,300!0^372,300!0^396,300!0^420,300!0^444,300!0^468,300!0^468,276!0^468,252!0^444,252!0^420,252!0^396,252!0^372,252!0^348,252!0^324,252!0^324,276!0^348,276!0^372,276!0^396,276!0^420,276!0^444,276!2^444,576,0,-1!2^324,576,0,-1!1^384,456!1^384,336!1^468,396!1^300,396!0^420,324!0^444,324!0^468,324!0^348,324!0^324,324!0^300,324!0^300,348!0^324,348!0^348,348!0^420,348!0^444,348!0^468,348!0^468,372!0^444,372!0^420,372!0^396,372!0^372,372!0^348,372!0^324,372!0^300,372!0^444,396!0^420,396!0^396,396!0^372,396!0^348,396!0^324,396!12^576,456!12^552,384!12^576,312!12^588,228!12^540,228!12^240,408!12^168,252!6^372,156,1,1,0,0!6^396,108,1,1,0,2!6^180,396,1,0,0,1!6^180,276,0,0,0,3!0^588,180!0^576,180!0^564,180!0^552,180!0^540,180!0^204,516!0^192,516!0^180,516!0^168,516!0^156,516!0^612,516!0^600,516!0^588,516!0^576,516!0^564,516");
var _local48 = new LevelData("les islots B", "0011111119000000000000600:1111110000000000000700006111100000;<000;11100000:1110000011000111100000061100000:=000:1110000000:180000000000006000000006111<0000000007000000000:11100;<0000;1000000000061100110000:100000000000:=0011000006000000000000000:=00000700000000000000000000;1100000000000000000000:11000000000000000000000060000000000000000000000000000000000000000;<00000000000000000000011000000000000000000000:=000000000000000000000000000800000000000000000000001<0000000000000000;11101=0000000000000000:11109000000000000000000619000000000000000;<0000100000000000000001100001000000000000;<0011000010000000000001100110000100000000;<00110011800010000000011001187111<0010000;<001187111111110010000118711111111111187187|5^36,48!11^660,564,756,60!9^420,60,0,0,21,23,1,-1,0!0^36,252!0^48,252!0^60,252!0^72,252!0^84,252!0^96,252!0^108,252!0^120,252!0^132,252!0^144,252!0^156,252!0^156,264!0^144,264!0^132,264!0^120,264!0^108,264!0^96,264!0^84,264!0^72,264!0^60,264!0^48,264!0^36,264!0^36,276!0^48,276!0^60,276!0^72,276!0^84,276!0^96,276!0^108,276!0^120,276!0^132,276!0^144,276!0^156,276!6^468,564,2,0,1,2!6^420,492,1,0,1,0!1^420,132!1^372,204!1^468,204!1^420,276!1^324,324!1^516,324!9^744,480,0,0,22,23,1,0,0!12^576,444!12^588,324!12^636,228!12^684,132!0^696,336!0^684,336!0^672,336!0^660,336!0^648,336!0^720,240!0^708,240!0^696,240!0^744,144!0^48,564!0^48,540!0^48,552!0^48,528!0^48,516!0^48,492!0^48,504!0^36,504!0^36,528!0^36,552!0^60,552!0^60,528!0^60,504!0^168,564!0^168,552!0^168,540!0^180,552!0^156,552!0^264,564!0^264,552!0^264,540!0^276,552!0^252,552!12^108,360!12^240,384!12^108,480!12^216,528!12^312,504");
var _local17 = new LevelData("highest height", "11MI00000F1I00000F1I00FMI00000000100000001H0000000000000E0000000111M0000000000000000000E0000000CD00000000000000000000011000000000000000000000BE0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000CD00000000000000000000011000000CD0000000D000001100000011000000010000011000000110000000E000001100000011000000000000011000000BE0000000000000BE0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000CD00000000000000000000011000000000000000000000BE000000000000000000000000000000000000D00000000000000D0000000111L0LH00000000100000001I00011LH00000G1H00000G1H00G|5^396,516!2^564,576,0,-1!2^228,576,0,-1!2^684,456,0,-1!2^108,456,0,-1!2^444,240,0,-1!2^348,240,0,-1!11^396,84,744,528!9^396,228,0,0,3,23,1,-1,0!9^48,528,0,0,29,23,1,0,0!10^396,300!3^396,132!0^420,420!0^408,420!0^396,420!0^384,420!0^372,420!0^384,408!0^396,408!0^408,408!0^396,396!0^636,84!0^636,72!0^636,60!0^156,84!0^156,72!0^156,60!0^708,444!0^720,444!0^732,444!0^744,444!0^84,444!0^72,444!0^60,444!0^48,444!0^84,252!0^72,252!0^60,252!0^48,252!0^708,252!0^720,252!0^732,252!0^744,252!0^420,228!0^372,228!0^384,228!0^408,228!0^420,216!0^372,216!0^648,84!0^624,84!0^168,84!0^144,84!0^144,72!0^168,72!0^168,60!0^144,60!0^624,72!0^648,72!0^648,60!0^624,60");
var _local49 = new LevelData("the shaft", "00000000000000000000000000000000000000000000000000000000000000000000000011111114004000000000000100000000010000000000001000000000100000000000011111150005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000011400311111111111000000021111500000000010000000000000031111140100000011111111150002111000000150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111140004000000000000100000000010000000000001000000000100000000000011111115005000000000000000000000000000000000000000000000000000000000000000000000000000000|5^648,48!4^756,570,1!4^36,570,1!9^144,144,1,0,16,7,1,0,-1!9^648,144,1,0,16,10,1,0,0!9^420,396,1,0,15,14,1,0,-1!9^348,216,1,0,15,18,1,0,0!9^252,420,1,0,15,17,1,0,0!10^648,372!10^144,372!2^540,576,0,-1!2^252,576,0,-1!9^540,420,1,0,15,16,1,0,-1!9^384,570,1,0,15,15,1,0,-1!9^384,534,1,0,15,16,1,0,0!2^60,576,0,-1!2^732,576,0,-1!2^420,444,0.707106781186547,-0.707106781186547!2^348,252,-0.707106781186547,-0.707106781186547!12^120,204!12^168,258!12^168,132!12^672,282!12^624,204!12^672,132!6^660,252,0,0,0,3!6^132,252,1,0,0,3!6^324,324,0,0,2,3!11^384,492,396,216!0^612,84!0^612,72!0^624,72!0^624,84!0^672,84!0^684,84!0^684,72!0^672,72!0^684,324!0^672,324!0^660,324!0^648,324!0^636,324!0^624,324!0^612,324!0^108,324!0^120,324!0^132,324!0^144,324!0^156,324!0^168,324!0^180,324!0^180,84!0^168,84!0^168,72!0^180,72!0^120,84!0^108,84!0^108,72!0^120,72!0^348,84!0^336,84!0^324,84!0^324,72!0^336,72!0^348,72!0^420,84!0^432,84!0^444,84!0^444,72!0^432,72!0^420,72");
var _local40 = new LevelData("quad damage", "000000000000000000000000000000000000000000000000;1001<000000;1001<0000010000100000010000100000000000000000000000000000000000000000000000000010000100000010000100000:1001=000000:1001=00000000000000000000000000000000000000000000000000000000000000000000000000000000;1001<000000000000<0000100001000000000000100001000010000000000;01000000000000000000001010000000000000000000010100000000000000000000101000010000100000000071010000100001000000000111=0000:1001=00000000000000000000000000000000000000000000000000000000000000000000000000000000;1001<000000;1001<0000010000100000010000100000000000000000000000000000000000000000000000000010000100000010000100000:1001=000000:1001=0000000000000000000000000000000000000000000000000|5^396,504!9^144,144,0,0,15,3,1,-1,0!9^648,144,0,0,16,3,1,-1,0!9^144,432,0,0,17,3,1,-1,0!9^648,432,0,0,18,3,1,-1,0!11^456,84,396,288!10^648,288!10^144,288!0^708,420!0^708,432!0^708,444!0^588,444!0^588,432!0^588,420!0^636,372!0^648,372!0^660,372!0^660,492!0^648,492!0^636,492!0^708,156!0^708,144!0^708,132!0^660,84!0^648,84!0^636,84!0^588,132!0^588,144!0^588,156!0^636,204!0^648,204!0^660,204!0^204,156!0^204,144!0^204,132!0^156,84!0^144,84!0^132,84!0^84,132!0^84,144!0^84,156!0^132,204!0^144,204!0^156,204!0^84,420!0^84,432!0^84,444!0^132,492!0^144,492!0^156,492!0^204,444!0^204,432!0^204,420!0^156,372!0^144,372!0^132,372!0^300,276!0^300,288!0^300,300!0^372,348!0^384,348!0^396,348!0^408,348!0^420,348!0^492,300!0^492,288!0^492,276!0^420,228!0^408,228!0^396,228!0^384,228!0^372,228!2^540,576,0,-1!2^252,576,0,-1!2^36,576,0,-1!2^756,576,0,-1!1^468,468!1^324,468!1^396,396");
var _local4 = new Array();
_local4.push(_local12);
_local4.push(_local31);
_local4.push(_local50);
_local4.push(_local13);
_local4.push(_local32);
this.episodeList[10] = new EpisodeData("episode 10", "xxxx", _local4);
var _local3 = new Array();
_local3.push(_local22);
_local3.push(_local56);
_local3.push(_local42);
_local3.push(_local53);
_local3.push(_local54);
this.episodeList[11] = new EpisodeData("episode 11", "raoul", _local3);
var _local6 = new Array();
_local6.push(_local51);
_local6.push(_local57);
_local6.push(_local52);
_local6.push(_local34);
_local6.push(_local60);
this.episodeList[12] = new EpisodeData("episode 12", "stuck", _local6);
var _local5 = new Array();
_local5.push(_local38);
_local5.push(_local44);
_local5.push(_local23);
_local5.push(_local30);
_local5.push(_local18);
this.episodeList[13] = new EpisodeData("episode 13", "wookie", _local5);
var _local8 = new Array();
_local8.push(_local55);
_local8.push(_local19);
_local8.push(_local58);
_local8.push(_local45);
_local8.push(_local25);
this.episodeList[14] = new EpisodeData("episode 14", "shodan", _local8);
var _local7 = new Array();
_local7.push(_local14);
_local7.push(_local43);
_local7.push(_local29);
_local7.push(_local61);
_local7.push(_local26);
this.episodeList[15] = new EpisodeData("episode 15", "legume", _local7);
var _local10 = new Array();
_local10.push(_local59);
_local10.push(_local46);
_local10.push(_local35);
_local10.push(_local47);
_local10.push(_local33);
this.episodeList[16] = new EpisodeData("episode 16", "doom", _local10);
var _local9 = new Array();
_local9.push(_local15);
_local9.push(_local27);
_local9.push(_local28);
_local9.push(_local39);
_local9.push(_local41);
this.episodeList[17] = new EpisodeData("episode 17", "bender", _local9);
var _local2 = new Array();
_local2.push(_local16);
_local2.push(_local36);
_local2.push(_local20);
_local2.push(_local21);
_local2.push(_local37);
this.episodeList[18] = new EpisodeData("episode 18", "graph", _local2);
var _local11 = new Array();
_local11.push(_local24);
_local11.push(_local48);
_local11.push(_local17);
_local11.push(_local49);
_local11.push(_local40);
this.episodeList[19] = new EpisodeData("episode 19", "chirp", _local11);
};
NinjaData.prototype.BuildGameData_Set2 = function () {
var _local47 = new LevelData("get down", "00000000001110000000000000000000011=0000000000000000000000000000000000000;<0000000000000000000001100000000000000000000011000000000001<000000001=00000000000110000000000000000000001=00000000000000;1<000000000;0000000000111000000000100000000001110000000001000000000011=00000000010000000000000000000000100001<0000000000000000:000011000000000001<000000001100000000000110000000011000000000001=000000001=0000000000000000;00000000000000000000001000000000011<000000000100000000001110000000001000000000011100000000010000000000:1=000000000:000000000000000001<000000001<00000000000110000000011000000000001=0000000011000000000000000000000:=0000000000000000000000000000000000000000000000000011<000000000000000000001110000000000|5^156,108!11^396,564,396,420!0^612,108!0^636,108!0^660,108!0^672,108!0^648,108!0^624,108!0^348,108!0^372,108!0^396,108!0^420,108!0^444,108!0^492,252!0^516,252!0^540,252!0^300,252!0^276,252!0^252,252!0^60,252!0^48,252!0^36,252!0^36,240!0^48,240!0^60,240!0^732,252!0^744,252!0^756,252!0^756,240!0^744,240!0^732,240!0^636,420!0^612,420!0^588,420!0^156,420!0^180,420!0^204,420");
var _local48 = new LevelData("nexus", "5035035000>1A000240240203503500000100000240240350350000001000000240245035000000010000000240203500000000100000000240350000000001000000000245000000000010000000000200000000000100000000000000000000001000000000000000000000C10000000000000000000D01114000000000000000001011MJ40000000000000003502E0024000000000000035000000021M00000H000001000000140000000?11111110000001111111111I000001000000150000000>00000024000000031L0000000000002403D00350000000000000001011LK50000000000000000E011150000000000000000000B10000000000000000000000100000000000000000000001000000000004000000000010000000000324000000000100000000035024000000001000000003504024000000010000000350324024000000100000035035024024000001000003503504024024000?1@0003503503|5^396,300!7^492,252,0!7^300,252,2!7^372,420,1!7^420,420,1!9^420,408,1,0,17,17,0,0,-1!9^372,408,1,0,15,17,0,0,-1!9^312,252,0,0,12,10,0,0,0!9^480,252,0,0,20,10,0,-1,0!4^156,282,1!4^660,282,1!6^516,132,5,1,0,0!4^276,570,1!6^204,444,5,1,0,0!4^516,570,1!6^612,396,5,1,0,0!3^252,324!10^540,324!11^72,276,288,204!11^720,276,504,204!11^336,564,36,396!11^456,564,756,396!0^420,156!0^420,144!0^420,132!0^372,456!0^372,468!0^372,480!0^372,492!0^372,504!0^372,516!0^372,528!0^372,540!0^372,552!0^420,456!0^420,468!0^420,480!0^420,492!0^420,504!0^420,516!0^420,528!0^420,540!0^420,552!0^612,552!0^624,540!0^636,528!0^648,516!0^660,504!0^672,492!0^684,480!0^696,468!0^708,456!0^720,444!0^732,432!0^744,420");
var _local33 = new LevelData("deku", "00010000;000;0000000000000=0;001000100000000000;000100=000=;00000000G0=000=0000;00100000000>0F;000@000=00=00;000000001G@FQ400?000;0100000000=0A00>H;F@00=0=;00000?000F;00010FA0@G0=00000FH0001030=0;00BFI000000;>000=;>H@01002@0000000100;0010>A0=00?A000000?=00100=00F4000N00000GKJ000=;0000;>000>MLK@000G0000100;010000000000GMQ0000=0010=00G40000GH00G;000000=0000002LHCJ1LK110000G50000;00000000>I0=0;IF5000?A=000000000000010?H00G500@00>EFJ40GH3I=00A;I>000200;0002IFJ>00000=0;000?A01000000>;0;00000100;N00=;000000=0=0;000=00=>000=G0000000001000H0;03@000>0000000;0=00GA01FIA000;0000G00=000;000=;00000=00000000000=000010000000000?0000000;000=0000000000F0000000=0000000000000000000000000000000000000000000000000000000000000|5^156,564!11^564,204,444,564!9^324,36,1,0,18,21,1,0,0!9^300,156,1,0,19,21,1,0,0!9^132,252,0,0,23,2,1,-1,0!9^36,84,0,0,25,10,1,-1,0!6^300,84,0,0,0,0!6^588,156,0,0,0,2!4^696,570,1!12^396,372!12^576,408!12^672,168!12^720,192!12^648,72!12^168,456!12^144,384!12^120,144!12^144,288!12^288,240!12^384,48!0^48,84!0^60,84!0^48,204!0^60,204!0^72,204!0^84,204!0^48,300!0^60,300!0^72,300!0^84,300!0^168,348!0^180,348!0^336,228!0^348,228!0^372,228!0^360,228!0^384,228!0^660,276!0^672,276!0^684,276!0^636,420!0^624,420!0^564,276!0^552,276!0^516,156!0^504,156!0^216,132!0^228,132!0^240,132!0^276,276!0^252,276!0^264,276!0^636,60!0^624,60!0^108,36!0^96,36!0^468,60!0^456,60");
var _local49 = new LevelData("descent [remake]", "A0001A00001A000001A000>000010000010000001000000000100000100000010000000001000001000000100000000010000010000001000000000100000E000000E000000000E00000P000000P000000000P000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000P0000000000000000000000D000000P0000000000000001000000D00000000000000010000001000000000000000100000010000000000000001000000100000000@0000001@000001@000000?|5^48,108!12^612,216!12^564,564!12^516,540!12^372,540!12^300,564!12^168,552!12^204,504!12^276,516!12^228,468!12^348,456!12^480,492!12^468,516!12^396,552!12^408,504!12^324,492!0^36,492!0^36,504!0^36,516!0^36,528!0^36,540!0^48,552!0^48,540!0^48,528!0^48,516!0^48,504!0^48,492!0^48,480!0^60,468!0^60,480!0^60,492!0^60,504!0^60,516!0^60,528!0^60,540!0^60,552!0^60,564!0^72,564!0^72,552!0^72,540!0^72,528!0^72,516!0^72,504!0^72,492!0^72,480!0^72,468!0^84,468!0^84,480!0^84,492!0^84,504!0^84,516!0^84,528!0^84,540!0^84,552!0^84,564!11^708,564,636,564!12^624,384!12^600,408!12^540,576!12^564,420!12^588,444!12^540,396!12^228,564!12^168,576!12^396,576!12^180,156!12^180,180!12^180,204!12^204,144!12^228,132!12^636,228!12^636,252!12^636,276!12^588,204!12^648,396!12^204,444!12^252,456!12^300,480!12^180,312!12^180,336!12^180,360!12^180,384!12^180,288!12^204,276!12^228,264!12^636,300!0^36,552!0^36,480");
var _local30 = new LevelData("surf", "90000011=00000611=00006000000190000007190000000000001<000000:1000000;0000071900000001<00000600000:100000007190000000000001<000000:=000000;0000071900000000000000600000:=00000000000000000000000000000000000000;00000000000000000000006000000000000000000000000000000<00000000<00000;0000007187<07<07100000600000;1111111111=00000000000:90:90:90:9000000;000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000070000000000000000000000:00000000000000000000000000000000000000000000070000000000;<0000000000:00000000006180000000000000000000001=00000000070000000000;10000000000:00000000006180000000000000000000001=00000000070000000000;10000000000:000000000061800000000008000000000711<000000007|5^744,540!2^432,576,0,-1!2^378,294,0.707106781186547,-0.707106781186547!2^162,366,0.707106781186547,-0.707106781186547!2^558,270,-0.707106781186547,-0.707106781186547!1^240,420!1^276,324!1^204,276!1^252,216!1^492,348!1^420,228!1^516,180!11^60,156,48,372!0^120,564!0^48,564!0^192,564!0^264,564!0^336,564!0^528,564!0^600,564!0^672,564!0^672,276!0^744,276!0^600,276!0^636,252!0^708,252!0^360,132!0^324,180!0^324,252!0^324,324!0^324,396!0^384,348!0^384,204!0^120,372!0^168,156!0^204,132!0^132,132!0^84,348!6^756,252,2,1,0,2!6^396,108,3,1,0,1!6^180,228,2,0,0,0");
var _local12 = new LevelData("bulbous", "90611119061111119000006000:11=00011961100;1<000000000000:=00:=00:1=000000000000000000000000000000000000000;<000000000000000000007110000;<000000000000;1111000011000000000000:111100071=0000000000000611100;19000000000000007111001100000000000000;111100:=00000000000000:11110000000000000000000061100000000000000000000011000;<0000000000000007110001100000000000000;1110001187000000000000:111000:111000000000000006100000060000000000000071000;<000000000000000;1180711000000000000000:1111111000000000000000061906110000000000000000010071=0000000000000000710;19000000000000000;1110110000000000000000:1110:=000000;<000000000611000000000110000000000:=0000;<000110000;<000000000011000118007110000;<0000:=087111111118007118000007|5^744,48!11^552,468,180,564!9^48,84,0,0,25,17,1,0,0!9^720,204,0,0,25,17,1,-1,0!1^588,228!1^492,132!1^372,180!1^204,132!1^492,252!1^300,60!0^576,372!0^564,372!0^552,372!0^456,372!0^360,348!0^348,348!0^336,348!0^240,324!0^36,216!0^36,228!0^36,240!0^60,336!0^756,336!0^756,324!0^756,312!0^756,300!0^756,288!0^396,552!0^492,456!0^492,444!0^492,432!6^564,564,0,0,0,0!6^372,420,0,0,0,2!6^84,156,1,0,0,3!6^516,540,1,0,0,0!0^504,228!0^492,228!0^480,228!0^576,204!0^588,204!0^600,204!0^504,108!0^492,108!0^480,108!0^384,156!0^372,156!0^360,156!0^216,108!0^204,108!0^192,108!0^288,36!0^300,36!0^312,36!0^252,444!0^180,492!0^72,444!0^708,492");
var _local54 = new LevelData("alien skatepark", "9000000000000000611900600000000000000000:=000000;<0000;18000000000;0000:=00071111<00000001000000000:9000000<000010000000000000000018007100000000000000000610019000000000000000000:00100000;00<000;87<00000010000068790006119000000=0000001100000:=00000000000000:=0000000000000000000000000000000000000000000000000000000;80000;<0000;<000000000611<0011000011000000000011100110000:=000000000711=0011000000000000000:90000:=000000000000000000000000000;<0000000000000000000001100000;<000000000000079680007118000000<00000:00=000:96=00000010000000000000000000;00100000000000000000071001800000000000000000190061000000000;8000000=000010000;<00061111=000000010000:=0000:19000000000:0000000000000000000;<000080000000000000007118007|5^396,468!2^396,384,0,-1!2^282,270,0.707106781186547,-0.707106781186547!2^510,270,-0.707106781186547,-0.707106781186547!2^636,384,0,-1!2^156,384,0,-1!2^450,510,0.707106781186547,-0.707106781186547!2^342,510,-0.707106781186547,-0.707106781186547!11^396,564,396,84!6^36,300,5,1,0,3!6^588,276,5,1,0,1!6^396,228,3,1,0,2!6^108,444,5,1,0,0!0^396,360!0^396,348!0^396,336!0^300,252!0^312,240!0^324,228!0^492,252!0^480,240!0^468,228!0^636,360!0^636,348!0^636,336!0^468,492!0^480,480!0^492,468!0^324,492!0^312,480!0^300,468!0^156,360!0^156,348!0^156,336!0^384,84!0^384,72!0^396,72!0^408,72!0^408,84");
var _local34 = new LevelData("greedo", "50000000000000150000002000000000001001000000000000000000010050000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000040000000003140000000003|5^60,336!7^36,300,3!1^660,228!1^492,228!1^324,228!1^156,228!1^84,180!1^408,180!1^240,180!1^576,180!1^324,132!1^492,132!12^684,540!12^144,552!12^72,492!12^228,420!12^360,360!12^732,360!12^600,408!12^360,480!12^468,540!12^576,492!12^468,468!12^468,372!12^600,336!12^672,408!12^264,516!12^168,444!12^192,360!12^336,552!1^408,516!1^528,516!1^636,516!1^204,516!1^108,516!12^708,468!1^324,444!12^408,576!12^684,576!12^576,576!12^84,576!11^204,564,720,564!11^708,276,48,48!0^144,204!0^156,204!0^168,204!0^168,192!0^168,180!0^156,180!0^144,180!0^144,192!0^72,156!0^84,156!0^96,156!0^96,144!0^96,132!0^84,132!0^72,132!0^72,144!0^252,156!0^240,156!0^228,156!0^228,144!0^228,132!0^240,132!0^252,132!0^252,144!0^336,180!0^324,180!0^312,180!0^312,204!0^324,204!0^336,204!0^336,192!0^312,192!0^312,108!0^324,108!0^336,108!0^336,96!0^336,84!0^324,84!0^312,84!0^312,96!0^396,156!0^408,156!0^420,156!0^420,144!0^420,132!0^408,132!0^396,132!0^396,144!0^504,180!0^492,180!0^480,180!0^504,108!0^492,108!0^480,108!0^480,96!0^480,84!0^492,84!0^504,84!0^504,96!0^504,204!0^504,192!0^480,192!0^492,204!0^564,156!0^576,156!0^588,156!0^588,144!0^588,132!0^576,132!0^564,132!0^564,144!0^672,204!0^672,192!0^672,180!0^660,180!0^648,180!0^648,192!0^648,204!0^660,204!10^744,48!6^588,276,2,1,0,2!6^228,60,2,1,0,0!12^684,276!12^684,252!12^708,252!0^480,204!3^744,156!8^372,180,1!8^444,180,1!8^276,180,1!8^204,180,1!8^540,180,1!8^612,180,1!12^144,576!12^336,576!12^492,564");
var _local23 = new LevelData("evac", "I000000000000000000000G00000000000000000000000000000000000000000000030000000000000000000000000000C1400000000000000F00000111000000000000000000001110000000000000000000011500000000000000F000001E0000000000000000000001A00000000000000GK00000100000000000000003000001000000000000000000000010000000000000000F00000100000000000000000000001000000000000000020000010000000000000000G00000100000000000000000000001000000000000000000000010000000000000000F000001000000000000000000000010000000000000000G000001@0000000000000000000001D00000000000000000000011400000000000000F000001110000000000000000000011100000000000000200000B1500000000000000000000000000000000000002000000000000000000000000000000000000000000000GH0000000000000000000000|5^396,72!12^48,516!12^132,492!12^240,504!12^432,516!12^420,480!12^300,480!12^156,444!12^96,456!12^504,480!12^600,468!12^660,420!12^708,444!12^708,492!12^648,504!12^540,528!12^372,516!12^240,444!12^180,504!12^336,504!12^468,492!12^564,492!12^636,456!12^744,444!12^768,468!12^24,444!12^204,468!12^72,468!12^360,468!1^636,324!1^156,324!1^228,300!1^564,300!1^300,276!1^492,276!1^396,276!1^348,324!1^444,324!12^756,360!12^708,348!12^732,372!12^696,396!12^96,396!12^48,408!12^36,360!12^48,324!11^396,132,396,192!6^36,300,3,1,0,0!6^612,252,2,1,0,2!6^276,180,2,1,0,0!6^108,36,2,1,0,0!0^636,348!0^564,324!0^492,300!0^444,348!0^348,348!0^396,300!0^300,300!0^228,324!0^156,348");
var _local39 = new LevelData("i love gold", "0000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000020000000000000000000000000000000000000000000000000000000000000000D0000000000000000000000P0000000000000000000000E00000000000000000000000000300000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|5^396,480!7^84,516,3!7^108,516,3!7^180,528,3!7^204,528,3!7^708,516,3!7^684,516,3!7^612,540,3!7^588,540,3!7^516,516,3!7^492,516,3!7^276,516,3!7^300,516,3!12^36,576!12^756,576!12^708,576!12^660,576!12^612,576!12^84,576!12^132,576!12^180,576!12^228,576!12^276,576!12^324,576!12^564,576!12^516,576!12^468,576!12^420,576!12^372,576!12^60,552!12^108,552!12^156,552!12^204,552!12^252,552!12^300,552!12^348,552!12^396,552!12^444,552!12^492,552!12^540,552!12^588,552!12^636,552!12^684,552!12^732,552!12^768,552!12^24,552!7^588,444,3!7^612,444,3!7^204,444,3!7^180,444,3!7^372,444,3!7^396,444,3!7^420,444,3!7^732,372,3!7^756,372,3!7^36,372,3!7^60,372,3!7^36,300,3!7^60,300,3!7^732,300,3!7^756,300,3!7^684,228,3!7^660,228,3!7^636,228,3!7^612,228,3!7^588,228,3!7^108,228,3!7^132,228,3!7^156,228,3!7^180,228,3!7^204,228,3!11^396,516,396,132!0^588,420!0^612,420!0^180,420!0^204,420!0^84,492!0^108,492!0^684,492!0^708,492!0^588,516!0^612,516!0^180,504!0^204,504!0^276,492!0^300,492!0^492,492!0^516,492!6^108,60,1,0,1,2!6^684,60,1,0,1,2!0^684,36!0^672,36!0^660,36!0^648,36!0^636,36!0^624,36!0^612,36!0^600,36!0^588,36!0^576,36!0^564,36!0^552,36!0^540,36!0^528,36!0^516,36!0^504,36!0^492,36!0^480,36!0^468,36!0^456,36!0^336,36!0^324,36!0^312,36!0^300,36!0^288,36!0^276,36!0^264,36!0^252,36!0^240,36!0^228,36!0^216,36!0^204,36!0^192,36!0^180,36!0^168,36!0^156,36!0^144,36!0^132,36!0^120,36!0^108,36!0^348,36!0^360,36!0^372,36!0^384,36!0^396,36!0^408,36!0^420,36!0^432,36!0^444,36");
var _local44 = new LevelData("tunnels", "5000100000000000000000000D01000000000000000000401014000000111MQJ40400115011000000J110001010000002100000000101010100000001000000H01010101000000000000001010101010000000000000010M010J0100000003140000100010001000000011100001000100010000000215000010K010L01000000000000001010101010000000000000010101010100000000000000101010101000000031111401010101010000000111111010101010M0000000211115010101010000000000000000101010100000000000000001010M010K0000000000000010100010100000003140000101000101000000011100001010K010100000002150000101010J01000000000000001010100010000000000000010101000100110001000000I01010L010011000100000000101010100024031000000K1100010100002115000000111LOK115000000000000000000000000000000000000000000000000|5^660,108!11^72,60,396,300!9^672,492,0,0,3,4,1,0,0!9^96,420,0,0,3,4,1,-1,0!9^504,420,1,0,1,3,1,0,-1!0^552,132!0^528,132!0^540,120!0^552,120!0^528,120!0^540,132!0^252,132!0^240,132!0^264,132!0^264,120!0^252,120!0^240,120!0^384,132!0^396,132!0^408,132!0^408,120!0^384,120!0^396,120!0^696,300!0^708,300!0^708,288!0^696,288!0^96,300!0^84,300!0^84,288!0^96,288!0^756,564!0^732,564!0^708,564!0^684,564!0^660,564!0^636,564!0^612,564!0^588,564!0^564,564!0^540,564!0^516,564!0^492,564!0^468,564!0^444,564!0^396,564!0^372,564!0^348,564!0^324,564!0^300,564!0^276,564!0^252,564!0^228,564!0^204,564!0^180,564!0^156,564!0^132,564!0^108,564!0^84,564!0^60,564!0^36,564!0^420,564!8^468,396,2!8^132,444,0!8^108,492,0!6^492,540,5,1,0,0!6^348,228,0,0,1,3");
var _local55 = new LevelData("spelunking", "0000000000015000B1150020000000000K1L0000110000000000000002E0000F14000000>40000000000000F1400000G1MI00000000000021000001E00000000000000010000JE00000?400000000K100000000000110000000K15000000000031A00000001100000000000E240000KD31A0000000000000E000C111E00000000000000000021500000000000000000000?1000340000000000000000J1400B110000000000000000JE000>1000000000000000000000G100000000000000000000J1M00000000CL00000000000100000000011D000000000G100000000K111M00000000B1000000031A01H000000000100000001100>E0000000K1E0000000JI0000000000015000000000000000000000M000300000000000000000000311000000000000000000K11110000000000000000000021100000000000000000000?110000@3L0000000400000C110000111M00000C1L0000J11000K11100000G111L000011|5^156,72!6^420,228,0,0,2,3!4^228,570,1!2^156,504,0,-1!2^588,456,0,-1!11^720,108,384,564!0^60,492!0^60,504!0^60,516!0^60,528!0^60,540!0^48,540!0^36,540!0^36,528!0^36,516!0^48,516!0^48,528!0^48,504!0^72,504!0^84,516!0^72,516!0^72,528!0^72,540!0^84,540!0^84,528!0^96,528!0^96,540!0^108,528!0^108,540!0^276,252!0^516,228!0^516,216!0^540,240!0^540,228!0^540,216!0^540,204!0^528,216!0^528,228!0^528,204!0^756,204!0^756,216!0^756,228!0^756,240!0^756,252!0^756,264!0^756,276!0^756,288!0^756,300!0^756,312!0^756,516!0^756,492!0^756,468!0^756,444!0^660,492!0^660,468!0^384,504!0^456,492!0^516,492!0^312,360!0^228,444!0^36,396!0^36,384!0^36,372!0^36,360!0^36,348!0^48,336!0^48,408!0^216,228!0^468,180");
var _local24 = new LevelData("sumo", "0N1A00000000000000000000NE000000000000000000000>A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000000000001010000000000000000000010140000000000000000000|5^396,516!2^372,576,0,-1!2^396,576,0,-1!2^420,576,0,-1!1^468,396!1^324,396!1^636,348!1^156,348!1^396,228!1^252,276!1^540,276!1^708,228!1^84,228!1^252,156!1^540,156!1^396,84!1^660,108!1^132,108!12^444,564!12^492,564!12^348,564!12^300,564!12^252,564!12^540,564!12^588,564!12^636,564!12^684,564!12^732,564!12^204,564!12^156,564!12^108,564!12^60,564!12^36,540!12^756,540!12^468,516!12^324,516!12^516,492!12^564,468!12^276,492!12^228,468!12^612,444!12^660,420!12^708,420!12^744,444!12^768,480!12^768,516!12^180,444!12^132,420!12^84,420!12^48,444!12^24,480!12^24,516!1^684,492!1^612,540!1^108,492!1^228,540!11^48,48,756,60!9^684,456,0,0,30,2,1,-1,0!9^108,456,0,0,30,2,1,0,0!0^636,324!0^708,204!0^468,372!0^324,372!0^156,324!0^84,204!0^396,60!0^396,48!0^396,36!6^756,180,2,1,0,1!6^36,324,2,1,0,3");
var _local31 = new LevelData("faces", "9000000000000000000000600000000000000000;<000000000000000000000:=0;<000000;11<00000000000110000001961000000000001100000018710000000000011000000:11=0000000000011000000000000000000;<0:=000000000000000000:=00000000000000000000000000000;111<00;1111111111110001900000190006190000000010000001000001000000700100;100100;00100000;100100:=00100=00100000:1001000000100000100;<006001000000100000100:=00700100;<00100<00100000;100100:100100:00100000:1001000000100000100000060018000071800071800000700:111111110001111111110000000000000000000000600000000000000000;<000000000000000;1<000:=0;<000000000000611000000110000000000000110000001100000000000071100000011000000000000:1=000;<0:=000000000000000000:=000080000000000000000000007|5^660,468!2^660,312,0,-1!2^72,432,0,-1!2^216,432,0,-1!6^396,516,1,0,1,0!9^408,276,0,0,11,23,1,-1,0!9^408,108,0,0,11,23,1,0,0!11^144,132,504,552!6^324,372,3,0,2,0!6^468,204,1,0,0,0!6^348,204,0,0,0,2!6^324,156,3,0,0,1!10^144,468!0^216,396!0^216,384!0^216,372!0^216,360!0^216,348!0^72,396!0^72,384!0^72,372!0^72,360!0^72,348!0^396,540!0^408,540!0^420,540!0^420,552!0^408,552!0^396,552!0^396,564!0^408,564!0^420,564!12^408,204!12^408,180");
var _local57 = new LevelData("pity", "0FJ1111000000000000010>000FJ11400000000000010000000FJ1400010000000E000000000FJ40000000000000000000000240000000000000000000000240000D00000000000000000240001000000000000000000240?10000000000000000000211100000000000000000000B1140000000000000000000>11100000000000000000000B1100000000000000000000>11000000000000000000000B5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C400000000000000000000?1100000000000000000000C110000000000000000000?1110000?00000000000000C1150000C0000000000000315000003100000000000031500000311000000000003150000?1111000000000031E00000C1E0>000000000311A0000011A000000000GK111000000B100000000GK1111100000000000000GK1111111000000C10000GK11111111140000311@0?|5^660,444!6^84,348,1,0,1,0!11^672,564,180,396!0^36,204!0^36,216!0^36,228!0^36,240!0^36,252!0^36,264!0^36,276!0^48,276!0^60,276!0^72,276!0^84,276!0^96,276!0^108,276!0^96,264!0^108,264!0^96,252!0^84,240!0^72,228!0^60,216!0^48,204!0^48,216!0^48,228!0^48,240!0^48,252!0^48,264!0^60,264!0^72,264!0^84,264!0^84,252!0^72,240!0^60,228!0^60,240!0^60,252!0^72,252!0^36,540!0^36,552!0^48,552!0^48,540!0^60,540!0^60,552!0^60,564!0^48,564!9^756,36,1,0,29,20,1,0,0!9^36,36,1,0,29,20,1,0,-1!2^396,576,0,-1!1^444,516!1^348,516!1^396,360!1^396,264!1^396,168!1^492,132!1^300,132!1^540,252!1^252,252!1^612,180!1^180,180!0^492,108!0^492,96!0^492,84!0^492,72!0^492,60!0^492,48!0^492,36!0^300,108!0^300,96!0^300,84!0^300,72!0^300,60!0^300,48!0^300,36!0^396,144!0^396,132!0^396,120!0^396,108!0^396,96!0^396,84!0^396,72!0^396,60!0^396,48!0^396,36!10^396,216!3^180,36!3^612,36");
var _local40 = new LevelData("unsuperimpossible", "000150000000000000000020000000000000000000000000000000000000000000000000140000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000300011000000000000000GK1000110000000000000001110001100000000000000015240011000000000000000B001001100000000000000000050011000000000000000C00000110000000000000001430001100000000000000011100011000000000000000FJ10001100000000000000000200011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000015000000000000000000000000000000000000000000000000000000000000000000014000000000000000003|5^396,84!12^24,156!12^24,204!12^24,252!12^24,300!12^24,348!12^24,396!12^768,156!12^768,204!12^768,252!12^768,300!12^768,348!12^768,396!12^768,540!12^24,540!11^396,564,756,84!9^36,84,1,0,16,21,1,0,0!10^396,156!6^156,36,5,1,0,0!6^540,36,5,1,0,2!6^612,84,5,1,0,0!6^108,84,5,1,0,2!0^468,420!0^456,420!0^444,420!0^432,420!0^432,408!0^444,408!0^456,408!0^468,408!0^468,432!0^456,432!0^444,432!0^432,432!0^360,432!0^348,432!0^336,432!0^324,432!0^324,420!0^336,420!0^348,420!0^360,420!0^360,408!0^348,408!0^336,408!0^324,408");
var _local32 = new LevelData("n-punzel", "1A000000000000000000000I00000000000000000140000000000000000000000111100000000000000000011000000000000000000000010000000000000000000001100000000000000000000001110000000000000000000150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000H00000000000000000000001@00000000000000000000011E0C000000000000000000A000100000000000000000000001000000000000000000@00?1000000000000000000|5^204,528!7^660,156,3!7^684,156,2!7^684,180,2!7^684,204,2!7^684,228,2!7^684,252,2!7^684,276,2!7^684,300,2!7^684,324,2!7^684,348,2!7^684,372,2!7^684,396,2!7^684,420,2!7^684,444,2!7^684,468,2!7^684,492,2!0^708,180!0^732,192!0^708,204!0^732,216!0^708,228!0^732,240!0^708,252!0^732,264!0^708,276!0^732,288!0^708,300!0^732,312!0^708,324!0^732,336!0^708,348!0^732,360!0^708,372!0^732,384!0^708,396!0^732,408!0^708,420!0^732,432!0^708,444!0^732,456!0^708,468!0^732,480!0^708,492!0^732,504!9^132,396,0,0,7,23,1,0,0!11^132,564,732,108!2^540,576,0,-1!2^348,576,0,-1!1^444,444!1^444,324!1^444,204!1^444,84!1^516,264!1^516,384!1^516,144!1^372,144!1^372,264!1^372,384!6^60,228,5,1,0,0!6^84,300,5,1,0,0!3^636,60!6^36,156,5,1,0,0");
var _local56 = new LevelData("lab", "00011502110001150211010000210001500021000150100000000000000000000001000000000000000000000020000000000000000000000000000000000014000000000000000000000110000000000000000000000000000011000000000000000000000210000000000000000000000000000000000000000000000000000100000000000001000000031000000000000014000000150000000000000210000001000000000000000100000010000000000000001000000100000000000000010000001400000000000003100000021000000000000015000000010000000000000100000000000000000000000000000000000000000000000000000000000000000000031000000000000000000000110000000000000110000000000000000000001500000000000000000000000000000003000000000000000000000010000000000000000000000100003100014000310001401000011403110001140311010|5^48,564!1^180,180!1^612,180!1^612,420!1^180,420!1^300,300!1^492,300!1^396,252!1^540,204!1^252,204!1^300,384!1^492,384!11^744,564,396,84!9^744,420,0,0,27,23,1,-1,0!9^48,420,0,0,27,23,1,0,0!9^48,180,0,0,28,23,1,0,0!9^744,180,0,0,29,23,1,0,0!0^756,324!0^756,312!0^756,300!0^756,288!0^756,276!0^36,276!0^36,288!0^36,300!0^36,312!0^36,324!0^36,84!0^36,72!0^36,60!0^36,48!0^36,36!0^756,36!0^756,48!0^756,60!0^756,72!0^756,84!2^372,480,0,-1!2^420,480,0,-1!2^732,108,-0.707106781186547,-0.707106781186547!2^60,108,0.707106781186547,-0.707106781186547!2^60,348,0.707106781186547,-0.707106781186547!2^732,348,-0.707106781186547,-0.707106781186547!10^396,144");
var _local28 = new LevelData("sarlac", "14000011111110000000000211100111111100000031100150001111111000001150001000021111110000311H000000000011111000015F0000000000011111000350000000000000211110311H00000000000000002101E0000000000000000000101MI0000000000000000001014000000000000000000011A00000000000000000000110000000000000000000001A000000000000000000000I0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000H00000000000000P00000001@0000000000000P000000011I000000000000D000000011@0000000000001000000011D0000000000001000000311140000000000310000035021D000000000015000035000114?00000000200000100001111I0000000000000100000021@0000000000000100000002P0?00000000000100000000D0C00000000000100100000Q014000000000000014000007111|5^564,108!9^732,564,0,0,2,23,1,0,0!9^252,348,0,0,30,20,1,-1,0!9^612,348,1,0,31,10,1,0,-1!11^60,156,396,396!1^396,468!1^516,516!1^276,516!0^504,384!0^552,420!0^600,432!0^612,480!0^660,504!0^672,552!0^612,564!0^360,528!0^408,504!0^480,456!0^552,504!0^492,540!0^312,468!0^348,396!0^300,384!0^276,408!0^216,456!0^156,468!0^132,528!0^180,528!0^216,552!0^252,492!0^444,420!0^444,360!0^384,348!0^732,300!0^744,300!0^756,300!0^756,288!0^744,288!0^732,288!0^732,276!0^744,276!0^756,276!0^720,444!0^708,444!0^708,432!0^720,432!0^78,444!0^90,444!0^90,432!0^78,432!0^138,420!0^126,420!0^126,408!0^138,408!0^198,354!0^210,354!0^210,342!0^198,342!0^222,354!0^234,354!0^234,342!0^222,342!12^240,408!12^522,378!12^588,420!12^648,468!12^684,540!12^456,504!12^312,528!12^348,432!12^156,504!12^468,372!12^276,372!12^204,432!8^372,468,2!8^420,468,0!8^276,540,2!6^108,348,0,1,0,2!1^396,204!9^744,492,0,0,4,1,1,0,0!9^756,264,1,0,1,4,1,0,0!6^36,108,5,1,0,1!6^84,36,5,1,0,0!2^588,276,-0.707106781186547,-0.707106781186547!6^564,540,2,1,0,0!8^276,564,0");
var _local35 = new LevelData("choose your own", "500001111111500001500020000021111110000010000000000000002100000000000000000000001000000000000000030000010000010000040000100000100003100000100001140311111011L0K11100001110111111011M0J11000001500021000021000001000010000010000010000010000100000100000100000100001000001000001000000000010000010000010000010000100000214000100000100001110140011101L0K11100001150114011101M0J1110000100002111000100002000001000001110001000001000010000002100010000010000100000005000100000100001000000000001000000000010000040000010000010000140000100003100003100001114031111111L0K11500001111111111111M0J11000001500021500021000020000010000010000010000000000100000000000100000000005000000000001000000000000000010000000000040000000000140000000000|5^492,540!11^384,324,360,288!8^444,36,1!8^324,36,1!4^384,138,1!12^168,372!12^168,324!12^216,372!12^216,324!12^360,372!12^360,396!12^408,396!12^408,372!12^576,396!12^576,324!12^432,360!12^456,360!12^348,348!12^276,312!12^312,312!12^240,312!12^492,348!12^564,420!8^540,36,1!8^228,36,1!3^36,96!6^252,420,2,1,0,3!6^36,420,3,1,0,0!6^156,564,3,1,0,3!2^744,576,0,-1!2^696,432,0,-1!2^756,288,0,-1!12^324,564!12^252,564!12^288,552!0^276,396!0^288,396!0^300,396!0^300,384!0^288,384!0^276,384!0^276,372!0^288,372!0^300,372!0^300,360!0^288,360!0^276,360!0^444,396!0^456,396!0^480,396!0^492,396!0^504,396!0^516,396!0^528,396!0^540,276!0^552,276!0^564,276!0^564,264!0^552,264!0^540,264!0^432,276!0^420,264!0^420,252!0^444,276!0^444,264!0^444,252!0^432,252!0^432,264!0^492,324!0^480,324!0^468,312!0^468,300!0^480,312!0^480,300!0^492,312!0^492,300!0^444,408!0^456,408!0^468,396!0^468,408!0^480,408!0^492,408!0^504,408!0^516,408!0^528,408!9^288,480,0,0,8,20,1,-1,0!9^384,60,0,0,8,9,1,0,0!9^384,108,0,0,8,9,1,-1,0!9^156,348,0,0,15,17,1,-1,0!9^228,348,0,0,16,17,1,0,0!8^636,372,0!8^636,228,0!8^636,540,0!2^96,576,0,-1!12^156,276!12^156,180!12^132,180!12^132,276!7^372,228,2");
var _local50 = new LevelData("pathmatics", "11111111111111111111111000000000000000000000000000000031111111111140000000000111111111111100000000002111111111115000000000000000000000000000000031111111111111400000000111111111111111000000002111111111111150000000000000000000000000000031111111111111114000000111111111111111110000002111111111111111500000000000000000000000000031111111111111111140000111111111111111111100002111111111111111115000000000000000000000000000311111111111111111400001150111111111111111000021001502111111111150000000310000000000000000003111140311111400114000011111111111111101110000211111111502111011500000000000000001150210000031111111140311000140000111111111111114031100002111111111111111115000000000000000000000000011111111111111111111111|5^684,48!9^540,228,1,0,26,4,1,0,-1!9^636,324,0,0,24,18,1,-1,0!9^660,444,1,0,22,4,1,0,-1!9^156,372,1,0,22,11,1,0,-1!9^444,300,1,0,22,4,1,0,0!9^348,324,1,0,26,11,1,0,0!9^252,348,1,0,22,15,1,0,0!9^60,396,0,0,25,18,1,0,0!11^504,156,636,516!6^612,564,2,1,0,2!6^252,492,3,1,0,3!6^444,108,3,1,0,1!0^300,540!0^396,540!0^492,540!0^204,540!0^108,540!0^108,204!0^120,204!0^96,204!0^96,192!0^108,192!0^120,192!0^192,156!0^204,156!0^216,156!0^216,144!0^204,144!0^192,144!0^288,108!0^300,108!0^312,108!0^312,96!0^300,96!0^288,96!0^504,540!0^480,540!0^408,540!0^384,540!0^312,540!0^288,540!0^216,540!0^192,540!0^120,540!0^96,540!0^636,348!0^648,348!0^660,336!0^624,348!0^612,336!0^612,324!0^660,324!0^564,240!0^564,228!0^564,216!0^552,204!0^540,204!0^528,204!0^516,216!0^516,228!0^516,240!0^648,420!0^660,420!0^672,420!0^684,432!0^684,444!0^684,456!0^672,468!0^660,468!0^648,468!0^660,312!0^612,312!6^540,300,5,1,0,1!6^636,228,4,1,0,3");
var _local58 = new LevelData("viaduct", "11115000000000000>11111A0B100001@00000000B111100>100002D00000000>1111000B@0000B@00000000B111000>D0000>D00000000>1110000B@0000B@00000000B110000>D0000>D00000000>1100000B@0000B@00000000B100000>D0000>D00000000>1000000B@0000B@00000000B000000>D0000>D00000000>0000000B@0000B@000000000000000>D0000>D0000000000000000B@0000B@000000000000000>D0000>D000000?0000000001000001000000C000000000100000100000?1000000000100000100000C100000000010000?E0000?1100000000?E0000CA0000C1000000000CA000?E0000?1100000000?E0000CA0000C5000000000CA000?E0000?1000000000?E0000CA0000C1000000000CA000?E0000?1100000000?10000CA0000C5000000000C1000?10000?1000000000311400C10000C100000111011110?1100031500000111000000N1100011000000111400000C1140000000000|5^60,48!11^504,564,684,468!9^324,492,0,0,21,23,1,0,0!9^432,288,1,0,1,9,1,0,-1!9^432,60,0,0,29,4,1,-1,0!1^432,144!1^360,168!1^504,168!1^276,420!9^180,360,1,0,31,16,1,0,-1!12^144,120!12^240,168!12^360,228!12^576,192!12^648,156!12^672,276!12^576,324!12^480,372!12^336,360!12^264,324!12^192,288!12^120,252!12^48,456!12^120,492!12^192,528!12^264,564!12^324,576!12^384,564!12^456,528!12^528,492!12^600,456!12^672,420!0^480,408!0^504,396!0^528,384!0^552,372!0^576,360!0^600,348!0^624,336!0^648,324!0^456,420!0^432,420!0^408,420!0^384,420!0^360,408!0^336,396!0^312,384!0^288,372!0^264,360!0^240,348!0^216,336!0^192,324!0^168,312!0^144,300!0^120,288!0^96,276!0^72,264!0^48,252!12^588,228!12^504,264!12^360,264!12^264,216!12^168,168!12^96,384!12^240,468!12^408,480!12^480,444!12^552,408!12^624,372!12^168,420!1^204,480!3^684,36!3^48,144!12^756,564!12^732,564!12^708,564!12^684,564!12^756,540!12^756,516!12^732,516!12^732,540!12^708,540!12^684,540!12^708,516!12^684,516!12^660,540!12^660,564!12^636,564!6^252,372,2,1,0,0!6^516,420,2,1,0,0!6^300,516,2,1,0,3");
var _local19 = new LevelData("hide and seek", "50000000000000000002111000000000000000000002110000000000000000000002100000000000000000000002000000000000000000000000000000000000000114000000000000000000001110000000000000000000011100000000000000000000111000000000000000000001150000000000000000000000000000000000000000000000000000000000000000000000000000000001140000000000000000000011100000000000000000000111000000000000000000001110000000000000000000011500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001140000000000000000000011100000000000000000000111000000000000000000001110000000000000000000011500000000000000000000000000000000000000000000000003000000000000000000000310000000000000000000031140000000000000000003111|5^396,492!1^684,276!1^684,156!1^108,276!1^108,156!1^396,420!1^324,516!1^468,516!11^396,204,396,324!0^540,396!0^552,396!0^564,396!0^576,396!0^588,396!0^600,396!0^612,396!0^624,396!0^636,396!0^252,396!0^240,396!0^228,396!0^216,396!0^204,396!0^192,396!0^180,396!0^168,396!0^156,396!12^468,420!12^324,420!12^276,228!12^516,228!12^588,228!12^204,228!12^648,252!12^144,252!12^348,156!12^372,156!12^396,156!12^420,156!12^444,156!1^348,120!1^444,120!1^396,120!6^348,180,2,0,1,0!6^108,372,2,1,0,0!6^300,156,3,1,0,1!6^708,108,3,1,0,1");
var _local41 = new LevelData("leap of faith", "5000619000000000000000200000E0000000000000000000000P0000000000000000000000P0000000000000000000000A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000010000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000010000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000007|5^36,60!12^132,168!12^132,204!12^132,240!12^132,276!12^132,312!12^132,348!12^132,384!12^132,420!12^132,456!12^132,492!12^132,528!10^492,540!3^276,540!2^324,576,0,-1!2^348,576,0,-1!2^372,576,0,-1!2^396,576,0,-1!2^420,576,0,-1!2^444,576,0,-1!1^84,528!1^84,456!1^84,384!1^84,312!1^84,240!11^636,564,84,204");
var _local42 = new LevelData("pitcher plant", "00000021500021500000000000000000000000000000000000000000000000000000000000000000000000000000000001400100000000004000000011001400003003010000003MI002111111401010000035000000000FJ11111000035000000000000FJ1110003E000000000000000FJ10011A000000000000000002401E0000000000000000000B11A0000000000000000000N1000000000000000000000>1000000000000000000000020000000000000000000000000000000000000000000003000000000000000000000?11@0000000000000000000N11D0000000000000000000C111@0000000000000000035002D000000000000000GK5000024000000000000GK1500000024000000000GK111000000002LH0031111115010000000001100150000200100004040015001000000005000010100000000000000000000101000000000000000000001010000000000000000000010100031400031400000000|5^252,540!2^156,396,-0.707106781186547,-0.707106781186547!2^636,396,0.707106781186547,-0.707106781186547!2^756,180,-0.707106781186547,-0.707106781186547!2^36,180,0.707106781186547,-0.707106781186547!2^84,576,0,-1!2^708,576,0,-1!2^396,576,0,-1!2^468,540,0,-1!2^324,540,0,-1!2^276,516,0.707106781186547,-0.707106781186547!2^516,516,-0.707106781186547,-0.707106781186547!2^612,252,-0.707106781186547,-0.707106781186547!2^180,252,0.707106781186547,-0.707106781186547!1^396,252!1^348,324!1^444,324!1^420,492!1^372,492!1^276,420!1^516,420!1^540,348!1^252,348!1^396,108!1^300,204!1^492,204!12^372,420!12^540,264!12^576,156!12^324,72!12^288,264!12^216,372!12^348,216!12^444,156!12^264,132!12^492,444!10^396,36!2^588,108,0.707106781186547,-0.707106781186547!9^396,456,0,0,6,20,1,-1,0!9^396,180,0,0,28,2,1,-1,0!9^528,564,0,0,28,2,1,0,0!9^396,324,0,0,29,2,1,0,0!11^168,492,744,60!0^132,132!0^144,132!0^156,132!0^168,132!0^180,120!0^192,108!0^204,96!0^216,84!0^228,72!0^240,60!0^252,48!0^252,36!0^240,36!0^228,36!0^240,48!0^228,48!0^228,60!0^216,72!0^204,84!0^192,96!0^180,108!0^168,120!0^156,120!0^144,120!0^132,120!0^660,444!0^648,444!0^636,444!0^624,444!0^612,444!4^756,570,1!12^588,516!12^636,516");
var _local20 = new LevelData("deepfreeze [remake]", "11MI000000000000000FJ1115000000000000000000021E000000000000000000000BA000000000000000000000>00000000000000000000000000000K@00000000000000?0000001D00000000000000C000000B1@000000000000?1000000>1D000000000000C10000000B1@0000000000?110000000>1D0000000000C11000?@000214000000003MQJ000CD000021400000035000003114000021LH00GK5000000B111H0000FJ111150000000N1111000000000000000000C111I0000GK1111400000002115000031MI00FJ40000000BE000031500000024000000>A000315000000002LOK0000000?1E0000000000B110000000C1A0000000000>11000000?1E000000000000B1000000C1A000000000000>10000001E00000000000000B000000JA00000000000000>00000000000000000000000@000000000000000000000?D000000000000000000000C1400000000000000000003111LH000000000000000GK11|5^396,60!3^444,384!3^348,384!1^396,480!11^396,564,396,456!1^708,276!1^660,348!1^612,420!1^660,492!1^132,492!1^84,420!1^132,348!1^84,276!1^708,420!9^276,348,1,0,16,14,1,0,-1!9^516,348,1,0,16,15,1,0,-1!9^156,216,1,0,16,16,1,0,-1!9^636,216,1,0,16,17,1,0,-1!0^504,276!0^492,288!0^480,300!0^468,312!0^480,312!0^492,300!0^504,288!0^504,300!0^492,312!0^324,312!0^312,300!0^300,288!0^288,276!0^288,288!0^300,300!0^312,312!0^300,312!0^288,300!2^468,468,0.707106781186547,-0.707106781186547!2^324,468,-0.707106781186547,-0.707106781186547!2^444,276,-0.707106781186547,-0.707106781186547!2^348,276,0.707106781186547,-0.707106781186547!0^372,252!0^384,240!0^420,252!1^84,288!1^132,360!1^84,432!1^132,504!1^180,420!1^180,432!1^708,288!1^660,360!1^612,432!1^708,432!1^660,504!1^396,492!0^408,240!0^396,228!0^396,204");
var _local45 = new LevelData("slippery slope", "50000000000000000021111000000000000000000000000000000000000000003114000000000000000000011110000000000000000031111500000000000000002111110000000000000000000111100000000000000000002111000000000000000000000114000000000000000000002110000000000000000000001100000000000000000000311000000000000000000001110000000000000000003111500000000000000000011110000000000000000031111100000000000000000111115000000000000000311150000000000000000001115000000000000000003111100000000000000000011111000000300000000031111110000001000000000111111500000020000000311111500000000000000001115000000000000000003111100000000000000000011111000000000000000031111110000000000000000111111100031140000010311111115000111100003101111111100001111400111|5^108,420!9^372,420,0,0,10,23,1,-1,0!9^468,324,0,0,11,23,1,-1,0!9^564,228,0,0,12,23,1,-1,0!9^660,132,0,0,13,23,1,-1,0!9^180,420,0,0,13,23,1,0,0!11^744,324,756,36!10^468,444!2^672,576,0,-1!10^624,288!0^756,492!0^756,480!0^756,468!0^756,456!0^744,444!0^732,444!0^732,516!0^732,528!0^720,540!0^708,540!0^732,504!0^732,492!0^744,492!0^720,444!0^708,432!0^696,420!0^696,528!0^696,516!0^696,504!0^696,492!0^696,480!0^696,468!0^696,456!0^696,444!0^696,432!0^714,522!0^714,510!0^714,498!0^714,486!0^714,474!0^714,462!0^726,462!0^738,462!0^738,474!0^726,474!0^708,444!0^696,540!0^708,84!0^612,180!0^516,276!0^420,372!0^324,468!0^228,468!0^276,492!3^48,48!3^216,432!2^564,564,0.707106781186547,-0.707106781186547!1^468,180!1^564,84!1^372,276!1^276,372!2^420,384,0,-1!2^324,480,0,-1!2^516,288,0,-1!2^618,186,-0.707106781186547,-0.707106781186547!2^714,90,-0.707106781186547,-0.707106781186547");
var _local36 = new LevelData("bare hunting", "50000000000100000000000000000000001000000000000000000000000000000000000001000000000000000000000010000000000001000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000000001000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000100000000000010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000000000000000000000000000000000000000000000000100004001000000000000001000011010000000000000000000100100000000000000000001001000000000000000000011114000000000000000000|5^264,540!6^84,180,5,0,1,1!6^396,372,5,0,1,3!6^588,228,5,1,0,2!6^36,324,5,1,0,0!0^636,444!0^648,444!0^660,444!0^276,492!0^264,492!0^252,492!0^156,420!0^144,420!0^132,420!0^396,372!0^408,372!0^420,372!0^564,300!0^576,300!0^588,300!0^468,132!0^456,132!0^444,132!0^324,228!0^312,228!0^300,228!0^60,276!0^48,276!0^36,276!0^108,108!0^120,108!0^132,108!12^732,576!12^60,576!12^132,576!12^660,576!12^588,576!12^516,576!12^204,576!12^444,576!12^372,576!11^720,84,36,564!9^756,564,0,0,28,3,1,-1,0!0^168,564!0^96,564!0^408,564!0^480,564!0^552,564!0^624,564!0^696,564!0^468,120!0^456,120!0^444,120!0^132,96!0^120,96!0^108,96!0^300,216!0^312,216!0^324,216!0^60,264!0^48,264!0^36,264");
var _local51 = new LevelData("rocket run", "500000000000000000000020000000000311400000000000031111111111111111400400111111111111111111001001500000000000002110010310000000000000001100101100311111111140011401011001111111111100111050110011500000211002110001100210000000150001500011000100110001000010000210031001500014000100000100110000010110031000001001100000101100110000010011000001O1500110000000011000002110001500000000110000000100010030001001100000000000100100310011000000000001002001100210014000100014004011000100110001400110010110031000000011001100101100114000003114021001011001111111111110010050110021111111111500100002100000000000000001000001400000000000000310000011111111111111111100000211111111111111115004000000215000002115000014000000000000000000003|5^444,516!10^312,312!10^480,312!10^516,144!10^276,144!10^672,60!10^72,60!10^276,456!2^456,480,0,-1!11^348,372,504,252!9^288,252,0,0,13,15,1,-1,0!0^588,492!0^600,492!0^612,492!0^624,492!0^636,492!0^732,372!0^732,360!0^732,348!0^732,336!0^732,324!0^732,312!0^732,300!0^732,288!0^732,276!0^60,252!0^60,240!0^60,228!0^60,216!0^60,204!0^60,192!0^60,180!0^60,168!0^60,156!0^60,144!0^60,132!0^300,492!0^288,492!0^276,492!0^264,492!0^252,492");
var _local13 = new LevelData("aux terminal", "1015000002110011111150250100000001500111111000005000000010000002150000000001000000000000000000000010000000000000000000000140000001100000000B4000211100001500000000>1000000000001000000000014000000000000000000000111400000000000000000000000001100000000000000000000015000000000004000000000000000400003010004000000000001000010100010031400000314003501000111111000001111110010001002150000021500240100050000000000010000111000000000000000500002110000000001400000000000000000000011000000000000000111500000000000000000001500000000000000000000?1000000000001000000000C500031110000140000000000000150000001100000000000001000000000000000000000010000000000000000004000000010000003140004010000000140011111100010140000031100111111403|5^396,564!11^396,516,756,60!9^48,336,0,0,13,21,1,-1,0!9^744,336,0,0,13,21,1,0,0!9^36,60,0,0,14,21,1,0,0!2^456,360,0,-1!2^336,360,0,-1!2^672,576,0,-1!2^120,576,0,-1!0^36,540!0^48,540!0^48,528!0^60,528!0^60,540!0^60,552!0^48,552!0^744,540!0^732,540!0^732,528!0^720,528!0^720,540!0^720,552!0^732,552!0^420,108!0^420,120!0^420,132!0^372,108!0^372,120!0^372,132!0^372,144!0^360,156!0^420,144!0^432,156!0^564,132!0^564,120!0^576,108!0^588,108!0^228,132!0^228,120!0^216,108!0^204,108!0^60,108!0^48,108!0^36,120!0^36,132!0^732,108!0^744,108!0^756,120!0^756,132!3^348,228!3^444,228!3^396,60!3^444,432!3^348,432!6^204,252,1,0,0,3!6^588,252,0,0,0,3!12^756,252!12^36,252!12^96,180!12^696,180!12^612,264!12^180,264");
var _local59 = new LevelData("haste", "50000000000002150002100000000000000001000001000000000000000010000010000000000000400100400100000000000001001001001000000000000010010010010000000000000100100100100000000000001001001001000000000000010010010010000000000000100100100100000000000001001001001000000000000010010010010000000000000100100100100000000000001001001001000000000000010010010010000000000000100100100100000000000001001001001000000000000010010010010000000000000100100100100000000000001001001001000000000000010010010010000000000000100100100100000000000001001001001000000000000010010010010000000000000100100100100000000000001001001001000000000000010010010010000000000000100500100500004000000001000001000000010000000010000010000000140000003100000100000|5^48,552!3^756,564!3^756,492!3^756,420!3^756,348!2^684,288,0,-1!2^540,288,0,-1!2^396,288,0,-1!2^252,288,0,-1!2^108,288,0,-1!0^132,564!0^228,540!0^324,564!0^420,540!0^516,564!0^612,540!0^612,492!0^516,468!0^420,492!0^324,468!0^228,492!0^132,468!0^132,420!0^228,396!0^324,420!0^420,396!0^516,420!0^612,396!0^612,348!0^516,324!0^420,348!0^324,324!0^228,348!0^132,324!11^732,60,180,60!12^144,252!12^372,180!12^576,132!12^708,192!12^480,72!12^288,120!12^468,240!12^636,264!12^204,216!12^444,156!12^576,204!12^312,240!12^204,288!12^156,288!12^300,288!12^348,288!12^444,288!12^492,288!12^588,288!12^636,288!12^732,288!12^756,276!12^768,192");
var _local14 = new LevelData("claustro", "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111115021111111111111111115000001111111111111111100000011111111111111115000000111111111111111100000001111111111111111000000011111111111111110000000111111111111111100000001111111111111111000000011111111111111110000000111111111111111100000001111111111111111400000011111111111111111000000111111111111111114000001111111111111111111403111111111111111111111011111111111111111111110111111111111111111111101111111111111111111111011111111111111111111110111111111111111111111101111111111111111111111011111111111111111111110111111111111|5^396,324!1^396,288!1^300,228!1^492,228!9^540,324,0,0,29,11,1,0,0!9^252,324,0,0,28,11,1,0,0!9^396,180,0,0,27,11,1,0,0!9^444,324,0,0,26,11,1,0,0!9^348,324,0,0,25,11,1,0,0!9^228,276,0,0,24,11,1,0,0!9^396,252,0,0,24,11,1,-1,0!6^540,228,3,1,0,2!6^492,300,2,1,0,3!6^252,252,5,1,0,0!6^252,300,2,0,0,3!11^744,276,552,276");
var _local52 = new LevelData("stick the landing", "00000000015000000211111000000000100000000B1111000000000140000000>11110003110002114000000B1110001150000021140000>111000E0000000000000000B11000P0000000000000000>11000P00000000000000000B1000D00000000000000000>1000B000000000000000000B000N000000000000000000>000N0000000000000000000000C0000000000000000000000E000000000000000000G000P0000D000003D0000OKI000P0000110000110000000000P0000E000002E0000QJH000D000000000000000000F000B0000000000000000000000N0000000000000000000000N000000000000000000?000C000000000000000000C000E00000000000000000?1000P00000000000000000C1000P0000000000000000?11000D0000000000000000C110001140000031150000?1110002110003115000000C111000000000150000000?1111000000000100000000C111100000000014000000311111|5^396,444!2^372,372,-0.707106781186547,-0.707106781186547!2^420,372,0.707106781186547,-0.707106781186547!2^660,300,-0.707106781186547,-0.707106781186547!2^132,300,0.707106781186547,-0.707106781186547!2^324,576,0,-1!2^468,576,0,-1!9^396,348,1,0,16,21,1,0,-1!9^288,84,1,0,16,21,1,0,0!9^504,84,1,0,16,22,1,0,0!11^396,564,396,204!0^732,276!0^720,276!0^744,276!0^756,288!0^708,288!0^756,300!0^744,288!0^732,288!0^720,288!0^744,300!0^756,312!0^756,324!0^744,312!0^708,300!0^720,300!0^732,300!0^744,324!0^732,312!0^48,276!0^60,276!0^72,276!0^36,288!0^36,300!0^36,312!0^36,324!0^48,288!0^60,288!0^72,288!0^84,288!0^48,300!0^60,300!0^72,300!0^84,300!0^48,312!0^48,324!0^60,312!10^396,276!10^396,36!3^288,132!3^504,132");
var _local46 = new LevelData("constructive", "5001500000000002150210200024000000000000000240000024000000000310000214000024000000035000000224000024000003500000000O1000001000035000000003Q10000010003500314000353500003500350035024001O5000035003500350001001Q000035000100010003500240000100001000100010000200001000024002400000000000024000024002100031104000024000024000003500024000024000024000350003424000024000010001000011O1000001000010001000011Q10000010003500024000253500003500350000024000350000350035000000024005000035003500000000011000003500010000000000110000010000100000000035000000100002400000003500300002400002400000010001000002400002400000100010000001000001000002400200000310000010000001000400001500003500000010002400000000350000003100042403140031000000311400|5^36,60!9^288,48,1,0,30,6,1,0,-1!9^576,48,1,0,30,6,1,0,0!9^576,168,1,0,2,17,1,0,-1!9^288,168,1,0,2,17,1,0,0!9^696,468,0,0,13,23,1,-1,0!9^528,492,0,0,13,23,1,0,0!9^396,540,0,0,21,23,1,-1,0!9^420,540,0,0,22,23,1,0,0!11^720,564,228,444!6^36,228,5,1,0,0!6^756,228,5,1,0,2!6^756,540,5,1,0,2!6^420,372,0,1,0,2!6^396,420,0,1,0,0!0^396,324!0^408,324!0^420,324!0^420,312!0^408,312!0^396,312!0^660,300!0^672,300!0^684,300!0^684,288!0^672,288!0^660,288!12^180,300!12^120,360!12^204,372!12^576,480!12^480,480!12^744,456!12^624,456!12^348,468!12^408,432!12^312,360!12^192,456!12^252,468");
var _local17 = new LevelData("industrial zone 4", "00000000000000000000000000000031140111500000000000031150215000000000000111150000000000100000001100000000000031000030011000000000031150031100210000000000150000111000140000000001000001500002110000000010000010000002140000000100000140000002100000001140001100000000000000002100021000000000000000000000010000003100000000000000100000315000000000140002000031100000000001100000000150000000000021000000001000000000000014000000014000000000000210000000210000000000000100000000100000000000001000000001400000000000000000000011000000000000000000000000000000000001000000000000000000000010000000000114000000003100000000000211140311115000000000000002111500000000000000000000000000000000000000000000000000000000000000000000000000000|5^60,300!3^168,156!3^444,144!2^600,456,0,-1!2^636,444,-0.707106781186547,-0.707106781186547!2^660,348,-0.707106781186547,-0.707106781186547!2^420,420,0.707106781186547,-0.707106781186547!2^300,396,0.707106781186547,-0.707106781186547!12^336,468!12^552,516!12^60,444!1^312,276!1^204,312!1^504,408!1^396,372!1^420,252!1^552,312!9^372,216,0,0,14,23,1,0,0!9^228,348,0,0,13,23,1,0,0!9^504,444,0,0,12,23,1,0,0!9^516,252,0,0,11,23,1,0,0!11^228,564,444,84!0^684,36!0^684,48!0^744,48!0^756,48!0^756,36!0^744,36!0^744,96!0^756,96!0^756,84!0^744,84!0^744,72!0^756,72!0^756,60!0^744,60!0^732,48!0^720,48!0^708,48!0^696,48!0^696,36!0^708,36!0^720,36!0^732,36!0^744,108!0^756,108!0^732,72!0^720,60!0^732,60!0^636,252!0^636,264!0^636,276!0^636,240!0^624,228!0^540,168!0^528,156!0^516,156!0^504,156!0^492,156!0^396,180!0^384,180!0^372,192!0^120,180!0^108,192!0^108,204!0^96,324!0^84,336!0^84,348!0^84,360!0^84,372!6^612,492,1,0,2,0!6^132,60,1,0,2,2!2^84,276,0.707106781186547,-0.707106781186547!9^228,192,0,0,15,23,1,0,0!0^180,492!0^192,492!0^204,492!0^216,492!0^228,492!0^240,492!0^252,492!0^264,492!0^276,492!0^516,108!0^528,108!0^540,108!0^552,108!0^564,108!0^36,564!0^48,564!0^60,564!0^72,564!0^84,564!0^96,564!0^108,564!0^324,516!0^336,516!0^348,516");
var _local21 = new LevelData("isthmus", "50211150000000000000002000150000000000000000004000000031111111111140011111111150000000000000011500215000000000000000000000100311111111140300000001001500000002111001400010000000000000020011140140003111140000000211111111111502111100000000000000000002115000000000000000000000000300140000000000000000001001111111111111111140010011500000000000021100200110000000011400011000001100140000002400150000015001111400002400000300B0001111111400100001100N0001150001140000031100N0001000000214000011100C00010000000111111111001000100000000215000020010005000000000000C00000B0000000000000000100000N4000001000000000100000N1000031003140003140000C14003114011111111110001111111111150002115000000000000000000000000000000000000000314000003|5^60,48!10^132,36!9^684,300,0,0,28,23,1,-1,0!9^540,348,0,0,28,23,1,0,0!9^492,300,1,0,23,20,1,0,0!3^516,204!12^336,132!12^336,180!12^336,228!12^336,276!12^336,324!12^336,372!12^336,420!12^252,372!12^264,132!12^264,180!12^264,228!12^264,276!12^264,324!6^324,444,3,0,0,3!6^108,276,0,1,0,1!6^468,444,1,1,0,0!6^756,348,3,1,0,3!0^300,156!0^300,168!0^300,204!0^300,216!0^300,252!0^300,264!0^300,300!0^300,312!0^300,240!0^300,192!0^300,144!0^300,288!0^300,336!0^300,348!0^300,360!0^420,444!0^408,444!0^396,444!0^384,300!0^396,300!0^408,300!0^408,288!0^396,288!0^384,288!0^396,432!0^408,432!0^420,432!0^228,564!0^252,564!0^276,564!0^396,564!0^420,564!0^468,516!0^516,492!0^636,228!12^504,84!12^648,84!11^204,180,168,96!0^48,252!0^48,300!0^48,348!0^48,396!0^48,444!0^48,492");
var _local25 = new LevelData("outpost", "A00B11I0211111111MJ111100005000011150BM000B150000000000BIF0000000010000000000000000000000100000000000000000000001000000000000000000000310000000000000000000011100000000000000000003111000000000031140311111110000314031111111111111100001111111521152111111000011111150015002115210000152115000000001500100005001500000000000000000000000003000300000000000000000314031400031400400314031111111403111001101110115000111111110050021100000001111111100000011111111115000021000000211500000000000010000000010000000000000100000000500001000000001000000000000014000000010000000000000111000000100000000000000000000001000000000000000000111010000111000000000001500100001500000000000010001000010000000000000000014000000000000000000000111|5^180,420!9^84,552,0,0,18,3,1,-1,0!9^708,552,0,0,18,3,1,0,0!11^732,492,36,66!0^156,468!0^156,480!0^144,492!0^132,492!0^60,468!0^48,456!0^60,432!0^60,420!0^84,384!0^84,360!0^60,348!0^72,324!0^96,300!0^96,276!0^84,228!0^48,216!0^36,204!0^48,192!0^60,156!0^72,132!6^204,564,5,1,0,0!6^564,540,5,1,0,2!9^120,552,0,0,18,7,1,-1,0!9^672,552,0,0,18,7,1,0,0!6^468,324,3,1,0,3!6^468,204,3,1,0,1!10^684,156!12^708,408!12^684,408!12^660,408!12^684,72!12^708,72!12^732,72!12^720,348!12^672,312!12^708,228!12^744,168!12^636,216!12^564,348!12^504,396!12^516,456!12^588,420!12^612,288!12^588,288!12^564,288!2^252,180,-0.707106781186547,-0.707106781186547!2^228,348,-0.707106781186547,-0.707106781186547");
var _local29 = new LevelData("flightpath", "53500000000000000000002350000000000000000000005000000200000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000004000000000020000000000000004000000000000000000000024000000000000000000000010000000000000000000030100000000000000000000111000000000000000000001010000000000000000000010100000000000000000000235000000000000000000000500000000000000000000000000000300000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000005000000000000000000000000000000000400000030000000000000002400000000000000000000042400000000000000000003|5^720,540!1^348,396!1^444,396!1^444,228!1^348,228!1^396,132!11^84,564,396,108!2^756,564,-0.707106781186547,-0.707106781186547!2^444,564,0.707106781186547,-0.707106781186547!2^348,564,-0.707106781186547,-0.707106781186547!2^396,552,0,-1!2^36,564,0.707106781186547,-0.707106781186547!2^132,312,0,-1!2^144,324,1,0!2^204,396,0.707106781186547,-0.707106781186547!2^252,480,0,-1!2^540,480,0,-1!2^612,396,-0.707106781186547,-0.707106781186547!2^648,324,-1,0!2^660,312,0,-1!2^708,204,-0.707106781186547,-0.707106781186547!2^516,204,-0.707106781186547,-0.707106781186547!2^276,204,0.707106781186547,-0.707106781186547!2^84,204,0.707106781186547,-0.707106781186547!2^264,204,-1,0!2^528,204,1,0!0^438,372!0^450,372!0^450,360!0^438,360!0^354,372!0^342,372!0^342,360!0^354,360!0^354,204!0^342,204!0^342,192!0^354,192!0^450,204!0^438,204!0^438,192!0^450,192!10^396,84!3^756,108!3^36,108");
var _local15 = new LevelData("suicide mission", "901000:=0000000000:=00000=00000000000000000000000000000000000;<000000000000000000000:=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;<000000000000000000000:=00000000;<000000000000000000000:=0000000000000000000000000000000000000000000000;<000000000000000000000:=000000000000000000000000000000000000000000;<00000000000;<00000000:=00000000000:=000000000000000000000000000000000;<000000000000000000000:=000000000000000000000000000000000000000000;<000000000000000000000:=0000000000;<000000000000000000000:=00000000000000000000000000000000000000000000000000000;<00000000000000000000011000000000000000000000110000000000000;<00080011000000000000011000|5^756,444!2^96,384,0,-1!2^672,576,0,-1!6^36,516,2,0,1,0!6^756,516,3,0,1,2!2^42,174,0.707106781186547,-0.707106781186547!1^132,144!1^204,144!11^48,60,732,84!0^600,420!0^432,444!0^240,444!0^216,456!0^264,456!0^408,456!0^456,456!0^576,432!0^624,432!0^612,420!0^588,420!0^444,444!0^420,444!0^252,444!0^228,444!0^360,180!0^360,168!0^432,132!0^432,120!0^504,180!0^504,168!0^576,132!0^576,120!0^288,132!0^288,120!0^300,132!0^276,132!0^348,180!0^372,180!0^420,132!0^444,132!0^492,180!0^516,180!0^564,132!0^588,132!3^48,36");
var _local60 = new LevelData("agonizing [remake]", "0F1111111111111111111110011111111111111111111100111111111111111111111001111111111111111111110010000000000000000000000100000000000000000000001M0C111111111111111100000311111111111111111000031111111111111111110003111111111111111111I0001I00000000000000000000010000000000000000000O0010000000000000000000F00100000000000000000000001000000000000000000OK0010000000000000000000F001000000000000000000000010000000000000000OOOK0010000000000000000000F0010000000000000000000000100000000000000OOOOOK0010000000000000000000F0010000000000000000000000100000000000OOOOOOOOK0010000000000000000000F0010000000000000000000000100000000OOOOOOOOOOOK0010000000000000000000F0010000000000000000000000100000000000000000000H01L000000000000000GOOK|5^228,564!9^168,564,0,0,7,23,0,-1,0!3^648,276!6^132,420,2,1,0,3!6^156,204,2,1,0,1!6^156,492,3,1,0,3!10^372,108!3^588,108!0^276,516!0^276,492!0^276,468!0^276,444!0^276,420!0^276,396!0^276,372!0^276,348!0^276,324!0^276,300!0^276,276!0^276,252!0^276,228!0^276,204!0^276,180!0^276,156!0^276,132!12^48,72!12^144,72!12^324,72!12^432,72!12^528,72!12^624,72!12^720,72!12^378,24!12^480,24!12^576,24!12^672,24!12^96,24!12^234,24!11^720,564,744,36!0^336,48!0^312,48!0^420,48!0^444,48!0^516,48!0^540,48!0^612,48!0^636,48!0^708,48!0^732,48!0^132,60!0^120,60!0^108,60!0^96,60!0^84,60!0^72,60!0^60,60!0^60,48!0^72,48!0^84,48!0^96,48!0^108,48!0^120,48!0^132,48!0^132,36!0^120,36!0^108,36!0^96,36!0^84,36!0^72,36!0^60,36!8^756,60,2!8^36,36,0!2^522,432,0,-1!12^768,468!12^768,420!12^768,372!12^768,324!12^768,276");
var _local37 = new LevelData("domestic disturbance", "00000000000000000000000000000000000000000000000000111114031140000000000001500210150000GK1000000010000215000GK15000000002000000000315000000000000000000035000000000000000000003500003100000000000000?1000035000000000000000C100001000000000000000?1500001000000000000000C100000240000000140000015000000210000002100000100000000000300001403D010000000000010000110110100100000000100001502E0100000000000100031000001000000000002000150000014000000310000000000000B1000003500000000000000>14000010000000000000000B1000010000000000000000>10000240000000000000000240000210000000000000000240000000000004000000000214000000000010000000000FJ14000000001400311114000FJ1000000011115000210000000000000211100000100000000000000000000001000000000|5^108,276!11^744,324,396,180!9^396,252,1,0,31,8,1,0,0!9^396,108,1,0,31,6,1,0,-1!9^528,420,1,0,31,7,1,0,-1!9^264,420,1,0,31,7,1,0,0!9^384,540,0,0,16,7,1,0,0!9^408,540,0,0,16,7,1,-1,0!8^252,468,1!8^540,468,1!6^396,372,0,0,1,2!3^624,144!10^396,36!2^684,228,-0.707106781186547,-0.707106781186547!2^420,204,0.707106781186547,-0.707106781186547!2^372,204,-0.707106781186547,-0.707106781186547!2^108,228,0.707106781186547,-0.707106781186547!0^204,564!0^228,564!0^252,564!0^276,564!0^300,564!0^324,564!0^468,564!0^492,564!0^516,564!0^540,564!0^564,564!0^588,564!0^636,108!0^660,108!0^684,108!0^708,108!0^84,108!0^108,108!0^132,108!0^156,108!0^324,252!0^336,252!0^336,240!0^348,240!0^348,252!0^360,252!0^468,252!0^456,252!0^444,252!0^432,252!0^444,240!0^456,240!2^168,576,0,-1!2^624,576,0,-1!2^744,576,0,-1!2^48,576,0,-1!2^156,132,0.707106781186547,-0.707106781186547!3^120,168");
var _local22 = new LevelData("covered", "00021500021500000000000000000000010000000000000000000000Q0000000000000000000000000000000000000000000000000000000000000000000000000N0000000000000000000000N000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000N0000000000000000000000N000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000N0000000000000000000000N000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000N0000000000000000000000N0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000031400000000314000000|5^420,552!12^36,528!12^84,528!12^132,528!12^180,528!12^228,528!12^276,528!12^324,528!12^372,528!12^420,528!12^468,528!12^516,528!12^564,528!12^612,528!12^660,528!12^708,528!7^720,516,3!7^696,516,3!7^576,516,3!7^552,516,3!7^432,516,3!7^408,516,3!7^288,516,3!7^264,516,3!7^144,516,3!7^120,516,3!7^36,468,3!7^60,468,3!12^132,396!12^276,396!12^420,396!12^564,396!12^708,396!2^732,384,0,-1!1^180,276!1^324,276!1^468,276!1^612,276!6^84,84,3,0,1,0!6^708,84,2,0,1,2!0^468,300!0^468,312!0^612,300!0^612,312!0^612,252!0^612,240!0^468,252!0^468,240!0^324,300!0^324,312!0^324,252!0^324,240!0^180,252!0^180,240!0^180,300!0^180,312!0^60,300!0^48,300!0^36,312!0^36,324!0^48,312!0^48,324!0^60,324!0^60,312!11^60,252,60,552");
var _local61 = new LevelData("plummet", "5000000000000000000000200000000000000000000000000015000000150000015000000000000000000000000000000000000000000000000000000000000000000000000000000014000000140000000000000000000000000000H00000000000000000000031000C11111111111111111114031111111111111111111110111111111111111111111101111111111111111111111011111111111111111111110111111111111111111111101111111111111111111111011111111111111111111110111111111111111111111101111111111111111111111011111111111111111111150211111111111111111111000B111111111111111111I00000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000003|5^84,540!11^660,564,396,84!1^660,180!1^660,324!1^660,468!1^756,420!1^564,420!1^708,516!1^612,516!1^732,252!1^588,252!1^660,60!0^576,36!0^588,36!0^600,36!0^612,36!0^624,36!0^636,36!0^648,36!0^660,36!0^672,36!0^684,36!0^696,36!0^708,36!0^720,36!0^732,36!12^660,540!12^684,540!12^636,540!0^180,204!0^180,396!0^84,468!0^84,300!1^660,204!1^660,348!1^660,492!8^564,492,0!8^756,444,2!8^564,372,0!8^756,300,2!8^564,204,0!10^756,84!6^60,156,3,1,0,1!6^204,252,3,1,0,3");
var _local16 = new LevelData("death star", "5000000000000000000021000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000020000000000GOOOH0000000000000000GK11111LH000000000000031150211114000000000003111000150FJ40000000003111500010000240000000?15000000500000B@000000C10000000000000>D00000?E000000000000000B@0000NP000000000000000>D0000000000000000000000100000000000000000000000000000000000000000000010000NP000000000000000?E0000>D000000000000000CA00000B10000000040000?E000000>14000000010000CA0000000211100000140GK5000000000211400031111500000000000211111111150000000000000FJ50002MI0000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000001000000000000000000000010040000000000000000000140|5^684,468!1^324,252!1^468,252!1^396,396!1^396,156!2^756,504,0,-1!2^60,528,0,-1!2^528,456,-0.707106781186547,-0.707106781186547!2^264,456,0.707106781186547,-0.707106781186547!11^48,564,108,564!9^216,276,0,0,5,23,1,0,0!9^564,276,0,0,5,23,1,-1,0!9^252,372,0,0,3,23,1,0,0!9^516,396,0,0,3,23,1,-1,0!3^288,168!3^480,360!3^504,168!3^288,336!0^420,492!0^420,480!0^420,468!0^372,492!0^372,480!0^372,468!0^324,228!0^324,276!0^348,252!0^300,252!0^396,132!0^396,180!0^420,156!0^372,156!0^468,228!0^468,276!0^492,252!0^444,252!0^396,372!0^396,420!0^420,396!0^372,396!0^228,300!0^240,300!0^252,300!0^264,300!0^276,300!0^492,324!0^504,324!0^516,324!0^528,324!0^540,324");
var _local26 = new LevelData("bespin", "000000000000000000000020000000000000000000000000000000000000000000000000000000000000001100000000000000000000021000000000000000000000000000000000<0000000000000000000000100000000000000000000001400000000000000000000011000000000000000000;0011140000000000000000100115000000000000000001001114000000000000000010011111114000000000000100111140000000000000001001111111111115000000010011100000500000000000100111400000000000000001001111150000000000000010011100000000000000000:0011500000000000000000000110000000000000000000001500000000000000000000010000000000000000000000=0000000000000000000000000000000000000000000000000000000031000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000003|5^396,48!11^396,156,420,348!2^684,432,0,-1!2^660,444,-0.707106781186547,-0.707106781186547!2^132,444,0.707106781186547,-0.707106781186547!2^108,432,0,-1!2^516,576,0,-1!2^276,576,0,-1!12^564,252!12^744,384!12^636,360!12^732,252!12^696,180!12^624,228!12^708,324!12^636,276!12^768,432!12^696,456!12^504,276!10^396,540!0^372,288!0^372,300!0^372,312!0^372,324!0^372,336!0^372,348!0^324,324!0^324,312!0^324,300!0^324,288!0^324,276!0^324,264!0^300,252!0^300,240!0^312,252!0^252,228!3^372,420!3^204,204!1^756,324!1^612,324!1^564,468!1^204,324!1^324,468!1^204,468!1^276,372!1^60,348!12^108,348!6^276,132,1,0,1,0!6^516,132,0,0,1,2");
var _local18 = new LevelData("crossfire", "50000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000003|5^396,540!3^48,48!3^744,48!3^744,552!3^48,552!0^36,84!0^36,108!0^36,132!0^36,156!0^36,180!0^36,204!0^36,228!0^36,252!0^36,276!0^36,300!0^36,324!0^36,348!0^36,372!0^36,396!0^36,420!0^36,444!0^36,468!0^36,492!0^36,516!0^756,84!0^756,108!0^756,132!0^756,156!0^756,180!0^756,204!0^756,228!0^756,252!0^756,276!0^756,300!0^756,324!0^756,348!0^756,372!0^756,396!0^756,420!0^756,444!0^756,468!0^756,492!0^756,516!1^228,492!1^564,492!1^564,396!1^228,396!1^108,300!1^684,300!1^564,156!1^228,156!11^396,564,396,60!1^396,324!1^396,360!1^108,336!1^684,336!1^564,192!1^228,192!1^564,432!1^228,432!1^228,528!1^564,528!2^96,576,0,-1!2^696,576,0,-1");
var _local53 = new LevelData("hounds", "50000000000000000001000000000000000000000010000000000000000000000100000000000000000000001011000000000000000000000110000000000000000000000100000000000000000000002000000000000000000000000000000000000000000003100111111111111111111011001500000211500021500114010000000110000010002110100001001100100100001101000010015001001000011010000100000010000003110100031000000100000011101001110000001400003111010002140000311111111150100001111111150000021001400000000000000000000011100000000000000000300000000000000000000001000000000000000000000020000000000000000000000000000000000000000000003000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000020000000000000000000000040000000000000000000003|5^204,552!9^660,540,0,0,4,21,1,-1,0!9^444,60,0,1,16,2,0,-1,0!9^456,60,0,0,10,21,1,-1,0!11^276,60,660,540!6^84,540,2,1,0,3!6^60,564,2,1,0,0!6^36,540,2,1,0,1!6^60,516,2,1,0,2!2^540,552,0,-1!2^468,540,0.707106781186547,-0.707106781186547!2^756,564,-0.707106781186547,-0.707106781186547!0^468,408!0^468,420!0^468,432!0^468,444!0^468,456!0^468,468!0^468,480!0^468,492!0^468,504!0^468,516!0^348,540!0^336,540!0^324,540!0^312,540!0^300,528!0^360,540!0^372,528!12^348,156!12^408,276!12^420,456!12^312,372!10^540,108!3^36,468!2^156,552,0,-1!1^84,324!1^132,276!1^84,228!1^132,180!1^84,132!1^132,84!0^36,60!0^36,84!0^36,108!0^36,132!0^36,156!0^36,180!0^36,204!0^36,228!0^36,252!0^36,276!0^36,300!0^36,324!0^36,348!0^36,372!0^36,396!0^36,420!0^36,444");
var _local38 = new LevelData("skating the edge", "MIFIFIFIFIFIFIFIFIFIFIF00000000000000000000000000000000000000GH000000000000GH0000000FI000000000000FI000GH000000000000000000GH0FI000000000000000000FI000000000000000000000000000GH00000000000GH00000000FI00000000000FI0000000000000GH00000000000GH00000000FI00000000000FI0000000000000000000000000GH00000000000000GH00000FI0GH00000000000FI00000000FI0000000000000000GH000000000000000000000FI000000000000000000GH000000GH0000000000000FI000000FI0000000000000000000000000000000000GH000000000000000000000FI00000GH000000000000000000000FI0000000000000000000GH00000000000000000GH00FI0000GH0000000GH00FI00000000FI0000000FI000000000000000000000000000000GH000000000000000000000FI00000000000000000000000000000000LHGHGHGHGHGHGHGHGHGHGHG|5^684,528!11^96,564,444,108!2^180,576,0,-1!2^312,576,0,-1!2^396,576,0,-1!2^516,576,0,-1!2^588,576,0,-1!6^60,396,1,0,1,1!3^732,60!0^240,108!0^120,156!0^360,156!0^648,84!0^624,180!0^528,156!0^456,204!0^288,228!0^168,204!0^216,348!0^408,276!0^552,324!0^696,300!0^624,420!0^456,396!0^264,468!0^144,276!0^336,324!0^360,396!0^600,276");
var _local43 = new LevelData("bombshelter [remake]", "00000000001100211111111000000000315000115000020000000035000001103114000O00000Q000000110111100024000000000001101111000024000000O000210111100000Q0000002400010111500000000000002400101110000000000O0000Q001011100004000035000000020111000010000Q000000000011140401400000000000003111111011111111111111111111150210000000000000000002000500000000000000000000000000110000110000110000000000000000000000000404000000000000000000031011111111111111111111150250010001000111111500000000100010001110000030000000000000021101111100000000000000000011111000000000000003110J11110000100010000011100000000001000100000111000000000000000000002110K111100000000000000000011111000000000000003110111110000001000100011100000200000010001000111111400|5^396,552!11^624,564,228,564!6^348,300,2,1,0,3!6^444,300,2,1,0,1!8^276,564,2!6^636,444,1,0,2,0!12^624,168!12^720,156!12^528,156!12^528,252!12^720,252!12^684,276!12^564,276!12^624,252!12^648,156!12^600,156!12^744,204!12^504,204!2^36,264,0,-1!0^60,324!0^48,324!0^36,324!0^36,336!0^48,336!0^60,336!0^60,348!0^48,348!0^36,348!0^60,360!0^60,372!0^48,372!0^48,360!0^36,360!12^624,216!12^624,120!12^624,96!12^768,156!12^480,156!12^480,252!12^768,252!2^126,384,0,-1!8^492,348,0!0^492,564!0^492,552!0^504,552!0^516,540!0^504,540!0^756,564!0^744,552!0^756,552!0^744,540!0^732,540!0^516,528!0^732,528!0^756,540!0^744,528!0^732,516!0^492,540!0^504,528!0^516,516!12^624,300!12^624,360!8^756,324,2!6^516,492,2,0,0,3!2^162,288,0,-1!10^114,108!2^234,216,0,-1!10^246,90!10^90,258!10^270,228");
var _local27 = new LevelData("patrol", "E000000000000000000000>A0000000000000000000000000000000000000000000000000C00000000000000000000001H00000000000C@000000001111111111111115000000010000000000002E00000000E0000000000000000000000A0000000000000000C0000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000B0000000000000000000000N0000000000000000000000N0000000000000000000D00N0000000000000000000E00N0000000000000000000000N0000000000000000000000N0000000000000000000000N0000000000000000000000N0000000000000000000000N?0000@0000000000000000N10000D0000000000000000>1000010000000000003D000B0000111111111111111400000001I00000000000BA00000000B00000000000000000000000000000000000000000@0000000000000000000000D000000000000000000000?|5^660,564!11^492,564,408,132!9^156,108,0,0,9,23,1,-1,0!9^636,108,0,0,10,23,1,-1,0!9^252,276,0,0,11,23,1,-1,0!9^540,276,0,0,12,23,1,-1,0!9^408,372,0,0,13,23,1,-1,0!9^408,48,0,0,14,23,1,-1,0!2^408,456,0,-1!2^612,444,-0.707106781186547,-0.707106781186547!2^180,444,0.707106781186547,-0.707106781186547!12^768,204!12^768,336!12^768,456!12^648,204!12^648,264!12^648,324!12^648,384!12^144,204!12^144,288!12^144,372!12^24,396!12^24,480!12^24,516!1^708,276!1^708,384!1^60,396!1^60,276!6^660,108,1,0,2,2!6^132,108,1,0,2,2!6^180,300,0,0,1,1!0^396,276!0^408,276!0^420,276!0^420,264!0^408,264!0^396,264!0^396,252!0^408,252!0^420,252!0^516,180!0^504,180!0^504,192!0^516,192!0^276,192!0^276,180!0^288,180!0^288,192!0^504,348!0^516,348!0^516,360!0^504,360!0^276,348!0^288,348!0^288,360!0^276,360!1^468,312!1^336,312!1^468,216!1^336,216!1^516,456!1^252,312!1^540,312!1^468,420!1^336,420!6^612,300,1,0,1,1!12^24,336!12^24,216");
var _local4 = new Array();
_local4.push(_local47);
_local4.push(_local48);
_local4.push(_local33);
_local4.push(_local49);
_local4.push(_local30);
this.episodeList[20] = new EpisodeData("episode 20", "xxxx", _local4);
var _local3 = new Array();
_local3.push(_local12);
_local3.push(_local54);
_local3.push(_local34);
_local3.push(_local23);
_local3.push(_local39);
this.episodeList[21] = new EpisodeData("episode 21", "wristpain", _local3);
var _local6 = new Array();
_local6.push(_local44);
_local6.push(_local55);
_local6.push(_local24);
_local6.push(_local31);
_local6.push(_local50);
this.episodeList[22] = new EpisodeData("episode 22", "pumpkin", _local6);
var _local5 = new Array();
_local5.push(_local40);
_local5.push(_local32);
_local5.push(_local56);
_local5.push(_local35);
_local5.push(_local28);
this.episodeList[23] = new EpisodeData("episode 23", "rightly", _local5);
var _local7 = new Array();
_local7.push(_local57);
_local7.push(_local19);
_local7.push(_local58);
_local7.push(_local36);
_local7.push(_local42);
this.episodeList[24] = new EpisodeData("episode 24", "correct", _local7);
var _local10 = new Array();
_local10.push(_local20);
_local10.push(_local13);
_local10.push(_local41);
_local10.push(_local51);
_local10.push(_local45);
this.episodeList[25] = new EpisodeData("episode 25", "edge", _local10);
var _local9 = new Array();
_local9.push(_local59);
_local9.push(_local14);
_local9.push(_local52);
_local9.push(_local46);
_local9.push(_local17);
this.episodeList[26] = new EpisodeData("episode 26", "node", _local9);
var _local8 = new Array();
_local8.push(_local21);
_local8.push(_local25);
_local8.push(_local29);
_local8.push(_local15);
_local8.push(_local60);
this.episodeList[27] = new EpisodeData("episode 27", "landmark", _local8);
var _local2 = new Array();
_local2.push(_local37);
_local2.push(_local22);
_local2.push(_local61);
_local2.push(_local16);
_local2.push(_local26);
this.episodeList[28] = new EpisodeData("episode 28", "cowbell", _local2);
var _local11 = new Array();
_local11.push(_local18);
_local11.push(_local53);
_local11.push(_local38);
_local11.push(_local43);
_local11.push(_local27);
this.episodeList[29] = new EpisodeData("episode 29", "compress", _local11);
};
NinjaData.prototype.BuildGameData_Set3 = function () {
var _local58 = new LevelData("delicate", "90011900011900000000000000:=000011000000000000000000000:=0000000000000000000000000000000000000000000000000000000000000000;<000000000000000000000:=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;<000000000000000000000:=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;<000000000000000000000:=000000000000000000000000000000000000000000000000000000000000000000000;<000000000000000000000:=00000000000000000;<000000000000000000000:=0000000000000000000000000;<000000000000000000000:=000000000000000000000000000000000000000000;<000000000000000000000:=000000000000000000000000000000000000000000;<000000000000000080000118000000000000000|5^36,84!11^48,228,756,132!0^672,180!0^552,132!0^408,180!0^288,204!0^168,156!0^504,228!0^600,228!12^708,384!12^636,336!12^168,348!12^96,372!12^96,456!12^168,504!12^360,516!12^372,420!12^312,360!12^228,300!12^396,300!12^492,324!12^480,396!12^432,492!12^480,552!12^624,552!12^720,516!12^720,456!12^636,420!12^612,372!12^540,432!12^588,492!12^444,444!12^252,444!12^228,396!12^48,408!12^48,504!12^216,552!12^276,552!12^324,468!12^168,420!12^48,324!12^768,312!12^768,336!12^768,360!12^60,576!12^732,576!12^672,576!12^120,576!12^180,576!12^612,576!12^552,576!12^492,576!12^240,576!12^300,576!12^360,576!12^432,576!12^408,372!12^672,456!12^132,372!12^348,312");
var _local55 = new LevelData("barba", "90000000000000000000006000000000000000000000000000;11<0000000000000000000:11=00000;1111<00000000000000000:1111=000000000000000000000000000000000;11111<0000000000000000:11111=00000;11<0000000000000000000:11=00000000000000000000000000000;111111111<000000000000:111111111=00000000000000000000000000000000000000000000000000007000;111111111111111111100011111111111111111111000:1111111111111111111000000000000000000000060000000000000000000000000000000000000000000000000000000;1111111111<00000000000:1111111111=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;111<00000;11111<000000:111=00000:11111=00000000000000000000000000000000000000000000000080000000000000000000007|5^60,564!11^216,564,600,564!6^588,300,5,1,0,3!6^324,276,5,1,0,1!6^180,132,5,1,0,0!6^732,84,5,1,0,2!4^564,594,1!0^216,444!0^216,432!0^120,324!0^120,312!0^192,156!0^192,144!0^288,132!0^288,120!0^96,108!0^96,96!0^384,84!0^396,84!0^408,84!0^408,72!0^396,72!0^384,72!0^528,228!0^528,216!0^672,108!0^672,96!0^672,348!0^672,336");
var _local16 = new LevelData("breathing room", "500000J1M000000000000020000000100000000000000000000031400000000000000000311111114000000000000001111111110000000000000011500021100000000000000110000011000000000000001100000110000000000000011000001100000000000000110000011000000000000001100000110000000000000011000001100000000000000110000011000000000000001100000110000000000000011000001100000000000000110000011000000000000001100000110000000000000011000001100000000000000110000011000000000000001100000110000000000000011000001100000000000000110000011000000000000001100000110000000000000011000001100000000000000110000011000000000000001140003110000000000000011111111100000000000000211111115000000000000000002150000000000000000000001000000000000000400000K1L00000000000003|5^168,180!1^204,204!1^588,204!1^396,204!4^588,258,1!11^204,252,624,204!0^600,180!0^588,180!0^576,180!0^576,168!0^588,168!0^600,168!0^390,180!0^402,180!0^402,168!0^390,168!0^204,180!0^204,168!12^300,204!12^492,204!12^396,264!12^612,264");
var _local12 = new LevelData("blockhead", "00000000000000000000000000000000000000000000000000000000000000000000000011100001110000111000000111000011100001110000001110000111000011100000000000000000000000000000000000000000000000000000000110000011000000000000001100000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110000000000011100000011100000100000111000000111000000000001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000110000000000000011000001100000000000000000000000000000000000000000000000000000000111000011100001110000001110000111000011100000011100001110000111000000000000000000000000000000000000000000000000000000000000000000000000|5^396,564!11^396,84,396,276!0^132,84!0^84,132!0^132,180!0^180,132!0^132,252!0^84,300!0^132,348!0^180,300!0^132,420!0^84,468!0^132,516!0^180,468!0^396,420!0^348,468!0^396,516!0^444,468!0^660,420!0^612,468!0^660,516!0^708,468!0^660,252!0^612,300!0^660,348!0^708,300!0^660,84!0^612,132!0^660,180!0^708,132!0^348,132!0^396,180!0^444,132!0^252,180!0^228,180!0^204,204!0^204,228!0^228,252!0^252,252!0^276,228!0^276,204!0^252,348!0^228,348!0^204,372!0^204,396!0^228,420!0^252,420!0^276,396!0^276,372!0^564,348!0^540,348!0^516,372!0^516,396!0^540,420!0^564,420!0^588,396!0^588,372!0^564,180!0^540,180!0^516,204!0^516,228!0^540,252!0^564,252!0^588,228!0^588,204!0^552,168!0^540,168!0^564,168!0^552,180!0^240,180!0^228,168!0^240,168!0^252,168!0^240,348!0^228,336!0^240,336!0^252,336!0^552,348!0^540,336!0^552,336!0^564,336!6^756,444,3,1,0,3!6^36,300,2,1,0,3");
var _local26 = new LevelData("jag", "501111150000000000000000011111000000031111140000FJ11100000035000211100000FJ14000002400001E00000000FJ400000240001A00000000001000000240?E000000000GK5000000350CA0000000GK1500000035001@00000GK111000000350001D0000011111000003500000B@0000FJ111000002400000>D000000FJ14000002400000B@0000000FJ400003500000>1000000000100035000000?10000000GK500350000000CA00000GK1500350000000?E0000GK111000240000000CA00001111100002400000?E00000FJ11100000240000CA0000000FJ14000002400?E0000000000FJ400000240>D0000000000001000003500B@000000000GK5000035000>D0000000GK1500003500000B@0000GK111000002400000>1100011111000000240000?11000FJ111000000024000CA000000FJ14000000350001000000000FJ1000035000010000000000000003100000000040000000000311400000000|5^48,60!11^120,468,468,228!9^156,132,0,0,3,23,1,-1,0!9^348,156,0,0,3,23,1,0,0!9^540,180,0,0,13,23,1,-1,0!9^528,348,0,0,14,23,1,0,0!9^312,336,0,0,25,23,1,-1,0!9^168,396,0,0,26,23,1,0,0!2^756,576,0,-1!12^156,216!12^156,204!12^348,216!12^348,204!12^540,216!12^540,204!12^672,384!12^672,372!12^528,384!12^528,372!12^312,360!12^312,348!12^168,408!12^156,396!12^468,324!12^384,288!12^240,336!12^72,360!12^24,264!12^540,36!12^540,108!12^348,36!12^348,108!12^156,36!12^156,108!12^684,144!12^768,96!12^768,204!0^636,60!0^636,48!0^636,36!0^444,60!0^444,48!0^444,36!0^252,60!0^252,48!0^252,36!0^156,252!0^156,264!0^156,276!0^348,252!0^348,264!0^348,276!0^540,252!0^540,264!0^540,276!0^708,252!0^708,264!0^708,276!6^396,468,3,1,0,0!6^228,420,2,1,0,1!6^588,468,2,1,0,3!12^156,576!12^192,576!12^228,576!12^264,576!12^432,576!12^468,576!12^504,576!12^540,576");
var _local13 = new LevelData("deco", "90000000000000000000006000000000000000000000000000100000000000000000000071000000000000001000111118000000000000718000006111000000000011111100001900000000000061900000010000000000000010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000007180071800711800000001111111111111111100000000619006190061190000000000000000000000000000000000000000000000000071000000000000000000000110000000000000000000006100000000000000000000001000000000000000010000010000000000000000100000180000000000000071800871111110000000001111111119000000000000006190096100000000000000000000001000000000000000000000000000000000000000000080000000000000000000007|5^708,48!11^588,60,192,108!9^420,264,0,0,21,1,1,-1,0!9^612,132,0,0,21,1,1,0,0!0^108,36!0^108,48!0^108,60!0^108,72!0^108,84!0^108,96!0^96,108!0^84,108!0^84,96!0^84,84!0^84,72!0^84,60!0^84,48!0^84,36!0^96,36!0^96,48!0^96,60!0^96,72!0^96,84!0^96,96!0^108,516!0^108,528!0^108,540!0^108,552!0^108,564!0^120,564!0^132,564!0^132,552!0^132,540!0^132,528!0^120,516!0^120,528!0^120,540!0^120,552!0^420,360!0^420,372!0^420,384!0^420,396!0^420,408!0^432,420!0^432,348!0^372,240!0^372,252!0^372,264!0^372,276!0^372,288!0^360,300!0^360,228!0^360,348!0^372,360!0^372,372!0^372,384!0^372,396!0^372,408!0^360,420!0^660,540!0^672,540!0^684,540!0^696,540!0^708,540!0^720,540!0^732,540!0^744,540!0^756,540!0^756,528!0^744,528!0^732,528!0^720,528!0^708,528!0^696,528!0^684,528!0^672,528!0^660,528!0^672,516!0^684,516!0^660,552!0^672,552!0^744,552!0^756,552!0^756,516!0^744,516!0^732,552!0^684,552!4^672,570,1!4^300,570,1!10^36,324!2^228,480,0,-1!2^348,312,0,-1!1^300,540!1^492,540!8^684,492,0!8^636,420,0");
var _local59 = new LevelData("choisir", "50000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000311111001110000000000001111110011100000000000011500000021000000000000110000000010000000000001100000000100000000000011000000001000000000000110000000010000000000001100000000100000000000011000000001000000000000110000000010000000000001100000000100000000000011000000001000000000000110000000010000000000001140000003100000000000011111100111000000000000211111001110000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000003|5^684,540!11^108,564,384,408!1^384,492!4^300,546,1!8^420,372,1!8^348,372,1!1^708,492!1^636,444!1^708,396!1^636,348!1^708,300!1^108,492!1^108,396!1^708,156!1^564,156!1^84,156!1^228,156!1^408,156!0^564,132!0^564,120!0^564,108!0^564,96!0^708,132!0^708,120!0^708,108!0^708,96!0^408,132!0^408,120!0^408,108!0^408,96!0^228,132!0^228,120!0^228,108!0^228,96!0^84,132!0^84,120!0^84,108!0^84,96!0^72,108!0^72,120!0^96,120!0^96,108!0^216,108!0^216,120!0^240,120!0^240,108!0^396,108!0^396,120!0^420,120!0^420,108!0^552,108!0^552,120!0^576,120!0^576,108!0^696,108!0^696,120!0^720,120!0^720,108!3^228,300!3^48,48");
var _local21 = new LevelData("permission to die", "11015000000000000000000110100000000000000000001101000000000000000000050050000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000040000000000000000000000|5^684,300!2^684,480,0,-1!2^564,336,0,-1!2^396,288,0,-1!2^468,432,0,-1!2^324,408,0,-1!2^180,312,0,-1!2^108,384,0,-1!2^228,504,0,-1!12^576,348!12^552,348!12^408,300!12^384,300!12^192,324!12^168,324!12^96,396!12^120,396!12^216,516!12^240,516!12^312,420!12^336,420!12^456,444!12^480,444!12^672,492!12^696,492!12^768,564!12^768,516!12^768,468!12^768,420!12^768,372!12^768,324!12^768,276!12^768,228!12^24,564!12^24,516!12^24,468!12^24,420!12^24,372!12^24,324!12^24,276!12^24,228!12^744,540!12^48,540!12^48,492!12^744,492!12^720,516!12^72,516!11^48,84,396,60!9^276,324,0,0,3,3,1,0,0!9^132,300,0,0,3,3,1,-1,0!6^108,84,3,1,0,0!6^612,36,3,1,0,2!6^228,36,3,1,0,2!0^564,300!0^564,288!0^564,276!0^468,396!0^468,384!0^468,372!0^324,372!0^324,360!0^324,348!0^396,252!0^396,240!0^396,228!0^180,276!0^180,264!0^180,252!0^108,348!0^108,336!0^108,324!0^228,468!0^228,456!0^228,444");
var _local17 = new LevelData("rashomon", "A000000>1A000000000>1A>0000000010000000000010000000000100000000000100000000001000000000001000000000010000000000?E000000000?E0000>D0000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000>D00000000000000001000001@?0000000>D0000?E0000011100000000100000000000111000000001000000000001A0000000001000000000001@00000000?E0000>D00000110000000000000001000001A00000000000000010000?E0000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000>D0000?E000000000000000010000000000>D00000000001000000000001000000000010000000000010000000000100000000000100@000000?1@000000000?1@?|5^60,552!9^696,204,0,0,18,23,1,0,0!9^96,204,0,0,18,23,1,-1,0!11^408,564,396,336!6^684,492,2,1,0,3!6^108,492,3,1,0,3!6^348,36,3,1,0,2!6^444,36,2,1,0,0!2^252,360,0,-1!2^540,360,0,-1!2^708,504,0,-1!2^84,504,0,-1!0^324,492!0^348,492!0^372,492!0^396,492!0^420,492!0^444,492!0^468,492!0^420,204!0^396,204!0^372,204!0^384,180!0^408,180!0^396,156!0^432,180!0^360,180!3^396,60!3^396,252!0^684,540!0^708,540!0^732,540!0^732,564!0^708,564!0^684,564!0^756,552!0^660,552");
var _local31 = new LevelData("n-tropy", "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111100000000000000111101110000000000000001110010001100001000000011100001001011000000000111101100000000000000001100011101000000000000011000000010010001000000100111000100110000000001100110100101000000000011001001100010110000000101000010000000100000001000000000000000000000000011000011000000000000000110000000001000000000100000100000000000000000000011100010000000000000110000000010010000000000100000000000000000000000000010010000000000000000000000000100000000001000000000000000000000000011000100000000000000000000001000100000000000000000000000000000000000010000000000000000000000000000000001|5^180,252!11^180,132,684,492!0^228,492!0^216,492!0^204,492!0^204,480!0^204,468!0^204,456!0^204,444!0^348,516!0^348,504!0^348,492!0^348,480!0^348,468!0^360,468!0^372,468!0^492,492!0^492,504!0^492,516!0^444,516!0^444,504!0^444,492!0^204,420!0^216,420!0^228,420!0^204,432!0^180,396!0^180,384!0^180,372!0^180,348!0^180,360!0^180,408!0^180,420!0^192,420!0^240,492!0^252,492!0^264,492!0^276,492!0^288,492!0^300,492!0^324,492!0^312,492!0^336,492!0^384,468!0^396,468!0^396,480!0^396,492!0^408,492!0^420,492!0^432,492!0^456,516!0^468,516!0^480,516!0^192,348!0^204,348!12^204,564!12^252,564!12^300,564!12^348,564!12^396,564!12^444,564!12^492,564!12^540,564!12^588,564!12^636,564!12^684,564!12^732,564!12^756,540!12^756,492!12^756,444!12^756,396!12^756,348!12^756,300!12^156,564!12^108,564!12^60,564!12^36,540!12^36,480!12^36,420!12^36,348!0^492,300!0^444,348!0^588,420!0^660,276!0^732,276!0^744,276!0^756,276!0^756,264!0^756,252!0^744,264!0^348,228!0^324,180!0^396,180!0^564,228!0^372,276!0^348,372!0^540,444!0^612,492!0^540,516!12^228,552!12^276,552!12^324,552!12^372,552!12^420,552!12^468,552!12^516,552!12^564,552!12^612,552!12^660,552!12^708,552!12^180,552!12^132,552!12^84,552");
var _local53 = new LevelData("hunted redux", "90611900611900611900006000:=0000:=0000:=0000000000000000000000000;<000000000000000000000:=00000000000000;<00000000000000;<00000:=00000000000000:=0000000000000000000000000000000000000000000000000000000;<000000000000000000000:=00000000000000;<000000000000000000000:=0000000000000000000000000000000000000000000000000000000000000;<000000000000000000000:=0000000000000;<0000000000;<000000000:=0000000000:=00000000000000000000000000000000000000000000000000;<000000000000000000000:=0000000000;<000000000000000000000:=0000000000000000;<000000000000000000000:=00000000000;<000000000000000000000:=000000000000000000000000000000000000000000000000000000000000000000000000000000000000;<0000;<000;<00000080071180071180711800007|5^756,516!11^396,564,756,72!0^756,192!0^756,204!0^756,216!0^756,228!0^756,240!0^756,336!0^756,348!0^756,360!0^36,312!0^36,324!0^36,336!0^36,348!0^36,360!0^36,168!0^36,180!0^36,192!0^36,204!0^36,216!0^36,48!0^36,60!0^36,72!6^564,180,5,1,0,3!6^588,420,5,1,0,2!6^300,372,5,1,0,3!6^228,156,5,1,0,3!6^108,228,5,1,0,2");
var _local51 = new LevelData("upc", "000000000000000000000000000000000000000000000000QQQQQQQQQQQQQQQQQQQ000011111111111111111110000QQQQQQQQQQQQQQQQQQQ00000000000000000000000000011111111111111111110000000000000000000000000000000QQQQQQQQQQQQQQQ000000000000000000000000000000011111111111111100000000OOOOOOOOOOOOOOO00000000OOOOOOOOOOOOOOO0000000011111111111111100000000000000000000000000000001111111111111110000000000000000000000000000000OOOOOOOOOOOOOOO0000000000000000000000000000000QQQQQQQQQQQQQQQ00000000000000000000000000000001111111111111110000000000000000000000000001111111111111111111000011111111111111111110000OOOOOOOOOOOOOOOOOOO0000OOOOOOOOOOOOOOOOOOO0000000000000000000000000001111111111111111111000000000000000000000000000000000000000000000000|5^396,156!11^372,348,396,60!6^564,564,3,1,0,0!6^156,36,3,1,0,2!6^756,300,3,1,0,3!6^36,300,3,1,0,1!9^426,516,1,0,15,13,1,0,-1!9^468,516,1,0,15,15,1,0,0!9^510,516,1,0,15,16,1,0,0!9^246,516,1,0,15,12,1,0,-1!9^204,516,1,0,15,11,1,0,-1!9^150,516,1,0,15,10,1,0,-1!9^48,516,1,0,15,17,1,0,0!9^564,516,1,0,15,18,1,0,0!9^684,516,1,0,15,19,1,0,0!9^744,516,1,0,15,9,1,0,-1!0^246,348!0^246,360!0^246,336!0^204,336!0^204,348!0^204,360!0^150,360!0^150,348!0^150,336!0^426,336!0^426,348!0^426,360!0^468,336!0^468,348!0^468,360!0^510,336!0^510,348!0^510,360!0^564,336!0^564,348!0^564,360!0^684,336!0^684,348!0^684,360");
var _local60 = new LevelData("mimetic", "9000019000019000019000080180000180000180000180111111111111111111111109000000000000000000000000000000000000000000000000000000000000000000000000;100;<00;100;<000000000:=00:100:=00:10000000000000000000000000000000000000000000000000000000;100;<00;100;<000000000:=00:100:=00:10000000000000000000000000000000000000000000000000000000;100;<00;100;<000000000:=00:100:=00:10000000000000000000000000000000000000000000000000000000;100;<00;100;<000000000:=00:100:=00:10000000000000000000000000000000000000000000000000000000;100;<00;100;<000000000:=00:100:=00:10000000000000000000000000000000000000000000000000000000;100;<00;100;<000000000:=00:100:=00:100000000000000000000000000000000000000000000000000080000000000000000000007|5^432,540!11^60,60,432,288!9^240,384,1,0,1,21,1,0,0!9^528,192,1,0,1,21,1,0,-1!9^624,384,1,0,2,18,1,0,0!9^240,192,1,0,2,18,1,0,-1!9^240,288,1,0,1,15,1,0,0!9^336,192,1,0,1,15,1,0,-1!9^432,192,1,0,2,12,1,0,0!9^432,384,1,0,2,12,1,0,-1!9^624,288,1,0,1,9,1,0,0!9^528,288,1,0,1,9,1,0,-1!9^336,288,1,0,2,6,1,0,0!9^624,192,1,0,2,6,1,0,-1!9^336,384,1,0,1,3,1,0,0!9^528,384,1,0,1,3,1,0,-1!9^96,564,0,0,3,23,0,0,0!9^72,564,0,0,3,23,0,-1,0!0^624,144!0^528,144!0^432,144!0^336,144!0^240,144!0^192,192!0^288,192!0^384,192!0^480,192!0^576,192!0^672,192!0^624,240!0^528,240!0^432,240!0^336,240!0^240,240!0^192,288!0^288,288!0^384,288!0^480,288!0^576,288!0^672,288!0^624,336!0^528,336!0^432,336!0^336,336!0^240,336!0^192,384!0^288,384!0^384,384!0^480,384!0^576,384!0^672,384!6^756,444,3,1,0,3!6^108,468,3,1,0,0!0^240,432!0^336,432!0^432,432!0^528,432!0^624,432!6^684,36,3,1,0,2!6^108,60,3,1,0,1");
var _local56 = new LevelData("mazemerizing", "00100000000100000100002001000000001000001000000010010011110010010010000000100100000100000100000001001000001000001001111110010000011111110000100000100000100000100001000001000001000001000010011110011110010010000100000100100100100000001000001001001001000030010010010010010011111100100100100100100000000001001001001001000000000011110010000011111110000000100100000000100000000001001000000001000000010010011100011110011100100100100000100100100001001001000001001000000010010010000010010000000100100100000100100100001001001001111001111100000000010000010010001000000000100000100100010001001111111001001000100010010000010000010001000100100000100000100010001001001001001001000100010000010000010010000000100000100000100100000|5^48,48!11^612,516,192,48!9^744,408,0,0,23,23,1,-1,0!9^408,420,0,0,24,23,1,-1,0!9^744,48,0,0,25,23,1,-1,0!9^480,408,0,0,26,23,1,-1,0!9^48,276,0,0,27,23,1,-1,0!9^108,252,0,0,28,23,1,-1,0!9^348,120,0,0,29,23,1,-1,0!9^264,336,0,0,29,23,1,0,0!0^300,204!0^564,204!0^324,204!0^348,204!0^540,204!0^516,204!0^540,108!0^528,108!0^516,108!0^504,108!0^492,108!0^480,108!0^468,108!0^192,192!0^192,168!0^168,192!0^144,192!0^192,144!0^204,348!0^204,336!0^204,324!0^192,348!0^180,348!0^192,336!0^192,324!0^180,336!0^120,408!0^120,480!0^48,480!0^48,408!0^48,336!0^540,348!0^468,252!0^468,264!0^468,276!0^480,252!0^492,252!0^480,264!0^420,252!0^420,264!0^420,276!0^408,264!0^408,252!0^396,252!0^756,204!0^756,108!0^660,180!0^660,276!0^756,252!0^756,348!0^588,348!0^612,252!12^192,108!12^612,204!12^564,144!12^444,144!12^504,144!12^324,72!12^240,72!12^696,72!12^756,156!12^684,228!12^732,300!12^696,372!12^432,396!12^384,372!12^216,540!12^96,540!12^156,576!12^240,516!12^216,444!12^72,516!12^480,516!12^528,516!12^360,444!12^312,480!12^360,516!12^324,564!6^492,468,0,1,0,2!6^468,204,1,1,0,2!6^252,252,0,1,0,2!6^588,396,1,1,0,0!6^684,108,0,1,0,2");
var _local18 = new LevelData("multipath", "50215000002150000021502000100000001000000010000001000000010000000100000010004000100040001000000200010001000100010000000000100010001000100000000001000100010001000000000010001000100020000003000100010001000000000010001000100010000000000100010002000100000000001000100000001000300000010001000000010001000000100010000000100010000001000100030001000100000010001000100010001000000100010001000100010000001000100010001000100000010001000100020001000000100010001000000010000001000100010000000100000010001000100000001000000100020001000300010000001000000010001000100000010000000100010001000000100000001000100010000001000300010001000100000050001000500010005000000000010000000100000000000000100000001000000040000031400000314000003|5^108,84!11^72,84,48,540!8^732,36,1!8^612,132,1!8^324,372,3!8^516,468,3!8^252,420,1!8^732,564,3!8^60,324,1!8^84,132,1!8^708,228,1!4^420,186,1!4^492,282,1!4^132,474,1!4^684,378,1!4^540,570,1!4^156,282,1!4^444,90,1!4^204,378,1!4^660,474,1!0^276,60!0^324,60!0^372,60!0^420,60!0^468,60!0^516,60!0^564,60!0^612,60!0^660,60!0^516,156!0^468,156!0^420,156!0^372,156!0^324,156!0^276,156!0^228,156!0^180,156!0^132,156!0^420,252!0^468,252!0^516,252!0^564,252!0^612,252!0^660,252!0^228,252!0^180,252!0^132,252!0^132,348!0^180,348!0^228,348!0^276,348!0^372,348!0^420,348!0^468,348!0^564,348!0^612,348!0^660,348!0^660,444!0^612,444!0^564,444!0^468,444!0^420,444!0^372,444!0^324,444!0^180,444!0^132,444!0^564,156");
var _local57 = new LevelData("perpendiculous", "00000000000000000000000000000000000000000000000000111000111000111000000001110001110001110000000011100011100011100000000000000000000000000000000000000000000000000000000000000000000000000000111000111000111000000001110001110001110000000011100011100011100000000000000000000000000000000000000000000000000000000000000000000000000000111000111000111000000001110001110001110000000011100011100011100000000000000000000000000000000000000000000000000000000000000000000000000000111000111000111000000001110001110001110000000011100011100011100000000000000000000000000000000000000000000000000000000000000000000000000000111000111000111000000001110001110001110000000011100011100011100000000000000000000000000000000000000000000000000|5^396,516!12^360,300!12^432,300!12^504,300!12^576,300!12^648,300!12^288,300!12^216,300!12^144,300!12^72,300!12^108,264!12^108,336!12^108,408!12^72,444!12^108,480!12^144,444!12^252,408!12^216,444!12^252,480!12^288,444!12^396,408!12^360,444!12^396,480!12^432,444!12^540,408!12^504,444!12^540,480!12^576,444!12^684,408!12^648,444!12^684,480!12^720,444!12^684,336!12^720,300!12^684,264!12^540,264!12^540,336!12^396,336!12^396,264!12^252,264!12^252,336!12^108,192!12^72,156!12^144,156!12^108,120!12^252,120!12^216,156!12^252,192!12^288,156!12^396,120!12^360,156!12^396,192!12^432,156!12^504,156!12^540,120!12^576,156!12^540,192!12^648,156!12^684,120!12^720,156!12^684,192!11^396,564,396,60!6^36,492,2,1,0,3!6^156,36,2,1,0,0!6^660,36,2,1,0,0!6^756,300,2,1,0,1!0^684,384!0^684,372!0^684,360!0^624,444!0^612,444!0^600,444!0^540,384!0^540,372!0^540,360!0^600,300!0^612,300!0^624,300!0^684,240!0^684,228!0^684,216!0^540,240!0^540,228!0^540,216!0^624,156!0^612,156!0^600,156!0^480,156!0^468,156!0^456,156!0^396,216!0^396,228!0^396,240!0^456,300!0^468,300!0^480,300!0^396,360!0^396,372!0^396,384!0^456,444!0^468,444!0^480,444!0^336,444!0^324,444!0^312,444!0^192,444!0^180,444!0^168,444!0^108,384!0^108,372!0^108,360!0^108,240!0^108,228!0^108,216!0^168,156!0^180,156!0^192,156!0^312,156!0^324,156!0^336,156!0^252,216!0^252,228!0^252,240!0^252,360!0^252,372!0^252,384!0^336,300!0^324,300!0^312,300!0^192,300!0^180,300!0^168,300");
var _local54 = new LevelData("suspended", "00000000000100000000000000000000>111A0000000000000000000FQI0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000GOH0000000000000000000?111@00000000000000000000100000000000|5^108,564!11^108,492,108,108!7^108,132,3!7^96,516,3!7^120,516,3!7^228,540,3!7^324,516,3!7^516,540,3!7^420,528,3!7^612,504,3!7^672,444,3!7^456,408,3!7^240,384,3!7^348,432,3!7^384,324,3!7^564,228,3!7^660,132,3!7^660,288,3!7^444,144,3!7^480,252,3!7^552,372,3!7^156,276,3!8^36,324,1!8^36,276,3!7^372,228,3!7^252,204,3!7^132,204,3!7^276,72,3!7^540,96,3!7^696,192,3!7^564,156,3!7^300,276,3!7^540,288,3!7^120,384,3!7^528,456,3!7^696,516,3!7^300,348,3!7^324,156,3!7^204,180,3!0^696,492!0^612,480!0^516,516!0^420,504!0^324,492!0^228,516!0^120,360!0^240,360!0^348,408!0^456,384!0^552,348!0^528,432!0^672,420!0^660,264!0^696,168!0^660,108!0^564,132!0^540,72!0^444,120!0^564,204!0^480,228!0^540,264!0^384,300!0^300,324!0^300,252!0^156,252!0^132,180!0^204,156!0^276,48!0^252,180!0^324,132!0^372,204!3^60,240!8^756,276,3!8^756,324,1");
var _local14 = new LevelData("stratego", "11111111111111111111111500000000000000000000020000000000000000000000040000000000000000000003114031111403111111111111110111111011111111111111101150110111500000002111011001101110000000001110110011011100000000011101100110111000000000115021001102150000000005000010015000000000000000000100000000000000000000001000000000000000030000010000000000000311100000100000000000001111000001000000000000021110000010000000000000002100000100003000000000001000001000010000000000010000010000100000000000200000100001000000000000000001400310000000000000000011111100000000000300000111111000000000311000001111150000000001110000011150000000000021100000111000000000000002000001110000000000000000000011100000000000000040003111400000000000003|5^84,540!11^204,204,708,252!9^732,84,0,0,6,11,1,-1,0!9^516,84,0,0,10,11,1,0,0!12^336,96!12^384,144!12^468,144!12^552,144!12^612,144!12^660,144!12^744,144!12^768,108!12^768,60!12^684,48!12^636,84!12^576,120!12^552,60!12^456,48!12^420,96!12^312,48!12^384,120!12^492,144!6^108,372,3,1,0,3!6^60,348,3,1,0,1!2^396,480,0,-1!2^468,276,-0.707106781186547,-0.707106781186547!3^552,324!2^636,504,0,-1!2^720,576,0,-1!0^324,564!0^312,564!0^300,564!0^288,564!0^276,564!0^264,564!0^252,564!0^240,564!0^228,564!0^216,564!0^204,564!0^336,552!0^324,552!0^312,552!0^300,552!0^288,552!0^276,552!0^264,552!0^252,552!0^240,552!0^228,552!0^216,552!0^204,552!0^192,552!0^540,564!0^552,564!0^564,564!0^576,552!0^564,552!0^552,552!0^540,552!0^528,552!3^204,396!1^540,444!1^468,372!1^264,468!4^540,258,1!0^564,240!0^564,228!0^564,216!0^564,204!0^564,192!0^552,180!0^552,192!0^552,204!0^552,216!0^552,228!0^552,240!0^552,252!6^108,108,3,1,0,3");
var _local61 = new LevelData("veenamos snikes", "01015000000000000000000010100000000000000000000101000000000000004000001010000000000000010000020140031140000000140000001111115000000001111100000021000030000015000000000050000100000100000000000000031000001000000000000311110000010000000000001111500000100000000000015000000001000000000000200000000050000000000000000004000000000031400000000010000000000111400000003100001111000211100000011000000000000015000000150000000000000200040031000040000000000000111110000100000000000031111500001400000000000115000000011111000000001100000000210000000000021000000000500000000000010000000000000000000000500000000000000000000000031400000011104000000000111140000000010000000001500000000000140000000000000000400001114000000000000031000|5^444,288!1^600,396!1^696,192!1^576,120!1^276,132!3^48,144!6^396,36,2,0,2,0!11^36,84,756,540!9^132,540,0,0,4,3,1,0,0!9^180,540,0,0,3,3,1,0,0!9^516,540,0,0,5,3,1,0,0!9^564,540,0,0,2,3,1,0,0!4^108,570,1!4^228,570,1!4^492,570,1!4^588,570,1!4^708,570,1!0^444,132!0^444,120!0^420,84!0^432,96!0^420,96!0^432,108!0^444,108!0^456,132!0^456,120!0^456,108!0^444,96!0^432,84!0^636,228!0^624,228!0^612,228!0^492,228!0^480,228!0^468,228!0^300,204!0^288,204!0^276,204!0^684,276!0^696,276!0^708,276!0^228,252!0^228,264!0^228,276!0^204,300!0^216,300!0^228,288!0^132,156!0^132,168!0^132,180!0^132,192!0^120,204!0^132,144!0^120,132!0^120,192!0^120,180!0^120,168!0^120,156!0^120,144!0^108,132!0^108,144!0^108,156!0^108,168!0^108,180!0^108,192!0^108,204!0^108,216!0^108,228!0^108,240!0^108,252!0^96,132!0^84,132!0^72,132!0^72,144!0^84,144!0^96,144!0^96,156");
var _local22 = new LevelData("soar", "00000000000000000000002000000000000000000000000311100000000000000000001111000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000011000000000000000000000110000011000000000000001100000110000000001400000000001100000000011000000000015000000000110000000000000000000002100000000000000000000000000000000000000000000000000111100000000000000000001115000000000000000000000000000000000000000000000000001114000000000000000000011110000000000000000000000000000000000000031000000000000111100000110000000000002111000001100000000000000000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003|5^588,300!1^108,324!1^708,252!1^588,444!1^468,132!1^372,444!11^480,396,300,60!7^324,36,1!7^276,36,1!7^300,36,1!9^264,348,0,0,13,2,1,0,0!9^132,96,0,0,11,2,1,-1,0!10^564,84!0^444,420!0^444,444!0^444,468!0^516,492!0^516,468!0^516,444!0^516,420!0^540,372!0^564,372!0^588,372!0^612,372!0^372,300!0^372,276!0^372,252!0^372,228!0^444,276!0^444,252!0^444,228!0^612,180!0^612,156!0^612,132!0^540,108!0^540,132!0^540,156!0^540,180!0^252,252!0^228,252!0^204,252!0^252,180!0^228,180!0^204,180!0^180,180!12^36,564!12^60,576!12^756,564!12^732,576!12^684,576!12^636,576!12^588,576!12^108,576!12^156,576!12^204,576!12^252,576!12^300,576!12^348,576!12^396,576!12^444,576!12^492,576!12^540,576!12^708,552!12^660,552!12^612,552!12^564,552!12^516,552!12^468,552!12^420,552!12^372,552!12^324,552!12^276,552!12^228,552!12^180,552!12^132,552!12^84,552!1^108,516!1^300,516!1^708,516!1^684,420!0^276,420!0^252,420!0^228,420!0^60,84!0^60,108!0^60,132!1^156,420!10^96,156");
var _local27 = new LevelData("cushy job", "15000000000000000000210100000000000000000000101000000000000000000000010000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000010000000000000000000000100000000000000000000001000000000000000000001014000000000000000000310|5^48,564!1^660,492!1^636,468!1^612,444!1^588,420!1^564,396!1^540,372!1^516,348!1^492,324!1^132,492!1^156,468!1^180,444!1^204,420!1^228,396!1^252,372!1^276,348!1^300,324!1^324,300!1^468,300!1^444,276!1^348,276!1^372,276!1^396,276!1^420,276!1^432,336!1^432,360!1^432,384!1^432,408!1^432,432!1^432,456!1^432,480!1^432,504!1^360,336!1^360,360!1^360,384!1^360,408!1^360,432!1^360,456!1^360,480!1^360,504!11^744,564,396,204!0^384,312!0^408,312!0^408,336!0^384,336!0^384,360!0^408,360!0^408,384!0^384,384!0^384,408!0^408,408!0^408,432!0^384,432!0^384,456!0^408,456!0^408,480!0^384,480!0^384,504!0^408,504!2^36,516,0.707106781186547,-0.707106781186547!2^756,516,-0.707106781186547,-0.707106781186547!2^732,528,0,-1!2^60,528,0,-1!3^684,204!3^108,204");
var _local23 = new LevelData("globular dynamics", "9000000000000000000000600;111111<0000000000000001111111=00;11111111<000111900000011111111110001110000000:1119006110001110000;<000610000:=000:1=000011000018000000000000007110000:1111<00000000;111180000006110000000011111111111<0110000;<0011111111111=01100001100:11111900000011000011000006110000000110000118000001100;11<0:=000011111<00:=00:111000000011111=0000000061800000011190000000;<00111<000011100000000:=00111=0000111000;<0000007190000001110001100000;1100000001110001100;<0:1100007001118001100:=006100;11001111<0110000007100111001111=01100;1111=0019600111900110011900000100001118001100:=000007180001111<01100000;1111110001111101100000:111111000:111=011000000611900000000000110000000:=000080000007118000000000007|5^144,468!11^612,564,624,168!9^192,336,0,0,27,23,1,0,0!9^552,408,0,0,27,23,1,-1,0!0^516,156!0^492,156!0^468,156!0^444,156!0^516,180!0^492,180!0^468,180!0^444,180!0^312,432!0^312,408!0^312,384!0^312,360!0^312,336!0^312,456!4^444,570,1!4^324,474,1!6^36,228,0,0,0,3!6^516,300,0,0,0,0!6^540,468,0,0,0,2!6^612,300,1,0,0,2!4^516,66,1!0^684,36!0^660,36!0^636,36!0^612,36!0^588,36!0^564,36!0^540,36!0^516,36!0^492,36!0^468,36!0^444,36!0^420,36!0^396,36!0^372,36!0^348,36!0^324,36!0^300,36!9^432,420,0,0,28,23,1,0,0!0^324,348!0^324,372!0^324,396!0^324,420!0^324,444!0^300,444!0^300,420!0^300,396!0^300,372!0^300,348!4^624,210,1!12^336,384!12^288,384!12^288,408!12^336,408!12^288,432!12^336,432!12^288,360");
var _local35 = new LevelData("go for self", "1001111115000000>111111500211111000000001111110000000000000000011111100000000000000000111111000000000000000001111110000000000000000011111100000000000000000B1111100000000000000000>11111000000000000000000B1111000000000000000000>11110000000000000000000B1110000000000000000000>1110000000000000000000011100000114000000000000111031401110000003140001111111011100000011100011111110111000000111000111021501110000002150001110000011500000000000011100000000000000000000B1100000000000000000000>11000000000000000000000B1000000000000000000000>10000000000000000000000B0000000000000000000000>000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000?@000000000000000000000C|5^744,516!11^672,564,36,72!9^396,348,0,0,16,5,1,-1,0!9^420,348,0,0,17,5,1,0,0!1^564,396!1^684,396!1^624,324!1^516,276!1^732,276!1^624,228!1^540,180!1^708,180!12^768,468!12^768,432!12^768,396!12^768,504!12^768,540!0^36,276!0^36,288!0^36,300!0^36,312!0^36,324!0^36,336!0^36,348!0^36,360!0^36,372!0^36,384!0^36,396!0^36,408!3^468,48!1^624,132!10^348,48!8^396,228,1!8^420,228,1");
var _local32 = new LevelData("system core", "11500000000000000000011150000000000000000000215000000031001400000000B00000003110011400C0000>0000000111001110010000000000000000015000E0000000000000000000000000C00000J1L0000000000000010000000000000000000000E000000000000000000000000000J1L00000000000000000?000000000000000000000C10000000000000000000001100000000014001111000010000J1M0001100211500001000000000000000000000010000K1L000110031140000100000000001500111100001000000000000000000000010000000000000000000000B000K1M0000000000000000000000000000000000000000000000000000000000000D00000K1M0000000000000010000000000000000000000B0000000000000014000D000000000000111001110010000000000002110011500B0000?4000000021001500000000C1400000000000000000003111400000000000000000011|5^444,516!9^552,120,0,0,20,23,1,0,0!9^396,132,0,0,19,23,1,0,0!9^240,120,0,0,18,23,1,0,0!9^684,288,0,0,17,23,1,0,0!9^108,288,0,0,16,23,1,0,0!9^396,384,0,0,15,23,1,0,0!11^360,564,396,264!1^588,348!1^576,360!1^564,348!1^552,360!1^540,348!1^528,360!1^516,348!1^204,348!1^216,360!1^228,348!1^240,360!1^252,348!1^264,360!1^276,348!1^288,360!1^300,348!1^504,360!1^492,348!2^36,528,0,-1!2^756,528,0,-1!0^660,420!0^648,420!0^636,420!0^588,492!0^576,492!0^564,492!0^228,492!0^216,492!0^204,492!0^156,420!0^144,420!0^132,420!0^348,228!0^360,228!0^372,228!0^420,228!0^432,228!0^444,228!3^636,228!3^156,228!6^108,108,5,1,0,0!6^684,108,5,1,0,2!6^396,468,5,1,0,2!6^468,396,5,1,0,3");
var _local40 = new LevelData("fugitive", "500001000P0FQI00FQI0002000001010D000000000000000111101010000000000000001501OE0E00000000000000010010000000000000000?0000010000000000000000N0000010000000000000000>0010010000000000000000000140100000000000000000001111000000000000000000015010000000000000000?0010010000000000000000N0000010000000000000000N0000010000000000000000>001001H00000000000000000010011000000000000000000100E000000000000000000010000000000000000000?00100D0000000000000000N0010011000000000000000N031001I000000000000000>1110010000000000000000011500100000000000000000000001000000000000000000000010000000000000000?0000010000000000000000N0031110000000000000000>00111100000000000000000000001000000000000000000000010000000000000000000003140GOH00GOOH0GOH03|5^720,120!1^312,516!1^480,516!1^636,516!1^156,516!1^732,444!1^732,312!1^732,204!1^84,324!1^84,444!1^228,444!1^396,444!1^564,444!1^480,372!1^312,372!1^444,252!1^612,324!1^564,228!9^672,228,0,0,3,9,1,0,0!9^528,300,0,0,2,9,1,0,0!9^156,396,0,0,2,9,1,-1,0!9^84,528,1,0,1,8,1,0,0!9^708,528,1,0,1,8,1,0,-1!9^360,204,0,0,2,7,1,-1,0!11^84,180,396,396!0^492,60!0^504,48!0^516,36!0^516,48!0^504,60!0^504,36!0^492,36!0^492,48!0^228,132!0^216,132!0^204,132!0^192,132!0^180,132!0^168,132!0^156,132!0^144,132!0^132,132!0^120,132!0^108,132!0^276,132!0^276,120!0^288,108!0^300,108!0^588,36!0^588,48!0^588,60!0^600,36!0^612,36!0^600,48!9^48,132,1,0,18,6,1,0,-1!6^108,60,2,1,0,0!12^456,72!12^384,72!12^252,72!12^84,72!12^132,72!6^132,372,5,1,0,0!6^684,324,5,1,0,1!6^564,564,1,1,0,2!9^468,192,1,0,19,7,0,0,0!9^444,192,1,0,18,7,0,0,0!9^420,192,1,0,17,7,0,0,0!6^324,180,0,1,0,2!1^300,252!1^300,264!1^204,300!1^204,312!1^84,336!1^84,456!1^228,456!1^156,528!1^312,528!1^396,456!1^312,384!1^480,384!1^444,264!1^564,240!1^732,216!1^732,324!1^612,336!1^564,456!1^480,528!1^636,528!1^732,456");
var _local33 = new LevelData("crag", "A000000000000000000000>0000000000000000000000000C10111111011111101D000011011111101111110110000B111A00>111A00>1111000000000000000000000B100L000000000000000000>100A00000000000000000001000000000000000000000010000000000000000000000100D00000000000000000001001H000000000000000000100114000000000000000001@?11I000000000000000001111E000000000000000000B11A000000000000000000000>00000000000000000000CD000000000000000000000110L00000000000000000031101@0000000000000000311101M000000000000000G11110I0000000000000003111110H00000000000000311A>1101H000000000000?1110011011D00000000003111100110115000000000K11115001101A000000000G11150000110M0000000003111100000110400000000?11111000001101D000000C11111100000BM011H0000011111114000000G|5^300,552!11^600,492,132,216!9^756,204,1,0,16,22,1,0,-1!6^660,492,3,1,0,0!0^684,396!0^696,396!0^708,396!0^720,396!0^732,396!0^672,396!0^744,396!0^756,408!0^660,408!0^732,444!0^732,468!0^732,456!0^684,444!0^684,456!0^684,468!0^696,468!0^708,468!0^720,468!0^720,456!0^708,456!0^696,456!0^696,444!0^708,444!0^720,444!0^132,360!0^132,372!0^132,384!0^132,396!0^132,408!12^528,432!12^576,384!12^672,288!12^696,264!3^396,300!0^132,240!0^132,228!0^132,204!0^132,192!0^108,60!0^756,192!0^756,180!0^756,168!0^756,156!0^756,144!0^756,132!0^756,120!0^756,108!8^108,468,2!8^108,300,2!8^108,132,2");
var _local28 = new LevelData("piece of the cake", "900011001100011001100060000:1001=000:1001=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;1001<000;1001<0000000011001100011001100000000000000000000000000000000000000000000000000000011001100011001100000000:1001=000:1001=0000000000000000000000000000000000000000000000000700000000000000000:111110000000000000000000000000000000000000000;1111100000000000000000000006000000000000000000000000000;1001<000;1001<0000000011001100011001100000000000000000000000000000000000000000000000000000011001100011001100000000:1001=000:1001=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;1001<000;1001<000080001100110001100110007|5^192,552!11^396,564,396,60!9^552,408,1,0,16,19,1,0,-1!9^240,408,1,0,16,20,1,0,-1!9^240,192,1,0,16,21,1,0,-1!9^552,192,1,0,16,21,1,0,0!0^732,204!0^744,204!0^756,204!0^756,192!0^756,180!0^744,180!0^732,180!0^732,420!0^744,420!0^756,420!0^756,408!0^756,396!0^744,396!0^732,396!0^60,420!0^48,420!0^36,420!0^36,408!0^36,396!0^48,396!0^60,396!0^60,204!0^48,204!0^36,204!0^36,192!0^36,180!0^48,180!0^60,180!3^396,192!3^396,408!3^552,60!3^240,60!2^120,576,0,-1!2^672,576,0,-1");
var _local38 = new LevelData("research facility", "111A000000000000000000111A000000000000000000G1110000000000000000000111I00000011140000000001150000000150110000000C1100000003100214000000211@00000015000110000000111@0000010000110000000>115000001000001000000001I0000001400001000000000@000000111400140000000?1400000021100211000000J5000000000140011000000000000000001000010000K114000000000100001000011111L000000010000140000F1111@00003110000110000021110000011500002100000011A000001100000000000001100000011000000000000C1140000001000311100000F111I0000010001150000000115000000100310000000311A0000000100110000000111@00000000001500000000FM00000000140100000000000000000001101000000000?@0G0000000101000000000111140000002110000000001111100000000000000000C11111@000000000000000311|5^456,540!11^360,252,132,276!9^144,276,1,1,25,10,0,0,0!9^132,264,1,1,25,10,0,0,-1!6^180,300,2,1,0,3!12^624,312!0^684,300!0^672,300!0^660,300!0^660,288!0^672,288!0^684,288!0^684,312!0^672,312!0^660,312!0^696,300!0^648,300!12^516,348!12^564,324!12^468,288!12^384,384!12^288,336!12^216,324!12^360,288!12^168,240!12^156,300!12^264,264!2^756,516,-0.707106781186547,-0.707106781186547!2^48,552,0,-1!2^84,528,0,-1!6^228,372,0,0,0,2!6^420,444,1,0,0,0!6^660,348,1,0,0,0!6^756,396,0,0,0,3!6^36,204,1,0,0,3!0^708,540!0^696,540!0^684,540!0^636,564!0^624,564!0^588,516!0^540,564!0^528,564!0^372,492!0^360,492!0^324,564!0^252,564!0^228,540!0^180,516");
var _local36 = new LevelData("superliminal 3", "11111111111111111111111111111111111111111111115000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000114000000000000000030001111111111111111111100011500000000000000002000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000001111111011101110111400011111111111111111111000111111111111101010150001111111500000000000000011111110000000000000000111111100000000000000001111111000000000000000011111110001140000000003111111100011111111111111111111000115000000000211111110000000000000000111111100000000000000001111111000000000000000011111110000000000000000111111140000000000000031111111111111010101011111111111111111111111111|5^144,552!8^372,396,2!8^372,300,2!8^372,204,2!8^252,252,0!8^252,348,0!8^252,444,0!8^420,444,0!8^420,396,0!8^420,348,0!8^732,348,2!8^732,396,2!8^732,444,2!8^732,492,2!8^588,468,0!8^588,420,0!8^588,372,0!12^252,276!12^252,324!12^252,228!12^252,372!12^252,420!12^252,468!12^708,540!12^708,516!12^588,516!12^588,540!12^612,564!12^684,564!12^252,540!12^252,504!1^180,516!1^108,444!1^156,372!1^132,300!1^180,228!1^108,156!6^204,420,3,1,0,3!6^84,228,3,1,0,1!11^228,84,228,36!11^648,564,396,540!0^540,252!0^552,252!0^564,252!0^576,252!0^588,252!0^588,240!0^576,240!0^564,240!0^552,240!0^540,240!0^540,228!0^552,228!0^564,228!0^576,228!0^588,228!0^588,216!0^576,216!0^564,216!0^552,216!0^540,216!0^540,204!0^552,204!0^564,204!0^576,204!0^588,204");
var _local42 = new LevelData("monument", "50000000000000000002111000000000000000000000210000000000000000000000100000000000000000000002000000000000000000000000000000000000000000000040003110003000014000000100111111110011111140005002111111500111111100000000002100001500011000000000000000000000210000000000000000000000114000000000000000000001110000000000000000000010100003140000000000000101000011100000000000001010000211100000000000010100000115000000000000101000000000000000000001010000000000000000000010200000000000000000003100000000003100001400011000400311111140011111110001001111111100111111500050002110002000015000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000010000000000000000000003140000000000000000003111|5^252,540!11^372,516,444,108!2^612,276,0.707106781186547,-0.707106781186547!2^180,276,-0.707106781186547,-0.707106781186547!2^264,336,0.707106781186547,-0.707106781186547!2^528,336,-0.707106781186547,-0.707106781186547!2^516,468,-0.707106781186547,-0.707106781186547!2^276,468,0.707106781186547,-0.707106781186547!2^396,480,0,-1!2^708,552,0,-1!2^84,552,0,-1!2^624,384,0.707106781186547,-0.707106781186547!2^168,384,-0.707106781186547,-0.707106781186547!1^324,348!1^468,348!9^540,420,0,0,19,21,1,0,0!9^252,420,0,0,17,21,1,-1,0!9^468,324,0,0,18,21,1,0,0!9^324,324,0,0,18,21,1,-1,0!10^396,228!1^732,348!1^60,348!1^60,216!1^732,216!0^588,84!0^588,72!0^588,60!0^204,60!0^204,72!0^204,84!0^180,204!0^180,216!0^180,228!0^612,204!0^612,216!0^612,228!0^480,468!0^468,468!0^456,468!0^444,468!0^432,468!0^420,468!0^492,468!0^372,468!0^360,468!0^348,468!0^336,468!0^324,468!0^312,468!0^300,468!0^540,132!0^540,144!0^540,156!0^540,168!0^540,180!0^540,192!0^528,204!0^252,132!0^252,144!0^252,156!0^252,168!0^252,180!0^252,192!0^264,204!3^684,36!3^108,36");
var _local19 = new LevelData("neural net", "A00001E00000000000000000000?1A0000000000000G100000CE000000000000GKMI0000?1A0000000000GKMI000000CE000000000GKMI0000000?1A00000D0GKMI000000000CE00000011MI0000000000C1A0000K01I000000000000BE000GK101H000000000000>D0GKMI00FJLH00000000000B1MI000000FJLH000000000>10000000000B1LH00000000B@000000000>1FJLH000000>D0001000000B@0FJLH00000B@000000000>D000FJ10000>D0000000000B@0000F00000B@000000000>D0000000000>D0000000000B@00000000001@000000000>D00000000001D0000000000B@00000000?11@000000000>D00000000CE>D0000000000B@0000000JA0B@000000000>D0000000000>D0000000000B@0000?L0000B@000000000>D0000CE0000>D00000000001000?1A00000B@0000000GKM000CE000000>D000000CMI000?1A0000000M000GD0E00000CE0000000000GK1M00000011P00000000GK111000000G|5^36,108!11^216,252,216,324!1^216,396!1^168,468!1^264,468!1^216,528!9^636,516,0,0,2,23,1,0,0!9^240,108,1,0,1,22,1,0,-1!9^732,36,1,0,1,22,1,0,0!9^36,204,0,0,2,23,1,-1,0!9^756,96,0,0,26,23,1,0,0!0^564,564!0^540,564!0^516,564!0^492,564!0^468,564!0^444,564!0^420,564!0^588,564!0^612,564!0^564,540!0^540,540!0^516,540!0^492,540!0^468,540!0^444,540!0^420,540!0^396,540!0^396,516!0^372,492!0^372,468!0^372,444!0^348,444!0^396,468!0^396,492!0^420,468!0^420,492!0^420,516!0^444,516!0^468,516!0^492,516!0^516,516!0^468,492!0^444,492!12^720,96!12^480,168!12^768,156!12^768,228!1^720,192!12^672,120!12^768,504!12^672,528!12^720,468!1^732,540!12^732,564!6^324,228,0,0,1,3!1^588,396!1^468,348!1^348,300!12^528,384!12^408,348!12^408,420!12^528,480!12^588,480!2^636,528,0,-1!12^468,408!12^312,372!12^264,72!12^360,120!12^444,72!12^516,96!12^600,48!12^684,60!12^336,36!6^36,348,2,1,0,3!12^216,552!12^264,492!12^168,492!12^216,420!12^216,444");
var _local15 = new LevelData("data base", "MQJ11150015000150000021000211000000000000000020000B1000000000000000000000N1000000000000001400000N1000000000000005000000>1000000000000000000000010000000000140000000000100000000005000000000001000000000000000000000?1000000140000000000000N1000000500000000000000N1000000000000000000000N1000000000000000000000>10000000000000000000000Q000000000000000000000000000000000000000000000O000000000000000000000?1000000000000000000000N1000000000000000000000N1000000000000000000000N1000000400000000000000>1000000150000000000000010000000000000000000000100000000004000000000001000000000015000000000?10000000000000000G0000N100000000000000K110000N1000000000000001A>0000C10000000000000010000031100000000000000E00LOK11140014000140000003|5^36,348!1^360,180!1^360,204!1^360,228!1^360,252!1^360,276!1^360,300!1^360,324!1^360,348!1^432,180!1^432,204!1^432,228!1^432,252!1^432,276!1^432,300!1^432,324!1^432,348!1^432,372!1^432,396!1^432,420!1^360,372!1^360,396!1^360,420!9^756,228,1,0,31,21,1,0,-1!11^720,564,588,120!0^228,132!0^216,132!0^204,132!0^192,132!0^180,132!0^180,120!0^192,120!0^204,120!0^216,120!0^228,120!0^132,120!0^120,120!0^108,120!0^108,108!0^120,108!0^132,108!0^276,120!0^288,120!0^300,120!0^312,120!0^324,120!0^324,108!0^312,108!0^300,108!0^288,108!0^276,108!0^36,228!0^36,216!0^36,204!0^756,348!0^756,336!0^756,324!0^756,312!0^756,300!6^156,228,3,0,0,0!6^612,396,1,1,0,2!6^180,396,0,1,0,0!10^672,72");
var _local29 = new LevelData("np complete", "50000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000311100011111111111111111500000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000031111111111111111100011150000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000003|5^684,60!1^684,108!1^684,492!1^684,300!11^96,564,588,468!12^768,108!12^600,108!12^600,180!12^768,180!12^768,252!12^600,252!12^600,324!12^768,324!12^768,396!12^600,396!12^768,468!12^768,540!12^720,576!12^648,576!12^684,180!12^684,396!12^684,252!12^684,324!1^96,492!1^96,108!1^96,300!8^156,468,2!8^36,420,0!8^36,276,0!8^156,228,2!8^36,180,0!8^156,372,2!12^156,204!12^156,348!12^36,252!12^36,156!12^36,396!12^156,444!7^516,516,3!7^492,516,3!7^420,492,3!7^396,492,3!7^324,468,3!7^300,468,3!7^228,444,3!7^204,444,3!7^300,396,3!7^324,396,3!7^396,348,3!7^420,348,3!7^492,300,3!7^516,300,3!7^564,228,3!7^492,156,3!7^276,156,3!12^192,372!12^192,180!12^192,276!12^576,396!12^576,324!12^576,252!6^444,564,3,1,0,0!6^396,36,3,1,0,2!12^612,564!12^756,564");
var _local24 = new LevelData("planding makes plerfect", "11111111111111111111111000000000000000000000000000000000000000000000000014014014014014014031000110110110110110110110001101101101101101101100011011011011011011011000110110110110110110110001101101101101101101100011011011011011011011000110110110110110110110001501501501501501502100000000000000000000000000000000000000000000004011111111111111111111110B1111111111111111111110>150000001000000102111H0100000000000000000111M010000000000000000011500500000000000000100000000000000000000000001000000000000100000000010000000000000000000000100000000000000000001001000000000000000000000010000000000001000000000100000000000000000000001000000000000000000010010000000000000000000000100000000000000000000001040001000000100000010310|5^588,504!9^204,156,1,0,20,22,1,0,-1!9^204,228,0,0,21,23,1,-1,0!9^204,300,0,0,23,23,1,-1,0!9^204,372,0,0,25,23,1,-1,0!9^204,444,0,0,27,23,1,-1,0!9^204,516,0,0,29,23,1,-1,0!11^744,564,756,108!2^684,456,0,-1!2^588,456,0,-1!2^492,456,0,-1!2^432,456,0.707106781186547,-0.707106781186547!2^744,456,-0.707106781186547,-0.707106781186547!2^744,288,-0.707106781186547,-0.707106781186547!2^432,288,0.707106781186547,-0.707106781186547!2^540,288,0,-1!2^636,288,0,-1!12^768,324!12^768,444!12^408,324!12^408,444!12^408,276!12^768,276!12^768,156!12^408,156!12^408,228!12^408,204!12^408,372!12^408,396!12^768,372!12^768,396!12^768,228!12^768,204!12^744,312!12^432,312!12^432,480!12^744,480!12^648,300!12^624,300!12^552,300!12^528,300!12^504,468!12^480,468!12^576,468!12^600,468!12^672,468!12^696,468!6^348,564,3,1,0,3!6^348,444,3,1,0,3!6^60,564,2,1,0,3!6^60,348,2,1,0,3!6^204,36,2,1,0,0");
var _local37 = new LevelData("gun dream", "90000001000001000000006000000010000010000000000000000:000001000000000000000000000010000000000000000000000:0000000000000000000000000000;000000000000000000000010000000;0000000000000010000000100000;0000000010000000100000100000000:0000000:00000100000000000000000000001000000000000000000000010000000000000000000000:000000000000000000000000000000000;0000000000000000;000001000000;00000000010000010000001000000000100000:0000001000000000100000000000010000000001000000000000:00000000010000000000000000000000100000000000000000;000010000000000000000010000:000000000;000000010000000000000010000000100000000;00000:0000000:0000000010000000000000000000000:0000000000;0000000000000000000000100000;00000000080000001000001000000007|5^540,564!12^408,528!12^660,480!12^180,480!12^228,480!12^420,384!12^492,384!12^564,384!12^756,336!12^612,264!12^324,264!12^252,264!12^108,336!12^60,336!12^48,192!12^240,120!12^444,144!12^492,144!12^636,72!12^732,192!0^756,180!0^744,180!0^720,180!0^648,60!0^624,60!0^504,132!0^480,132!0^468,132!0^456,132!0^432,132!0^264,108!0^252,108!0^228,108!0^216,108!0^72,180!0^60,180!0^36,180!0^36,324!0^48,324!0^72,324!0^84,324!0^96,324!0^120,324!0^240,252!0^264,252!0^276,252!0^288,252!0^300,252!0^312,252!0^336,252!0^648,252!0^636,252!0^624,252!0^600,252!0^588,252!0^576,252!0^744,324!0^576,372!0^552,372!0^540,372!0^528,372!0^516,372!0^504,372!0^480,372!0^468,372!0^456,372!0^444,372!0^432,372!0^408,372!0^168,468!0^192,468!0^204,468!0^216,468!0^240,468!0^384,516!0^396,516!0^420,516!0^432,516!0^648,468!0^672,468!1^276,396!1^468,300!1^156,216!11^408,564,348,84!3^612,300!3^756,228!3^36,228!3^636,108!3^240,156");
var _local25 = new LevelData("scud", "50000000000015000000002000000000000000000000000000031400000000000000000000111000000000000003000002150000000000000010000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000300000000000000000000001000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000030000000000003140000000100000000000011100000001000000000000215000000010000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000300000000000000000000001000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000030000031400000000000000100000111000000000000002000002150000000000000000000000000000000000000040000000000014000000003|5^414.184780354589,542!11^396,540,396,60!2^252,552,0,-1!2^132,552,0,-1!2^444,564,0.707106781186547,-0.707106781186547!2^348,564,-0.707106781186547,-0.707106781186547!2^276,564,0.707106781186547,-0.707106781186547!2^228,564,-0.707106781186547,-0.707106781186547!2^156,564,0.707106781186547,-0.707106781186547!2^108,564,-0.707106781186547,-0.707106781186547!2^36,564,0.707106781186547,-0.707106781186547!2^516,564,-0.707106781186547,-0.707106781186547!2^540,552,0,-1!2^564,564,0.707106781186547,-0.707106781186547!2^636,564,-0.707106781186547,-0.707106781186547!2^660,552,0,-1!2^684,564,0.707106781186547,-0.707106781186547!2^756,564,-0.707106781186547,-0.707106781186547!2^756,312,0,-1!2^744,324,-1,0!2^648,180,-1,0!2^660,156,-0.707106781186547,-0.707106781186547!2^144,180,1,0!2^132,156,0.707106781186547,-0.707106781186547!2^36,312,0,-1!2^48,324,1,0!2^396,312,0,-1!0^396,276!0^396,252!0^540,516!0^540,492!0^252,516!0^252,492!0^132,516!0^132,492!0^660,516!0^660,492!0^756,276!0^756,252!0^36,276!0^36,252!0^192,540!0^192,516!0^312,540!0^312,516!0^72,540!0^72,516!0^480,540!0^480,516!0^600,540!0^600,516!0^720,540!0^720,516!12^132,204!12^108,216!12^84,204!12^108,144!12^84,156!12^72,180!12^372,372!12^396,384!12^420,372!12^660,204!12^684,216!12^708,204!12^720,180!12^708,156!12^684,144!10^396,36!2^360,348,-1,0!2^432,348,1,0!12^372,324!12^420,324!12^756,348!12^36,348!12^72,576!12^192,576!12^312,576!12^480,576!12^600,576!12^720,576");
var _local20 = new LevelData("fallout", "50000000000000000002150000000000000000000001000031000311400000000010000110001111000001100000000000011000000021000000000000150000000010000000001000000000100000100140010000001001000001001100140000310014000314011001111111100111111110110015000021001500021501500100000010010000010000001003100000100100100000000011000000001400000000000110000000311000000000001500000031110000001110000000003111100000011500000000011500000000210000000100110000100000000001001000000001004000000310014000000314011111111100111111111110500000021001500000021500031140010010000000010000111100000100140000100001011000000001114000000310110000000011110000001101100031400211000000011011000111000000001000210150000210000000010040001000000000000003140|5^708,228!11^648,108,252,96!9^660,516,0,0,30,4,1,0,0!9^132,516,0,0,29,4,1,0,0!9^252,336,0,0,28,4,1,0,0!9^504,384,0,0,28,4,1,-1,0!4^396,570,1!12^564,540!12^516,540!12^276,540!12^228,540!12^36,540!12^756,540!12^216,72!12^288,72!12^252,120!12^228,120!12^276,120!12^312,48!12^192,48!10^480,168!0^276,180!0^276,192!0^276,204!0^276,216!0^276,228!0^276,240!0^276,252!0^228,180!0^228,192!0^228,204!0^228,216!0^228,228!0^228,240!0^228,252!12^192,504!12^72,504!12^516,492!12^276,492!12^348,468!12^396,480!12^432,456!12^552,372!12^600,372!12^552,420!12^624,420!12^552,468!12^600,504!8^708,420,0!8^708,396,0!8^684,444,0!10^108,336!10^396,336");
var _local34 = new LevelData("shell game", "900000000000000061190060000000000000000011000000000000000000000:100000000000000000000000000000000000000000000;100000000000000000000011000000000000000000000118000000000000000000001111100000000000000000011900000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011800000000000000000000111110000000000000000001190000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001180000000000000000000011111000000000000000000119000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000080000000000000007118007|5^60,396!11^660,564,708,564!11^468,564,516,564!11^276,564,324,564!11^84,564,132,564!11^708,420,660,420!9^228,204,1,0,4,19,1,0,-1!9^324,180,1,0,4,19,1,0,0!9^108,156,0,0,8,23,1,-1,0!9^132,300,0,0,8,23,1,0,0!9^324,324,0,0,16,23,1,-1,0!9^396,252,0,0,16,23,1,0,0!9^684,300,0,0,24,23,1,-1,0!9^564,156,0,0,24,23,1,0,0!12^252,372!12^300,372!12^348,372!12^396,372!12^444,372!12^492,372!12^540,372!12^588,372!12^636,372!12^684,372!12^732,372!12^768,348!12^768,300!12^768,252!12^768,204!12^768,156!12^768,108!12^768,60!12^24,60!12^24,108!12^24,156!12^24,204!12^24,252!12^24,300!12^24,348!1^132,300!1^108,156!1^228,204!1^324,180!1^324,324!1^396,252!1^564,156!1^684,300!1^564,276!1^636,228!1^732,156!1^660,108!1^468,108!1^492,228!1^444,324!1^180,108!1^228,324!1^84,228!2^168,432,0,-1!12^276,300!12^288,204!12^276,60!12^564,60!12^420,180!12^504,288!12^648,168!12^168,228!12^108,84!12^384,108!12^564,180!3^396,36!0^60,516!0^72,516!0^84,516!0^96,516!0^108,516!0^120,516!0^132,516!0^144,516!0^252,516!0^264,516!0^276,516!0^288,516!0^300,516!0^312,516!0^324,516!0^336,516!0^336,528!0^324,528!0^312,528!0^300,528!0^288,528!0^276,528!0^264,528!0^252,528!0^444,516!0^456,516!0^468,516!0^480,516!0^492,516!0^504,516!0^516,516!0^528,516!0^528,528!0^516,528!0^504,528!0^492,528!0^480,528!0^468,528!0^456,528!0^444,528!0^636,516!0^636,528!0^648,516!0^660,516!0^672,516!0^684,516!0^696,516!0^708,516!0^720,516!0^720,528!0^708,528!0^696,528!0^684,528!0^672,528!0^660,528!0^648,528!0^636,540!0^648,540!0^660,540!0^672,540!0^684,540!0^696,540!0^708,540!0^720,540");
var _local30 = new LevelData("cubish", "50111111111111111111111001150021150000021150210011000000000000000000100110000000000000000001001100314000311140000010011001111101111100000100110315011011011000001001101100110110110000310011011002101101140001100110110000015011100011001101100000000111000210011021400000001150000100110011000000011000001001140114031403110000010011102111111111100000100111000021150215000001001150000000000000000010011000000000000000000100110000000000000000031001140000311400311101110011111111111111111011100111111111111111110111001500210002100021502110010000000000000000000200100000000000000000000001000000000000000000000014000000000000000000040110000000000000000000101500000000000000000000000000000000000000000040000003100031000310003|5^36,60!8^708,60,2!12^84,72!12^108,72!12^132,72!12^156,72!12^180,72!12^204,72!12^348,72!12^372,72!12^396,72!12^228,72!12^420,72!12^444,72!12^468,72!12^252,72!12^564,72!12^588,72!12^612,72!12^636,72!12^660,72!12^492,72!12^276,72!9^756,252,0,0,22,20,1,0,0!9^756,372,0,0,22,20,1,-1,0!9^564,228,0,0,20,20,1,-1,0!9^564,348,0,0,20,20,1,0,0!3^612,144!0^636,108!0^624,108!0^612,108!0^600,108!0^588,108!0^564,132!0^564,144!0^564,156!0^576,108!0^564,120!0^564,168!0^588,120!0^576,132!0^576,156!0^648,108!0^636,120!0^576,288!0^744,312!0^744,192!0^576,408!0^744,432!12^732,576!12^708,576!12^684,576!12^660,576!12^636,576!12^612,576!12^588,564!12^756,564!9^456,168,0,0,6,12,1,-1,0!9^492,360,0,0,7,12,1,-1,0!9^72,168,0,0,8,12,1,-1,0!9^84,516,0,0,9,12,1,-1,0!9^372,540,0,0,9,12,1,0,0!9^192,228,0,0,9,15,1,0,0!9^336,252,0,0,9,15,1,-1,0!9^348,348,0,0,8,15,1,-1,0!6^324,372,3,1,0,3!6^324,156,1,0,0,2!6^180,444,1,0,0,0!9^468,492,0,1,22,20,0,0,0!6^420,540,1,1,0,2!6^372,156,1,1,0,0!12^540,72!12^516,72!12^324,72!12^300,72!12^60,72!11^180,372,240,132!0^564,276!0^756,300!0^756,420!0^564,396!0^588,396!0^732,420!0^732,300!0^588,276!0^756,180!0^732,180!12^408,288!12^120,372!12^120,204!12^264,456!12^408,396!12^384,216!12^48,348!12^60,132!12^504,192");
var _local39 = new LevelData("exploit", "50000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000031001111111111111111100110010101011111010101001500000000021500000000020000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000040000000003140000000003|5^696,564!1^312,300!1^300,288!1^288,300!1^300,312!1^300,300!1^564,288!1^552,300!1^564,312!1^564,300!1^456,444!1^444,432!1^432,444!1^444,456!1^444,444!1^312,564!1^300,552!1^288,564!1^300,564!1^168,444!1^156,432!1^144,444!1^156,456!1^156,444!1^48,300!1^36,288!1^36,312!1^36,300!1^156,144!1^144,156!1^156,168!1^168,156!1^156,156!1^288,36!1^300,48!1^312,36!1^300,36!1^432,156!1^444,168!1^456,156!1^444,144!1^444,156!11^696,276,300,156!8^612,132,0!8^612,180,0!8^612,228,0!8^612,372,0!8^612,420,0!8^612,468,0!12^768,204!12^768,156!12^768,108!12^768,60!12^768,252!12^756,276!12^720,288!12^672,288!12^636,276!0^564,264!0^528,300!0^564,336!0^444,408!0^408,444!0^444,480!0^480,444!0^156,408!0^120,444!0^156,480!0^192,444!0^300,528!0^264,564!0^336,564!0^300,264!0^264,300!0^300,336!0^336,300!0^444,120!0^408,156!0^444,192!0^480,156!0^264,36!0^300,72!0^336,36!0^156,120!0^120,156!0^156,192!0^192,156!0^36,264!0^36,336!0^72,300!0^636,348!0^660,348!0^684,348!0^708,348!0^732,348!0^732,324!0^708,324!0^684,324!0^660,324!0^756,348!0^660,336!0^648,336!0^696,336!0^732,336!0^744,336!0^696,324!3^48,48!1^228,360!1^216,372!1^228,384!1^240,372!1^228,372!1^372,360!1^360,372!1^372,384!1^384,372!1^372,372!0^372,336!0^336,372!0^372,408!0^408,372!0^228,336!0^192,372!0^228,408!0^264,372!12^636,108!12^636,156!12^636,204!12^624,252");
var _local43 = new LevelData("interdictor", "E000>1I00>1I00>1MQQQQJ1P0000E0000E0000E0000000P000000000000000000000GP00000000000000000000J1P0000000000000000000000P000000000000000000000GP00000000000000000000J1P0000000000000000000000P000000000000000000000GP00000000000000000000J1P0000000000000000000000P000000000000000000000?P00000000000000000000G1P0000000000000000000C11D000CD000CD000CD000J11110001100011000110000000E000BE000BE000BE000K111P0000000000000000000B11P00000000000000000000F1P000000000000000000000>P0000000000000000000000P00000000000000000000K1P000000000000000000000FP0000000000000000000000P00000000000000000000K1P000000000000000000000FP0000000000000000000000P00000000000000000000K1P000000000000000000000FP0000D0000D0000D0000000D000?1H00?1H00?1LOOOOK1|5^396,228!1^576,204!1^216,204!1^576,324!1^216,324!1^576,444!1^216,444!9^396,324,1,0,16,21,1,0,-1!9^744,336,1,0,16,22,1,0,-1!9^48,336,1,0,16,22,1,0,0!0^756,240!0^756,228!0^756,216!0^756,204!0^756,192!0^744,252!0^732,252!0^744,180!0^60,252!0^48,252!0^36,240!0^36,228!0^36,216!0^36,204!0^36,192!0^48,180!0^732,132!0^744,132!0^756,120!0^756,108!0^756,96!0^756,84!0^756,72!0^756,60!0^60,132!0^48,132!0^36,120!0^36,108!0^36,96!0^36,84!0^36,72!0^36,60!0^732,564!0^720,564!0^720,552!0^732,552!0^660,564!0^648,564!0^648,552!0^660,552!0^588,564!0^576,564!0^576,552!0^588,552!0^60,564!0^72,564!0^72,552!0^60,552!0^132,564!0^144,564!0^144,552!0^132,552!0^204,564!0^216,564!0^216,552!0^204,552!11^396,564,396,84!0^48,48!0^60,48!0^744,48!0^732,48!3^444,384!3^348,384!1^216,216!1^216,336!1^216,456!1^576,456!1^576,336!1^576,216");
var _local41 = new LevelData("alone and easy target", "011111111111111111111110:1111111111111111111110000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;1<0000000000000000000011100000000000000000000:1=00000000000000000000000000000000000000000000000000000000000000000000000000000000000;1<000000000;1<0000000011100000000011100000000:1=000000000:1=00000000000000000000000000000000000000000000000000000000000000000000000000000000000;1<0000000000000000000011100000000000000000000:1=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070;11111111111111111111101111111111111111111111|5^756,36!11^36,36,396,300!0^444,144!0^444,156!0^444,168!0^348,144!0^348,156!0^348,168!0^264,252!0^252,252!0^240,252!0^240,348!0^252,348!0^264,348!0^348,432!0^348,444!0^348,456!0^444,456!0^444,444!0^444,432!0^528,252!0^540,252!0^552,252!0^552,348!0^540,348!0^528,348!0^480,216!0^312,216!0^312,384!0^480,384!0^492,372!0^468,396!0^492,228!0^468,204!0^324,204!0^300,228!0^324,396!0^300,372!0^588,288!0^588,300!0^588,312!0^204,288!0^204,300!0^204,312!0^384,492!0^396,492!0^408,492!1^444,300!1^396,348!1^348,300!1^396,252!1^372,324!1^420,324!1^420,276!1^372,276!1^408,264!1^384,264!1^360,288!1^360,312!1^384,336!1^408,336!1^432,312!1^432,288!1^660,300!1^192,504!1^264,168!1^192,96!1^528,168!1^600,96!0^684,564!0^636,564!0^588,564!0^540,564!0^492,564!0^444,564!0^348,564!0^108,564!0^156,564!0^204,564!0^252,564!0^300,564!3^684,540!3^108,540!1^648,300!1^648,312!1^660,312!1^528,156!1^540,156!1^540,168!1^600,84!1^612,84!1^612,96!1^192,84!1^180,84!1^180,96!1^264,156!1^252,156!1^252,168!1^192,492!1^180,492!1^180,504!1^132,288!1^144,288!1^144,300!1^132,300!1^252,432!1^264,432!1^264,444!1^252,444!1^612,492!1^600,492!1^600,504!1^612,504!1^540,420!1^528,420!1^528,432!1^540,432!1^372,564!1^396,564!1^420,564!1^408,564!1^384,564!10^396,108");
var _local47 = new LevelData("assembly line", "0000000000000000000000>000000000000000000000000000000000000000000000?0000000000000?111P0N1110000000?111@0N101A0>1110000000N111P0N1110001110000000N101P0N1110001110000000N10100010100010100C11@0N11100010100010100111P0>11100011100010100111000111000111000101@?101000101000111000101111010001010001010001011110100011100010100011111101000101000111000111111110001010001110001111A111000101000111000101101110001110001010001011010100010100010100011110101000101000111000111E011100011100011100010100111P0?11100011100010100B11A0N1110001010001110000000N1010001010001110000000N101P0N1110001010000000N111P0N1110001010000000>111A0N101@0?1110000000000000>111P0N1110000000000000000000000>000000000000000000000000000000000000000000000?|5^300,48!11^444,60,396,180!9^396,324,0,0,20,2,1,0,0!9^396,468,0,0,19,2,1,0,0!6^516,204,3,0,0,3!6^204,348,2,0,0,3!6^636,444,3,0,0,2!6^396,204,2,0,0,2!4^444,210,1!4^324,498,1!6^156,492,3,0,0,0!6^588,348,3,0,0,3!12^468,180!12^324,180!12^504,324!12^288,324!12^396,432!12^396,288!12^396,144!12^396,504!12^396,360!12^396,216!0^732,564!0^708,552!0^756,552!0^744,564!0^720,564!0^48,564!0^60,564!0^72,564!0^84,552!0^36,552!0^84,384!0^84,396!0^84,408!0^84,420!0^708,384!0^708,396!0^708,408!0^708,420!0^684,240!0^684,252!0^684,264!0^108,240!0^108,252!0^108,264!12^456,360!12^336,360!4^372,354,1!12^456,468!12^492,504!12^300,504!12^336,468!12^612,468!12^552,468!12^180,468!12^240,468");
var _local45 = new LevelData("ternary", "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C11D000000000000000000011110000000000000000000111A00000000000000000001110000000000000000000C111@000000000000000000111110?0000000000000000111110N0000000000000003111110000C1D00000000GK11111A000G101OK1111111111111000111011111111111111110000F101QJ11111111111110000000E00000000FJ11111@00000000000000000211111000000000000000000111110N0000000000000000111110>0000000000000000B111A000000000000000000011100000000000000000000111@000000000000000000011110000000000000000000B11E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|5^372,36!11^384,108,396,516!9^564,516,0,0,17,4,1,0,0!9^228,516,0,0,17,4,1,-1,0!1^708,504!1^708,492!1^708,480!1^708,468!1^708,456!1^84,504!1^84,492!1^84,480!1^84,468!1^84,456!1^492,324!1^492,312!1^492,300!1^492,288!1^300,324!1^300,312!1^300,300!1^300,288!1^768,372!1^756,372!1^744,372!1^732,372!1^720,372!1^708,372!1^24,372!1^36,372!1^48,372!1^60,372!1^72,372!1^84,372!1^768,288!1^756,288!1^744,288!1^732,288!1^768,204!1^756,204!1^24,288!1^36,288!1^48,288!1^60,288!1^24,204!1^36,204!1^588,324!1^588,312!1^588,300!1^588,288!1^588,204!1^588,216!1^588,228!1^588,240!1^204,324!1^204,312!1^204,300!1^204,288!1^204,204!1^204,216!1^204,228!1^204,240!1^528,132!1^552,132!1^540,132!1^240,132!1^264,132!1^252,132!1^624,132!1^648,132!1^636,132!1^168,132!1^144,132!1^156,132!1^768,132!1^756,132!1^24,132!1^36,132!3^564,420!3^228,420!8^420,516,1!8^372,516,1!4^468,570,1!4^252,570,1!4^756,570,1!2^120,576,0,-1!2^672,576,0,-1!0^264,108!0^252,108!0^240,108!0^168,108!0^156,108!0^144,108!0^528,108!0^540,108!0^552,108!0^624,108!0^636,108!0^648,108!0^756,108!0^756,180!0^732,264!0^708,348!0^36,108!0^36,180!0^60,264!0^84,348!0^192,264!0^204,264!0^216,264!0^600,264!0^588,264!0^576,264!1^300,204!1^300,216!1^300,228!1^300,240!1^492,204!1^492,216!1^492,228!1^492,240!0^504,264!0^492,264!0^480,264!0^312,264!0^300,264!0^288,264");
var _local50 = new LevelData("stress test 1", "00000000000000000000000000000000000000000000000000050005000200000000000000000000000000000000050000000000000200200000000000000000000000000000000000005020000000200000000500000000020000000050000000000000000000000000000000000000020000000000005000020000000000005000000340000000200000000000035240000000000000000000243500000000000004000000250000000300000000000400003000000000000000000000000000300000040000000000000000000000000040000000003000000000000000040300000003000000000000000000000000004000000000000030030000000000000000000000000000000040004000300000000000000000000000000000000000000000000000000000000011111111111111111111100110001110001110001110001500021500021500021100000314000314000314000040001110001110001110003|5^636,564!11^696,564,336,360!6^684,468,3,0,0,0!6^732,396,2,0,0,3!6^708,276,3,0,0,2!6^732,204,2,0,0,0!6^708,156,3,0,0,3!0^744,228!0^696,156!0^696,300!0^744,372!0^696,444!0^744,516!0^744,528!0^744,540!0^528,456!0^480,504!0^192,504!0^144,456!0^216,408!0^264,456!0^312,480!0^360,480!0^408,456!0^456,408!0^528,384!0^576,336!0^480,312!0^384,336!0^288,336!0^192,312!0^144,384!0^96,336!0^96,264!0^192,288!0^288,240!0^384,240!0^480,288!0^576,264!0^576,168!0^456,192!0^528,72!0^432,96!0^360,120!0^312,120!0^240,96!0^216,192!0^96,168!0^144,72!12^636,516!12^636,468!12^636,420!12^636,372!12^636,324!12^636,276!12^636,228!12^636,180!12^636,132!12^636,84!12^36,84!12^36,132!12^36,180!12^36,228!12^36,276!12^36,324!12^36,372!12^36,420!12^36,468!12^36,516!3^336,192!0^744,60!0^744,72!0^744,84!0^744,552!0^744,96");
var _local46 = new LevelData("prismatic bezel", "11111111I0000000000000F150000110000000000000005000001100N1100000011P00001001100N1100000011P00001001100N1500000021P000000011000000000000000000000110000000000000000001401100000000000000000011111000000000GK11D00002111100000000011111100001111000000000150B11000011110000000GK10002100002111003110011E00001000001150011500150000010CD00QQ0000000KE0000C01011000000000000000001000BE00OO0000000JD0000BLO0000011400114001400002100003111002110011D00001000011110000000FJ100031000011110000000001LOK110003111100000000011111100011111000000000FJ11E00001501100000000000000000000011000000000000000000000110000000000000000001001100N1400000031P00001001100N1100000011P04000001100N1100000011P01400001100000000000000011111111H0000000000000G|5^396,36!9^672,144,1,0,16,15,1,0,-1!9^120,144,1,0,16,15,1,0,0!4^588,162,1!4^204,162,1!4^564,570,1!4^228,570,1!9^672,552,0,0,15,22,1,-1,0!9^120,552,0,0,15,22,1,0,0!12^648,336!12^648,480!12^144,336!12^144,480!12^324,360!12^468,360!12^264,408!12^528,408!12^600,432!12^192,432!12^564,456!12^228,456!12^300,408!12^492,408!12^648,408!12^144,408!0^636,516!0^624,516!0^612,516!0^600,516!0^588,516!0^156,516!0^168,516!0^180,516!0^192,516!0^204,516!0^588,504!0^600,504!0^204,504!0^192,504!11^402,564,504,492!10^276,492!1^396,444!12^432,312!12^360,312!12^564,348!12^228,348!6^516,36,3,1,0,0!6^276,36,2,1,0,2!6^732,564,3,1,0,3!6^60,564,0,1,0,3!0^132,84!0^120,84!0^108,84!0^660,84!0^672,84!0^684,84!0^396,156!0^396,168!0^396,180!0^612,504!0^180,504!0^588,492!0^204,492!0^588,528!0^600,528!0^204,528!0^192,528!1^708,408!1^84,408");
var _local44 = new LevelData("deliverator", "111111111111111111111115000011000500500500500200000150000000000000000000001000000000000000000000000000000000000000000000000400400400400400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000700000000000000000000311000000000000111111111110000000000001111111111100000000000011111111111000000000000:1111111111000000000000000000000610000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000071000000000000;11111111110000000000001111111111100000000000711111111111|5^228,564!12^420,312!12^384,348!12^384,492!12^384,420!12^288,228!12^288,300!12^288,372!12^288,444!12^372,384!12^372,456!12^384,312!12^324,264!12^324,336!12^324,408!0^348,312!0^348,324!0^348,336!0^348,360!0^348,372!0^348,384!0^348,408!0^348,420!0^348,432!0^348,456!0^348,468!0^348,480!12^324,480!11^312,564,84,132!10^756,36!3^540,396!3^636,492!0^564,540!0^552,540!0^684,348!0^684,360!0^684,372!0^684,396!0^684,408!0^684,420!0^684,444!0^684,456!0^684,468!0^684,492!0^684,504!0^684,516!1^588,444!1^588,492!1^588,396!0^540,540!12^324,192!6^156,252,1,0,0,0!6^132,372,0,0,0,3!6^180,516,1,0,0,3!2^702,318,-0.707106781186547,-0.707106781186547!2^660,552,0,-1!0^612,540!0^624,540!0^636,540!0^588,540");
var _local49 = new LevelData("crabbed and claw-like", "E00000000000000000000110000000000000000000000B000000000C@0?D0000000000?A0>@000100010000000000C000D0001000100000000001A0>10001@0?10000000000100010001000100000000001A0>1000100010000000000B000E0001@0?1000CA0>D00NA0>P000100010001000100N000P00010001000B000E00NA0>P0001@0?1000NA0>P00C000D000B000E000N000P001A0>1000N000P000N000P0010001000N@0?P000NA0>P0010001000NP0NP000N000P0010001000NA0>P000N@0?P001@0?1000N000P000N000P00B000E000C000D000N000P00N@0?P0001A0>1000N@0?P00N000P00010001000C000D00N@0?P000100010001000100C000D0001A0>1000B@0?E001@0?1000100010000000000100010001000100000000001@0?10001A0>100000000C0B000E00010001000000GK10>@0?A000100010000C1111000000000BA0>E000011110000000000000000000111E0D000000000000000000000?|5^132,564!11^720,564,396,108!9^396,210,1,0,31,19,1,0,-1!9^396,300,1,0,31,20,1,0,-1!9^396,396,1,0,31,21,1,0,-1!9^396,492,1,0,31,21,1,0,0!12^396,144!12^396,72!12^396,432!12^396,360!12^432,396!12^360,396!12^372,252!12^336,468!12^336,516!12^456,516!12^456,468!12^588,300!12^660,300!12^516,300!12^276,300!12^204,300!12^132,300!12^144,132!12^648,132!12^552,132!12^240,132!12^504,84!12^288,84!12^192,84!12^600,84!12^696,84!12^96,84!0^696,300!0^624,300!0^552,300!0^480,300!0^312,300!0^240,300!0^168,300!0^96,300!0^336,108!0^348,108!0^360,108!0^372,108!0^420,108!0^432,108!0^444,108!0^456,108!0^492,492!0^480,492!0^456,492!0^444,492!0^516,492!0^528,492!0^552,492!0^564,492!0^228,492!0^240,492!0^264,492!0^276,492!0^300,492!0^312,492!0^336,492!0^348,492!2^36,528,0,-1!12^396,576!12^468,576!12^324,576!12^360,540!12^432,540!12^516,60!0^372,36!0^384,36!0^396,36!0^408,36!0^420,36!0^324,552!0^336,552!0^348,564!0^360,564!0^372,564!0^384,552!0^396,552!0^408,552!0^420,564!0^432,564!0^444,564!0^456,552!0^468,552!6^540,468,0,0,0,2!6^252,516,0,0,0,0!6^276,372,0,0,0,2!6^564,228,0,0,0,0!6^372,180,1,0,0,0!12^336,132!12^456,132!12^336,276!12^336,324!12^456,276!12^456,324!12^420,252!12^372,204!12^420,204!12^276,60");
var _local48 = new LevelData("tower of long mistakes ext.", "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001001001001001001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|5^300,564!11^204,564,396,96!6^708,564,3,0,1,0!1^660,132!1^132,132!1^660,276!1^660,420!1^132,276!1^132,420!0^660,396!0^660,372!0^660,348!0^660,324!0^660,300!0^660,252!0^660,228!0^660,204!0^660,180!0^660,156!0^132,396!0^132,372!0^132,348!0^132,324!0^132,300!0^132,252!0^132,228!0^132,204!0^132,180!0^132,156!0^132,108!0^132,84!0^132,60!0^660,108!0^660,84!0^660,60!0^660,36!0^132,36!8^36,564,3!12^24,468!12^768,468!12^768,372!12^768,324!12^768,228!12^768,180!12^768,84!12^24,84!12^24,180!12^24,228!12^24,324!12^24,372!12^768,516!12^24,516");
var _local52 = new LevelData("tower of long mistakes int.", "00000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000111100000000000000000031111031111111111111111111111111111111111111111111111111111111111001001001111111110010010000000021111100100000000000000000000000000000000000000000000000000000000000000000000000000000000000300001001001001001001001000000000000000000000020000000000000000000000000000000000000000000000111110010000000000000001111111100100100000000311111111111111001001001111111111111111111111110211111111111111111111100000000000000000021111000000000000000000011110000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003|5^324,564!8^540,516,2!8^252,540,0!8^540,468,2!8^252,444,0!8^252,396,0!8^540,372,2!8^516,324,2!8^276,300,0!8^276,252,0!8^516,228,2!8^492,180,2!8^300,156,0!11^468,564,396,96!0^456,204!0^444,204!0^432,204!0^360,204!0^348,204!0^336,204!0^348,276!0^336,276!0^324,276!0^444,276!0^456,276!0^468,276!0^468,348!0^456,348!0^444,348!0^348,348!0^336,348!0^324,348!0^312,420!0^324,420!0^336,420!0^312,492!0^324,492!0^336,492!0^480,420!0^468,420!0^456,420!0^456,492!0^468,492!0^480,492");
var _local4 = new Array();
_local4.push(_local58);
_local4.push(_local55);
_local4.push(_local16);
_local4.push(_local12);
_local4.push(_local26);
this.episodeList[30] = new EpisodeData("episode 30", "xxxx", _local4);
var _local3 = new Array();
_local3.push(_local13);
_local3.push(_local59);
_local3.push(_local21);
_local3.push(_local17);
_local3.push(_local31);
this.episodeList[31] = new EpisodeData("episode 31", "bonanza", _local3);
var _local6 = new Array();
_local6.push(_local53);
_local6.push(_local51);
_local6.push(_local60);
_local6.push(_local56);
_local6.push(_local18);
this.episodeList[32] = new EpisodeData("episode 32", "vermillion", _local6);
var _local5 = new Array();
_local5.push(_local57);
_local5.push(_local54);
_local5.push(_local14);
_local5.push(_local61);
_local5.push(_local22);
this.episodeList[33] = new EpisodeData("episode 33", "rapini", _local5);
var _local7 = new Array();
_local7.push(_local27);
_local7.push(_local23);
_local7.push(_local35);
_local7.push(_local32);
_local7.push(_local40);
this.episodeList[34] = new EpisodeData("episode 34", "enzyme", _local7);
var _local10 = new Array();
_local10.push(_local33);
_local10.push(_local28);
_local10.push(_local38);
_local10.push(_local36);
_local10.push(_local42);
this.episodeList[35] = new EpisodeData("episode 35", "record", _local10);
var _local9 = new Array();
_local9.push(_local19);
_local9.push(_local15);
_local9.push(_local29);
_local9.push(_local24);
_local9.push(_local37);
this.episodeList[36] = new EpisodeData("episode 36", "sombre", _local9);
var _local8 = new Array();
_local8.push(_local25);
_local8.push(_local20);
_local8.push(_local34);
_local8.push(_local30);
_local8.push(_local39);
this.episodeList[37] = new EpisodeData("episode 37", "reactor", _local8);
var _local2 = new Array();
_local2.push(_local43);
_local2.push(_local41);
_local2.push(_local47);
_local2.push(_local45);
_local2.push(_local50);
this.episodeList[38] = new EpisodeData("episode 38", "pseudonym", _local2);
var _local11 = new Array();
_local11.push(_local46);
_local11.push(_local44);
_local11.push(_local49);
_local11.push(_local48);
_local11.push(_local52);
this.episodeList[39] = new EpisodeData("episode 39", "morass", _local11);
};
NinjaData.prototype.BuildGameData_Set4 = function () {
var _local23 = new LevelData("brinks", "50000000000000000000002000000000000000000000000000000000000000000040000111111111111111110100001500100000000000001000010001000000000000010000000010000000000000100000000100000000000001000010001000000000000010000140010000000000000100001111111111111111111000010000001000000000010000100000010000000000100001000000100000000001000010000001000000000010000100000010000000000100001000000100000000001000010000001000000000010000100000010000110000000001000000100001100000000010000001000000000010000100000010000000000100001000000100000000001000010000001000000000010000100000010000000000100001000000100000000001000010000001000000000010000111001111111111111100000000000000000000000000000000000000000000000040000000000000000000003|5^156,156!11^228,156,480,348!9^324,132,0,0,4,20,1,-1,0!9^636,132,0,0,4,20,1,0,0!6^660,228,3,1,0,3!6^300,108,3,1,0,1!4^372,234,1!12^564,204!12^528,144!12^420,132!12^348,192!12^456,216!8^516,396,0!8^444,396,2!8^660,372,2!8^300,372,0!0^252,204!0^228,204!0^204,204!0^180,204!0^156,204!0^132,204!0^132,228!0^156,228!0^180,228!0^204,228!0^228,228!0^252,228!0^252,252!0^228,252!0^204,252!0^180,252!0^156,252!0^132,252!0^132,276!0^156,276!0^180,276!0^204,276!0^228,276!0^252,276!0^252,300!0^228,300!0^204,300!0^180,300!0^156,300!0^132,300!0^132,324!0^156,324!0^180,324!0^204,324!0^228,324!0^252,324!0^252,348!0^228,348!0^204,348!0^180,348!0^156,348!0^132,348!0^132,372!0^156,372!0^180,372!0^204,372!0^228,372!0^252,372!0^252,396!0^228,396!0^204,396!0^180,396!0^156,396!0^132,396!6^180,564,2,0,2,2!6^756,108,3,0,2,1");
var _local20 = new LevelData("blepharitis", "9000061190611190006119600000011000111000001100800000110001110;<001100111<00110001110:=00:=00111=00110001110000000079000001100011100;11111100;1<0:=00011100111119600:1=00000011100:1111008000000000011100000000711111111<0011100;1111111111111110011100:1111111111111110011100000000611111111=0011100000;<0090000000000:1=00000:=00000000000000000000000070;<0;11<0;1111111<0;1110:=0:11=0:1111111=0:111000000000000000000000068000000000;1<000000;<00111111<000111000000110011111110001110000001100111111=000111000000:=00900000000011100000000070000000000111000;1111110000000;<011100011111118000;<0110111000:11111111<0110110111000000000611=0110:=011100;<0;<000900011000011100:=0110000000110000111000001100080071180071118000711807|5^504,468!11^204,564,408,36!9^60,60,1,0,9,18,1,0,-1!9^732,72,1,0,9,19,1,0,-1!9^84,552,1,0,9,20,1,0,-1!9^708,540,1,0,9,21,1,0,-1!9^408,228,1,0,9,21,1,0,0!0^348,564!0^336,564!0^324,564!0^492,564!0^504,564!0^516,564!0^756,204!0^756,216!0^756,228!0^36,240!0^36,252!0^36,264!0^588,36!0^600,36!0^612,36!0^180,36!0^192,36!0^204,36!0^36,396!0^36,408!0^36,420!0^756,396!0^756,408!0^756,420!6^252,372,1,1,0,0!6^564,132,1,0,0,3!6^708,444,0,1,0,0!6^228,180,0,0,0,3!6^444,348,1,0,0,3");
var _local31 = new LevelData("orbital station", "5000000211IF1150000000>0000000000000000000000?00000000000000000000001000000000000000000000010000000LK000000000000010000000BE000000000000010000000CD0000000000000>0000000MJ0000LK0000000?0000000000000BE000000010000000000000CD000000014000000000000MJ000000011000000000000000000000B100000000000000000000001000001HG100000001O1000A00000B11E0000000B1E000000000N11P0000000N1P000@00000C11D0000000C1D0001000001IF100000001Q1000100000000000000000000001000000000000000000000C5000000000000LK000000010000000000000BE000000010000000000000CD000000010000000LK0000MJ0000000>0000000BE0000000000000?0000000CD000000000000010000000MJ0000000000000100000000000000000000001000000000000000000000010000000000000000000000>4000000311HG1140000000?|5^396,540!7^588,564,3!7^612,564,3!7^732,564,3!7^756,564,3!7^204,564,3!7^180,564,3!7^60,564,3!7^36,564,3!7^36,300,0!7^36,276,0!7^756,276,2!7^756,300,2!7^636,204,3!7^612,204,3!7^564,348,3!7^540,348,3!7^444,468,0!7^348,468,2!7^372,444,3!7^396,444,3!7^420,444,3!7^204,372,2!7^204,348,2!7^228,348,3!7^252,348,3!7^276,348,0!7^276,372,0!7^180,204,3!7^156,204,3!7^372,180,3!7^396,180,3!7^420,180,3!7^444,204,0!7^444,228,0!7^348,228,2!7^348,204,2!7^324,576,3!7^348,576,3!7^372,576,3!7^396,576,3!7^420,576,3!7^444,576,3!7^468,576,3!2^672,552,0,-1!2^120,552,0,-1!2^756,204,-0.707106781186547,-0.707106781186547!2^36,204,0.707106781186547,-0.707106781186547!11^396,420,396,108!6^324,60,3,0,0,2!6^468,60,2,0,0,0!6^756,468,3,0,0,3!6^36,468,3,0,0,1!3^396,84!1^276,216!1^516,216!1^360,360!1^432,360!1^168,132!1^624,132!0^540,36!0^564,36!0^588,36!0^612,36!0^636,36!0^660,36!0^684,36!0^708,36!0^732,36!0^252,36!0^228,36!0^204,36!0^180,36!0^156,36!0^132,36!0^108,36!0^84,36!0^60,36!1^636,360!1^708,360!1^156,360!1^84,360!1^240,492!1^540,492");
var _local27 = new LevelData("mine-ox", "50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110000000000000000000015004000140000000000000100011111111111111111111000001500000000000000000000000000000000000000000040000000000000000000003|5^708,60!12^696,180!12^768,156!12^768,228!12^696,252!12^696,348!12^768,300!12^768,396!12^696,420!12^768,444!12^756,564!12^768,540!12^696,492!12^768,60!11^60,564,660,108!4^108,570,1!8^204,348,0!8^492,108,2!8^516,324,3!8^180,132,1!8^348,204,3!8^348,252,1!1^444,408!1^252,408!1^588,348!1^96,348!1^96,108!1^132,228!1^276,228!1^420,228!1^588,108!1^564,228!12^636,132!12^636,168!12^660,192!12^660,228!12^600,168!12^576,144!12^540,144!1^300,132!1^396,132!12^36,108!12^36,204!12^36,300!12^36,396!12^36,492!12^48,444!12^48,348!12^48,252!12^48,156!0^444,384!0^444,372!0^252,384!0^252,372!0^276,204!0^276,192!0^276,180!0^420,204!0^420,192!0^420,180!0^552,204!0^564,204!0^576,204!0^576,192!0^564,192!0^552,192!0^552,180!0^564,180!0^576,180!1^468,300!1^228,300!0^228,276!0^228,264!0^468,276!0^468,264");
var _local41 = new LevelData("tensor", "50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000011000000000000000000003500000000000000014002110000001000000000000000000000000000000001500311000000000000000000000024000000000000000000000011000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000|5^396,108!11^396,564,396,384!7^396,396,1!9^660,156,1,0,16,15,1,0,-1!9^132,156,1,0,16,20,1,0,-1!9^276,252,1,0,16,21,1,0,-1!9^516,252,1,0,16,21,1,0,0!7^492,540,1!7^516,540,1!7^540,540,1!7^564,540,1!7^588,540,1!7^612,540,1!7^636,540,1!7^660,540,1!7^684,540,1!7^708,540,1!7^732,540,1!7^756,540,1!7^300,540,1!7^276,540,1!7^252,540,1!7^228,540,1!7^204,540,1!7^180,540,1!7^156,540,1!7^132,540,1!7^108,540,1!7^84,540,1!7^60,540,1!7^36,540,1!12^768,564!12^24,564!12^312,564!12^480,564!4^180,570,1!4^612,570,1!0^612,468!0^624,468!0^636,468!0^636,456!0^624,456!0^612,456!0^624,444!0^180,468!0^168,468!0^156,468!0^156,456!0^168,456!0^180,456!0^168,444!0^108,312!0^108,324!0^108,336!0^96,336!0^96,324!0^96,312!0^84,312!0^84,324!0^84,336!0^708,336!0^708,324!0^708,312!0^696,312!0^684,312!0^684,324!0^684,336!0^696,336!0^696,324!1^396,444!0^636,444!0^612,444!0^156,444!0^180,444!12^396,252!12^396,204!12^396,156!12^396,300!12^432,372!12^360,372");
var _local28 = new LevelData("plateau", "50000000000000211111MI00000000000000001111500G000000000110000111E0000000310000150000111A000000011114010000?1150000?00001111110000C1E0000020000150015000?11A0000000000100000000C150000000000000000000?1E0000000F000000000000C1A0000000000000000000?1M00000000000000000000CA000000000C0000000000?E00000000OK10000000000CA00000000JAF000000000?1000000000000000000000CE00000000000?00000000?E0000000000OK100000000CA000000000000F000000031000000000000000000000110000000000000C00000001E000000000000>100000001A00000000000001000000010000000000000310000000100000000000000F00000001000000000000000000000010000000000000000000000110000000000000K0000000150000000000000>000000000000000000000H000000000000000000CH03110000000000000000G111111|5^84,372!11^624,564,36,564!12^348,444!12^408,324!12^564,300!12^660,384!12^492,432!12^144,456!12^240,504!12^588,468!12^480,276!3^636,228!12^264,408!12^444,384!12^468,516!12^108,564!12^84,504!12^300,528!8^492,36,1!8^684,36,1!8^636,180,3!8^540,180,3!8^588,36,1!12^516,192!12^564,192!12^612,192!12^660,192!6^132,276,1,0,0,0!6^204,108,1,0,0,2!6^108,180,1,0,0,1!0^132,60!0^144,60!0^156,60!0^168,60!0^180,60!0^192,60!0^204,60!0^204,48!0^204,36!0^192,36!0^180,36!0^168,36!0^156,36!0^144,36!0^132,36!0^132,48!0^144,48!0^156,48!0^168,48!0^180,48!0^192,48!12^24,336!12^24,252!12^24,168!12^24,84");
var _local24 = new LevelData("sawtooth", "A000000000N1E000000000>0000000000N1P00000000000000000000>1P00000000000000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?0000000000>1P000000000?00000000000BA000000000?0000000000000000000000?0000000000000000000000N@000000000000000000000N|5^36,492!12^120,528!12^168,528!12^216,528!12^264,528!12^312,528!12^360,528!12^408,528!12^456,528!12^504,528!12^552,528!12^600,528!12^648,528!12^696,528!12^648,240!12^600,240!12^552,240!12^504,240!12^456,240!12^408,240!12^360,240!12^312,240!12^264,240!12^216,240!12^168,240!12^120,240!12^72,240!1^144,492!1^288,492!1^432,492!1^576,492!1^504,384!1^360,384!1^216,384!1^144,204!1^288,204!1^432,204!1^576,204!1^504,96!1^360,96!1^216,96!12^288,96!12^432,96!12^432,384!12^288,384!2^756,564,0,-1!11^72,564,36,264!0^204,360!0^216,360!0^228,360!0^228,348!0^216,348!0^204,348!0^348,360!0^360,360!0^372,360!0^372,348!0^360,348!0^348,348!0^492,360!0^504,360!0^516,360!0^516,348!0^504,348!0^492,348!0^516,72!0^504,72!0^492,72!0^492,60!0^504,60!0^516,60!0^372,72!0^360,72!0^348,72!0^348,60!0^360,60!0^372,60!0^228,72!0^216,72!0^204,72!0^216,60!0^204,60!0^228,60!6^756,180,0,1,0,3!6^36,204,1,1,0,3!6^444,348,0,1,0,2!1^648,384!0^636,360!0^648,360!0^660,360!0^660,348!0^648,348!0^636,348!1^648,96!0^660,72!0^648,72!0^636,72!0^636,60!0^648,60!0^660,60!12^576,96!12^576,384!6^612,252,1,1,0,2");
var _local36 = new LevelData("dicey", "00000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000010000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000100000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000001000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003|5^156,132!11^396,564,396,492!0^636,420!0^636,408!0^636,396!0^636,276!0^636,264!0^636,252!0^636,132!0^636,120!0^636,108!0^396,132!0^396,120!0^396,108!0^156,276!0^156,264!0^156,252!0^396,276!0^396,264!0^396,252!0^396,420!0^396,408!0^396,396!0^156,420!0^156,408!0^156,396!12^168,300!12^144,300!12^384,156!12^408,156!12^624,156!12^648,156!12^624,300!12^648,300!12^384,300!12^408,300!12^384,444!12^408,444!12^144,444!12^168,444!12^624,444!12^648,444!12^708,444!12^708,300!12^708,156!12^84,156!12^144,156!12^168,156!12^84,300!12^24,156!12^768,156!12^768,300!12^768,444!12^24,300!12^24,444!12^84,444!12^108,480!12^60,480!12^108,336!12^60,336!12^108,192!12^60,192!12^684,192!12^732,192!12^684,336!12^732,336!12^684,480!12^732,480!0^756,240!0^756,228!0^756,216!0^756,372!0^756,384!0^756,360!0^36,372!0^36,384!0^36,360!0^36,228!0^36,216!0^36,204");
var _local32 = new LevelData("station", "00000000FM00JI000000000000000000000000000000000000000000000000000000000000000310014000000000000000000B00E000000000000000000000000000000000000000000C00D00000000000000000311001140000000000000000000000000000000000000000000000000000000000000000000000000000000000031110011140000000000000000B00E00000000000000D000000000000C0000000C01H000C00D000G10D0000010111111001111110100000B01I000B00E000F10E0000000E000000000000B00000000000000C00D00000000000000002111001115000000000000000000000000000000000000000000000000000000000000000000000000000000000002110011500000000000000000B00E000000000000000000000000000000000000000000C00D000000000000000000210015000000000000000000000000000000000000000000000000000000000000000GL00KH000000000|5^396,108!11^396,468,396,288!1^540,420!1^252,420!1^252,156!1^540,156!1^492,516!1^300,516!1^300,60!1^492,60!1^720,420!1^672,516!1^72,420!1^120,516!1^720,156!1^672,60!1^72,156!1^120,60!12^768,396!12^768,444!12^768,492!12^768,540!12^732,576!12^60,576!12^108,576!12^156,576!12^204,576!12^252,576!12^684,576!12^636,576!12^588,576!12^540,576!12^492,576!12^444,576!12^396,576!12^348,576!12^300,576!12^468,552!12^420,552!12^372,552!12^324,552!12^276,552!12^228,552!12^180,552!12^516,552!12^564,552!12^612,552!12^756,564!12^36,564!12^24,540!12^24,492!12^24,444!12^24,396!12^768,180!12^768,132!12^768,84!12^768,36!12^24,180!12^24,132!12^24,84!12^24,36!0^720,132!0^672,36!0^540,132!0^492,36!0^300,36!0^120,36!0^72,132!0^72,120!0^252,132!0^720,120!0^720,396!0^720,384!0^672,492!0^672,480!0^120,492!0^120,480!0^72,396!0^72,384!0^252,396!0^300,492!0^492,492!0^540,396!6^420,372,1,0,0,3!6^276,372,0,0,0,3!6^516,348,1,0,0,3!6^684,300,2,1,0,2!6^300,276,2,1,0,0!0^744,288!0^732,288!0^720,288!0^708,288!0^696,288!0^48,288!0^60,288!0^72,288!0^84,288!0^96,288!0^624,288!0^636,288!0^648,288!0^144,288!0^156,288!0^168,288!0^444,288!0^348,288");
var _local46 = new LevelData("grudge match", "50000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000401400000000000000031401011111111111111111111050000000000000000002150000000000000000000001000000000000000000000010040000000000000000003140|5^60,564!10^348,276!7^564,516,3!7^540,516,3!7^444,516,3!7^420,516,3!7^324,516,3!7^300,516,3!7^204,516,3!7^180,516,3!7^84,516,3!7^60,516,3!7^504,540,3!7^480,540,3!7^264,540,3!7^240,540,3!7^396,468,3!7^372,468,3!7^600,456,3!7^624,456,3!7^156,432,3!7^132,432,3!7^60,444,3!7^36,444,3!7^276,396,3!7^300,396,3!7^480,396,3!7^504,396,3!7^612,348,3!7^636,348,3!7^636,228,3!7^612,228,3!7^36,204,3!7^60,204,3!7^36,324,3!7^60,324,3!7^156,156,3!7^180,156,3!7^396,156,3!7^420,156,3!7^228,228,3!7^252,228,3!7^468,276,3!7^492,276,3!7^168,348,3!7^192,348,3!11^720,564,240,204!9^384,444,0,0,27,23,1,-1,0!9^624,204,0,0,27,2,1,-1,0!9^48,300,0,0,27,2,1,0,0!0^720,492!0^720,468!0^720,444!0^720,420!0^720,396!0^720,372!0^720,348!0^720,324!0^720,300!0^720,276!0^720,252!0^720,228!0^720,204!0^720,180!0^720,156!0^720,132!0^720,108!0^720,84!0^720,60!0^720,36!0^756,444!0^684,444!0^684,468!0^756,468!0^756,396!0^756,372!0^684,372!0^684,396!0^756,324!0^756,300!0^684,300!0^684,324!0^684,252!0^684,228!0^756,228!0^756,252!0^756,180!0^756,156!0^684,156!0^684,180!0^756,108!0^756,84!0^684,84!0^684,108");
var _local18 = new LevelData("tri again", "0FJ1100000211000B10000>000FJ00000021000>10000000000000000020000B0000000000000000000000>0000000000000000000000000?0000000000000000300000C00000000GK00000310000?1000000GK1100003110000C1000000FJ1100002110000B100000000FJ00000210000>10000000000000000200000B0000000000000000000?00>0000000000003000000C000000000GK0003100000?10000?00GK110031100000C10000C00FJ110021100000B10000B0000FJ0002100000>10000>00000000002000000B0000000000000000000000>0000000000000000000300000?00000000GK000003100000C000000GK1100003110000?1000000FJ1100002110000C100000000FJ00000210000B1000000000000000020000>10000000000000000000000B0000000000000000000000>0000000000000000000?0000000000000000030000C00000000GK00000031000?1000000GK1100000311000C10000?|5^576,552!11^216,564,384,48!6^444,468,1,0,1,0!6^348,300,0,0,1,2!6^540,228,0,0,0,2!6^228,228,1,0,0,0!0^756,156!0^756,180!0^756,204!0^756,228!0^756,252!0^744,240!0^744,216!0^744,192!0^744,168!0^36,156!0^36,180!0^36,204!0^36,228!0^36,252!0^48,240!0^48,216!0^48,192!0^48,168!0^36,348!0^36,372!0^36,396!0^48,384!0^48,360!0^756,348!0^756,372!0^756,396!0^744,384!0^744,360!3^756,36!3^36,36");
var _local16 = new LevelData("electric avenue", "9006111111119000000611100001111111=0000000011100;01190000000000000:11001011000000000000000060010110000000000000000000:1110000000000;1<0000000611000;1<000011100000000110001110000:1=0000000011000:1=000000000008000:=000000000000000071<000000000000000000;1111000000000000000000:111100000000000000000006111000000000000;1<0000011100000000000011100000111000000000000:1=0000011180000;1<0000000000001111<00011100000000000711111000:1=000000000;1111111000000000000000111111110000000000000001111111100000000000000011111111000000000000000:111111100;1<00000000000006111=00111000;1<00000000900000:1=00011100000000000000000000:1=000000000000000000000000000000000000;11<0000000000000700000111100000000;1111180007111180000007111111|5^120,60!11^120,108,696,84!9^516,468,0,0,3,4,1,-1,0!4^648,570,1!4^384,546,1!4^180,570,1!0^156,540!0^168,540!0^180,540!0^192,540!0^204,540!0^204,528!0^192,528!0^180,528!0^168,528!0^156,528!0^360,516!0^372,516!0^384,516!0^396,516!0^408,516!0^408,504!0^396,504!0^384,504!0^372,504!0^360,504!0^624,540!0^636,540!0^648,540!0^660,540!0^672,540!0^672,528!0^660,528!0^648,528!0^636,528!0^624,528!0^732,276!0^732,288!0^732,300!0^732,312!0^732,324!0^732,336!0^732,348!0^732,360!0^732,384!0^732,372!0^732,396!0^60,348!0^60,360!0^60,372!0^60,384!0^60,396!0^60,408!0^60,420!0^60,432!0^60,444!0^60,456!0^60,468!6^204,324,1,1,0,0!6^420,396,1,1,0,3!6^588,348,0,1,0,3!6^444,276,0,1,0,2!6^132,444,0,1,0,3!6^564,204,1,1,0,1");
var _local25 = new LevelData("gothic", "A00000A000000A000000A0>000000000000000000000000000000000000000000000000GK80000000000000000000006MI0000000000000?00000000000G@00000@000C80000000000>I00000D0006E000000000000000071LH00A0000000@0000000FJI000000000007D00000000000000000000F11800000000000000000000BI0000@000000031LH00000>0000GD000000011I0000000000002L@0000G11LH000000000000B1H000021I0000000000000N1000000100000000000000C1I000031H0000000000003MA0000F11MI00000?0000FE000000011H000000C@0000A000000021MI0000G119000000000000000000006E0000000000000000000000A0000000GKH00000000000000000000061MI00@0000000000?H00000E0007D0000000000FA00000A000B9000007LH0000000000000>00000FJ90000000000000000000000000000000000000000000000000000000000000000@00000@000000@000000@0?|5^612,468!11^396,564,396,288!0^540,120!0^540,108!0^540,96!0^540,84!0^540,72!0^552,132!0^564,132!0^228,132!0^240,132!0^252,120!0^252,108!0^252,96!0^252,84!0^252,84!0^252,72!0^108,60!0^108,48!0^108,36!0^684,60!0^684,48!0^684,36!0^684,72!0^108,72!0^96,84!0^96,96!0^696,84!0^696,96!0^708,108!0^84,108!0^84,96!0^84,84!0^708,96!0^708,84!0^96,72!0^96,60!0^696,72!0^696,60!0^696,48!0^96,48!0^504,108!0^504,96!0^516,84!0^528,84!0^264,84!0^276,84!0^288,96!0^288,108!6^204,564,1,1,0,2!6^348,36,1,1,0,0!6^756,156,0,1,0,3!6^36,420,0,1,0,1");
var _local21 = new LevelData("ctf_death", "115011111111111111111111100111111111111111111115000FJ111111111111111100000000111111111111111000000000000211111111110000014000000J1111111114000011H0000000011111111000311100000000021111110001111001000000011111100K11110014000000011111002111140210000000211110001111100100000000J11140311111001400000000111111111111011000000002111111111150110000000001111111111001000000000315021111110010000000001100011111503100000000011000111110011000000031110031111100150000000111100021115001000000K11111000011100000000311111110000115000000011111111100001A000000311111111110000500000GK111111111110000000011111111111111100000031111111111111111400000111111111111111111@0000111111111111111111D000G1111111111111111111403111111111111111111|5^564,108!11^456,84,300,108!8^444,324,1!8^372,348,1!8^228,300,1!8^492,468,2!8^180,372,0!12^408,456!12^420,372!12^312,408!12^300,336!12^228,420!12^336,468!12^492,360!0^420,516!0^420,504!0^324,516!0^324,504!0^204,420!0^180,396!0^516,420!0^564,348!0^336,432!0^324,348!0^336,348!0^348,348!0^396,324!0^408,324!0^420,324!0^468,324!0^276,324!0^264,324!0^252,324!0^408,420!0^420,408!0^408,408!0^324,432!0^336,420!0^408,504!0^336,504!0^276,408!6^396,276,0,0,0,0!6^252,252,1,0,0,2!6^204,276,0,0,0,3!0^108,36!0^120,36!0^132,36!0^144,36!0^156,36!3^180,60!0^324,444!0^336,444!0^420,420!0^420,432!0^408,432!0^324,420!0^348,360!0^336,360!0^324,360!0^396,336!0^408,336!0^420,336!0^468,336!0^480,336!0^480,324!0^504,420!0^504,408!0^516,408!0^336,516!0^408,516!0^204,408!0^204,396!0^192,396!0^252,336!0^264,336!0^276,336!0^276,420!0^288,420!0^288,408!6^516,300,1,0,0,0");
var _local33 = new LevelData("blame youreself", "50000000000000000000002000000000000000000000000000000000000000000000000001000010000100001000000000000000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000001000010000100001110000000000000000000002100000000000000000000001000000001000000001000010000000000000000000000100000000000000000000001000001000010000100001010000000000000000000000100000000000000000000001000000001000000001000010000000000000000000000100000000000000000000031000001000010000100001110000000000000000000000000000000000000000000000000000001000000001000000000000000000000000000000000000000000000000000000001000010000100001000000000000000000000000000000000000000000000000040000000000000000000003|5^396,516!11^396,564,396,108!9^180,180,0,0,10,23,1,-1,0!9^684,468,0,0,22,23,1,0,0!9^324,180,0,0,21,23,1,0,0!9^612,396,0,0,11,23,1,-1,0!9^612,180,0,0,12,23,1,-1,0!9^180,396,0,0,20,23,1,0,0!9^108,468,0,0,13,23,1,-1,0!9^468,180,0,0,19,23,1,0,0!9^468,312,0,0,14,23,1,-1,0!9^324,312,0,0,18,23,1,0,0!9^180,312,0,0,14,23,1,0,0!9^612,312,0,0,18,23,1,-1,0!0^684,348!0^684,228!0^684,108!0^540,108!0^252,108!0^108,108!0^108,228!0^252,228!0^396,228!0^540,228!0^540,348!0^396,348!0^252,348!0^108,348!0^324,396!0^468,396!0^396,468!12^324,360!12^180,360!12^468,360!12^612,360!12^612,132!12^468,132!12^324,132!12^180,132!12^756,312!12^36,312!12^36,180!12^756,180!12^756,444!12^36,444!12^612,108!12^612,84!12^180,108!12^180,84!12^324,36!12^468,36!12^324,60!12^300,132!12^348,132!12^468,60!12^444,132!12^492,132!12^396,180!12^540,180!12^252,180");
var _local22 = new LevelData("eruptive", "50000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000003|5^168,516!2^216,576,0,-1!12^264,564!12^300,528!12^336,456!12^408,396!12^420,432!12^372,480!12^348,528!12^396,552!12^432,480!12^456,528!12^348,408!2^576,576,0,-1!2^732,576,0,-1!2^60,576,0,-1!11^660,564,60,348!7^132,564,3!7^108,564,3!7^84,540,0!7^84,516,0!7^84,492,0!7^84,468,0!7^84,444,0!7^84,420,0!7^84,396,0!7^84,372,0!7^84,348,0!7^84,324,0!7^84,300,0!7^84,276,0!7^84,252,0!7^84,252,3!7^60,252,3!7^36,252,3!9^732,492,0,0,5,23,1,0,0!9^732,420,0,0,4,23,1,0,0!9^732,348,0,0,4,23,1,-1,0!10^732,60!12^372,396!12^348,576!12^396,576!12^288,576!0^252,396!0^240,360!0^324,360!0^300,384!0^276,360!0^288,324!0^348,300!0^372,312!0^336,324!0^360,348!0^384,336!0^420,300!0^468,276!0^480,300!0^432,312!0^420,336!0^444,336!0^456,300!0^504,300!0^516,324!0^480,336!0^468,372!0^492,372!0^504,360!0^516,336!0^564,324!0^576,348!0^540,360!0^528,384!0^552,408!0^564,372!0^540,324!0^528,288!0^492,312!0^420,360!0^396,372!0^372,372!0^324,384!0^396,276!0^432,264!0^576,396!0^264,324!0^312,276!0^372,264!0^312,300!0^552,300!0^84,228!0^60,228!0^36,228!0^36,204!0^60,204!0^84,204!0^84,180!0^60,180!0^36,180!12^456,456!12^480,492!12^492,552!12^396,492!12^300,504!12^312,444");
var _local19 = new LevelData("evolve", "A>1A000000>A00>A00>A00>0010000000000000000000000100000000000000000?@000100000000000000000>A0001000000000000000000000010000000000000?@000000010000000000000>A00000@0100000000000000000?@0101000000000?@000000>A0A01000000000>A0000000000010000?@0000000?@000000010000>A0000000>A0000000100000000000000000?@000E00000000000000000>A00000000000000000000000?0000000000000000000000N0000000000000000000000>00D00000000000000000?@000100000000000000000>A00010000?@0000000?@000000010000>A0000000>A00000@01000000000?@000000000101000000000>A000000?@0A0100000000000000000>A00010000000000000?@000000010000000000000>A000000010000000000000000000000100000000000000000?@000100000000000000000>A000100000000000000000000@?1@000000?@00?@00?@00?|5^756,420!1^396,180!11^120,60,396,264!9^396,360,0,0,9,2,1,-1,0!9^396,456,0,0,9,2,1,0,0!0^732,60!0^708,60!0^684,60!0^660,60!0^636,60!0^612,60!0^756,48!0^732,36!0^708,36!0^684,36!0^660,36!0^636,36!0^612,36!0^588,48!0^648,48!0^696,48!6^540,300,0,0,0,0!4^708,570,1!4^84,570,1!12^564,432!12^228,432!12^636,528!12^156,528!12^396,564!1^444,144!1^348,144!6^228,372,1,0,0,0!9^228,108,0,0,23,2,1,-1,0!9^564,108,0,0,23,2,1,0,0!6^756,156,3,0,0,3!6^36,132,3,0,0,1!0^600,48!0^612,48!0^624,48!0^636,48!0^660,48!0^672,48!0^684,48!0^708,48!0^720,48!0^732,48!0^744,48!0^672,60!0^672,36!0^720,36!0^720,60!0^624,60!0^624,36");
var _local29 = new LevelData("caterpie", "50000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000003|5^732,540!1^612,516!1^600,516!1^588,516!1^576,516!1^564,516!1^552,516!1^540,516!1^528,516!1^252,468!1^264,468!1^276,468!1^288,468!1^300,468!1^312,468!1^324,468!1^336,468!1^492,372!1^504,372!1^516,372!1^528,372!1^132,372!1^120,372!1^108,372!1^96,372!1^420,444!1^432,444!1^444,444!1^456,444!1^228,324!1^240,324!1^252,324!1^264,324!1^420,324!1^408,324!1^396,324!1^384,324!1^636,300!1^648,300!1^660,300!1^672,300!1^684,300!1^696,300!1^708,300!1^720,300!1^516,228!1^504,228!1^492,228!1^480,228!1^372,180!1^360,180!1^348,180!1^336,180!1^60,132!1^72,132!1^84,132!1^96,132!1^108,132!1^120,132!1^132,132!1^144,132!1^636,108!1^624,108!1^612,108!1^600,108!1^120,240!1^132,240!1^144,240!1^156,240!11^60,564,252,96!12^768,516!12^768,444!12^768,372!12^768,300!12^768,228!12^768,156!12^768,84!12^24,516!12^24,444!12^24,372!12^24,300!12^24,228!12^24,156!12^24,84!0^144,108!0^132,108!0^120,108!0^108,108!0^96,108!0^84,108!0^72,108!0^60,108!0^612,84!0^600,84!0^624,84!0^636,84!0^636,72!0^624,72!0^612,72!0^600,72!0^600,60!0^612,60!0^624,60!0^636,60!3^396,276");
var _local26 = new LevelData("evac 2", "0000000000000000000A002000000000000000000000000000000000000000000000C000000000000000000000FJ0000000000000000000000G0000000000000000000000?000000000000000000000000000000000000000000000F00000000000000000000003000111111111111100000000001111111111111000000G0001111111111111000000F0001111111111111000000F0001111111111111000000>0001111111111115000000G0001111111111110000000G0001111111111114000000>00011111111111110000000000111111111111100000GK000111111111111100000020001111111111111000000G0001111111111111000000F0000000000000000000000F000000000000000000000030000000000000000000000>0000000000000000000000G000000000000000000000030000000000000000000000F000000000000000000000GK0000000000000000000000F0000000000000000000@003|5^396,36!11^396,84,396,396!1^252,492!1^540,492!1^396,492!12^48,552!12^60,516!12^180,528!12^120,552!12^216,540!12^288,528!12^312,504!12^360,528!12^132,516!12^576,528!12^624,540!12^660,516!12^696,480!12^744,504!12^696,504!12^600,504!12^528,540!12^444,552!12^408,540!12^324,552!12^456,516!12^492,516!12^264,564!12^204,516!12^36,516!12^756,444!12^756,372!12^756,300!12^756,228!12^756,156!12^756,84!12^36,444!12^36,372!12^36,300!12^36,228!12^36,156!12^36,84!12^732,408!12^732,336!12^732,264!12^732,192!12^732,120!12^60,408!12^60,336!12^60,264!12^60,192!12^60,120!6^564,252,1,0,0,3!6^228,252,0,0,0,3!6^588,444,2,1,0,2!6^636,396,3,1,0,3!0^540,468!0^516,468!0^492,468!0^468,468!0^444,468!0^420,468!0^396,468!0^372,468!0^348,468!0^324,468!0^300,468!0^276,468!0^252,468");
var _local37 = new LevelData("rob n hood", "00000000000000000000000001140000000000000000000001111111111111111111100111111111111111111111000111111111111111111110011111111111111111111100011111111111111111111001111111111111111111110001111111111111111111100115000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011140000000000000000000011111111100000000000001111111111000000000000001111111110000000000000111111111100000000000000111111111000000000000011150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000114000000000000000000000111110000000000000000011111100000000000000000011111000000000000000001150000000000000000000000000000000000000000000000000|5^732,540!0^48,540!0^48,516!0^48,492!0^48,468!0^48,444!0^48,420!0^48,396!0^48,372!0^48,348!0^48,324!0^48,300!0^48,276!0^48,252!0^48,228!0^48,204!0^48,180!11^732,564,156,60!12^768,360!12^768,300!12^768,240!12^768,180!12^768,120!12^768,60!0^588,540!0^564,540!0^540,540!0^516,540!0^324,468!0^300,468!0^276,468!0^276,492!0^276,516!0^276,540!0^300,540!0^324,540!0^324,516!0^324,492!12^300,492!12^300,516!6^348,564,3,0,0,3!6^492,564,3,0,0,0!1^564,276!1^492,228!1^564,180!1^636,228!1^420,180!1^492,132!1^564,84!1^636,132!1^708,180!3^252,156!12^60,456!12^60,264!12^36,360!12^36,528!12^36,192!6^60,564,3,0,0,3!6^36,156,3,0,0,1");
var _local42 = new LevelData("phospholipid bilayer", "500001500000000000000020000010000000000000000000000100000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C111D0000000000000000001A0>1000000000000000000100010000000000000000001000100000000000000000010001000000000000000000F000100000000000000000000001000000000000000000G00010000000000000000001000100000000000000000010001000000000000000000100010000000000000000001@0?1000000000000000000B111E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000001000000000000000000000010000000000000000040000140000000000000003|5^396,540!1^372,228!1^348,228!1^324,228!1^300,228!1^276,228!1^252,228!1^228,228!1^204,228!1^156,276!1^156,300!1^156,324!1^156,348!1^156,372!1^156,396!1^156,420!1^156,444!1^156,468!1^180,492!1^204,492!1^228,492!1^252,492!1^276,492!1^300,492!1^324,492!1^348,492!1^372,492!1^396,492!1^420,492!1^444,492!1^468,492!1^492,492!1^516,492!1^540,492!1^564,492!1^588,492!1^612,492!1^636,468!1^636,444!1^636,420!1^636,396!1^636,372!1^636,348!1^636,324!1^636,300!1^636,276!1^636,252!1^612,228!1^588,228!1^564,228!1^540,228!1^516,228!1^492,228!1^468,228!1^444,228!1^420,228!1^396,228!1^180,252!1^156,252!1^180,228!1^168,240!1^384,240!1^408,240!1^360,240!1^336,240!1^312,240!1^288,240!1^264,240!1^240,240!1^216,240!1^192,240!1^168,264!1^168,288!1^168,312!1^168,336!1^168,360!1^180,468!1^612,468!1^612,252!1^168,384!1^168,408!1^168,432!1^168,456!1^168,480!1^192,480!1^216,480!1^240,480!1^264,480!1^288,480!1^312,480!1^336,480!1^360,480!1^384,480!1^408,480!1^432,480!1^456,480!1^480,480!1^504,480!1^528,480!1^552,480!1^576,480!1^600,480!1^624,480!1^624,456!1^624,432!1^624,408!1^624,384!1^624,360!1^624,336!1^624,312!1^624,288!1^624,264!1^624,240!1^600,240!1^576,240!1^552,240!1^528,240!1^504,240!1^480,240!1^456,240!1^432,240!11^396,396,396,60!3^48,192!3^744,192!6^468,300,1,0,0,2!6^324,300,1,0,0,2!6^396,444,1,0,0,0!0^756,132!0^732,132!0^756,108!0^60,132!0^36,132!0^36,108!0^516,360!0^516,372!0^516,384!0^276,360!0^276,372!0^276,384!0^744,132!0^756,120!0^48,132!0^36,120");
var _local38 = new LevelData("reticle", "11100000011111000000111150000000021500000000211000000000010000000000100000000000000000000000000000000000000000000000000000000000000000000000000111111111111100000000001500000000021000000000010000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000111400000000000000000031011110000000100000011110150000000000000000002101000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000001000000000014000000000310000000000111111111111100000000000000000000000000000000000000000000000000000000000000000000000000100000000001000000000011400000000314000000003111100000011111000000111|5^348,516!11^384,564,396,276!9^420,300,0,0,18,23,1,-1,0!9^372,300,0,0,17,23,1,-1,0!6^684,564,3,1,0,3!6^108,564,2,1,0,3!6^588,396,3,1,0,3!6^204,204,2,1,0,1!12^564,348!12^564,324!12^564,300!12^564,276!12^564,252!12^228,348!12^228,324!12^228,300!12^228,276!12^228,252!0^756,228!0^756,216!0^756,204!0^756,192!0^756,180!0^756,168!0^756,156!0^756,144!0^756,132!0^756,120!0^756,108!0^36,228!0^36,216!0^36,204!0^36,192!0^36,180!0^36,168!0^36,156!0^36,144!0^36,132!0^36,120!0^36,108!0^36,492!0^36,480!0^36,468!0^36,456!0^36,444!0^36,432!0^36,420!0^36,408!0^36,396!0^36,384!0^36,372!0^756,492!0^756,480!0^756,468!0^756,456!0^756,444!0^756,432!0^756,420!0^756,408!0^756,396!0^756,384!0^756,372!8^708,276,3!8^708,324,1!8^84,276,3!8^84,324,1!9^396,336,0,0,18,23,1,0,0!12^564,420!12^228,420!12^228,180!12^564,180");
var _local50 = new LevelData("easier than pie", "900000000000000000000060000000000000:11111<00000;11111118000000001000001900006111111111110000010000000000000006100000:00000000000000001000000000000;<000000001000000000000:=0000000010000000000000000000000100000;0000000000000000B0000010000000000000000000000180000000000;<000000000110000000000:=000C00000610000000000000001000000100000000000000018000001000000;<000000011000001000000:=00000006100000100000000000000001000001000000000000000010000010000000000000000100000:000000000000000010000000000000000000000B000000000;<00000000000000000;000:=0000000000000000010000000000000000C0000010000000000;<000010000018000000000:=0000100000:111111118000000710000000000006111111111=000000000000000000000000080000000000000000000007|5^348,564!6^348,60,2,1,0,0!6^756,348,3,1,0,3!6^36,156,3,1,0,1!3^432,480!3^648,144!3^120,120!9^192,228,1,0,3,17,1,0,-1!9^408,252,1,0,3,17,1,0,0!9^312,348,1,0,3,18,1,0,0!11^660,492,84,468!7^588,516,1!7^564,516,1!7^300,492,1!7^276,492,1!2^504,504,0,-1!2^468,504,0,-1!2^360,480,0,-1!2^228,480,0,-1!2^144,480,0,-1!9^576,180,1,0,3,15,1,0,-1!9^648,348,1,0,3,15,1,0,0!0^156,156!0^156,228!0^156,300!0^156,372!0^156,444!0^228,444!0^228,372!0^228,300!0^228,228!0^228,156!0^300,156!0^372,156!0^444,156!0^516,156!0^588,156!0^660,156!0^660,228!0^660,300!0^660,444!0^588,444!0^516,444!0^444,444!0^372,444!0^300,444!0^300,300!0^300,228!0^372,228!0^372,300!0^372,372!0^444,372!0^516,372!0^588,372!0^588,300!0^516,300!0^444,300!0^444,228!0^516,228");
var _local47 = new LevelData("your wit is a hindrance", "11000000000100000000000110000000000000000000001100000000000000000000011000000000000000000000110011111101011111100001100111111010111111000011001111110101111110000110000000000000000000001100000000000000000000011001111110101111110000110011111101011111100001100111111010111111000001000000000000000000000010000000000000000000000E001111110101111110000000011111101011111100000D0011111101011111100000100000000000000000000001000000000000000000000010011111101011111100000100111111010111111000001001111110101111110000110000000000000000000001100000000000000000000011001111110101111110000110011111101011111100001100111111010111111000011000000000000000000000110000000000000000000001100000000000000000000011000000000100000000000|5^336,36!11^540,36,396,504!1^216,540!1^336,540!1^456,540!1^576,540!1^696,540!1^96,540!9^216,468,0,0,18,1,1,-1,0!9^336,468,0,0,19,1,1,-1,0!9^456,468,0,0,20,1,1,-1,0!9^576,468,0,0,21,1,1,-1,0!12^744,444!12^396,480!6^684,84,3,1,0,2!6^756,564,3,1,0,3!6^36,396,2,1,0,3!0^576,300!0^576,216!0^576,132!0^576,384!0^456,300!0^336,300!0^216,132!0^336,132!0^456,132!0^456,216!0^336,216!0^216,216!0^216,384!0^336,384!0^456,384!9^396,48,1,0,16,2,0,0,-1!1^396,108!0^216,300!12^744,348!12^744,540!12^48,348!12^48,540!12^48,444!12^744,252!12^48,252!12^744,192!12^744,132!12^48,192!12^48,132!12^48,492!12^48,396!12^744,396!12^744,492!12^216,576!12^336,576!12^456,576!12^576,576!12^696,576!12^96,576!12^156,564!12^276,564!12^396,564!12^516,564!12^636,564!12^396,540!12^420,540!12^372,540!12^156,528!12^636,528!12^636,480!12^156,480!12^276,528!12^276,480!12^516,528!12^516,480!0^684,468!0^684,408!0^684,348!0^684,252!0^684,192!0^684,132!0^108,132!0^108,252!0^108,192!0^108,348!0^108,408!0^108,468!6^36,180,2,1,0,3!1^660,324!1^636,324!1^612,324!1^660,276!1^636,276!1^612,276!1^540,276!1^516,276!1^492,276!1^540,324!1^516,324!1^492,324!1^420,276!1^396,276!1^372,276!1^372,324!1^396,324!1^420,324!1^300,276!1^276,276!1^252,276!1^252,324!1^276,324!1^300,324!1^180,276!1^156,276!1^132,276!1^132,324!1^156,324!1^180,324");
var _local55 = new LevelData("superliminal 4", "900000000000000000000060000000000000000000000000000000000000000000000000;111111111111111<0000001900000000000006100000010000000000000001000000100000000000000710000001000;1111111=0:1=00000010001900000000000000000100010000000000000070001000100000000000000100010001000000000000006000100018000000000000000001000:11111111111<000000100000000000000610000001000000000000000100000018000000000000071000000:11111<000;11111=00000000000610001900000000000000000100010000000070000000001000100000000100000000010001000000006000000000100018000000000000000001000:1<0;1<000000000000100000000610000000000001000000000100000000000018000000071000000000000:111111111=000000000000000000000000000000000000000000000000080000000000000000000007|5^540,228!11^612,228,396,468!2^516,552,0,-1!2^276,552,0,-1!2^492,240,0,-1!0^636,396!0^636,372!0^636,348!0^636,324!0^636,300!0^636,420!0^636,444!0^156,444!0^156,420!0^156,396!0^156,372!0^156,348!0^156,324!0^156,300!0^156,276!0^156,252!0^156,228!0^156,204!0^156,180!0^156,156!0^180,156!0^204,156!0^228,156!0^252,156!0^276,156!0^300,156!0^324,156!0^348,156!0^372,156!0^396,156!0^396,180!0^396,204!0^396,228!0^396,252!0^396,276!0^396,300!0^396,324!0^396,348!0^396,372!0^396,396!0^396,420!0^396,444!0^612,300!0^588,300!0^564,300!0^540,300!0^516,300!0^492,300!0^468,300!0^444,300!0^420,300!4^396,570,1!4^660,570,1!4^156,570,1!4^276,186,1!4^516,330,1!6^324,420,0,1,0,3!6^468,444,1,1,0,3!6^132,276,1,1,0,3!6^660,420,0,1,0,3!6^156,468,2,1,0,3!0^540,396!0^516,396!0^492,396!0^492,420!0^516,420!0^540,420!0^540,444!0^516,444!0^492,444!0^276,372!0^252,372!0^300,372!0^300,348!0^300,324!0^300,300!0^300,276!0^300,252!0^276,252!0^252,252!0^252,276!0^252,300!0^252,324!0^252,348!0^276,348!0^276,324!0^276,300!0^276,276!3^516,372!10^276,228");
var _local48 = new LevelData("blern!", "1MQJ11MQQQQQQQJ11MQQI00E000B100000000000000000A000>1@000000000000000000000BD000000000000000000000>1@000000011@000000000001D000000011D00000000000>1@0000000B1@00000000000B10000000>1D00000000000>1@0000000B1@00000000000BD0000000>1D00000000000>1@000000011@000000000001D000000011D00000000000>1@0000000B1@00000000000B10000000>1D00000000000>1@0000000B1100000000000BD0000000>1100000000000>1@0000000110000000000001D000000011000000000000>1@0000000B0000000000000B10000000>0000000000000>1@00000000000001D000000BD000000000000?1A000000>1@00000000000CA000000001D00000000001E000000000>1LH00C000001A0000000000B111110000?E00000000000>E000B0000CA00000000000000000000110000000000000000000@?11@0000000000000CD00011111111LOOOOOOOOK11LOK|5^588,372!6^36,540,3,1,0,0!6^348,564,3,1,0,2!11^624,108,204,564!1^132,492!10^708,156!9^48,84,0,0,25,23,1,-1,0!9^708,48,0,0,27,23,1,0,0!9^300,228,0,0,26,23,1,0,0!9^540,156,0,0,26,23,1,-1,0!2^708,576,0,-1!0^744,252!0^744,276!0^744,300!0^744,324!0^744,348!0^744,372!0^744,396!0^744,420!0^660,468!0^660,492!0^660,516!0^612,516!0^612,492!3^204,252!12^456,540!12^312,468!12^168,396!12^432,528!12^288,456!12^144,384!12^360,504!12^216,432!3^516,180");
var _local43 = new LevelData("inca", "11000011100111000011111100000010000100000011110000000000000000000011100000000000000000000011000000000000000000000010000000000000000000000000000000000000000000000000000000000000100000000000000000000011100000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000010000011000000000000001100001110000000000000111000001100000000000000110000001000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000001110000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000011000000000000000000001111000000100001000000111111000011100111000011111|5^240,564!2^228,360,0,-1!2^564,360,0,-1!2^396,504,0,-1!2^336,180,-1,0!2^456,180,1,0!2^720,324,-1,0!2^72,324,1,0!2^36,444,0.707106781186547,-0.707106781186547!2^756,444,-0.707106781186547,-0.707106781186547!2^732,300,-0.707106781186547,-0.707106781186547!2^720,204,-1,0!2^72,204,1,0!2^60,300,0.707106781186547,-0.707106781186547!2^204,372,-0.707106781186547,-0.707106781186547!2^252,372,0.707106781186547,-0.707106781186547!2^588,372,0.707106781186547,-0.707106781186547!2^540,372,-0.707106781186547,-0.707106781186547!0^756,84!0^756,96!0^756,108!0^756,132!0^756,120!0^756,144!0^756,156!0^756,252!0^756,264!0^756,276!0^744,276!0^744,264!0^744,252!0^36,252!0^36,264!0^36,276!0^48,276!0^48,264!0^48,252!0^36,156!0^36,144!0^36,132!0^36,120!0^36,108!0^36,96!0^36,84!11^552,564,396,108!2^60,180,0.707106781186547,-0.707106781186547!2^732,180,-0.707106781186547,-0.707106781186547!2^444,156,0.707106781186547,-0.707106781186547!2^348,156,-0.707106781186547,-0.707106781186547!3^396,36!6^84,36,3,0,0,1!6^84,492,3,0,0,0!6^708,36,3,0,0,2!6^708,492,3,0,0,3!6^348,204,0,0,0,2!6^444,204,1,0,0,0!3^396,228!2^636,564,-0.707106781186547,-0.707106781186547!2^468,564,0.707106781186547,-0.707106781186547!2^324,564,-0.707106781186547,-0.707106781186547!2^156,564,0.707106781186547,-0.707106781186547");
var _local53 = new LevelData("tooth skin", "00002110000021100000211000001100000011000000110000011000000110000001100000110000001100000010000001100000011000000100000015000000150000001000000100000001000000010000001000000010000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000010000000100000000000000140000001400000000000001100000011000000000000011000000110000000000000110000001100000000000001100000011000000000000311000003110003|5^36,84!10^396,300!9^672,132,0,0,8,23,1,0,0!9^120,228,0,0,7,23,1,0,0!9^672,324,0,0,6,23,1,0,0!9^120,420,0,0,6,23,1,-1,0!0^732,420!0^756,396!0^744,420!0^756,408!0^756,384!0^720,420!0^720,408!0^744,384!0^720,216!0^720,228!0^732,228!0^744,228!0^756,216!0^756,204!0^756,192!0^744,192!0^72,324!0^60,324!0^48,324!0^72,312!0^36,312!0^36,300!0^36,288!0^48,288!0^48,480!0^36,480!0^36,492!0^36,504!0^48,516!0^60,516!0^72,516!0^72,504!0^720,552!0^720,564!0^732,564!0^744,564!0^756,552!0^756,540!0^756,528!12^672,432!12^672,240!12^120,336!12^120,528!12^588,576!12^588,456!12^576,516!12^600,516!0^744,528!11^120,564,738,546");
var _local51 = new LevelData("manimal lust", "50150150150150150150150001001001001001001001000010014014014014010010303100110110110110100101015001101101101101001010000011011011011010010100000150110110110100102000031001101101101001000000150015011011010014000000000100110110100110000000001001501101401100000000310010011011011000000001500100110110110000000000001001501101100000000000010010011011000000000003100100110110000000000015001001101100000000000000010011011000000000000000100110110000000000000031001101100000000000000150011011000000000000000000150110000000000000000001001100000000000000000310011000000000000000001500110000000000000000000001500000000000000000000010000000000000000000003100000000000000000000015000000000000000000000000040000000000000000000003|5^60,48!4^204,570,1!4^180,498,1!4^156,426,1!4^132,354,1!4^108,282,1!4^84,210,1!4^60,138,1!11^48,564,60,108!0^252,468!0^228,468!0^204,468!0^180,468!0^156,468!0^132,468!0^108,468!0^84,468!0^60,468!9^60,180,0,0,6,22,1,0,0!9^60,252,0,0,5,22,1,0,0!9^60,324,0,0,4,22,1,0,0!9^60,396,0,0,4,22,1,-1,0");
var _local57 = new LevelData("skeksis", "1A>10110110110110110110100101101101101101101101001@11011@11011@11011@E0011111111111111111111000000000000000000000J10000000000000000000000N0000000000000000000000N00011111111111111111M0N000E000011M00000000000N000000000000011L000000N00000000000000000011M0N00000011L0000000000000N00000000000000011L0000ND00000000011M000000010N111001D000000000000000C11100110000011L00000001111001E000000000011L001E000000000000000000000100000000011L0000000000B0000000000000011M00010N000000011M000000000000N000000000000000011L000N0000000000011M00000000N11D0011L00000000000000N11111111111111111L0000NA000000000000000000000N000000000000000000000K1000111111111111111111110001A11011A11011A11011A00010110110110110110110@0?10110110110110110110|5^732,84!0^420,420!0^420,408!0^540,396!0^540,384!0^492,348!0^492,336!0^564,276!0^564,264!0^468,228!0^468,216!0^516,180!0^516,168!0^276,444!0^276,432!0^324,372!0^324,360!0^252,324!0^252,312!0^348,252!0^348,240!0^396,300!0^396,288!0^300,156!0^300,144!0^228,204!0^228,192!0^588,132!0^588,120!11^396,132,420,540!6^516,516,1,0,2,3!6^348,492,0,0,2,0!12^672,144!12^624,192!12^672,252!12^624,300!12^672,336!12^624,360!12^672,384!12^624,432!12^672,444!12^672,480!12^672,516!12^660,528!0^36,72!0^48,60!0^48,72!0^48,84!0^60,84!0^60,72!0^60,60!0^72,60!0^72,72!0^72,84!0^84,84!0^84,72!0^84,60!6^132,516,3,0,0,0!6^180,36,3,0,0,2!12^156,132!12^156,492!12^156,420!12^156,204!12^156,276!12^156,348!12^192,240!12^120,168!12^120,312!12^192,384!12^120,456!7^228,84,0!7^228,60,0!7^228,36,0");
var _local34 = new LevelData("glutny", "500FJ11500211500B11150000000FJ000021000>11100000000000000020000B1100000000000000000000>11000000000000000000000B100000000GK00000000000>1000000GK11000000000000B000000FJ11000000000000>00000000FJ000000000000000000000000000030000000000000000000003100000000000000000000021000000?0000000000000002000000C00000000GK00000000000?1000000GK1100000000000C100000011110000000000011000000FJ1100000000000B100000000FJ00000000000>10000000000000003000000B0000000000000031000000>000000000000002100000000000000000000002000000000000000GK0000000000000000000GK11000000000000?000000FJ11000000000000C00000000FJ00000000000?1000000000000000000000C100000000000000000000?1100000000000000030000C1100000000GK000031000?111000400GK11400311400C111400|5^36,60!11^84,564,756,384!12^396,96!12^396,432!12^396,204!12^396,312!12^504,240!12^600,96!12^192,96!12^288,240!12^288,144!12^504,144!12^624,444!12^168,444!12^168,276!12^624,276!12^624,360!12^168,360!3^396,252!0^756,60!0^756,72!0^756,84!0^744,84!0^744,72!0^744,60!0^732,60!0^732,72!0^732,84!0^756,228!0^756,240!0^756,252!0^744,252!0^744,240!0^744,228!0^732,228!0^732,240!0^732,252!0^36,228!0^36,240!0^36,252!0^48,252!0^48,240!0^48,228!0^60,228!0^60,252!0^60,240!0^36,372!0^36,384!0^36,396!0^48,396!0^48,384!0^48,372!0^60,372!0^60,384!0^60,396!12^396,372!12^288,372!12^504,372!12^672,192!12^120,192!12^396,24!12^96,396!12^696,396!12^252,480!12^540,480!4^396,570,1!0^732,564!0^720,564!0^708,564!0^696,564!0^684,564!0^672,564!0^660,564!12^660,540!12^732,540!12^696,540!12^768,540!12^624,540!12^588,540!0^648,564!0^636,564!0^624,564!0^648,552!0^636,552!0^672,552!0^684,552!0^708,552!0^720,552!0^612,564!0^600,564!0^600,552!0^612,552");
var _local30 = new LevelData("adrenachrome", "111111111101111110111110000000000000000000000011111<000000000000000001111110000000000000000011110=00000000000000000900000000000000000000000000000000000000000000000000000000000;110111110000000000000011111111100000000000000:10111011000000000000000000000008000000000000000000000011110111<000000000000001111111110000000000000011111110=00000000000000900000000000000000000000000000000000000000000000000000000000000;110110000000000000000011111100000000000000000:11011000000000000000000000008000000000000000000000011111110110<000000000001111111111110000000000011111111101=00000000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000711111111101111110111011|5^60,36!8^564,276,2!8^204,444,2!8^252,516,0!8^252,420,0!8^492,516,0!8^756,252,2!11^708,564,468,348!2^60,576,0,-1!2^84,576,0,-1!2^108,576,0,-1!2^132,576,0,-1!2^156,576,0,-1!2^180,576,0,-1!2^276,576,0,-1!2^300,576,0,-1!2^324,576,0,-1!2^348,576,0,-1!2^372,576,0,-1!2^396,576,0,-1!2^420,576,0,-1!2^198,366,-0.707106781186547,-0.707106781186547!2^258,366,0.707106781186547,-0.707106781186547!2^438,438,-0.707106781186547,-0.707106781186547!2^498,438,0.707106781186547,-0.707106781186547!2^456,432,0,-1!2^480,432,0,-1!2^216,360,0,-1!2^240,360,0,-1!2^516,576,0,-1!2^540,576,0,-1!2^564,576,0,-1!2^588,576,0,-1!2^612,576,0,-1!2^636,576,0,-1!2^660,576,0,-1!0^276,60!0^252,60!0^228,60!0^204,60!0^180,60!0^420,60!0^444,60!0^468,60!0^492,60!0^516,60!0^516,84!0^516,108!0^492,108!0^468,108!0^444,108!0^420,108!0^420,84!0^468,84!0^492,84!0^444,84!0^660,60!0^660,84!0^660,108!0^660,132!0^660,156!0^684,156!0^708,156!0^708,132!0^708,108!0^708,84!0^708,60!0^684,60!0^684,84!0^684,108!0^684,132!0^276,84!0^252,84!0^228,84!0^204,84!0^180,84!8^324,132,2!8^372,204,0");
var _local44 = new LevelData("desolated", "00000000021150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000001100000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031140000000000|5^396,84!11^396,564,396,420!12^744,288!12^48,288!12^768,516!12^24,516!12^768,444!12^768,372!12^24,372!12^24,444!12^744,552!12^48,552!12^756,252!12^36,252!12^768,204!12^24,204!12^24,132!12^768,132!12^768,60!12^24,60!12^708,576!12^84,576!6^756,348,3,1,0,2!6^228,348,2,1,0,0!6^228,228,2,1,0,2!6^660,228,3,1,0,0!0^660,156!0^660,168!0^660,180!0^672,180!0^672,168!0^672,156!0^612,156!0^612,168!0^612,180!0^600,180!0^600,168!0^600,156!0^180,156!0^180,168!0^180,180!0^192,180!0^192,168!0^192,156!0^132,156!0^132,168!0^132,180!0^120,180!0^120,168!0^120,156!0^180,396!0^180,408!0^180,420!0^132,420!0^132,408!0^132,396!0^660,420!0^660,408!0^660,396!0^672,396!0^672,408!0^672,420!0^612,420!0^612,408!0^612,396!0^600,396!0^600,408!0^600,420!0^192,420!0^192,408!0^192,396!0^120,420!0^120,408!0^120,396!12^636,576!12^156,576!12^228,576!12^564,576!12^672,564!12^600,564!12^120,564!12^192,564!12^756,480!12^756,408!12^756,168!12^756,96!12^36,96!12^36,168!12^36,408!12^36,480");
var _local39 = new LevelData("shootist", "10000002115000000000002101400000000000311114001011111111111111111110050111111150002111500000001150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101140000310140000311011011111111101111111110110011111110001111111001100111111140311111110011001111111111111111100114011111111111111111031|5^120,48!11^120,60,36,456!9^252,396,0,0,2,2,1,-1,0!12^144,276!12^144,300!12^144,324!12^120,396!12^120,204!12^120,156!12^144,120!12^144,84!12^96,480!12^96,516!1^576,408!1^576,192!0^636,156!0^636,168!0^636,180!0^636,192!0^636,204!0^636,216!0^636,228!0^636,372!0^636,384!0^636,396!0^636,408!0^636,420!0^636,432!0^636,444!0^108,276!0^108,288!0^108,300!0^108,312!0^108,324!6^684,276,3,0,2,1!6^36,348,2,0,0,3!6^60,156,3,0,0,3!0^60,228!0^60,240!0^60,252!6^732,84,2,0,2,2!6^756,516,3,0,2,2!9^252,132,0,0,2,2,1,0,0!12^180,84!12^228,60");
var _local52 = new LevelData("scramble", "000000000000000000000020111111403111403111114001E0000000000000000021000000000000000000000010000000000000000000000E0000000000000000000000P0000000000000000000000P001P00000000000000000CD00100000000000000000?A100100000000000000000C01001000000000000000001010010000000000000000010E001P000000000000000010P0000000000000000000010P0000000000000000000010D000000000000000000001010000000000000000000010100000000000000000000101001P000000000000000010E0010000000000000000010P0010000000000000000010P0010000000000000000010D00100000000000000000101001P0000000000000000B01000000000000000000000010000000000000000000000E0000000000000000000000P0000000000000000000000P001D031140000000000000D00000000211111111115001001111400000000000000310|5^72,36!4^684,570,1!9^756,36,1,0,1,2,1,0,-1!9^756,564,1,0,30,2,1,0,-1!6^324,36,3,0,0,2!6^732,36,3,0,0,2!12^84,228!12^84,372!0^324,552!0^336,552!0^348,552!0^156,552!0^168,552!0^180,552!0^492,552!0^516,552!0^504,552!0^60,216!0^60,228!0^60,240!0^60,360!0^60,372!0^60,384!0^108,60!0^108,72!0^180,60!0^180,72!0^348,60!0^348,72!0^444,60!0^444,72!0^612,60!0^612,72!0^684,60!0^684,72!12^708,108!12^684,132!12^684,168!12^684,204!12^708,264!12^708,336!12^708,408!12^84,108!12^84,300!12^96,144!12^96,192!12^84,444!1^420,444!1^456,456!1^384,456!1^492,444!1^528,456!1^564,444!1^348,444!1^312,456!1^276,444!1^240,432!1^600,432!11^276,516,420,516!9^600,408,0,0,24,21,1,0,0!9^564,420,0,0,23,21,1,0,0!9^528,432,0,0,22,21,1,0,0!9^492,420,0,0,21,21,1,0,0!9^456,432,0,0,20,21,1,0,0!9^420,420,0,0,19,21,1,0,0!9^384,432,0,0,18,21,1,0,0!9^348,420,0,0,15,21,1,0,0!9^312,432,0,0,14,21,1,0,0!9^276,420,0,0,13,21,1,0,0!9^240,408,0,0,12,21,1,0,0!6^36,300,3,0,0,1!12^96,504!12^192,516!12^216,504!12^240,492!1^240,444!1^276,456!1^312,468!1^348,456!1^384,468!1^420,456!1^456,468!1^492,456!1^528,468!1^564,456!1^600,444!12^420,396!12^528,408!12^312,408");
var _local40 = new LevelData("flubitis", "119000000000000000006111=0000000000000000000:1900000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;<00000;<00000;<000000011000001100000110000000:=00000:=00000:=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000071<0000000000000000000;111800000000000000000711|5^396,492!1^768,288!1^756,288!1^744,288!1^732,288!1^720,288!1^708,288!1^696,288!1^684,288!1^672,288!1^660,288!1^24,288!1^36,288!1^48,288!1^60,288!1^72,288!1^84,288!1^96,288!1^108,288!1^120,288!1^132,288!1^564,468!1^564,456!1^564,444!1^564,432!1^564,420!1^564,408!1^564,396!1^564,384!1^564,372!1^564,360!1^228,468!1^228,456!1^228,444!1^228,432!1^228,420!1^228,408!1^228,396!1^228,384!1^228,372!1^228,360!1^564,108!1^564,120!1^564,132!1^564,144!1^564,156!1^564,168!1^564,180!1^564,192!1^564,204!1^564,216!1^228,108!1^228,120!1^228,132!1^228,144!1^228,156!1^228,168!1^228,180!1^228,192!1^228,204!1^228,216!1^384,192!1^408,192!1^408,216!1^384,216!1^396,204!1^408,360!1^384,360!1^384,384!1^408,384!1^396,372!3^444,288!3^348,288!0^408,420!0^396,420!0^384,420!0^408,324!0^396,324!0^384,324!0^384,252!0^396,252!0^408,252!0^408,156!0^396,156!0^384,156!11^396,84,708,84!0^84,84!0^72,96!0^96,72!0^108,72!0^96,84!0^84,96!0^72,108!0^84,108!0^108,84!0^96,96!0^708,516!0^720,504!0^696,528!0^684,528!0^720,492!0^708,492!0^708,504!0^696,504!0^696,516!0^684,516!0^84,516!0^72,504!0^96,528!0^108,528!0^108,516!0^96,516!0^96,504!0^84,504!0^84,492!0^72,492");
var _local35 = new LevelData("cacti", "0>00>00>00>00>00>00>00F0000000000000000000000GH00000000000000000000000000000000000000000000G000000000000000000000000000000000000000000000GH00000000000000000000000000000000000000000000G000000000000000000000000000000000000000000000GH00000000000000000000000000000000000000000000G000000000000000000000000000000000000000000?0GKH00000000000000000FJ11100000000000000000000000I00000000000000000GK1110000000000000000000>0FJ000000000000000000000000000000000000000000000FI00000000000000000000000000000000000000000000F000000000000000000000000000000000000000000000FI00000000000000000000000000000000000000000000F000000000000000000000000000000000000000000000FI00000000000000000000000000000000000000000000F0?00?00?00?00?00?00?00G|5^396,468!11^396,564,396,60!9^744,564,1,0,16,21,1,0,-1!9^48,564,1,0,16,22,1,0,-1!1^396,132!1^396,252!1^396,372!1^588,252!1^204,252!1^588,372!1^204,372!1^588,492!1^204,492!1^204,132!1^600,132!0^756,48!0^756,36!0^744,36!0^732,36!0^720,36!0^36,48!0^36,36!0^48,36!0^60,36!0^72,36!0^744,48!0^732,48!0^720,48!0^48,48!0^60,48!0^72,48!0^396,228!0^396,216!0^396,204!0^396,192!0^396,180!0^396,168!0^396,156!0^396,348!0^396,336!0^396,324!0^396,312!0^396,300!0^396,288!0^396,276!3^444,480!3^348,480");
var _local49 = new LevelData("said skills", "111111111110111011111101111111500000000000021011100000000000000000000500000000000000000000000000000000000000000000000O000000000000000000000011111400000000000031000111111111011101111110001111111111111111111100015000000000000000000000Q00000100000100000100000000000000000000000000000000000000000000000000O0010000010000010000000140000000000000000000001111111111111111111100015000000000000000000000Q00100000100000100000000000000000000000000000000000000000000000000000O000001000001000001000014000000000000000000000111111111111111111110001111110111011101110100015000000000000000000000Q000000000000000000000000000000000000000000040000000000000000000000111000000000000000000001114000000000000000000011111111011101110111010|5^396,60!12^348,132!12^348,180!12^348,276!12^348,324!12^348,420!12^348,468!12^276,540!12^276,492!12^276,348!12^276,396!12^276,252!12^276,204!12^372,156!12^252,228!12^372,300!12^252,372!12^372,444!12^252,516!12^420,156!12^540,228!12^420,300!12^540,372!12^420,444!12^516,300!12^444,372!12^516,444!12^444,228!12^468,300!12^492,228!12^468,156!12^492,372!12^492,516!12^540,516!12^468,444!0^516,204!0^444,132!0^444,276!0^516,348!0^444,420!0^516,492!0^324,300!0^300,228!0^324,156!0^300,372!0^324,444!0^300,516!1^672,156!1^672,252!1^672,348!1^672,444!1^672,540!12^744,204!12^600,204!12^600,300!12^744,300!12^744,396!12^600,396!12^600,492!12^744,492!8^588,228,0!8^756,324,2!8^588,420,0!8^756,516,2!0^672,300!0^672,288!0^672,204!0^672,192!0^672,396!0^672,384!0^672,492!0^672,480!1^120,156!1^120,252!1^120,348!1^120,444!1^120,540!6^204,300,3,0,0,2!6^36,396,3,0,0,0!6^180,492,3,0,0,3!12^60,516!12^180,516!12^48,456!12^192,456!12^192,348!12^48,348!12^192,252!12^48,252!0^120,324!0^120,420!0^120,516!11^48,564,756,564!4^396,570,1!0^120,228!0^120,132!0^312,156!0^312,228!0^312,300!0^312,372!0^312,444!0^312,516!0^324,516!0^300,444!0^324,372!0^300,300!0^324,228!0^300,156");
var _local45 = new LevelData("insurmountable", "01500000150001015000021000310000000020100000010001100000000005000003100311400000000000000111001150000000000000031500021000000000000003500000010000000000000110003D001400000000000315000100011000000000035000000003114000000001100140010011500000000315001100200110000000035000000000001100000003100000000000011400000B1500000000030002100000000001400001110001000000000011000011000310000000000150000110011500000C1400000000020011000000021000000000000110000000024000000000001140000000021400110030021150000000011001500100011000000000024000000E001500000000000214000100010000000000000110002003100000000000000240000011400000000000000214000211500000000000000111000110000000000400000210002100000000301000000101400000140001014000031|5^756,204!6^156,516,2,1,0,0!6^564,564,3,1,0,3!6^324,564,2,1,0,3!11^396,516,396,108!9^132,564,0,0,2,15,1,0,0!9^252,420,0,0,2,15,1,-1,0!9^660,564,0,0,30,15,1,-1,0!9^540,420,0,0,30,15,1,0,0!9^756,372,1,0,31,5,1,0,0!9^444,540,1,0,31,5,1,0,-1!9^348,540,1,0,1,5,1,0,-1!9^36,372,1,0,1,5,1,0,0!0^708,516!0^732,516!0^756,516!0^732,540!0^720,528!0^744,528!0^744,504!0^720,504!0^36,516!0^60,516!0^84,516!0^60,540!0^48,528!0^72,528!0^72,504!0^48,504!0^252,348!0^180,420!0^540,348!0^612,420!1^708,288!1^84,288!1^192,252!1^600,252!3^396,156!12^684,84!12^108,84!12^252,84!12^156,84!12^636,84!12^540,84!12^420,108!12^372,108!12^312,72!12^480,72!12^204,60!12^588,60!8^372,36,2!8^420,36,0!8^756,36,2!8^36,36,0");
var _local54 = new LevelData("daunting", "A00MI00000215001MI000110000000000000001000002100000D00LH0000?E00H00000000?1111111000000114000000C15000B100000?11110000?110000>1401111E0010000CMI000001111MI0000E00001000000000000000000000000000000014000000000000000000000110000000D000000000000011000000010000000001400000000031100000000011000000003111000000000110000000011110000000000000000000111100000000000000003111500000000000000000311150000@0000000000000111503100P0000000000000115031500P0000000000311150315000P0000000003111503150000P0000000001115031500000P00000000011503150031D0P0000003111503150001110A0000031115001500001500000000111500010000310000000001150000B@0031500000031115003@0>D0015000000311150031D00110100000001111000MQQ001501000000011110000000?100100003|5^732,228!6^36,84,2,0,0,0!6^660,156,3,0,0,3!6^756,60,2,0,0,2!6^612,444,3,1,0,3!12^492,444!12^540,396!12^588,348!12^444,492!8^276,372,1!8^180,444,0!8^348,276,1!8^300,348,0!8^372,252,0!8^300,204,3!8^348,204,3!12^192,372!12^228,348!12^192,336!12^216,324!12^192,300!1^324,132!1^444,228!1^444,132!0^132,204!0^132,216!0^132,228!0^132,240!0^132,252!0^180,276!0^168,276!0^168,264!0^180,264!0^144,204!0^144,216!0^144,228!0^144,240!0^144,252!0^156,252!0^156,264!0^144,192!0^144,264!12^48,360!12^36,216!12^60,300!12^108,384!12^108,540!12^60,480!12^60,420!0^564,252!0^564,240!0^552,252!0^468,348!0^468,336!0^456,348!0^372,444!0^372,432!0^360,444!7^228,540,3!7^204,540,3!7^156,564,0!11^684,564,132,564!9^756,420,0,0,24,23,1,-1,0!9^756,36,0,0,29,17,1,-1,0!0^732,348!0^720,348!0^708,348!0^756,180!0^744,180!0^732,180!12^744,300!12^744,276");
var _local58 = new LevelData("dance", "10100000000000015000101105000011111140100002011000000000002115000000110400000000001500000301101000000000000000001011010000000000000000010110500000000000000000201100000000000000000000011040000000000000000030110100000000000000000101101000000000000000001011050000000000000000020110000000000000000000001104000000000000000003011010000000000000000010110100000000000000000101101000000000000000001011050000000000000000020110000000000000000000001104000000000000000003011010000000000000000010110100000000000000000101105000000000000000002011000000000000000000000110400000000000000000301101000000000000000001011010000000000000000010110500000000000000000201100000000000000000000011040000000000000000030110100000000000000000101|5^396,492!6^396,540,3,0,1,2!6^396,60,2,0,1,0!1^492,408!1^216,372!1^108,432!1^276,456!1^324,348!1^588,456!1^708,432!1^588,324!1^696,348!1^456,252!1^432,336!1^600,204!1^696,156!1^324,168!1^156,156!1^132,264!1^252,240!12^108,324!12^84,300!12^84,264!12^84,228!12^756,492!12^756,444!12^756,396!12^756,348!12^756,300!12^756,252!12^756,204!12^756,156!12^756,108!1^468,156!11^48,372,696,132!9^588,300,1,0,1,8,1,0,-1!9^216,348,1,0,1,9,1,0,-1!9^36,492,1,0,1,10,1,0,-1!9^708,396,1,0,1,11,1,0,-1!9^432,312,1,0,1,12,1,0,-1!9^324,132,1,0,1,13,1,0,-1!9^132,240,1,0,1,13,1,0,0!0^324,324!0^252,216!0^156,132!0^468,132!0^600,180!0^456,228!0^696,324!0^588,432!0^492,384!0^276,432!0^108,408!0^108,396!0^276,420!0^492,372!0^588,420!0^696,312!0^324,312!0^252,204!0^156,120!0^468,120!0^456,216!0^600,168");
var _local56 = new LevelData("daredevil", "11111111111111111111111111111500000000000002111150110000000000011001111001100000000000110011110011000000000001100111100110000000000011001111001100000000000110012510011400000000031100100100111111111111111001001002111111111111150010000000000000000000000000000000000000000000000001111111114003111111110411111111110011111111101115000001100110000211011100000011001100000113111000000110011000001115000000001500110000011100000000000001500000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000140000014000000011000001100000110000000150000015000001500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000003|5^432,312!10^420,168!10^420,444!9^612,420,1,0,2,19,1,0,0!9^612,252,1,0,2,19,1,0,-1!9^612,84,1,0,2,18,1,0,-1!1^708,372!1^516,372!1^516,516!1^708,516!1^708,204!1^516,204!0^444,396!0^432,396!0^420,396!0^408,396!0^396,396!0^372,396!0^384,396!0^372,408!0^372,420!0^372,432!0^372,444!0^372,456!0^372,468!0^372,480!0^384,492!0^396,492!0^408,492!0^420,492!0^432,492!0^444,492!0^420,108!0^408,108!0^396,108!0^384,108!0^372,120!0^372,132!0^372,144!0^372,156!0^372,168!0^372,180!0^372,192!0^372,204!0^372,216!0^372,228!0^384,228!0^396,228!0^408,228!0^420,228!0^432,228!0^444,228!6^324,36,3,1,0,2!6^252,36,3,1,0,2!6^252,564,2,1,0,0!6^348,564,2,1,0,0!11^168,108,132,300!0^132,108!0^120,108!0^108,108!0^96,108!0^84,108!0^96,96!0^108,84!0^120,84!0^132,84!0^132,96!0^120,96!0^108,96!12^168,252!12^156,264!12^156,288!12^96,252!12^108,264!12^108,288!12^132,372!12^204,360!12^60,360!2^552,576,0,-1!2^672,576,0,-1!1^132,348!1^132,336!1^132,324!1^180,372!1^180,360!1^180,348!1^84,372!1^84,360!1^84,348!1^96,228!1^96,216!1^168,228!1^168,216!12^114,312!12^150,312");
var _local12 = new LevelData("stasis", "11111111111111111111111150000211500021150000211000000110000011000000110000001100000110000001100000011000001140000311000000000000011111101110000000000000111111011100000000000001150000211000000000000011000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000011000000000000011000000110000000000000110000001100000000000001100000011000000000000011000000110000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000001100000011000000000000011400003110000000000000111111011100000000000001111110111000000110000011500002110000001100000110000001100000011000001100000011400003114000311400003111111111111111111111111|5^396,72!1^324,204!1^324,228!1^300,228!1^300,204!1^276,204!1^276,228!1^252,228!1^252,204!1^228,204!1^228,228!1^204,228!1^204,204!1^180,204!1^180,228!1^156,228!1^156,204!1^168,216!1^192,216!1^216,216!1^240,216!1^264,216!1^288,216!1^312,216!1^468,204!1^468,228!1^492,228!1^492,204!1^516,204!1^516,228!1^540,228!1^540,204!1^564,204!1^564,228!1^588,228!1^588,204!1^612,204!1^612,228!1^636,228!1^636,204!1^624,216!1^600,216!1^576,216!1^552,216!1^528,216!1^504,216!1^480,216!1^252,372!1^252,396!1^276,396!1^276,372!1^300,372!1^300,396!1^324,396!1^324,372!1^348,372!1^348,396!1^372,396!1^372,372!1^396,372!1^396,396!1^420,396!1^420,372!1^444,372!1^444,396!1^468,396!1^468,372!1^492,372!1^492,396!1^516,396!1^516,372!1^540,372!1^540,396!1^264,384!1^288,384!1^312,384!1^336,384!1^360,384!1^384,384!1^408,384!1^432,384!1^456,384!1^480,384!1^504,384!1^528,384!11^396,540,396,300!9^720,168,0,0,25,21,1,-1,0!9^720,72,0,0,26,21,1,0,0!9^72,168,0,0,7,21,1,0,0!9^72,72,0,0,6,21,1,-1,0!0^684,540!0^708,540!0^684,516!0^708,516!0^684,492!0^708,492!0^684,468!0^708,468!0^684,444!0^708,444!0^684,420!0^708,420!0^732,444!0^732,468!0^732,492!0^732,516!0^108,540!0^84,540!0^84,516!0^108,516!0^108,492!0^84,492!0^84,468!0^108,468!0^108,444!0^84,444!0^84,420!0^108,420!0^60,444!0^60,468!0^60,492!0^60,516!3^720,336!3^72,336!3^396,180!6^732,276,3,0,0,2!6^60,324,2,0,0,0!4^540,546,1!0^732,144!0^732,120!0^732,96!0^60,144!0^60,120!0^60,96!0^84,300!0^108,300!0^132,300!0^156,300!0^180,300!0^204,300!0^228,300!0^564,300!0^588,300!0^612,300!0^636,300!0^660,300!0^684,300!0^708,300!1^396,108!1^420,108!1^372,108!1^372,132!1^396,132!1^420,132!1^408,120!1^384,120");
var _local60 = new LevelData("control", "50000000002500000021002000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001400000000000000000000011100000000003400000000000000000000025000000000000000000000003100000000000000000000011400000000000000000003111000000000000000000021114000000000000000000011111400000000000000003111111000000000000000021110110000000000000000011101500000000000000003111000000000000000000021110000000000000000000011500000000000000000000210000000000000000000340000000000000000000002500000000000000000000000000000000000000000000000000000000000000000000000000000111000000000000000000001500000000000000000000010000000000000000000000100040000000003400000031003|5^408,252!2^372,288,0,-1!2^444,288,0,-1!2^300,288,0,-1!2^516,288,0,-1!2^252,252,0.707106781186547,-0.707106781186547!2^228,252,-0.707106781186547,-0.707106781186547!2^588,252,0.707106781186547,-0.707106781186547!2^756,276,-0.707106781186547,-0.707106781186547!2^36,276,0.707106781186547,-0.707106781186547!11^432,372,408,216!9^576,228,0,0,8,23,1,0,0!9^240,228,0,0,8,23,1,-1,0!9^480,252,0,0,27,23,1,-1,0!9^336,252,0,0,27,23,1,0,0!1^516,444!1^612,444!1^564,516!1^492,540!1^396,540!1^300,540!12^300,564!12^396,564!12^492,564!12^564,540!12^612,468!12^516,468!12^648,504!12^648,528!12^672,480!12^696,480!12^720,480!12^648,480!12^744,480!12^756,468!12^60,348!12^96,312!12^180,300!12^192,384!12^132,420!12^60,444!12^72,396!12^108,360!12^144,348!12^264,348!12^264,396!12^180,444!12^204,348!12^24,372!12^24,336!12^24,432!12^84,480!12^144,480!12^216,480!12^228,420!1^252,468!12^252,492!12^348,576!12^444,576!12^528,576!12^600,576!12^252,576!0^684,564!0^696,564!0^708,564!0^720,564!0^732,564!0^744,564!0^756,552!0^756,540!0^756,528!0^756,516!0^744,516!0^732,516!0^720,516!0^708,516!0^696,516!0^684,528!0^684,540!0^684,552!0^708,540!0^720,540!0^732,540!0^36,516!0^36,528!0^36,540!0^36,552!0^48,564!0^60,564!0^72,564!0^84,564!0^96,564!0^108,564!0^120,564!0^132,564!0^144,564!0^156,564!0^168,564!0^180,564!0^180,552!0^180,540!0^180,528!0^168,516!0^156,516!0^144,516!0^132,516!0^120,516!0^108,516!0^96,516!0^84,516!0^72,516!0^60,516!0^48,516!0^696,540!0^744,540!0^720,528!0^720,552!0^48,540!0^60,540!0^72,540!0^84,540!0^96,540!0^108,540!0^120,540!0^132,540!0^144,540!0^156,540!0^168,540!0^72,552!0^72,528!0^108,528!0^108,552!0^144,552!0^144,528!2^564,252,-0.707106781186547,-0.707106781186547!12^492,276!12^468,276!12^420,276!12^396,276!12^324,276!12^348,276");
var _local15 = new LevelData("rage-ohol", "MQQQQQQQQQQQQQQQQQJ11100000000000000000000211000000000000000000000B1000000000000000000000>10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000?1000000000000000000000C1000000000000000000003110LOOOOOOOOOOOOOOOOOK1110|5^144,564!9^660,564,0,0,4,23,1,0,0!9^108,564,0,0,28,23,1,-1,0!9^684,564,0,0,3,23,1,0,0!9^84,564,0,0,29,23,1,-1,0!9^708,564,0,0,2,23,1,0,0!9^60,564,0,0,30,23,1,-1,0!9^744,564,0,0,1,23,1,0,0!11^396,564,36,564!12^612,576!12^456,576!12^276,576!12^312,552!12^504,564!12^204,564!12^576,516!12^648,528!12^528,492!12^432,528!12^468,480!12^372,540!12^396,492!12^240,528!12^132,516!12^180,492!12^228,576!12^312,576!12^480,552!12^540,528!12^516,456!12^432,456!12^348,480!12^276,456!3^396,276!1^660,444!1^132,444!1^564,396!1^228,396!1^660,348!1^132,348!1^708,276!1^84,276!1^180,204!1^192,204!1^204,204!1^216,204!1^612,204!1^600,204!1^588,204!1^576,204!1^660,336!1^660,432!1^564,384!1^708,264!1^228,384!1^132,432!1^132,336!1^84,264!1^468,156!1^456,156!1^444,156!1^432,156!1^420,156!1^408,156!1^324,156!1^336,156!1^348,156!1^360,156!1^372,156!1^384,156!1^396,156!0^468,132!0^456,132!0^444,132!0^432,132!0^420,132!0^408,132!0^396,132!0^384,132!0^372,132!0^360,132!0^348,132!0^336,132!0^324,132!0^396,120!0^396,108!0^384,120!0^408,120!0^420,120!0^372,120!0^384,108!0^408,108!0^468,120!0^468,108!0^456,120!0^456,108!0^324,120!0^324,108!0^336,108!0^336,120!0^348,108!0^444,108!0^468,96!0^324,96!1^408,396!1^384,396!1^396,396!1^84,252!1^132,324!1^132,420!1^228,372!1^708,252!1^660,324!1^564,372!1^660,420!1^744,444!1^744,432!1^744,420!1^48,444!1^48,432!1^48,420");
var _local61 = new LevelData("value system", "1A00000000B1E00000000001000000000>1A000000000?10D0000000010000000000C10B11111111111111111101E000000000000000000000BA000000000000000000000>000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000?@000000000000000000000CD0C1111111111111111110110E0000000010000000000B1000000000?1@000000000>1@00000000C1D0000000000|5^396,540!1^396,300!1^396,132!1^396,468!1^564,300!1^228,300!1^228,312!1^228,324!1^228,336!1^228,348!1^228,360!1^228,372!1^228,384!1^228,396!1^228,408!1^228,420!1^228,432!1^228,444!1^384,468!1^372,468!1^360,468!1^348,468!1^336,468!1^324,468!1^312,468!1^300,468!1^288,468!1^276,468!1^264,468!1^252,468!1^408,468!1^420,468!1^432,468!1^444,468!1^456,468!1^468,468!1^480,468!1^492,468!1^504,468!1^516,468!1^528,468!1^540,468!1^564,312!1^564,324!1^564,336!1^564,348!1^564,360!1^564,372!1^564,384!1^564,396!1^564,408!1^564,420!1^564,432!1^564,444!1^564,288!1^564,276!1^564,264!1^564,252!1^564,240!1^564,228!1^564,216!1^564,204!1^564,192!1^564,180!1^564,168!1^564,156!1^228,288!1^228,276!1^228,264!1^228,252!1^228,240!1^228,228!1^228,216!1^228,204!1^228,192!1^228,180!1^228,168!1^228,156!1^384,132!1^372,132!1^360,132!1^348,132!1^336,132!1^324,132!1^312,132!1^300,132!1^288,132!1^276,132!1^264,132!1^252,132!1^408,132!1^420,132!1^432,132!1^444,132!1^456,132!1^468,132!1^480,132!1^492,132!1^504,132!1^516,132!1^528,132!1^540,132!1^540,156!1^252,156!1^336,240!1^456,240!1^456,360!1^336,360!1^312,300!1^480,300!1^396,216!1^396,384!1^384,384!1^372,384!1^360,384!1^348,384!1^336,384!1^408,384!1^420,384!1^432,384!1^444,384!1^456,384!1^480,312!1^480,324!1^480,336!1^480,348!1^480,360!1^480,288!1^480,276!1^480,264!1^480,252!1^480,240!1^408,216!1^420,216!1^432,216!1^444,216!1^456,216!1^384,216!1^372,216!1^360,216!1^348,216!1^336,216!1^312,288!1^312,276!1^312,264!1^312,252!1^312,240!1^312,312!1^312,324!1^312,336!1^312,348!1^312,360!1^324,372!1^468,372!1^468,228!1^324,228!11^396,564,396,72!9^522,300,0,0,28,22,1,-1,0!9^438,300,0,0,28,22,1,0,0!9^396,174,0,0,29,2,1,-1,0!9^396,258,0,0,29,2,1,0,0!9^270,300,0,0,3,2,1,0,0!9^354,300,0,0,3,2,1,-1,0!9^396,426,0,0,4,22,1,0,0!9^396,342,0,0,4,22,1,-1,0!0^708,276!0^708,252!0^708,228!0^708,204!0^708,180!0^708,156!0^708,132!0^708,108!0^84,108!0^84,132!0^84,156!0^84,180!0^84,204!0^84,228!0^84,252!0^84,276!0^756,564!0^756,540!0^756,516!0^756,492!0^756,468!0^756,444!0^756,420!0^756,396!0^756,372!0^756,348!0^36,564!0^36,540!0^36,516!0^36,492!0^36,468!0^36,444!0^36,420!0^36,396!0^36,372!0^36,348!3^660,300!3^132,300!1^540,444!1^552,444!1^540,456!1^552,456!1^252,444!1^240,444!1^252,456!1^240,456!1^252,144!1^240,156!1^240,144!1^540,144!1^552,156!1^552,144");
var _local59 = new LevelData("sanctum", "A00>1I0000000000000000>0000E0000000000D0000000000000000000000111111L00000000000000001A000000@00?10000000000100000001M0N1000000000010000000A00>10000000000100000000000100000000001000000000001@00000000?1000000000001111111L0K11000000000001A0>1A0000>100000000000100010000001@00000?00001000E00000011111D0N0000100000000001A00>10>0000100000000001000010000001000D0000000000010000001000100000000000E000000100010000001000000000001@0?1@0000?1400000C00001P0N1111L0111111L0100001A000>1A0000>1A000B0000000000100000010000000001@000?1000000I000000000111L0N100000000000000001A000N1000000H00000000010000N1000000100000000010000N100H0001@000?000010000N1101110111111000010000>1A0>1A000000F00001000001000000000000@00?1@0000000?1@000000G|5^60,108!9^756,276,1,1,30,15,0,0,-1!9^684,324,0,1,28,17,0,0,0!9^732,72,1,1,22,5,0,0,-1!9^444,372,0,1,20,14,0,0,0!9^132,276,0,1,10,13,0,0,0!9^408,564,0,1,20,22,0,0,0!12^384,576!12^432,576!12^384,528!0^408,564!0^396,552!0^420,552!0^444,372!0^456,372!0^444,360!0^132,276!0^144,288!0^120,288!0^732,72!0^744,60!0^744,84!0^720,84!0^720,60!0^756,276!0^684,324!4^252,570,1!4^156,378,1!1^132,312!1^180,276!1^84,276!3^204,156!0^180,252!0^192,240!0^168,240!0^96,252!0^72,252!0^84,240!0^576,432!0^588,432!0^600,432!0^420,396!0^408,396!0^396,396!0^372,228!0^348,228!0^360,216!9^60,468,0,1,3,23,0,0,0!9^132,204,1,1,1,16,0,0,-1!1^132,228!0^132,204!0^144,192!0^120,192!12^72,504!12^72,432!0^60,468!0^60,456!0^60,480!12^24,468!12^24,540!12^156,540!12^276,540!12^216,540!12^264,504!12^204,504!12^144,504!6^468,468,3,0,0,3!2^408,504,0,-1!2^588,576,0,-1!2^360,384,0,-1!6^444,204,2,0,0,2!6^636,228,3,0,0,0!6^660,396,3,0,0,3!3^192,36!12^252,120!12^492,120!12^360,120!12^420,72!12^300,96!12^492,48!12^588,72!12^636,120!12^684,72!12^540,264!12^300,252!12^276,276!12^444,252!12^468,276!12^300,384!12^324,384!0^144,96!0^156,84!0^168,96!11^732,564,732,324!8^660,492,2!8^516,516,0");
var _local14 = new LevelData("deceptive", "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111000000000000000001000010000000000000000010000100000000000000010111101000000000000000100000010000000000000001000010100000000000000010100101000000000000000101000010000000000000001010000100000000000000010111101000000000000000101000010000000000000001010000100000000000000010100101000000000000000101111010000000000000001000000100000000000000010000001000000000000000101111010000000000000001010010100000000000000010100101000000000000000101001010000000000000000010000100000000000000000100001000000000000000111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|5^540,36!11^396,36,564,144!0^180,180!0^156,180!0^156,156!0^180,156!0^180,132!0^156,132!0^168,144!0^168,168!0^168,192!4^252,210,1!6^444,84,0,0,0,2!6^252,156,0,0,0,0!6^108,228,0,0,0,3!2^768,276,-1,0!2^24,276,1,0!2^24,324,1,0!2^24,372,1,0!2^24,420,1,0!2^24,468,1,0!2^24,516,1,0!2^24,564,1,0!2^768,324,-1,0!2^768,372,-1,0!2^768,420,-1,0!2^768,468,-1,0!2^768,516,-1,0!2^768,564,-1,0!0^720,228!0^720,204!0^720,180!0^720,156!0^720,132!0^720,108!0^720,84!0^720,60!0^72,228!0^72,204!0^72,180!0^72,156!0^72,132!0^72,108!0^72,84!0^72,60!12^24,36!12^768,36!12^768,204!12^24,204!12^24,96!12^24,144!12^768,96!12^768,144!0^420,156!0^420,132!0^396,132!0^372,132!0^372,156!0^396,156!0^408,144!0^384,144!6^372,180,1,0,0,3!6^588,252,1,0,0,0");
var _local13 = new LevelData("cagey", "10000000000000000000001500000000000000000000020000000000000000000000000310001140003110001400001100011100011100011000000000215000215000000000000000000000000000000000000000000000000000030000000000000000000000100000003114003110000001111140011111111140000111111100150000021100002111011001000000000000000110110010000000110000001101100100000001100000311011001000000011000001110110010000000110000021101100100000001100000011011001000000011000000110110014000003110000311101500111111111500001100000002115002110000001000000000000000000000010000000000000000000000200000000000000000000000000000031400031400000000011000111000111000110000210001150002110001500000000000000000000000004000000000000000000000310000000000000000000001|5^348,372!9^456,276,1,0,13,16,1,0,-1!9^396,276,1,0,13,17,1,0,-1!9^336,276,1,0,13,17,1,0,0!10^396,444!2^756,552,0,-1!2^36,552,0,-1!11^336,84,396,540!9^456,564,0,0,21,3,1,0,0!9^336,564,0,0,20,3,1,0,0!9^552,540,0,0,19,3,1,0,0!9^240,540,0,0,18,3,1,0,0!9^660,564,0,0,17,3,1,0,0!9^132,564,0,0,16,3,1,0,0!9^660,444,0,0,15,3,1,0,0!9^132,444,0,0,15,3,1,-1,0!0^660,324!0^660,312!0^660,300!0^660,288!0^660,276!0^540,300!0^540,312!0^540,324!0^540,336!0^540,288!0^552,276!0^552,348!0^240,276!0^252,288!0^252,300!0^252,312!0^252,324!0^252,336!0^240,348!0^132,324!0^132,312!0^132,300!0^132,288!0^132,276!6^612,564,2,0,0,3!6^180,564,1,0,0,3!6^708,36,2,0,0,1!6^84,36,3,0,0,1!8^756,60,1!8^36,60,1!0^492,180!0^468,180!0^444,180!0^420,180!0^396,180!0^372,180!0^348,180!0^324,180!0^300,180!3^396,228");
var _local17 = new LevelData("fury", "50211502115021150211110000110001100011000111100001100011000110000021000011000110001100000010000110001100000000000000001100011000000000000000011000110000000000000000110001100000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100011000000000000000011000110000000000000000110001100000000000000001100011000000000000000011000110001100000010000110001100011000003100001100011000110001111040311403114031140311110|5^756,60!1^396,492!1^540,372!1^252,372!1^108,492!1^252,492!1^684,492!1^540,492!9^36,60,0,0,29,23,1,-1,0!11^48,564,756,564!8^132,372,3!8^660,372,3!12^732,204!12^732,156!12^768,180!12^60,156!12^60,204!12^24,180!12^60,420!12^24,420!12^768,420!12^732,420!12^756,324!12^756,276!12^720,300!12^36,324!12^36,276!12^72,300!12^60,96!12^60,24!6^708,180,3,0,0,2!6^84,420,2,0,0,0!6^732,444,2,0,0,2!12^108,60!12^156,96!12^156,24!12^204,60!12^252,96!12^252,24!12^300,60!12^348,96!12^348,24!0^276,36!0^300,36!0^324,36!0^228,36!0^204,36!0^180,36!0^132,36!0^108,36!0^84,36!0^732,276!0^708,276!0^708,324!0^732,324!0^696,300!0^60,324!0^84,324!0^84,276!0^60,276!0^96,300!0^84,204!0^84,156!0^108,156!0^108,204!12^96,216!12^144,216!12^192,216!12^696,216!12^648,216!12^600,216!12^696,144!12^648,144!12^600,144!12^96,144!12^144,144!12^192,144!0^132,156!0^156,156!0^180,156!0^204,156!0^204,204!0^180,204!0^156,204!0^132,204!0^588,204!0^612,204!0^636,204!0^660,204!0^684,204!0^708,204!0^708,156!0^684,156!0^660,156!0^636,156!0^612,156!0^588,156!9^744,180,0,0,28,23,1,-1,0!9^42,420,0,0,3,23,1,-1,0!9^42,180,0,0,4,23,1,0,0!9^42,300,0,0,4,23,1,-1,0!9^750,300,0,0,30,23,1,-1,0!9^750,420,0,0,31,23,1,-1,0!1^396,276!1^396,252!1^396,396!1^396,372!1^540,396!1^252,396!1^108,516!1^252,516!1^396,516!1^540,516!1^684,516");
var _local4 = new Array();
_local4.push(_local23);
_local4.push(_local20);
_local4.push(_local31);
_local4.push(_local27);
_local4.push(_local41);
this.episodeList[40] = new EpisodeData("episode 40", "xxxx", _local4);
var _local3 = new Array();
_local3.push(_local28);
_local3.push(_local24);
_local3.push(_local36);
_local3.push(_local32);
_local3.push(_local46);
this.episodeList[41] = new EpisodeData("episode 41", "tokyo", _local3);
var _local6 = new Array();
_local6.push(_local18);
_local6.push(_local16);
_local6.push(_local25);
_local6.push(_local21);
_local6.push(_local33);
this.episodeList[42] = new EpisodeData("episode 42", "ectomorph", _local6);
var _local5 = new Array();
_local5.push(_local22);
_local5.push(_local19);
_local5.push(_local29);
_local5.push(_local26);
_local5.push(_local37);
this.episodeList[43] = new EpisodeData("episode 43", "alienate", _local5);
var _local7 = new Array();
_local7.push(_local42);
_local7.push(_local38);
_local7.push(_local50);
_local7.push(_local47);
_local7.push(_local55);
this.episodeList[44] = new EpisodeData("episode 44", "sherlock", _local7);
var _local10 = new Array();
_local10.push(_local48);
_local10.push(_local43);
_local10.push(_local53);
_local10.push(_local51);
_local10.push(_local57);
this.episodeList[45] = new EpisodeData("episode 45", "lucid", _local10);
var _local9 = new Array();
_local9.push(_local34);
_local9.push(_local30);
_local9.push(_local44);
_local9.push(_local39);
_local9.push(_local52);
this.episodeList[46] = new EpisodeData("episode 46", "exoskeleton", _local9);
var _local8 = new Array();
_local8.push(_local40);
_local8.push(_local35);
_local8.push(_local49);
_local8.push(_local45);
_local8.push(_local54);
this.episodeList[47] = new EpisodeData("episode 47", "contraband", _local8);
var _local2 = new Array();
_local2.push(_local58);
_local2.push(_local56);
_local2.push(_local12);
_local2.push(_local60);
_local2.push(_local15);
this.episodeList[48] = new EpisodeData("episode 48", "oxidize", _local2);
var _local11 = new Array();
_local11.push(_local61);
_local11.push(_local59);
_local11.push(_local14);
_local11.push(_local13);
_local11.push(_local17);
this.episodeList[49] = new EpisodeData("episode 49", "flavour", _local11);
};
NinjaData.prototype.BuildGameData_Set5 = function () {
var _local21 = new LevelData("a space oddessy", "0000PN00000000000000PN00003PN40000311400003PN4003500240035002400350020010000QQQQ0000100100000010000OOOO00001001000000240035002400350024003000211500002PN500002115000000000000PN000000000000000000000PN000000000000311400003PN400003114003500240035002400350020010000QQQQ0000100100000010000OOOO000010010000002400350024003500240030002PN500002PN500002PN50000PN000000PN000000PN00000PN000000PN000000PN00003PN400003PN400003PN400350024003500240035002QQQ000010010000QQQQ0000OOO000010010000OOOO00000024003500240035002400300021150000200500002115000000000000PN000000000000000000000PN000000000000311400003PN400003114003500240035002400350020010000QQQQ0000100100000010000OOOO0000100100000024003500240035002400300021150000211500002115|5^36,144!9^576,324,0,0,23,13,0,0,0!9^576,348,0,0,23,14,0,0,0!6^276,132,3,0,0,1!6^732,324,2,0,0,1!11^696,144,504,36!0^120,228!0^120,252!0^120,264!0^108,516!0^120,516!0^132,516!0^132,528!0^132,540!0^120,540!0^120,528!0^108,528!0^108,540!0^384,528!0^396,528!0^420,528!0^432,528!0^384,144!0^396,144!0^420,144!0^432,144!1^312,336!2^504,192,0,-1!2^696,384,0,-1!1^504,528!0^516,504!0^492,504!0^528,504!0^528,516!0^528,540!0^528,552!0^516,552!0^492,552!0^480,552!0^480,540!0^480,516!0^480,504!0^288,360!0^300,360!0^324,360!0^336,360!0^336,348!0^336,324!0^336,312!0^324,312!0^300,312!0^288,312!0^288,324!0^288,348!0^276,516!0^276,528!0^276,540!3^504,564!0^300,516!0^300,528!0^300,540!0^324,516!0^324,528!0^324,540!0^348,516!0^348,528!0^348,540!0^120,216");
var _local18 = new LevelData("blue ridge corporate center", "0000000000000000N0000P00000000034000000N0000QQ0000000352400000N0000000000003500240000N0000000000035000024000N0000000000024000035000N0000000000002400014000N00000000000031400P2400000000000031150240P0211111110000350N000N0P000N000010003500N000N0P000N0000100010000000N0P000N000010001000NQQQQ0P000N0OOO10001000N00000P0QQQ0P0000001000N000N0P00000P0N000010000000N0P000N0P0N00001000N000N0P000N0QQQ00001000N000N0P000N000000001QQQQ000N0QQQQQ0QQQ1000100000NQQ000000000010001000N0N0000000N000010001000N0N0000000N00001000100000N000QQQQQ000010001OOOO0NOOOOOOOOO0OO1000100000000000000N00010001000NQ0P0QP0000N00010001000N00P00P0000N00010001000N00P00P0000N0001000111111111110000N1111000000000000011111110000000000000000000000000000|5^660,492!11^372,468,276,228!6^324,348,2,0,0,1!9^660,108,1,0,12,6,1,0,0!9^288,360,0,0,19,11,1,-1,0!9^684,396,1,0,14,20,1,0,0!0^708,336!0^708,348!0^708,360!0^708,384!0^708,372!0^708,396!0^144,192!0^144,204!0^144,216!0^144,240!0^144,228!0^144,252!0^144,264!0^144,276!0^144,288!0^156,276!0^168,264!0^180,252!0^192,240!0^180,228!0^168,216!0^156,204!0^132,204!0^120,216!0^108,228!0^96,240!0^108,252!0^120,264!0^132,276!0^132,252!0^132,240!0^132,228!0^132,264!0^132,216!0^120,228!0^120,252!0^120,240!0^108,240!0^156,264!0^156,252!0^156,240!0^156,228!0^156,216!0^168,228!0^168,240!0^168,252!0^180,240!0^180,264!0^192,252!0^204,252!0^216,264!0^228,276!0^216,276!0^204,276!0^192,276!0^180,276!0^168,276!0^192,264!0^204,264!0^48,408!0^60,408!0^72,408!0^96,408!0^84,408!0^108,408!6^324,36,0,0,1,0!9^396,168,1,0,16,6,0,0,0!9^624,204,0,0,26,8,0,-1,0!9^612,168,1,0,25,6,0,0,0!2^612,420,0,-1!2^480,504,0,-1!12^684,204!12^672,204!12^660,204!1^396,228!8^480,84,1!4^252,498,1!0^660,264!0^672,264!0^672,252!8^564,84,1!8^552,420,1!8^540,300,1!12^468,360!12^468,348!12^468,336!12^468,324!12^468,312!12^468,300");
var _local29 = new LevelData("cave-man jimmy", "1111111111111111111115011111111111111111M000001111111111111115000000011111111111111I000000001111111111111E000000001111111111111I00000000011111111111I000000000002111111111500000000000001111111E00000000000000011111I000000000000000001111100000000000000003111111000000000000000011111114000000000000000111111110000000000000000111111A000000000000000011111100000000000000000211111000000000000000000111500000000000000000311110000000000000000001111110000000000000000001111100000000000000000011111031H0000000000000021111011100000000000000011110111100000000000000111101111@00000000000031111011111000000000000111110111114000000000011111502111111D000000002111100011111111400000000111403111111111H000000311111111111111111140311|5^420,564!11^72,564,708,132!2^756,516,-0.707106781186547,-0.707106781186547!2^612,564,-0.707106781186547,-0.707106781186547!2^540,564,0.707106781186547,-0.707106781186547!2^276,540,-0.707106781186547,-0.707106781186547!2^360,552,0,-1!2^468,528,0,-1!2^660,528,0,-1!2^228,576,0,-1!0^708,564!0^720,552!0^732,540!0^732,552!0^720,564!0^708,552!0^708,540!0^720,540!0^468,108!0^456,120!0^444,132!0^444,120!0^456,108!0^468,120!0^468,132!0^456,132!0^300,156!0^288,156!0^276,156!0^264,156!0^252,168!0^252,180!0^252,192!0^312,168!0^300,168!0^288,168!0^276,168!0^264,168!0^264,180!0^264,192!0^276,192!0^276,180!0^288,180!0^300,180!1^504,396!1^624,372!1^576,456!1^312,444!1^144,492!1^180,396!1^396,324!1^264,276!1^348,228!1^540,300!1^492,204!1^420,252!1^408,408!1^312,348!6^732,468,5,1,0,3!6^204,300,5,1,0,1!6^348,204,5,1,0,2!6^84,420,5,1,0,0");
var _local25 = new LevelData("sands of time", "01000001000000000000010010000010000000000000100100000100000000000001001000001000000000000010010000310000031111111100100001500000150000001001000000000000000000010010000000000000000000100100000000000000000001000000000000000000000000011111114000003111111100100000214000315000001001000000210031500000010010000000001150000000100100000000000000000001001000000031100000000010010000003150014000000100100000315000214000001001111111500000211111110000000000000000000000000100000000000000000001001000000000000000000010010000000000000000000100100000000000000000001001000000014000000140010010000000210000002111100100000000100000000001001000000001000000000010010000000010000000000100100000000100000000001001000000001000000000010|5^372,564!0^300,516!0^312,516!0^324,516!0^336,516!0^348,516!0^360,516!0^372,516!0^384,516!0^396,516!0^408,516!0^420,516!0^432,516!0^444,516!0^372,444!0^372,456!0^372,468!0^372,480!0^372,492!0^372,504!0^384,456!0^384,468!0^396,468!0^396,480!0^396,492!0^408,492!0^420,504!0^432,504!0^408,504!0^396,504!0^384,504!0^384,492!0^384,480!0^360,468!0^360,480!0^360,492!0^360,504!0^348,492!0^336,492!0^324,504!0^312,504!0^336,504!0^348,504!0^372,408!0^372,384!0^372,360!0^372,336!0^372,312!0^372,288!0^372,264!0^372,240!0^384,240!0^384,252!0^396,240!0^408,228!0^420,216!0^432,204!0^312,204!0^324,216!0^336,228!0^348,240!0^360,252!0^372,252!0^360,240!0^348,228!0^360,228!0^384,228!0^372,228!0^396,228!0^408,216!0^420,204!0^396,216!0^348,216!0^336,216!0^324,204!0^300,192!0^444,192!0^348,204!0^360,216!11^564,36,372,132!6^492,204,1,0,0,3!6^252,204,1,0,0,1!6^492,396,0,0,0,1!6^252,396,0,0,0,3!2^372,528,0,-1");
var _local39 = new LevelData("spite", "00000110000001100000011000001100000011000000110000000000000000000000000000000000000000000000011000000110000001100000110000001100000011000000000000000000000000000000000000000000000000000000000000000000000000000000000011001100000000000000000110011000000000000110000000000000000000001100000000000110000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000001100000000000110000000011000000000000000000000000001100110000000000000000011001100000000000000000000000000000000000000000000000000000000000000000000000000000011000000110000001100000110000001100000011000000000000000000000000000000000000000000000000000000011000000110000001100000110000001100000011|5^396,516!4^132,570,1!4^660,570,1!6^708,444,3,1,0,3!6^756,132,3,1,0,3!6^132,132,2,1,0,2!6^60,204,2,0,0,0!6^420,324,3,0,0,0!11^648,36,144,36!0^444,420!0^456,420!0^468,420!0^636,420!0^660,420!0^648,420!0^348,420!0^336,420!0^324,420!0^156,420!0^144,420!0^132,420!0^252,324!0^264,324!0^276,324!0^516,324!0^528,324!0^540,324!0^660,228!0^648,228!0^636,228!0^540,228!0^528,228!0^516,228!0^276,228!0^264,228!0^252,228!0^156,228!0^144,228!0^132,228!0^300,108!0^312,108!0^324,108!0^468,108!0^480,108!0^492,108!12^180,60!12^180,84!12^612,60!12^612,84!12^396,144!12^444,144!12^348,144!12^372,456!12^420,456!12^396,468!12^696,360!12^576,360!12^636,360!12^96,360!12^216,360!12^156,360!12^720,348!12^552,348!12^240,348!12^72,348!12^516,156!12^516,132!12^276,132!12^276,156");
var _local26 = new LevelData("strive", "50000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111100011111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000004000000040000001000000010000000|5^252,564!12^216,516!12^216,492!12^216,468!12^216,444!12^216,420!12^216,396!12^216,372!12^216,348!12^216,252!12^216,228!12^216,204!12^216,180!12^216,156!12^216,132!12^216,108!12^216,84!12^720,216!12^720,408!7^108,540,3!7^108,432,3!7^108,324,3!7^108,216,3!7^108,108,3!3^108,144!12^36,504!12^180,504!7^324,156,3!7^612,180,3!7^636,396,3!7^444,420,3!7^300,372,3!7^492,228,3!7^444,84,3!7^564,432,3!7^348,408,3!12^264,132!12^384,108!12^516,48!12^552,120!12^432,192!12^564,228!12^660,180!12^648,60!12^324,48!12^492,132!12^588,48!12^720,72!0^324,132!0^324,120!0^324,108!0^492,204!0^492,192!0^492,180!0^444,60!0^444,48!0^444,36!0^612,156!0^612,144!0^612,132!0^756,132!0^756,120!0^756,108!0^756,96!0^756,84!0^756,72!0^756,60!0^756,144!0^300,348!0^300,336!0^348,384!0^348,372!0^444,396!0^444,384!0^564,408!0^564,396!0^636,372!0^636,360!11^744,180,384,36!11^744,372,492,324!11^744,564,600,564!0^756,348!0^756,324!0^756,300!0^756,276!0^756,252!0^756,228!1^192,384!1^180,384!1^24,384!1^36,384!1^24,276!1^36,276!1^24,168!1^36,168!1^24,60!1^36,60!1^192,168!1^180,168!12^180,144!12^180,192!12^36,192!12^36,144!12^180,360!12^180,408!12^36,408!12^36,360!12^36,300!12^36,252!12^36,84!12^60,36");
var _local22 = new LevelData("DNAw yeah!", "0000P000000000000000P000000P000000000000000P000000P000000000000000P000000P000000000000000P000000QQQQQP0000000000P00000000000P0000000000P00QQQQP0000P0000000000P000000P0000P0000000000P000000P0000P0000000OOOP000000P0000P000A000P000000000P0000P0000000P000000000P0000P0000000P000000000P0000P0000000P000000000P0000A0000000P000000000P000000000000A000000000A00000000000000000003400340000003400340000352435240000352435240005035240240035035240240003500240243503500240003350000243524350000003525000?0025002500000025000000N0000000000000000000000N00000000000000?0000000N00000000000000N0000000N00000000000000N0000000NOOOOOOOOOO0000N00000000000000000N0000N00000000000000N00N0000N00000000000000N00N0000N00000000000000N00N0000N000|5^648,120!11^732,360,204,108!7^108,252,3!7^84,252,3!7^36,252,3!9^72,72,1,0,2,10,1,0,-1!9^60,156,1,0,23,21,1,0,-1!12^24,372!12^24,396!12^24,420!12^24,444!12^24,468!12^24,492!12^504,216!12^456,168!12^444,168!12^468,168!12^456,192!12^492,192!12^504,192!12^492,216!12^480,216!12^516,216!12^528,216!12^480,168!12^432,168!12^432,72!12^444,72!12^456,72!12^468,72!12^480,72!12^504,48!12^480,48!12^492,48!12^468,48!12^456,48!12^480,24!12^492,24!12^504,24!12^516,24!12^528,24!12^528,312!12^516,312!12^504,312!12^492,312!12^480,312!12^432,360!12^444,360!12^456,360!12^468,360!12^480,360!12^456,336!12^468,336!12^480,336!12^492,336!12^504,336!12^432,456!12^444,456!12^456,456!12^468,456!12^480,456!12^456,480!12^468,480!12^480,480!12^492,480!9^732,540,1,0,28,12,1,0,0!0^720,528!0^732,528!0^744,528!0^744,540!0^744,552!0^732,552!0^720,552!0^720,540!0^48,540!0^60,540!0^72,540!0^72,552!0^72,564!0^60,564!0^48,564!0^48,552!0^120,540!0^132,540!0^144,552!0^144,540!0^144,564!0^132,564!0^120,564!0^120,552!0^192,540!0^204,540!0^216,540!0^216,552!0^216,564!0^204,564!0^192,564!0^192,552!0^144,168!0^144,180!0^144,204!0^144,192!0^144,216!0^276,144!0^288,144!0^300,144!0^312,144!0^324,144!0^684,216!0^684,240!0^684,228!0^684,252!0^684,264!12^468,192!12^480,192!6^252,324,0,0,1,0!1^384,516");
var _local34 = new LevelData("it's a trap!", "00000000000000000000000001110000000000000000000010100000000000000000000101000000000000000000001011110000000000000000010000F00000000000000000101000000000000000000001010000000000000000000010100000000000000000000101000000111000000000001010000001010000000000010100000010100000000000101000000001000000000001010000111010000000000010100000010100000000000101000000111000000000001010000000000000000000010100000000000000000000101000000000000000000001010000000000000000000010100000000000000000000101000000000000000000001010000000000100000000010100000000001000000000101000000000010111000111010000000000100010000000100000000001000100000101000000000010001000001010000000000100010000010100000000001111100000101000000000000000000|5^108,564!0^276,324!0^300,324!0^324,324!0^348,324!0^372,324!0^708,420!0^708,444!0^708,468!0^684,468!0^660,468!0^636,468!0^636,444!0^636,420!0^660,420!0^684,420!9^684,444,0,1,28,4,0,-1,0!9^588,36,0,1,7,4,0,-1,0!9^660,444,1,0,1,3,1,0,0!11^732,60,372,276!12^204,72!12^336,72!12^456,72!12^552,384!2^36,576,0,-1!2^756,576,0,-1!3^756,156!6^396,108,2,1,0,0!12^156,216");
var _local30 = new LevelData("stalag might", "A000000000000000000000>0000000000@0000000000D000000000000000000000010000000A000000?00000001000>00000000000000>000100000000000000000000001O00000000000000000000021000000000>00000000000020000000000000000000000G000000?00000000?000000>0000000000000000000000000@00000000@0000000000000000000000000000?00000000000000000000000000000000>0000000000000000GK000000000?000000000000>0000000000000>000000000000000000000000000000000000000000000000000000?000000000000000000?000C0000A0000000000000000FJ0000000000>000@00000000000000000000000000000000000000000000000000000000000000A000000?00000000000>00000000000000000G0000000000000000000000>00@00000000000000>000000000000000>000A0000000000000000000000000000000@000000000000000000000?|5^684,48!12^768,492!12^768,444!12^768,396!12^768,348!12^768,300!12^768,252!12^768,204!12^768,156!12^768,108!12^768,60!12^24,60!12^24,108!12^24,156!12^24,204!12^24,252!12^24,300!12^24,348!12^24,396!12^24,444!12^24,492!9^216,72,0,0,3,23,1,-1,0!9^480,192,0,0,4,23,1,-1,0!9^420,396,0,0,4,23,1,0,0!11^144,564,420,36!0^600,468!0^648,372!0^600,300!0^300,324!0^204,372!0^72,408!0^96,300!0^132,228!0^192,132!0^336,192!0^72,60!0^480,72!0^360,84!0^552,168!0^588,96!0^684,192!0^456,300!0^492,420!0^384,480!0^216,456!4^708,570,1!4^588,570,1!4^420,570,1!4^324,570,1!4^156,522,1");
var _local44 = new LevelData("the lowest highest point", "MI00FJ10000000000000002000000F011111111140000000000000211111111100000000000000211111111000000000000000211111114000300000000000B1111111111M00000000000>11111111MI0000000000000B11111MI000000000000000N111MI00000000000000000N1MI00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000N1LH0000000000000000000N111LH00000000000000000C11111LH00000000000000?11111111LH000000000000C1111111111L000000000031111111500020000000003111111110000000000000311111111100000000000G0111111111500000LH00GK10000000000000003|5^36,96!11^240,312,708,516!9^84,516,0,0,30,8,1,0,0!9^756,96,0,0,2,8,1,-1,0!10^396,36!4^612,570,1!4^180,570,1!6^276,564,2,0,0,0!6^516,564,3,0,0,2!6^60,468,2,0,0,0!6^60,492,3,0,0,2!6^660,492,2,0,0,0!6^732,492,3,0,0,3!1^708,540!1^84,540!0^396,300!0^396,276!0^396,252!0^396,228!0^420,240!0^372,240!0^372,264!0^420,264!0^420,288!0^372,288!0^420,216!0^372,216!0^396,204!1^396,180!1^612,108!1^180,108!0^612,84!0^612,60!0^612,36!0^624,48!0^600,48!0^600,72!0^624,72!0^180,84!0^180,60!0^180,36!0^192,48!0^168,48!0^168,72!0^192,72");
var _local16 = new LevelData("citydefender", "00000000000000001000000O000000000QQQ000100000000000000000000111000000Q0001000000000100000000Q00310011000001000000000031100000000011111111101111000000000000000000000000000000000000000110000000000000000000001000000000000000000001110000000000000000000010000000000000000000000111000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000011000000000000000000000000000000000000000011111100000000000000000100000000000000000000001000000000000000000000010000000001111000000000111000000002110000000000010000000002100007000800111100000001000007080000000000000000000001111111110QQQ00000000060100000000OOO00000000600100000000PPN000000000001111110000QQ000000000000000010000000000000000000000100|5^228,516!2^528,120,-0.707106781186547,-0.707106781186547!2^192,144,0.707106781186547,-0.707106781186547!2^168,360,0.707106781186547,-0.707106781186547!2^432,432,-0.707106781186547,-0.707106781186547!2^276,480,0,-1!1^348,180!1^348,348!1^348,444!11^60,396,348,36!10^756,36!6^132,180,0,0,0,0!10^36,36!0^228,96!0^252,72!0^276,48!0^312,36!0^384,36!0^420,48!0^456,60!0^492,84!0^756,216!0^408,396!0^384,372!0^204,324!0^228,288!0^264,264!0^300,240!0^276,432!0^276,396!0^276,372!0^276,336!0^276,312!0^348,144!0^348,120!0^348,216!0^348,312!0^348,408!0^348,384!2^768,276,-0.707106781186547,-0.707106781186547!0^756,240!0^720,240!0^696,216!0^660,192!0^624,180!0^576,312!0^696,312!0^576,432!0^636,324!0^588,372!0^684,372!0^336,516!0^360,516!0^384,516!0^372,516!0^348,516!0^120,348!0^108,348!0^96,348!0^84,348!2^504,432,0,-1!0^504,384!0^504,360!0^504,336!0^504,300!0^504,276!1^348,252!0^348,288!2^708,384,0.707106781186547,-0.707106781186547!0^744,348!0^756,312");
var _local14 = new LevelData("shark's in the water.. our shark.", "000000000025000000500F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;00000000000000000;00006000000000000000006000000000000;000000000000000000000060000;00000000000000000000006000000000;0000000000000000000000600000000000000000;000000000000000000000060000000000000000000000000000000000;000000000000000;000000600000000000000060000000000000000000000000000000000000000;00000000000000000000006000000000000000000000000000;000000000000;00000000060000000;0000600000000000000000600000000000000000000000000000000;000000000000000000000060000;00000000000000000000006000000000000000000000000000000000000000000000000000000003400000000000000000011111114000000000000400111111114000340000G0|5^36,444!6^132,564,2,0,0,0!6^708,564,2,0,0,0!6^420,564,2,0,0,0!6^492,564,3,0,0,2!6^204,564,3,0,0,2!12^36,372!12^60,372!12^84,360!12^708,252!12^684,252!12^660,240!12^36,132!12^60,132!12^84,120!0^708,228!0^696,228!0^684,228!0^672,216!0^684,216!0^696,216!0^708,216!0^696,204!0^684,204!0^60,108!0^48,108!0^36,108!0^36,96!0^48,96!0^60,96!0^60,84!0^48,84!0^36,84!0^36,72!0^48,72!0^60,72!0^36,348!0^48,348!0^60,348!0^60,336!0^48,336!0^36,336!0^36,324!0^48,324!0^60,324!0^60,312!0^48,312!0^48,60!0^36,60!0^36,48!11^744,84,252,36!4^36,570,1!4^756,570,1!12^36,516!12^36,492!12^756,516!12^756,492!12^756,468!12^756,444");
var _local23 = new LevelData("pillory", "0000000000111100000000200000000001111000000000000000000021150000000000000000000000000000000000000000000000000000000000311100000000001111400001111000000000011111040011114000CD000311111011111111111111111111110111111111111111111111101100010001000100010001015000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001400000000000000000000011010001000100010001010111111111111111111111101111111111111111111111050011115000BE000211111000011110000000000111110000211100000000001111500000000000000000000000000000000000000000000000000000000031140000000000000000000111100000000000000000001111000000003|5^348,60!12^504,540!12^288,540!12^504,492!12^288,444!12^504,396!12^288,348!12^504,300!12^288,252!12^504,204!12^288,156!12^504,108!1^444,156!1^444,252!1^444,348!1^444,444!1^348,492!1^348,396!1^348,300!1^348,204!1^348,108!0^372,396!0^396,396!0^420,396!0^420,444!0^396,444!0^372,444!0^372,492!0^396,492!0^420,492!0^420,348!0^396,348!0^372,348!0^372,300!0^396,300!0^420,300!0^420,252!0^396,252!0^372,252!0^372,204!0^396,204!0^420,204!0^420,156!0^396,156!0^372,156!0^372,108!0^396,108!0^420,108!6^516,516,3,0,0,2!6^516,84,3,0,0,2!6^276,276,3,0,0,0!6^516,420,3,0,0,2!6^516,276,3,0,0,2!6^276,420,2,0,0,0!4^732,570,1!4^60,570,1!1^72,264!1^84,252!1^96,240!1^108,228!1^120,216!1^132,204!1^144,192!1^72,360!1^96,384!1^120,408!1^144,432!1^720,264!1^708,252!1^696,240!1^684,228!1^672,216!1^660,204!1^648,192!1^720,360!1^696,384!1^672,408!1^648,432!2^600,300,0.707106781186547,-0.707106781186547!2^192,300,-0.707106781186547,-0.707106781186547!0^204,276!0^204,252!0^204,228!0^204,348!0^204,372!0^204,396!0^588,348!0^588,372!0^588,396!0^588,276!0^588,252!0^588,228!11^600,84,192,84!3^756,36!3^36,36!2^624,432,0,-1!2^168,432,0,-1!12^288,396!12^288,300!12^288,204!12^288,108!12^504,156!12^504,252!12^504,348!12^504,444!12^288,492");
var _local19 = new LevelData("think different", "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003114000000000000000003111111400000000000000315000021400000000000001500000021400000000000010000000021000000000000140000000014000000000002100000000210000000031101000000000100000000101020000000031000000001150000000000150000000000030000000031000000000000140311403150000000000002111111115000000000000002150021500000000000000000000000000000000000000000000000000000000003111400000000000000000315021400000000000000001531421000000010000000010101010000000100000000140003100000001000000002140315000000000000000002111500000000000000000000000000000000000000000000000000000000000|5^348,564!4^648,570,1!4^132,570,1!2^540,576,0,-1!2^72,576,0,-1!2^24,324,0.707106781186547,-0.707106781186547!2^768,420,-0.707106781186547,-0.707106781186547!11^636,444,636,420!0^372,156!0^276,228!0^396,228!0^420,228!0^444,252!0^420,276!0^420,252!0^396,252!0^372,252!0^348,252!0^324,252!0^300,252!0^276,252!0^252,252!0^228,276!0^252,276!0^276,276!0^300,276!0^324,276!0^348,276!0^372,276!0^396,276!0^420,300!0^420,324!0^396,324!0^396,300!0^372,300!0^372,324!0^348,324!0^348,300!0^324,300!0^324,324!0^300,324!0^300,300!0^276,300!0^276,324!0^252,324!0^252,300!0^228,300!0^228,324!0^228,348!0^252,348!0^276,348!0^300,348!0^324,348!0^348,348!0^372,348!0^396,348!0^420,348!0^444,372!0^420,396!0^420,372!0^396,372!0^396,396!0^372,396!0^372,372!0^348,372!0^348,396!0^324,396!0^324,372!0^300,372!0^300,396!0^276,396!0^276,372!0^252,372!0^300,420!0^324,420!0^348,420!0^372,420!0^396,420!0^348,444!6^732,204,1,1,0,3!6^156,324,5,1,0,3!10^36,36");
var _local31 = new LevelData("patience", "9611961196119611111111100:=00:=00:=0011900611100000000000000:=0000:1100000000000000000000006000;<00;<0000000000000700711871100;<00000000;10;1111111871100;<0000:10:1190006111187110000060061001<0111111110000070071871101196111100;1110;11119001100:11=00:1110:1111000:=00000000000600611100000000000000007000:110000000000000;111000061800000000;1<0:11180007111<00000711=000061<0;1111=0000;1190000071=0:119000000:1180000;1900061800000006111<00:100007111<000007111=0006000;1111=0000;111900007000:11190000011118000;1800061180000711111<00:111<00:111111111111=000611=00061196119611900007900000011001100:=0000;10000000:=00:=00000000:1800000000000000000000061<0000000000000000;<0001100;1<000;<00;<001100011871118071187118711807|5^60,444!9^180,264,0,0,10,9,1,0,0!9^204,360,0,0,10,9,1,-1,0!9^36,336,1,0,8,7,1,0,0!9^156,168,1,0,8,7,1,0,-1!11^228,156,756,96!0^36,144!0^36,48!0^36,240!0^240,84!0^384,132!0^480,132!0^612,264!0^756,336!0^612,360!0^756,432!0^600,564!0^504,564!0^408,564!0^312,564!0^216,564!0^120,564!0^480,372!0^252,312!0^396,372!0^552,204!0^456,180!0^564,36!0^468,36!0^396,36!0^324,84!0^156,84!0^684,564!0^756,564!0^756,516!0^756,252!0^756,204!0^684,36!0^636,36!0^564,132!0^624,180!0^276,180!0^564,324!0^528,444!0^432,420!6^636,276,1,0,0,2!6^324,180,0,0,0,2!6^108,36,1,0,0,0!6^324,540,0,0,0,3!1^360,300!12^312,468!12^432,492!12^528,492!12^636,468!12^720,156!12^600,96!12^504,84!12^360,60!12^240,24!12^72,96!12^72,192!12^72,288!12^96,384!12^168,408!12^432,336!12^540,336!12^504,240!12^408,240!12^312,264!0^372,180!0^576,312!0^576,300!0^576,288!0^576,276!0^576,264!0^576,252!0^576,240!0^576,228!0^576,216!0^564,204!0^552,324");
var _local20 = new LevelData("black black", "11111111111111111111111111111111101111111111111111111111011111111111111111111110111111111111111110000000000000011111111001111011111111111111110111110111111111111111101111101111111111111111111111011100001111111111111110000011001111111111111111101111011111111111111111011110111111111111111110011001111111111111111110000111111111111111111000000111111111111111111101111111111111111111111011111111111111111111110011111111111111111111010011111111111111111100010111111111111111111010101111111111111111110101011111111111111111101000111111111111111011011011111111111111110110111111111111111111101101111111111111100000000000000111111111111110111111111111111111111101111111111111111111111011111111111111111111111111111111111|5^132,468!11^732,276,204,132!6^252,348,0,0,0,0!12^372,480!12^588,432!6^660,156,2,0,1,1!0^60,276!0^84,276!0^108,276!0^156,276!0^180,276!0^204,276!0^228,276!0^252,276!0^396,396!0^420,396!0^444,396!0^372,396!0^516,348!0^540,348!0^564,348!0^588,348!0^612,348!0^636,348!0^492,444!0^516,444!0^540,444!12^468,384");
var _local17 = new LevelData("ender", "11150211111111111115011111000150002150002100111150000000000000000001150000000000000000000021000000000000000000000000000000000000000000000000000000000000000000000@0031111111111111400003P0011111111111111100001A0021111111111111500002000000000000000000000000000000000000000000000300000000000000000000002@0000000000000000000000D000311114031111400000310001111110111111000001E0002111150211115000002A0000000000000000000000000000000000000000000030000000000000000000000200000000000000000000000@0031111111111111400003P0011111111111111100001A002111111111111150000200000000000000000000000000000000000000000000000000000000000000000003140000000000000000000011114000000000000000310111110001400031400031101111140311111111111111011|5^60,516!11^744,516,396,276!6^276,372,1,0,0,3!6^516,252,0,0,0,3!6^444,204,1,0,0,3!6^444,396,1,0,0,3!6^348,348,0,0,0,3!6^396,108,0,0,0,0!6^612,204,1,0,0,3!6^180,156,0,0,0,3!12^564,480!12^564,504!12^564,528!12^564,552!12^564,456!12^396,552!12^396,528!12^396,504!12^396,480!12^396,456!12^396,432!12^228,552!12^228,528!12^228,504!12^228,480!12^228,456!2^660,540,-0.707106781186547,-0.707106781186547!2^108,540,0.707106781186547,-0.707106781186547!2^252,564,0.707106781186547,-0.707106781186547!2^372,564,-0.707106781186547,-0.707106781186547!2^492,564,0.707106781186547,-0.707106781186547!2^468,564,-0.707106781186547,-0.707106781186547!2^540,564,-0.707106781186547,-0.707106781186547!2^420,564,0.707106781186547,-0.707106781186547!2^324,564,0.707106781186547,-0.707106781186547!2^300,564,-0.707106781186547,-0.707106781186547!12^636,564!12^612,564!12^588,540!12^204,540!12^180,564!12^156,564!12^132,564!0^732,156!0^732,144!0^732,132!0^732,120!0^732,108!0^744,108!0^744,120!0^744,132!0^744,144!0^744,156!0^756,144!0^756,132!0^756,120!0^60,108!0^60,120!0^60,132!0^60,144!0^60,156!0^48,156!0^48,144!0^48,132!0^48,120!0^48,108!0^36,120!0^36,132!0^36,144!9^312,384,0,0,29,21,1,-1,0!9^480,384,0,0,29,21,1,0,0!1^120,396!1^120,252!1^672,252!1^672,396!12^120,324!12^672,324!12^708,180!12^696,96!12^96,96!12^84,180!12^708,468!12^732,444!12^744,408!12^744,384!12^732,348!12^720,324!12^696,492!12^708,252!12^636,252!12^156,252!12^84,252!12^60,396!12^180,396!12^120,420!12^672,420!2^276,576,0,-1!2^348,576,0,-1!2^444,576,0,-1!2^516,576,0,-1");
var _local27 = new LevelData("zalem", "0000000000000000I0000020000000000000000000000000000000000000000000000000000000000000000011400000000000000000000100000000000000@0000000100000000000000D000000010000000000000010000000110000000000G0010000000010000000CQQI001000000001000000010000010000000010000000BOOH001@000000015000000000F001D000000000000000000000214000000000111D000GL000FJLH000000011111111100000000000000111E000FM000GKMI00011500000000000031500000100000000000G001E000000100000000CQQI001A00000011400000010000010000000000000000BOOH0010000000000000000000F001000000000400000000000010000000001000000000000E0000000001000000000000A00000001150000000000000000000010000000000000000000000100000000000000000000001150000000000000000000000000000000000000000H000003|5^456,528!9^672,528,1,0,16,15,1,0,-1!9^156,528,1,0,16,16,1,0,0!11^456,564,396,384!3^396,252!3^636,312!3^168,312!3^444,36!3^348,36!4^516,282,1!4^276,282,1!0^372,132!0^372,144!0^372,156!0^372,180!0^372,168!0^372,192!0^360,204!0^360,120!0^432,120!0^420,132!0^420,144!0^420,168!0^420,156!0^420,180!0^420,192!0^432,204!0^504,180!0^516,180!0^528,180!0^528,192!0^528,204!0^504,204!0^504,192!0^528,216!0^504,216!0^516,192!0^288,204!0^288,192!0^288,180!0^276,180!0^264,180!0^264,192!0^264,204!0^264,216!0^288,216!0^276,192!0^516,204!0^276,204!4^180,570,1!6^468,468,1,0,0,2!6^180,468,0,0,0,0!6^588,516,0,0,0,0");
var _local24 = new LevelData("disembark", "50000001111111111111501000000011111111111110010000000111150021111100100000001111000011111401000000011110000111111010000000115000001111110100000001100000011500001000000000000000A000000A000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000@000000@00000001100000011400001000000011400000111000010000000111100001110000100000001111000011100001000000011114003111000010000000111111111114000140000001111111111111111|5^60,156!12^216,564!12^576,564!12^564,576!12^228,576!12^252,576!12^276,576!12^300,576!12^324,576!12^348,576!12^372,576!12^396,576!12^420,576!12^444,576!12^468,576!12^492,576!12^516,576!12^540,576!12^168,516!12^168,492!12^168,468!12^192,420!12^600,420!11^72,540,732,540!9^84,336,0,0,6,22,1,0,0!9^708,336,0,0,5,22,1,0,0!9^756,180,0,0,5,22,1,-1,0!12^600,516!12^648,516!12^696,516!12^744,516!6^684,372,3,0,0,3!6^108,300,2,0,0,0!6^468,372,2,0,0,2!6^228,300,3,0,0,2!0^612,252!0^624,252!0^636,264!0^636,276!0^180,252!0^168,252!0^156,264!0^156,276!0^636,468!0^648,468!0^660,468!0^672,468!0^684,468!0^696,468!0^708,468!0^720,468!0^732,480!0^732,492!0^720,504!0^708,504!0^684,504!0^672,504!0^660,504!0^660,492!0^648,480!0^696,492!0^708,492!0^720,492!0^672,492!0^684,492!0^660,480!0^672,480!0^684,480!0^696,480!0^708,480!0^720,480!0^732,504!0^696,504!3^396,36");
var _local35 = new LevelData("ruined", "A00000000000000000000>10000I000000000000000001000000000000000000000K1I0000000I000I000000A000000000G000000000000000>00000G1I0000002L00000000000CIF000H0000>40000GO0003500000000000>1I000F00BI0000000000000J40000000000000000000000020020000000000000000000000000000000I0000000030003100?00000000000G1014HC1I00000000000000E00000000H00000000A0001P0O0CHD0G00000H00000002P0001J1110000000000000G1H305005F00I00?0000000002QN@00000000000?00000010000>00F000>000000I000>0000000?0G000000000000000000?110000000000000000000350FI000H0000000@0000005000000000000>0000000G5000F00BH000?000000000M000000002@G00000000003000000000021E00000000F50000GKD00002100000000?00000001H00002@0H000?000>0000G1000000J0000000000000011@0000004000000000000C1|5^60,528!9^336,168,0,0,13,17,1,-1,0!9^660,300,0,0,13,17,1,0,0!9^600,168,1,0,14,19,1,0,0!9^264,288,1,0,14,21,1,0,-1!11^348,564,732,180!6^756,204,2,0,0,3!12^684,156!12^624,576!12^576,552!12^672,540!12^660,480!12^588,492!12^732,540!0^552,564!0^540,540!0^564,516!0^612,540!0^600,564!0^648,552!0^612,504!0^636,444!0^636,480!0^672,516!0^684,552!0^696,564!0^708,504!0^648,516!0^756,516!6^540,156,3,0,0,3!6^228,60,1,0,0,2!12^204,360!12^372,288!12^360,120!12^240,156!12^396,216!12^528,240!12^492,324!12^732,312!12^588,108!12^354,438!12^420,444!0^432,480!0^420,504!0^444,564!0^480,552!0^444,540!0^468,516!0^516,492!0^492,468!0^516,456!0^600,240!0^456,252!0^420,324!0^312,312!0^228,252!0^264,180!0^432,120!0^312,60!0^564,72!0^552,204!0^612,324!0^192,216!8^108,564,3!8^132,372,2!12^216,552!12^264,552!12^36,492!12^24,408!12^24,288!12^36,252!12^36,180!12^84,84!12^264,36!12^756,396!12^768,468!12^768,252!6^444,372,2,0,0,3!6^396,444,3,0,0,3");
var _local40 = new LevelData("chevron belt", "00000000000000000000000000400000000000000030000001000000000000000100002110000001110000001150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000114000003110000000000001000000000100000000000020500000205000000000O000000000000000O000000100000000000000010000001000000000000000100000010000000000000001000000Q000000000000000Q00000000030400000304000000000000100000000010000000000001150000021100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003110000001110000001140000100000000000000010000005000000000000000200000000000000000000000000|5^396,84!1^684,408!1^684,192!1^108,192!1^108,408!1^600,492!1^600,108!1^192,108!1^192,492!1^276,492!1^516,492!1^516,108!1^276,108!3^396,300!6^492,396,3,0,1,3!6^756,564,3,1,0,3!6^756,36,3,1,0,2!6^36,36,3,1,0,1!6^36,564,3,1,0,0!11^396,468,396,348!0^708,72!0^708,84!0^720,84!0^84,72!0^84,84!0^72,84!0^72,516!0^84,516!0^84,528!0^720,516!0^708,516!0^708,528!0^684,372!0^684,360!0^684,240!0^684,228!0^684,156!0^684,144!0^108,144!0^108,156!0^108,228!0^108,240!0^108,360!0^108,372!0^108,444!0^108,456!0^648,492!0^636,492!0^564,492!0^552,492!0^480,492!0^468,492!0^324,492!0^312,492!0^240,492!0^228,492!0^156,492!0^144,492!0^144,108!0^156,108!0^228,108!0^240,108!0^312,108!0^324,108!0^468,108!0^480,108!0^552,108!0^564,108!0^636,108!0^648,108!1^600,300!1^192,300!1^516,300!1^276,300");
var _local36 = new LevelData("chomplor", "900000000000000000000060;<0000000000000000000006=0000000000000000000;0000000000000000000000:00000000000000000000000007<000000000000000000000:=000000000000000000;0000000;11<0;111<00000:000000011110:11110000000000000111=0061110000000000;<0190000011100000;00006=01800000:1100000:07<000011111<00610000000:=000011111=00010000000000000119000007100000;00000001100;1111100000:00000001100:1111100000000007<011800061110000000000:=01111<0011100000;00000001111=0011100000:0000000119000711100000000000001100;1111100000000;<0001100:1111100000;006=000118000611100000:00000001111<0011100000000000001111=001110000000000000119000011100000;0000000110000711100000:0007<001100;11111000000000:=0011001111110000008000007118711111180;<07|5^72,36!3^384,456!9^696,96,0,0,9,12,1,-1,0!11^732,276,720,504!0^636,564!0^624,564!0^612,564!0^540,564!0^528,564!0^516,564!0^444,564!0^432,564!0^420,564!0^348,564!0^336,564!0^324,564!0^252,564!0^240,564!0^228,564!0^156,564!0^144,564!0^132,564!0^708,564!0^720,564!0^732,564!0^744,564!0^756,552!0^756,540!0^756,468!0^756,456!0^744,444!0^732,444!0^720,444!0^708,444!0^60,564!0^48,564!0^36,552!0^36,540!6^276,348,3,0,0,0!6^468,324,3,0,0,0!6^660,324,3,0,0,0!6^564,276,3,0,0,2!6^372,276,3,0,0,1!12^228,192!12^312,192!12^396,192!12^480,192!12^564,192!12^648,192!12^732,192!12^252,168!12^336,168!12^372,156!12^420,168!12^504,168!12^540,156!12^588,168!12^624,156!12^672,168!12^708,156!0^432,120!0^312,120!0^144,72!0^312,48!0^600,72!12^756,168");
var _local48 = new LevelData("it's not pharaoh", "50000000000000001150002000000000000000011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000040000000000000001140003|5^48,396!1^108,444!1^300,444!1^492,444!1^684,444!4^300,570,1!8^756,540,2!8^36,516,0!8^756,492,2!6^60,468,2,0,0,1!1^444,396!1^348,396!1^156,396!1^636,396!1^588,348!1^396,348!1^204,348!1^252,300!1^348,300!1^444,300!1^540,300!1^492,252!1^396,252!1^300,252!1^348,204!1^444,204!1^396,156!11^744,396,396,60!1^300,348!1^252,396!1^204,444!1^396,444!1^588,444!1^492,348!1^540,396!0^588,420!0^492,420!0^684,420!0^636,372!0^540,372!0^444,372!0^396,420!0^348,372!0^300,420!0^252,372!0^204,420!0^108,420!0^156,372!0^204,324!0^300,324!0^396,324!0^492,324!0^588,324!0^540,276!0^444,276!0^348,276!0^252,276!0^300,228!0^396,228!0^492,228!0^444,180!0^348,180!0^396,132!3^396,516");
var _local45 = new LevelData("iron clad _what_ of steel?!", "5011011000000000000000000210110000000000000000000B015000000000000000000000E00000000150000000000000000000000000000000000000000000000000000000000000000000000000000000001400001500000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000150000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000D00000000140000000000C01400000000000000000031011000000000000000040110110000000000000000|5^36,60.894015!11^396,564,756,132!12^660,156!12^636,156!12^612,156!12^564,156!12^540,156!12^516,156!12^132,156!12^156,156!12^180,156!12^228,156!12^252,156!12^276,156!12^348,156!12^444,156!12^636,360!12^156,360!12^708,384!12^756,384!12^756,432!12^708,432!12^708,480!12^756,480!12^756,528!12^708,528!12^84,384!12^36,384!12^36,432!12^84,432!12^84,480!12^36,480!12^36,528!12^84,528!12^48,564!12^744,564!6^420,324,1,0,0,3!6^564,324,0,0,0,3!6^228,324,1,0,0,3!6^420,180,1,0,0,3!3^396,36!0^732,384!0^732,408!0^732,432!0^732,456!0^732,480!0^732,504!0^732,528!0^720,552!0^60,384!0^60,408!0^60,432!0^60,456!0^60,480!0^60,504!0^60,528!0^72,552!0^108,348!0^684,348!0^708,348!0^732,360!0^84,348!0^60,360!0^204,132!0^300,132!0^300,120!0^204,120!0^492,132!0^492,120!0^588,132!0^588,120!9^708,132,0,0,2,5,1,0,0!9^36,132,0,0,30,5,1,-1,0");
var _local53 = new LevelData("kessel", "A0>100>1000000000>11A0>0001@00100000000000000000011001000000100000000000010000000001@?1111@0000?100000000011110>1P0000110010000001A00001P0000100010000001000001P0000100010000000000001P0@0010001@000000000001P0110110011100001000001D0A000000001@0001@?111110000000000111001111A00000000000001A00000>10000000000000?1000000010000000000000N1000000010000000000000N1000000010000000000000>100000001000000000000001000000010000000000000010000000100000000000000100000001@011000000000?1@0011001111E01111@001111101A00>1A00000>11101A000010000100000000000100000100001000000000001000001@00?100000000000100000110011000000000000000001A00>10000000000000000010000000000000000100000100000000000000001000000000010000@00000?1@00000000?1000?|5^60,60!11^384,216,492,492!9^468,228,0,0,23,7,1,-1,0!9^300,228,0,0,23,7,1,0,0!9^108,108,0,0,10,3,1,-1,0!9^120,108,0,0,10,3,1,0,0!9^132,468,0,0,20,23,1,-1,0!9^276,408,0,0,20,23,1,0,0!9^576,420,0,0,11,23,1,-1,0!9^576,396,0,0,11,23,1,0,0!9^564,36,0,0,22,13,1,-1,0!9^564,60,0,0,22,13,1,0,0!2^120,360,0,-1!2^216,504,0,-1!2^696,576,0,-1!2^672,336,0,-1!8^468,468,1!8^324,468,1!8^444,564,3!8^348,564,3!0^756,156!0^756,132!0^756,108!0^756,84!0^756,60!0^48,144!0^36,156!0^48,168!0^60,156!0^108,408!0^96,396!0^96,420!0^36,528!0^36,540!0^36,552!0^48,564!0^48,516!12^372,432!12^420,432!12^468,432!12^444,372!12^396,372!12^348,372!12^492,372!12^468,312!12^420,312!12^372,312!0^228,132!0^204,132!0^180,132!3^36,228!6^708,324,3,0,0,0!6^540,516,2,0,0,0!6^252,492,3,0,0,3!0^276,300!0^252,300!0^252,276!0^228,252!0^204,252!0^204,228!0^684,396!0^684,420!0^708,420!0^708,396!0^732,420!0^732,396!10^516,36!8^396,468,1");
var _local46 = new LevelData("the ringer", "10111111015001111150150501500150100015011001000010001000000000150010000000000000000001000100000000000000000000001000000000000000000000000000000000000000000000000000000000001400000000000000000100011000011400000001001000150000111110000310014001000001111500001140110010010011150000011111100100100111003000150021101401401110010001000011111111111140200010000111115021111140000100001502100015021100001000010005000100015000010000500000005000100000100000000000000005000001000000000000000000000010000000000000000000003100000000000000000000011000000000000000000000110000004000000040000001100000010004000100030011000000100010001400100150040001000140311101001000100014031111115024010001403111111111000010140311111111111114000|5^48,564!9^756,60,0,0,10,23,1,-1,0!9^36,60,0,0,31,2,1,-1,0!9^36,228,0,0,1,2,1,0,0!9^60,396,0,0,1,9,1,0,0!11^744,564,720,108!9^420,276,0,0,28,22,1,-1,0!9^396,372,0,0,28,22,1,0,0!6^468,564,3,1,0,0!6^660,444,3,1,0,3!6^516,300,3,1,0,2!6^372,132,3,1,0,0!0^348,348!0^336,348!0^324,348!0^312,348!0^300,348!0^348,420!0^336,420!0^324,420!0^312,420!0^300,420!0^348,276!0^336,276!0^324,276!0^312,276!0^300,276!0^300,180!0^288,180!0^276,180!0^264,180!0^252,180!0^84,156!0^72,156!0^60,156!0^60,324!0^48,324!0^36,324!0^132,492!0^120,492!0^108,492!0^96,492!0^84,492!0^72,492!0^60,492!0^48,492!0^36,492!8^228,348,1!8^276,420,3!8^324,252,2!8^180,300,2!8^228,36,1!12^696,72!12^636,72!12^576,72!12^552,96!12^492,96!12^432,96!12^372,96!12^312,96!12^720,324!12^696,420!12^744,228!12^408,468!12^336,180!12^336,156");
var _local41 = new LevelData("highdive", "9610119061111190000000600:01100011Q1100000000000001=00011011000000000000000000:1011000000000000000000000110000000000000000000001=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001<0000000000000000000;0110000000000001<0000010110000000000;0110080711118000000007101187|5^48,528!11^84,300,732,132!9^756,468,0,0,4,12,1,0,0!9^36,108,0,0,30,19,1,-1,0!9^756,60,0,0,2,4,1,0,0!9^36,204,0,0,29,5,1,-1,0!0^36,48!0^48,48!0^48,36!0^48,60!0^60,60!0^60,48!0^60,36!0^756,552!0^744,564!0^744,552!0^744,540!0^732,540!0^732,552!0^732,564!1^180,180!1^204,180!1^204,204!1^180,204!1^180,192!1^192,180!1^204,192!1^192,204!1^192,192!1^444,144!1^468,144!1^468,168!1^444,168!1^444,156!1^456,144!1^468,156!1^456,168!1^456,156!1^324,252!1^348,252!1^348,276!1^324,276!1^324,264!1^336,252!1^348,264!1^336,276!1^336,264!1^492,516!1^516,516!1^516,540!1^492,540!1^492,528!1^504,516!1^516,528!1^504,540!1^504,528!1^108,444!1^132,444!1^132,468!1^108,468!1^108,456!1^120,444!1^132,456!1^120,468!1^120,456!1^300,396!1^324,396!1^324,420!1^300,420!1^300,408!1^312,396!1^324,408!1^312,420!1^312,408!1^588,348!1^612,348!1^612,372!1^588,372!1^588,360!1^600,348!1^612,360!1^600,372!1^600,360!1^684,252!1^708,252!1^708,276!1^684,276!1^684,264!1^696,252!1^708,264!1^696,276!1^696,264!6^84,84,2,1,0,3!6^636,180,5,1,0,1!6^396,180,5,1,0,2!6^612,420,5,1,0,0!0^300,372!0^312,372!0^324,372!0^108,420!0^120,420!0^132,420!0^492,492!0^504,492!0^516,492!0^588,324!0^600,324!0^612,324!0^684,228!0^696,228!0^708,228!0^324,228!0^336,228!0^348,228!0^444,120!0^456,120!0^468,120!0^180,156!0^192,156!0^204,156!4^396,570,1");
var _local51 = new LevelData("deathtrap", "50011002150011000110002000150000000150001500000000000000000000000000000000000000000000000110000000031000000000001100000031110001400000011014000111500011000000150110000000000110014000001100000000002100110000011000000310000000000000500011001114000000001100000110011110000140011000001100000000001100110000015000000000011001504000003100014000110000310000011000110001100001500000210001500011000020000140000000000110014000001100000000001100110000011001111000015001104000110011150000000011011000000210000000000000110000000000310011000001100000000001100150000015000111400011000000140000002111000150000001100000000210000000000011000000000000000000000110000000000000000000000000001400000001400014000040011003140011000110003|5^396,396!12^396,552!12^420,288!12^372,288!12^480,264!12^312,264!12^396,216!12^720,108!12^72,108!12^612,312!12^180,312!12^480,120!12^312,120!12^300,168!12^492,168!12^48,228!12^744,228!12^684,324!12^108,324!12^396,348!12^396,60!0^756,156!0^756,168!0^756,180!0^36,156!0^36,168!0^36,180!0^756,84!0^756,72!0^744,84!0^744,72!0^48,84!0^36,84!0^36,72!0^48,72!0^60,300!0^48,300!0^36,300!0^60,420!0^48,420!0^36,420!0^732,420!0^744,420!0^756,420!0^732,300!0^744,300!0^756,300!3^540,276!3^252,276!11^396,396,396,276!12^456,324!12^336,324!0^144,564!0^132,564!0^120,564!0^288,564!0^300,564!0^312,564!0^648,564!0^660,564!0^672,564!0^504,564!0^492,564!0^480,564!4^228,570,1!4^564,570,1!3^108,108!3^684,108!0^492,36!0^444,36!0^348,36!0^300,36!0^288,36!0^360,36!0^372,48!0^276,48!0^420,48!0^432,36!0^504,36!0^516,48");
var _local49 = new LevelData("knifedge", "50111111111111111111111002150210150210150210110000000000000000000000200000000000000000000000000000000000000000000030000021111111111111111100000000000000000000002000000000000000000000000000000000000000000000300000000211111111111111000000000000000000000020000000000000000000000000000000000000000000003000000000002111111111110000000000000000000000200000000000000000000000000000000000000000000030000011400000021111111100310111000000000000002001101110000000000000000011011100000000000000300110111000000000211111001111110000000000000020021115000000000000000000001000000000000000003000010000000000000002110000100000000000000000200001000000000000000000000010000000000000000030000100000000000000001100031400000000000000311|5^732,516!11^528,132,36,60!9^60,156,0,0,19,5,1,-1,0!9^60,300,0,0,20,5,1,-1,0!9^60,444,0,0,20,5,1,0,0!8^60,516,0!8^60,372,0!8^60,228,0!6^228,492,0,1,0,3!6^324,372,0,1,0,3!6^468,516,1,1,0,3!0^612,108!0^636,108!0^660,108!0^684,108!0^708,108!0^732,108!0^756,84!0^732,84!0^708,84!0^684,84!0^660,84!0^636,84!0^612,84!0^612,60!0^636,60!0^660,60!0^684,60!0^708,60!0^732,60!0^756,60!12^468,84!12^588,84!12^552,72!12^504,72!12^528,24!12^468,24!12^588,24!0^288,564!0^300,564!0^312,564!0^384,564!0^396,564!0^408,564!0^480,564!0^492,564!0^504,564!0^576,564!0^588,564!0^600,564!0^192,564!0^204,564!0^216,564!0^96,564!0^108,564!0^120,564!0^132,552!0^120,552!0^108,552!0^96,552!0^84,552!0^84,540!0^96,540!0^120,540!0^108,540!0^132,540!6^132,204,0,1,0,3");
var _local55 = new LevelData("for the love of gold", "50000000110000000011002000000001500110000150000014000010002100000000000110000100001000000000001100000000000000100004011000000000000000000011110000100000000010000111100000000010000000001111000000000000001000011150000100000000000000500000000000000000100000000000000000100000000000010000100000000010000000100000000000000000000001000000000000001000000010000100001000000000000100000000000000100000001000000000000000000000010000100000000010000000100000000010000000000001000000000000001000000010000100000000000000000100000000000000100000001000000000100000000000010000100000000010000000000000000000000000004000000000000000000000011140000100001000010000111100031000010003100001111000110000140011000011114000000001100000003|5^108,60!12^588,468!12^540,468!12^492,468!12^444,468!12^396,468!12^348,468!12^300,468!12^252,468!12^204,468!12^156,468!12^252,168!12^180,168!12^324,168!12^396,168!12^468,168!12^540,168!12^612,168!12^588,300!12^492,300!12^396,300!12^300,300!12^204,300!12^588,408!12^492,408!12^396,408!12^300,408!12^204,408!6^684,204,3,1,0,3!6^204,324,2,1,0,2!6^36,444,3,1,0,0!10^720,492!11^396,564,396,492!0^36,528!0^36,540!0^60,564!0^60,552!0^60,540!0^60,528!0^84,564!0^84,552!0^84,540!0^84,528!0^108,564!0^108,552!0^108,540!0^108,528!4^180,570,1!3^468,84!0^612,36!0^324,36!0^468,36!0^540,36!0^396,36!12^174,372!12^138,372!12^234,372!12^270,372!12^330,372!12^366,372!12^426,372!12^462,372!12^522,372!12^558,372!12^618,372!12^654,372!12^660,252!12^636,252!12^588,252!12^564,252!12^516,252!12^492,252!12^444,252!12^420,252!12^372,252!12^348,252!12^300,252!12^276,252!12^228,252!12^204,252!12^84,480!12^108,480!12^636,492!12^660,492!12^132,252!12^156,252");
var _local32 = new LevelData("gattacca", "11111111110111011101111150000000000000000000021000000000000000000000010000001110111011101140100000011115021502111101000000110000000000011010000031100000000000110100011111000000000001101000211150000000000015014000000000000000000000111400003111100011400001111000011115000111000011500000100000031110000100000001000000111100001003100010111111111000010011000102111150110000100110001000000001500001001100011111111110000010011400000000000000000500111111111111111400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003|5^348,348!6^60,276,3,0,0,2!6^84,372,3,0,0,2!6^108,468,3,0,0,2!9^72,324,1,0,17,14,1,0,-1!9^72,420,1,0,17,15,1,0,-1!9^120,120,1,0,17,15,1,0,0!12^132,192!12^108,48!12^192,132!12^48,108!12^84,144!12^156,96!12^108,84!12^132,156!12^156,132!12^84,108!6^732,36,3,1,0,2!6^564,564,3,1,0,0!12^504,144!12^504,432!12^504,288!12^504,216!12^504,360!12^528,396!12^528,324!12^528,252!12^528,180!12^564,108!12^600,108!12^768,84!12^768,300!12^768,516!12^768,408!12^768,192!8^468,564,3!0^84,324!0^60,324!0^60,420!0^84,420!0^72,432!0^72,408!0^72,336!0^72,312!0^636,108!0^636,132!0^636,156!0^636,324!0^636,372!0^132,324!0^132,420!8^156,276,0!8^156,468,0!9^636,180,1,0,17,12,1,0,-1!9^636,396,1,0,17,13,1,0,-1!11^408,420,468,420!0^636,348!12^744,132!12^744,240!12^744,348!12^744,456");
var _local28 = new LevelData("escapades", "50000000000021010101000000000000000010101010000000000000000101000101000000000000001010001010000000000000010101010100000000000000101010101100000000000001010101010000000000000010101010100000000000000101010001000O000O000O001010100010000000000000010101010000000000000000101010100000000000000001010101010000000000000010101010100I000I000I0000010101010000H000H000H00010101010000000000000010101011100000000000000101010101000000000000001000101010000000000000010001000100000Q000Q0000101010001000000000000001010101010000000000000010111010100000000000000101010100000000000000001010101000000000000000010101010100000000000000100010101000000000000001000101010000000000000010101010100000000000000101000100040000000000031010001000|5^132,564!6^468,564,1,0,0,0!6^468,468,0,0,0,2!6^276,372,0,0,0,2!6^660,372,1,0,0,0!6^564,324,1,0,0,2!6^132,324,0,0,0,0!0^252,564!0^228,564!0^204,564!0^180,564!0^324,516!0^348,516!0^372,516!0^396,516!0^468,516!0^444,516!0^516,420!0^540,420!0^636,420!0^612,420!0^588,420!0^60,468!0^36,468!0^60,420!0^36,420!0^36,372!0^60,372!0^84,372!0^108,372!0^756,372!0^732,372!0^708,372!0^756,564!0^756,540!0^756,516!0^732,516!0^732,564!12^516,228!12^516,132!12^252,84!12^252,180!12^252,276!8^516,276,2!8^252,228,0!8^516,180,2!8^252,132,0!8^516,84,2!11^420,564,372,36!0^396,252!0^372,204!0^396,156!0^372,108!0^396,60!0^732,540!12^258,72!12^258,168!12^258,264!12^510,216!12^510,120!12^504,132!12^504,228!12^264,276!12^264,180!12^264,84");
var _local42 = new LevelData("docking mechanism", "110000000B111E0000000111500000000111000000001100000000001110000000021000000000N111P000000000000000000N111P00000000000000000001110000000000000000000011100000000000000000031111140000000000000000111111100000000000000031111111400000000000003115000211400000000000311500000211400000000001150000000211000000000011000000000110000000000E0000314000110000000000000001110000B0000000000?1000215000000000000000110000000001@000000000011400000003110000000000211400000311500000000000211400031150000000000000211111115000000000000000111111100000000000000002111115000000000000000000111000000003100000000001110000000011000000000N111P00000C011000000000N111P0000010110000000000111000000101114000000001110000001011110000000C111D000001011|5^672,240!0^36,84!0^36,108!0^36,132!0^36,156!0^36,180!0^36,204!0^36,228!0^60,252!0^84,252!0^156,252!0^180,252!10^120,240!4^396,570,1!0^36,516!0^36,492!0^36,468!0^36,444!0^36,420!0^36,396!0^36,372!0^60,348!0^84,348!0^156,348!0^180,348!0^756,444!0^756,420!0^756,396!0^756,372!0^732,348!0^708,348!0^636,348!0^612,348!0^612,252!0^636,252!0^708,252!0^732,252!0^756,228!0^756,204!0^756,180!0^756,156!0^756,132!0^756,108!0^756,84!3^480,300!3^312,300!9^396,348,0,0,27,21,1,-1,0!9^396,252,0,0,28,21,1,-1,0!9^444,300,0,0,29,21,1,-1,0!9^348,300,0,0,30,21,1,-1,0!11^744,516,144,456!0^756,468!12^684,480!12^732,480!10^360,468");
var _local37 = new LevelData("mantissa", "10000000111111100000001100000002111115000000011@0000000211150000000?11D0000000000000000000C111@00000000000000000?1102D00000000000000000C500024000000000000000350000024000000000000035000000024000000000000100000000010H00000000000000000000001LH000000000000300000002110001400000031000000002100011400003500000000000000FJ14001100000GK4000000000FQ00B10000011100000000000000000000FJ5000000000GO00C1000000000000000GK15001100000000003100011500002400000000311000150000002100000001MI00000000000020000010I00000000000000000003500000000000010000000350000000000000240000035000000000000000240003E00000000000000000B4011A00000000000000000>111E0000000000000000000B11A0000000311140000000>11000000031111140000000110000000111111100000001|5^396,492!11^396,564,396,84!0^636,564!0^624,564!0^612,564!0^612,552!0^612,540!0^624,552!0^600,552!0^600,540!0^588,540!0^156,564!0^168,564!0^180,564!0^168,552!0^180,552!0^192,552!0^180,540!0^192,540!0^204,540!4^252,570,1!4^540,570,1!0^636,36!0^624,36!0^612,36!0^612,48!0^624,48!0^600,48!0^612,60!0^600,60!0^588,60!0^156,36!0^168,36!0^180,36!0^168,48!0^180,48!0^192,48!0^180,60!0^192,60!0^204,60!9^756,204,0,0,22,7,1,-1,0!9^36,204,0,0,10,7,1,0,0!9^756,540,1,0,16,21,1,0,0!9^36,540,1,0,16,21,1,0,-1!12^396,252!12^456,252!12^336,252!1^612,228!1^612,372!1^180,372!1^180,228!1^684,300!1^108,300!2^564,456,0,-1!2^228,456,0,-1!6^396,180,1,0,0,0!6^468,324,0,0,0,0!6^324,324,1,0,0,2!12^396,324!12^348,480!12^444,480!12^480,216!12^312,216!8^756,60,1!8^36,60,1!8^36,396,1!8^756,396,1!3^480,288!3^312,288");
var _local50 = new LevelData("rorschach", "0>1A0001I0F11I0000FJ11100B@0001H0011000000021100>D000FJM0110000000021000B@00000021@00000000B400CD00000002D00000000>0000B@0000000B4000000000000>D0000000>1LH0000005000?1@0001400211LH000?00000>D000210002111@00C000000B@00010000211D031400000CD000000000FJ10110000000B@000000000000110000000>D0000000000002150000000BL000000000000B0000000000000000000000N0000000000000000000000N0000000000000000000000N40000000CM000000000000C0000000?E000000000000310000000CA00000000000011500000BE000000000GK1011000000CA00010000311E02100000?E000310003111A00B4000>1A0001500311MI000>0000?E0000000?1MI0000000000CA0000000C500000000500BE0000000?E00000000?000CA000000C1A00000000C00?1H00311011000000003100C11M01I001100000003110?1110G1H0G11H0000GK111|5^396,60!1^396,120!12^480,204!12^552,168!12^624,132!12^696,96!12^312,204!12^240,168!12^168,132!12^96,96!12^96,24!12^168,24!12^240,24!12^552,24!12^624,24!12^696,24!0^756,48!0^756,36!0^720,36!0^720,48!0^720,60!0^720,72!0^732,60!0^744,60!0^744,48!0^732,48!0^708,60!0^708,48!0^36,36!0^36,48!0^48,60!0^48,48!0^60,48!0^60,60!0^72,72!0^72,60!0^72,48!0^72,36!0^84,48!0^84,60!0^60,180!0^36,180!0^60,156!0^36,156!11^48,276,744,180!9^744,252,0,0,11,21,1,0,0!1^396,468!1^396,360!6^180,564,1,1,0,2!6^636,564,0,1,0,0!2^144,48,0.707106781186547,0.707106781186547!2^648,48,-0.707106781186547,0.707106781186547!2^648,96,-0.707106781186547,-0.707106781186547!2^144,96,0.707106781186547,-0.707106781186547!12^600,48!12^192,48!12^288,48!12^504,48!12^264,180!12^192,144!12^120,108!12^528,180!12^600,144!12^672,108!6^564,324,1,1,0,0!6^252,324,0,1,0,2!9^36,408,0,0,30,7,1,-1,0!9^396,312,1,1,15,10,0,0,0!9^396,306,1,1,16,10,0,0,0!9^396,318,1,1,17,10,0,0,0!9^396,312,0,0,21,21,1,-1,0!9^756,408,0,0,29,11,1,-1,0!2^720,528,-0.707106781186547,-0.707106781186547!2^72,528,0.707106781186547,-0.707106781186547!2^24,444,1,0!2^768,444,-1,0");
var _local38 = new LevelData("secondary relay", "00000002110002111000110000000000500000000001500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000003111111111140000000001111111111111111000000021111111111111110000000011111111111111100000000100000001000000000000000000000000000030000000000000000000000100001000000010000000101000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000020000000000000000000000000100010001000100010000000000000000000000000000000000000000000000000300000000000000000000001000000000000000000000010000000000000000000000100001000000010000000101000000000000000000000010000000000000000000000200000000100000001000000|5^540,564!12^528,468!12^552,468!12^552,372!12^528,372!12^528,276!12^552,276!12^552,180!12^528,180!12^528,84!12^552,84!12^672,516!12^408,516!12^408,324!12^672,324!12^408,132!12^672,132!8^756,444,1!8^324,444,1!8^324,396,3!8^756,396,3!8^756,204,3!3^36,36!11^216,564,540,48!0^684,492!0^684,480!0^396,492!0^396,480!0^540,444!0^540,432!0^540,348!0^540,336!0^684,300!0^684,288!0^396,300!0^396,288!0^540,252!0^540,240!0^540,156!0^540,144!0^684,108!0^684,96!0^396,108!0^396,96!8^396,156,1!8^684,156,1!8^684,348,1!8^396,348,1!10^60,228!0^204,348!0^204,324!0^204,300!0^204,276!0^36,276!0^36,300!0^36,324!0^36,312!0^36,288!0^204,336!0^204,312!0^204,288!0^36,492!0^36,480!0^36,468!0^36,456!0^36,444!4^36,570,1!12^216,540!12^192,540!12^240,540!12^168,540");
var _local33 = new LevelData("superliminal 5", "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111500000000000000000021110000000000000000000011100000000000000000000111000000000000000000001110000000000000000000311100000311111111111111111000001111111111111111110000011111111111111111100000111111111111111111000001111111111111111110000011111111111111111100000111111111111111111000001111111111111111110000011111111111111111140000211111111111111111111140000000000000021111111100000000000000011111111000000000000000111111110000000000000001111111140000000000000311111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^420,180!11^588,540,228,540!6^276,420,0,1,0,3!6^540,516,1,1,0,3!6^636,492,0,1,0,3!6^180,276,1,1,0,3!6^300,84,0,1,0,2!6^540,324,0,1,0,1!0^576,480!0^588,480!0^600,492!0^600,504!0^576,504!0^576,492!0^576,360!0^600,372!0^600,384!0^576,384!0^576,372!0^576,240!0^588,240!0^600,252!0^600,264!0^576,264!0^576,252!0^468,120!0^480,132!0^456,132!0^348,120!0^360,132!0^336,132!0^228,120!0^240,132!0^216,132!0^216,240!0^228,240!0^240,252!0^240,264!0^216,264!0^216,252!0^216,360!0^228,360!0^240,372!0^240,384!0^216,384!0^216,372!0^216,480!0^228,480!0^240,504!0^216,504!0^216,492!12^228,432!12^228,312!12^228,192!12^288,132!12^408,132!12^588,312!12^588,432!0^240,144!0^216,144!0^216,120!0^336,120!0^336,144!0^360,144!0^456,120!0^456,144!0^480,144!0^588,360!0^240,492");
var _local47 = new LevelData("heuristic algorithmic", "111111111111100011111111111111115021010111111111111111100000101100011111150211403115021010111111000111011100000101111114031110111403115021111110J111011111111000111111000000111111114031502110K111011000111101100000011150210101110011403110J11000001011101111111100F14031110215021111111LH01111I00000000111150211011110K11114031111000000B11502111110111114031D000000011111000111101110C114031111111011100111011110111111150211011110111101111111000110111502111021502114031502110001110000000010110001140311111140310001140311101111111101140021101111000001111011110011001111111011110111140111011111150211501111101150211111000000015021011000000114031140000000114031401110111111403111111111000001111111111111111111111111111111111|5^276,60!9^684,108,0,0,7,6,1,-1,0!9^684,492,1,0,8,10,1,0,0!9^516,204,0,0,15,20,1,0,0!9^516,420,1,0,13,15,1,0,-1!9^660,300,1,0,16,11,1,0,0!9^372,108,0,0,18,8,1,0,0!0^192,516!0^180,516!0^168,516!0^144,396!0^132,396!0^120,396!0^96,276!0^84,276!0^72,276!0^288,276!0^276,276!0^264,276!11^132,180,324,492!6^660,564,0,0,0,0!6^36,396,1,0,0,3!6^372,180,1,0,0,3!6^588,420,1,0,0,0!6^324,444,0,0,0,3!6^228,372,1,0,0,3!6^468,324,0,0,0,2!0^132,384!0^132,408!0^180,504!0^180,528!0^276,264!0^276,288!0^84,264!0^84,288");
var _local43 = new LevelData("stronghold", "11000111MI00000021111111500000000000000011111100000000000000000021500000000000111LH00000100000003111111111@0000103100001150000021110001011000011000000000140010B110002100000000021001@>110000100000000001001D0B100031000000000010011@>140011000000000010011D0110011000000000010011100000210000000000100111000000100000000001001150000001000000000011011000003110000000000150110000011100000000000001100000111000000000000011000001110000000000000110000011100000000000002100000111000000000000001000002110001114000000010000001100310214000000100000015001100110031401000000100015002103111114000031003100001111A021100001111150000021500000000000000000000000000000000000000000000000000004001400000GK1111140000011111114031111111111003|5^276,468!11^576,492,612,180!9^96,564,0,0,15,19,1,-1,0!9^576,288,0,0,15,19,1,0,0!10^180,372!2^156,324,0.707106781186547,-0.707106781186547!2^204,396,0.707106781186547,-0.707106781186547!2^588,420,-0.707106781186547,-0.707106781186547!0^612,372!0^600,372!0^588,372!0^588,384!0^600,384!0^612,384!0^600,396!0^588,396!1^444,420!1^492,276!1^204,228!1^276,276!1^336,336!1^384,240!1^432,360!4^300,570,1!8^372,36,1!8^348,36,1!8^636,468,0!8^756,516,2!3^732,84!0^324,36!0^324,60!0^324,48!0^564,108!0^576,108!0^588,108!0^600,108!0^612,108!0^588,540!0^564,540!0^540,540!0^516,540!0^492,540!0^468,540!0^444,540!0^420,540!0^396,540!0^372,540!2^60,432,0,-1!12^120,192!12^168,120!12^288,120!12^228,144!12^228,48!0^180,36!0^168,36!0^156,36!0^144,36!0^132,36!0^120,36!0^108,36!0^96,36!0^84,36!0^36,132!0^36,120!0^36,108!0^36,96!0^36,84!12^60,60!12^48,156!12^96,276!12^24,336!12^180,420!12^144,396!12^108,336");
var _local52 = new LevelData("scaffold", "501000000000000000021100350000000000000000021015000010000000000000010000003500000000100000000000350000000002400000000035000000000002400000001500000031000002400000000000003500000002100000000000350000000000000000000035000000000000000000003500003100140000000000010000350000240000000000000035000000240000000000001500000000210000000;<0000000;<00000000000011000000011000000000000:=0000000:=00000000000000001400000000310000000000002400000035000000000100002400003500000000002400002100150000000000002400000000000000000000002400000000000000000000002400000003100000140000002100000350000000240000000000035000000000240000000003500000000000240000000010000000140000100000000000000100240000000000000000031040100000000000000003110|5^396,564!9^708,84,0,0,29,23,1,-1,0!9^84,84,0,0,3,23,1,0,0!9^396,132,0,0,3,23,1,-1,0!9^396,348,0,0,29,23,1,0,0!11^48,564,744,564!1^684,300!1^108,300!1^36,300!1^756,300!1^732,396!1^60,396!1^492,132!1^492,60!1^300,60!1^300,132!12^768,180!12^720,180!12^612,72!12^612,24!12^180,72!12^180,24!12^72,180!12^24,180!12^48,96!12^96,48!12^696,48!12^744,96!12^660,132!12^132,132!12^432,192!12^360,192!12^564,324!12^228,324!12^240,456!12^552,456!12^396,516!12^228,228!12^564,228!12^600,192!12^192,192!12^504,288!12^288,288!12^624,432!12^168,432!12^744,504!12^48,504!10^396,36!0^636,300!0^648,300!0^660,300!0^156,300!0^144,300!0^132,300!0^84,300!0^72,300!0^60,300!0^708,300!0^720,300!0^732,300!0^708,396!0^756,396!0^84,396!0^36,396!0^300,156!0^492,156!0^492,108!0^492,96!0^492,84!0^492,36!0^300,108!0^300,96!0^300,84!0^300,36!12^420,276!12^372,276!12^456,336!12^336,336!12^456,432!12^336,432!0^756,276!0^756,264!0^756,252!0^684,276!0^684,264!0^684,252!0^36,276!0^36,264!0^36,252!0^108,276!0^108,264!0^108,252!0^720,276!0^732,264!0^732,252!0^708,252!0^708,264!0^84,252!0^84,264!0^72,276!0^60,264!0^60,252");
var _local56 = new LevelData("hooligan status", "111M00J1I00211111111111E0000000000011111111111P0000000000002111111111P0000000000000111111111P0000000000000021111111P0000000000000001111111P0000000000000000211111P0000000000000000011111P0000000000000000002111P0000000000000000000111P0000000000000000000021P0000000000000000000001P0C00000000000000000000D01@000000000000000000G101P000000000000000000>101P000000000000000000G101P0000000000000000021E01A000000000000000000FP0B0000000000000000000GP00000000000000000000C1P000000000000000004G111P0000000000000000B11111P0000000000000000011111P000000000000?000K11111P000000000000N@0>111111P000000000000C1HG111111P000000000000F111111111P0000000000@0?111111111P00000000031HC111111111P0300000001111111111111PG1@00CH0?1111111111111|5^324,564!1^396,228!1^396,396!11^396,60,396,204!9^756,228,0,0,17,2,1,0,0!9^60,300,0,0,15,2,1,-1,0!3^732,108!3^48,144!0^252,492!0^204,444!0^156,396!0^108,348!0^516,444!0^612,336!0^684,276!0^564,444!0^624,408!0^456,564!1^252,132!1^396,408!1^396,240!1^540,132!1^540,144!1^252,144!0^504,480!0^480,516!0^672,336!0^696,336!0^588,372!0^732,252!0^744,204!0^684,312!0^576,408!0^432,528");
var _local54 = new LevelData("dilated", "1111111111MIFJ11111111111111111MI0000FJ1111111111111MI00000000FJ11111111115000000000000211111111500000000000000211111150000000000000000211115000000000000000000211E00000000000000000000B1A00000000000000000000>E00000000GK11LH00000000A000000031111114000000000000003111111114000000000000?1111111111@00000000000C1111111111D00000000000111111111111000000000001111111111110000000000011111111111100000000000B1111111111E00000000000>1111111111A0000000000002111111115000000@0000000211111150000000D00000000FJ11MI000000001@00000000000000000000?1D00000000000000000000C11400000000000000000031111400000000000000003111111400000000000000311111111400000000000031111111111LH00000000GK1111111111111LH0000GK11111111111111111LHGK111111111|5^396,492!1^612,312!1^180,312!1^684,312!1^108,312!12^228,72!12^180,144!12^132,156!12^144,384!12^108,408!12^168,408!12^144,480!12^312,480!12^264,528!12^252,540!12^456,468!12^492,480!12^528,456!12^576,480!12^708,396!12^660,372!12^612,384!12^600,360!12^600,204!12^648,180!12^672,156!12^444,132!12^468,84!12^492,60!12^492,36!11^396,564,396,108!6^636,252,5,1,0,3!6^372,84,5,1,0,0!6^228,204,5,1,0,1!0^420,156!0^396,156!0^372,156!0^384,156!0^408,156!0^372,468!0^384,468!0^396,468!0^408,468!0^420,468!0^432,468!0^360,468!0^432,156!0^360,156!0^228,336!0^228,324!0^228,312!0^228,300!0^228,288!0^564,288!0^564,300!0^564,312!0^564,324!0^564,336!0^234,348!0^240,360!0^246,372!0^252,384!0^444,462!0^456,456!0^468,450!0^480,444!0^348,462!0^336,456!0^324,450!0^312,444!0^540,240!0^546,252!0^552,264!0^558,276!0^444,162!0^468,174!0^480,180!0^348,162!0^336,168!0^324,174!0^312,180!0^252,240!0^246,252!0^240,264!0^234,276!0^456,168!12^600,540!12^648,480!12^180,528!12^228,120!0^558,348!0^552,360!0^546,372!0^540,384!0^510,198!0^522,210!0^528,222!0^498,192!0^510,210!0^270,210!0^282,198!0^282,210!0^294,192!0^264,222!0^510,414!0^510,426!0^522,414!0^528,402!0^498,432!0^282,414!0^282,426!0^270,414!0^264,402!0^294,432!12^564,360!12^540,228!12^216,348!12^216,384!12^300,180!12^252,168");
var _local60 = new LevelData("misstep", "5001E000000001A000000010001A00000000000000000>0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000?400000001@0000000011111|5^36,528!7^588,516,3!7^396,516,3!7^204,516,3!7^588,396,3!7^396,396,3!7^204,396,3!7^204,276,3!7^396,276,3!7^588,276,3!7^588,156,3!7^396,156,3!7^204,156,3!7^732,468,3!7^60,348,3!7^60,564,3!7^732,228,3!7^84,108,3!7^84,108,1!7^108,108,1!7^60,348,1!7^84,348,1!7^732,228,1!7^708,228,1!7^732,468,1!7^708,468,1!7^684,228,1!7^660,228,1!7^636,228,1!7^684,468,1!7^660,468,1!7^636,468,1!7^108,348,1!7^132,348,1!7^156,348,1!7^132,108,1!7^156,108,1!7^36,276,1!7^36,228,1!7^36,180,1!7^36,492,1!7^36,444,1!7^36,396,1!7^756,396,1!7^756,336,1!7^756,276,1!7^756,156,1!7^756,108,1!7^756,60,1!4^84,570,1!4^708,570,1!11^48,84,396,300!8^252,564,3!8^348,564,3!8^444,564,3!8^540,564,3!8^492,36,1!8^396,36,1!8^300,36,1!0^588,372!0^204,492!0^204,252!0^588,132!0^468,300!0^516,300!0^420,300!0^372,300!0^324,300!0^276,300!0^276,420!0^324,420!0^372,420!0^420,420!0^468,420!0^516,420!0^516,180!0^468,180!0^420,180!0^372,180!0^324,180!0^276,180!0^588,252!0^588,492!0^204,372!0^204,132!12^180,132!12^612,252!12^612,492!12^180,372!12^288,408!12^312,408!12^336,408!12^360,408!12^384,408!12^408,408!12^432,408!12^456,408!12^480,408!12^504,408!12^504,288!12^480,288!12^456,288!12^432,288!12^408,288!12^384,288!12^360,288!12^336,288!12^312,288!12^288,288!12^288,168!12^312,168!12^336,168!12^360,168!12^384,168!12^408,168!12^432,168!12^456,168!12^480,168!12^504,168");
var _local58 = new LevelData("stress test 2", "000000000000000000000000000000000000000000000000000000000;<000000000000;000000000000000000<00000000;00000000<000000000000000000000000000000000000000;00<000000000000000;0000000000<000000000000000000000000000000;000000000000000000<0000000000;0000<0000000000000;000000000000<000000000000000;<000000000000000000000:=000000000000000:000000000000=0000000000000:0000=00000000000000000000000000000=000:00000000000000000000000000:0000000000=000000000000000:00=000000000000000000000000000000000000000:00000000=00000000:000000000000000000=000000000000:=00000000000000000000000000000000000000000000000000000000111111111111111111111109611900611900611900611000110;<0:=0000:=0;<011000:=0110000;<0000110:=080007118007118007118007|5^36,564!9^96,72,0,0,27,23,1,-1,0!9^240,72,0,0,28,23,1,-1,0!9^456,72,0,0,29,23,1,-1,0!9^576,72,0,0,29,23,1,0,0!11^708,60,336,348!6^732,420,3,0,0,3!6^708,300,3,0,0,1!6^732,228,3,0,0,3!0^756,96!0^684,168!0^684,456!0^756,528!0^756,396!0^756,384!0^756,372!0^684,324!0^684,312!0^684,300!0^756,252!0^756,240!0^756,228!0^372,312!0^336,276!0^300,312!0^576,552!0^432,552!0^240,552!0^96,552!0^60,336!0^60,312!0^60,288!0^120,432!0^192,456!0^288,480!0^384,480!0^480,456!0^552,432!0^612,324!0^612,312!0^612,300!0^504,360!0^408,384!0^264,384!0^168,360!0^168,264!0^264,240!0^408,240!0^504,264!0^552,192!0^480,168!0^384,144!0^288,144!0^192,168!0^120,192!12^36,516!12^36,468!12^36,420!12^36,372!12^36,324!12^36,276!12^36,228!12^36,180!12^36,132!12^36,84!12^36,36!12^636,36!12^636,84!12^636,132!12^636,180!12^636,228!12^636,276!12^636,324!12^636,372!12^636,420!12^636,468!12^636,516!3^336,60!3^336,204");
var _local13 = new LevelData("hazardous", "50000000000000000000002000000000000000000000000011111111111111111114000111111111111111111110001500000000000000021100010000000000000000015000100000000000000000100001000000000000000001000014011400000000000010000110111000000000000000001501110000000000000004010011111111111111110011140111111111111111140111111100000000000011101111115001000000000211050000000000000000100150000001000000100000001000000000000000000000010000100000010000000000100400000000000000100000001111111114000000000000011111111111111111111140111101101111111111111105000000021011011111101000000000000000000000000000000000000000311110100011011011011011111111000111111111111111111150001111111111111111111000011111111111111111110040111111111111111111100|5^720,48!11^276,60,300,132!9^468,60,0,0,10,5,1,-1,0!9^732,552,0,0,10,5,1,0,0!6^420,444,1,0,0,3!6^492,420,0,0,0,2!6^444,156,1,0,0,3!6^588,516,2,0,0,0!8^660,348,2!8^588,276,0!8^660,204,2!8^564,132,0!12^492,252!12^492,84!12^348,252!8^348,228,0!8^348,204,0!4^108,570,1!12^72,516!12^24,444!12^72,372!12^24,312!12^72,252!12^24,192!12^72,144!12^24,108!12^72,72!12^132,72!12^192,72!12^240,72!12^216,24!12^132,24!2^156,504,0,-1!2^228,504,0,-1!2^192,504,0,-1!12^288,396!12^288,300!12^120,204!12^120,300!12^120,396!1^252,348!1^228,276!1^180,228!12^528,480!12^528,420!12^528,360!12^528,300!12^336,300!12^336,360!12^336,420!12^372,492");
var _local59 = new LevelData("wtf?!", "00000000000000000011111000000000000000000111110000000000000000001111100000000000000000011111000000000000000000111110000000000000000001111100000000000000000011111000000000000000000111110000000000000000001111100000000000000000011111000000000000000000111110000000000000000001111100000000000000000011111000000000000000000111110000000000000000001111100000000000000000011111000000000000000000111110000000000000100001111100000000000000000011111000000000000000000111110000000000000000001111100000000000000000011111000000000000000000111110000000000000000001111100000000000000000011111000000000000000000111110000000000000000001111100000000000000000011111000000000000000000111110000000000000000001111100000000000000000011111|5^60,444!11^756,444,372,300!12^444,336!12^456,348");
var _local57 = new LevelData("scrumtrulescent", "50002111115021111115002000000211100011150000000000000111000111000000000000002110001110000000000000001100011500000000000000011000110000000000000000110001100000000000000001100011000000000000000011000110000000000000000110001100000000000000001100011000000000000000011000110000000000000003110001100000000000000011100011400000000000000111000111000000000000001110001110000000000000011100011100000000000000111000115000000000000002110001100000000000000001100011000000000000000011000110000000000000000110001100000000000000001100011000000000000000011000110000000000000000110001100000000000000001100011000000000000000011000114000000000000003110001110000000000000011100011100000000000003111000111400000040003111114031111114003|5^756,300!11^720,324,36,300!4^132,330,1!6^156,276,3,1,0,2!6^588,324,2,1,0,2!6^444,276,2,0,0,0!6^396,324,3,0,0,2!6^420,300,3,0,0,2!6^228,300,2,0,0,0!1^396,300!1^252,300!1^540,300!1^684,300!1^108,300!12^612,300!12^468,300!12^324,300!12^180,300!12^432,336!12^360,336!12^108,324!12^684,324!12^540,276!12^252,276");
var _local12 = new LevelData("the enrage-o-tron", "A00001111MI0001115002100000011MI0000000000002000000MI0000000000000000000000000000000000000000000000000140000011500200000LH000000000000000000000000000000000000000000000MI00000000000000000000000000000000115002000000000000000000000000000LH000000000000000000000000000014000000000000000000000000000115002000000000000000000000000000000MI0000000000000000000000001400000000000000000000000000001150020000000000000000000000000000LH00000000000000000000000000000000000000000000000000014000115002000000MI0000000000000000000000000000000000000000000000000000000000000000000000000000001150020000000LH0000000000000000LH0000000140000000000000000000000000000000000000000000000000011500200000MI0000000000000000@0000000001140000000003|5^84,132!4^204,570,1!4^300,570,1!4^396,570,1!4^492,570,1!4^588,570,1!4^684,570,1!11^48,132,48,564!9^660,60,0,0,2,23,1,0,0!12^732,300!12^684,300!12^708,300!12^516,432!12^612,432!12^708,432!12^420,432!12^324,432!12^228,432!12^324,300!12^348,300!12^372,300!12^276,300!12^252,300!12^228,300!12^204,300!12^180,300!12^156,300!12^108,444!12^84,444!12^60,444!12^156,492!12^204,492!12^252,492!12^300,492!12^348,492!12^396,492!12^444,492!12^492,492!12^540,492!12^588,492!12^636,492!12^684,492!12^540,324!12^564,324!12^588,324!12^612,324!12^636,324!12^492,324!12^468,324!12^420,324!12^444,324!0^204,156!0^156,132!0^276,108!0^372,180!0^468,132!0^540,156!0^636,180!0^732,132!12^108,168!12^132,168!12^180,192!12^228,180!12^348,192!12^324,180!12^396,204!12^420,204!12^444,204!12^468,204!12^492,204!12^516,204!12^552,204!12^576,204!12^600,204!12^624,216!12^300,180!12^264,192!12^180,492!12^564,492!12^660,492!12^276,492!12^468,492!0^132,252!0^300,276!0^396,252!0^516,300!0^660,276!0^492,456!0^444,456!0^396,456!0^348,456!0^300,456!0^252,456!0^204,456!0^156,456!0^36,348!0^132,420!0^540,456!0^588,456!0^636,456!0^684,456!0^696,528!0^600,528!0^504,528!0^408,528!0^312,528!0^216,528!0^120,528");
var _local61 = new LevelData("stalag tight", "A000000000000000000000F0000000000000000000000000F00000I0000000000000G00000000000G00000H0000200000000000000000000000000000G00000000000000000000000000000000000000?0000H0000000000F000000C0000000000000000000000F00000000000I000000000000000000000000000000I000000000F0000000G000000000F000000000000000000000LOH000000000000000000031Q100000G0000000H00000F10100000000000000000000101000000000F000000000010100I0000000000000000GI0E0000000000000000000B00000000000000000G0000>0000000000H00000000000000G000000000000000000000000000000000000000000000000000000000I0000000G0000000H000000000000002000000000000000000000000000000000000000000000G000F00000000000000I000B00000000000G0000000000>00000000000000000000000@000000000000000000000G|5^378,384!9^468,204,0,0,18,2,1,0,0!9^324,252,0,0,18,2,1,-1,0!9^588,420,0,0,17,2,1,-1,0!11^384,60,156,60!0^120,420!0^36,348!0^168,252!0^120,156!0^348,144!0^540,168!0^576,288!0^312,336!0^456,288!0^504,372!0^408,444!0^252,432!0^708,384!0^708,252!0^624,96!0^708,60!0^648,324!0^252,228!0^264,96!0^180,348!0^564,480!12^768,60!12^768,108!12^768,156!12^768,204!12^768,252!12^768,300!12^768,348!12^768,396!12^768,444!12^768,492!12^24,60!12^24,108!12^24,156!12^24,204!12^24,252!12^24,300!12^24,348!12^24,396!12^24,444!12^24,492!12^24,540!4^732,570,1!4^636,570,1!4^564,570,1!4^396,570,1!4^276,570,1!4^132,570,1!4^60,570,1");
var _local15 = new LevelData("n-ervous breakdown", "111500115001150000211111500000000000000000111110000000000000000000021500000114001140311400000003111111111111111000000011100210021002110000003115000000000001100030011000000000000011400100110000003100000111001031100011111140001000010B110031500211400101002@021001100002110010100000010015004001100111000400100100010011001150031101001403100150021000111010021115001000010001150100000003110000100010001000000311100001400100314000001115000011001011111111115000031110010B111111111000011111402@0000000000000021111100P0000000000000002111100D000000000000000011110011111111111111111111100111501111111111111111005000000211150002111150000000000000000000000003000000000000000000000310000000000000000031111140000031114003111111111|5^636,132!9^516,540,1,0,10,20,1,0,0!6^300,468,1,1,0,2!6^276,468,0,1,0,2!6^252,468,2,1,0,1!8^756,324,2!8^660,372,0!12^708,540!12^684,564!12^756,300!12^660,348!12^756,180!12^660,204!12^756,36!12^660,36!12^708,60!12^708,108!12^708,156!12^708,204!0^720,192!0^720,180!0^720,168!0^720,144!0^720,132!0^720,120!0^720,96!0^720,84!0^720,72!0^696,72!0^696,84!0^696,96!0^696,120!0^696,132!0^696,144!0^696,168!0^696,180!0^696,192!0^420,492!0^396,492!0^372,492!0^324,564!0^300,564!0^156,564!0^132,564!0^108,564!8^108,276,2!12^36,288!12^108,168!8^36,156,0!2^60,480,0,-1!6^156,84,3,0,0,3!6^324,84,3,0,0,3!11^348,252,588,420!12^564,84!12^564,144!12^564,204!12^564,264!12^564,324!12^564,384!8^540,276,3!8^588,396,3!4^180,426,1!4^372,162,1!4^324,330,1!4^468,450,1!0^564,168!0^564,180!0^564,108!0^564,120!0^564,228!0^564,240!0^564,288!0^564,300!0^564,348!0^564,360!0^72,324!0^72,312!0^72,300!0^72,204!0^72,192!0^72,180!0^468,252!0^468,228!0^468,204!0^468,180!0^468,156!3^192,168");
var _local4 = new Array();
_local4.push(_local21);
_local4.push(_local18);
_local4.push(_local29);
_local4.push(_local25);
_local4.push(_local39);
this.episodeList[50] = new EpisodeData("episode 50", "xxxx", _local4);
var _local3 = new Array();
_local3.push(_local26);
_local3.push(_local22);
_local3.push(_local34);
_local3.push(_local30);
_local3.push(_local44);
this.episodeList[51] = new EpisodeData("episode 51", "saccharine", _local3);
var _local6 = new Array();
_local6.push(_local16);
_local6.push(_local14);
_local6.push(_local23);
_local6.push(_local19);
_local6.push(_local31);
this.episodeList[52] = new EpisodeData("episode 52", "infrastructure", _local6);
var _local5 = new Array();
_local5.push(_local20);
_local5.push(_local17);
_local5.push(_local27);
_local5.push(_local24);
_local5.push(_local35);
this.episodeList[53] = new EpisodeData("episode 53", "boorish", _local5);
var _local7 = new Array();
_local7.push(_local40);
_local7.push(_local36);
_local7.push(_local48);
_local7.push(_local45);
_local7.push(_local53);
this.episodeList[54] = new EpisodeData("episode 54", "billmacneil", _local7);
var _local10 = new Array();
_local10.push(_local46);
_local10.push(_local41);
_local10.push(_local51);
_local10.push(_local49);
_local10.push(_local55);
this.episodeList[55] = new EpisodeData("episode 55", "harpy", _local10);
var _local9 = new Array();
_local9.push(_local32);
_local9.push(_local28);
_local9.push(_local42);
_local9.push(_local37);
_local9.push(_local50);
this.episodeList[56] = new EpisodeData("episode 56", "ziggurat", _local9);
var _local8 = new Array();
_local8.push(_local38);
_local8.push(_local33);
_local8.push(_local47);
_local8.push(_local43);
_local8.push(_local52);
this.episodeList[57] = new EpisodeData("episode 57", "cloying", _local8);
var _local2 = new Array();
_local2.push(_local56);
_local2.push(_local54);
_local2.push(_local60);
_local2.push(_local58);
_local2.push(_local13);
this.episodeList[58] = new EpisodeData("episode 58", "nucleotide", _local2);
var _local11 = new Array();
_local11.push(_local59);
_local11.push(_local57);
_local11.push(_local12);
_local11.push(_local61);
_local11.push(_local15);
this.episodeList[59] = new EpisodeData("episode 59", "miasma", _local11);
};
NinjaData.prototype.BuildGameData_Set6 = function () {
var _local20 = new LevelData("boo-urns", "50000000000000000000002000000000000000000000000000311111111111114000000002111111111111150000003400000000000000034000011000000000000000110000110000000000000001100001100000000000000011000011000000000000000110000110000000000000001100001100000000000000011000011000000000000000110000110000000000000001100001100000000000000011000011000000000000000110000110000000000000001100001100000000000000011000011000000000000000110000110000000000000001100001100000000000000011000011000000000000000110000110000000000000001100001100000000000000011000011000000000000000110000110000000000000001100001100000000000000011000025000000000000000250000003111111111111140000000021111111111111500000000000000000000000000040000000000000000000003|5^696,96!11^396,60,396,552!1^396,480!1^396,468!1^396,456!1^396,372!1^396,360!1^396,348!1^396,264!1^396,252!1^396,240!1^396,156!1^396,144!1^396,132!1^396,444!1^396,336!1^396,228!1^396,120!1^492,288!1^492,312!1^492,300!1^300,288!1^300,312!1^300,300!1^492,180!1^492,204!1^492,192!1^300,180!1^300,204!1^300,192!1^492,396!1^492,420!1^492,408!1^300,396!1^300,420!1^300,408!1^588,372!1^588,360!1^588,348!1^588,336!1^204,372!1^204,360!1^204,348!1^204,336!1^588,264!1^588,252!1^588,240!1^588,228!1^204,264!1^204,252!1^204,240!1^204,228!0^420,144!0^372,144!0^372,456!0^420,456!0^564,360!0^564,348!0^564,252!0^228,252!0^228,240!0^228,360!0^228,348!6^660,468,2,1,0,2!6^132,300,2,1,0,3!6^516,132,3,1,0,2!6^132,396,3,1,0,1!4^732,570,1!4^60,570,1!6^660,444,3,1,0,3!6^612,132,2,1,0,0!0^564,240!0^552,246!0^552,354!0^240,354!0^240,246!0^420,156!0^372,156!0^420,444!0^372,444!0^360,450!0^432,450!0^360,150!0^432,150!0^396,300!0^408,300!0^402,288!0^390,288!0^384,300!0^390,312!0^402,312");
var _local17 = new LevelData("shark sandwich", "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111500000000000000000000010000000000000000000003100000000000000000000311000000000000000000031110000000000000000003111100000000000000000311111000000000000000031111110000000000000003111111100000000000000311111111000000000000031111111110000000000003111111111100000000000311111111111000000000031111111111110000000003111111111111100000000311111111111111000000031111111111111110000003111111111111111100000311111111111111111000031111111111111111110003111111111111111111100311111111111111111111031111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^156,504!11^132,540,636,36!0^132,60!0^132,84!0^132,108!0^132,132!0^132,156!0^132,180!0^132,204!0^132,228!0^156,36!0^180,36!0^204,36!0^228,36!0^252,36!0^276,36!0^300,36!0^324,36!0^132,252!0^132,276!0^132,300!0^348,36!0^372,36!0^396,36!0^132,324!1^276,180!0^420,36!6^132,396,2,0,0,3!6^540,36,1,0,0,0!6^468,36,0,1,0,2!6^132,348,0,0,0,1!12^396,300!12^276,420!12^516,180!12^132,36");
var _local28 = new LevelData("the spoon doesn't even exist", "00000000000000000000000000000000000000000000000000011111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111000000000000000000000000000000000000000000000000000000000000111111111000000000000000000000000000000000000000000000000000000000000000111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111100000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111000000000000000000000000000000000000000000000000000000000000000000000|5^84,132!11^180,348,684,180!8^36,564,3!8^60,564,3!8^108,564,3!8^132,564,3!8^156,564,3!8^204,564,3!8^228,564,3!8^252,564,3!8^276,564,3!8^300,564,3!8^348,564,3!8^372,564,3!8^420,564,3!8^444,564,3!8^492,564,3!8^516,564,3!8^540,564,3!8^564,564,3!8^612,564,3!8^636,564,3!8^660,564,3!8^708,564,3!8^732,564,3!8^756,564,3!0^588,252!0^588,240!0^468,420!0^468,408!0^396,348!0^396,336!0^324,276!0^324,264");
var _local24 = new LevelData("zappa", "11111111111111111111111111150002115011115011111500000001503111100211110000000000311115000211100000000001111100000111000011100011115000001110003115000111500000021140011100001110000000011100115000311100000003115001100031111400000311100011000111111000001111000210001111110000002110000100002111100000001500001000002111000000310000314000001114000031100031114000311110000111000111110001111100001110002111500011111000011140001110003111150000111140002100311111000002111100001001111110000001111400010021111140000311111000100011111100011111150031000021115000211115003114000011500000111100011110000000000002111000111000000000000001110001110000000000000311100311100000000000001111401111400314000314011111011111111111111111111|5^708,84!11^744,84,60,468!0^96,276!0^108,288!0^96,300!0^84,288!0^72,300!0^84,312!0^72,324!0^60,312!0^60,324!0^72,312!0^84,300!0^96,288!0^108,276!4^516,162,1!4^348,138,1!4^180,282,1!4^204,546,1!4^324,546,1!4^660,522,1!4^516,522,1!4^372,306,1!6^540,420,3,0,0,2!6^300,516,2,0,0,3!6^564,252,2,0,0,3!0^660,204!0^672,204!0^684,204!0^696,204!0^708,204!0^516,396!0^504,396!0^492,396!0^480,396!0^528,396!0^444,36!0^432,36!0^420,36!0^408,36!0^396,36!0^384,36!0^372,36!0^180,60!0^168,60!0^156,60!0^144,60!0^132,60!0^120,60!0^108,60!0^252,180!0^264,180!0^276,180!0^288,180!0^300,180!0^312,180!0^324,180!0^336,180!0^348,180!6^420,492,0,1,0,0!6^276,108,2,1,0,2");
var _local38 = new LevelData("platitude", "50021111110000002111002000011111500000001150000000111110000000011000000001111100000000114000000011111000000001110000000111110000000K11100000001111140000000>11000000011111100000000B1000000K11111100000000>1000000000B1110000000001000000000>111000000000E0000000000B1100000000000000000000>11000000000000000000000B1000000000000000000000>1000000000000300000000010000000000011000000000100000000000110000000001000000D000011000000000E000000100001100000000000000001000011000000000000000?1000011000000000000000C1000K1100000000000000?110000>100000000000000C1100000B0000000000000?11100000>00000000000J111110000000000000000001111500000000000000000011110000000000000000000111100000000000000000001111400000040000000000311111000003|5^36,528!11^696,564,132,72!4^132,114,1!4^84,426,1!4^708,306,1!6^204,108,3,0,0,3!4^660,570,1!6^588,540,2,0,0,3!6^756,444,2,0,0,1!4^324,570,1!0^36,396!0^36,372!0^36,348!0^36,324!0^36,300!0^36,276!0^756,276!0^756,252!0^756,228!0^756,204!0^756,180!0^756,156!0^756,132!0^756,108!0^756,84!0^756,60!6^132,36,3,0,0,2!6^60,108,3,0,0,0!6^756,540,2,0,0,2!6^588,444,2,0,0,0!12^72,372!12^108,396!12^684,252!12^708,216!12^684,180!12^708,144!12^684,108!12^708,72!12^684,36!12^708,288!12^132,336!12^96,312!12^156,276!12^120,252!6^132,420,3,0,0,3!6^660,300,2,0,0,3!6^732,36,2,0,0,1!0^48,288!0^48,312!0^48,336!0^48,360!0^48,384!0^744,264!0^744,240!0^744,216!0^744,192!0^744,168!0^744,144!0^744,120!0^744,96!0^744,72");
var _local25 = new LevelData("strugs", "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111501111111111111111111500011150211111111111100000150000211502115015000000000000000005000000000000000000000000000004000000031000000000000010000000150000001400000100000000000000021000005000000000000000000000300000000003400000000311000003140311140000031114031111111111111403111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^276,564!11^276,108,480,60!6^420,564,3,0,0,3!6^492,372,2,0,0,2!6^420,228,1,0,0,3!6^324,36,4,0,0,2!0^492,228!0^468,180!0^300,180!0^276,228!0^324,300!0^324,324!0^468,324!0^516,444!0^300,492!0^516,60!0^492,36!0^468,36!0^420,60!0^396,60!0^492,84!0^444,60!0^468,84");
var _local21 = new LevelData("chickeny", "00000000000000000000000031111111111111111111400150000000000000000021001000000000000000000010010000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000000000000000001001000000000000000000010010000000000000000000100100000000000000000001001000000000000000000010010000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000000000000000001001000000000000000000010010000000000000000000100100000000000000000001001000000000000000000010010000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000000000000000001001000000000000000000010014000000000000000003100211111111111111111115000000000000000000000000|5^396,564!7^156,540,3!7^180,540,3!7^204,540,3!7^156,564,3!7^180,564,3!7^204,564,3!7^372,540,3!7^396,540,3!7^420,540,3!7^420,564,3!7^396,564,3!7^372,564,3!7^588,540,3!7^612,540,3!7^636,540,3!7^636,564,3!7^612,564,3!7^588,564,3!7^156,60,1!7^180,60,1!7^204,60,1!7^372,60,1!7^396,60,1!7^420,60,1!7^588,60,1!7^612,60,1!7^636,60,1!1^180,180!1^180,420!1^612,180!1^612,420!1^612,300!1^180,300!1^396,252!1^396,348!1^396,468!1^396,132!11^504,516,288,516!6^36,516,2,1,0,3!6^756,276,3,1,0,3!6^108,36,2,1,0,0!6^660,516,3,1,0,0!6^132,516,2,1,0,2!0^756,576!0^732,576!0^708,576!0^684,576!0^660,576!0^636,576!0^612,576!0^588,576!0^204,576!0^180,576!0^156,576!0^132,576!0^108,576!0^84,576!0^60,576!0^36,576!0^24,564!0^768,564!0^768,540!0^768,516!0^768,492!0^768,468!0^768,444!0^768,420!0^768,396!0^768,372!0^768,348!0^768,324!0^768,300!0^768,276!0^768,252!0^768,228!0^768,204!0^768,180!0^768,156!0^768,132!0^768,108!0^768,84!0^768,60!0^768,36!0^756,24!0^732,24!0^708,24!0^684,24!0^660,24!0^636,24!0^612,24!0^588,24!0^564,24!0^540,24!0^516,24!0^492,24!0^468,24!0^444,24!0^420,24!0^396,24!0^372,24!0^348,24!0^324,24!0^300,24!0^276,24!0^252,24!0^228,24!0^204,24!0^180,24!0^156,24!0^132,24!0^108,24!0^84,24!0^60,24!0^36,24!0^24,36!0^24,60!0^24,84!0^24,108!0^24,132!0^24,156!0^24,180!0^24,204!0^24,228!0^24,252!0^24,276!0^24,300!0^24,324!0^24,348!0^24,372!0^24,396!0^24,420!0^24,444!0^24,468!0^24,492!0^24,516!0^24,540");
var _local33 = new LevelData("dendrite", "9000000000000000000000000000000000000000000000000000000000000000000;1000000000000000000000:10000;1111111111111<00000000111111111111111000000001111111111111110000000011111111111111100000000111111111111111000000001111111111111110000000011111111111111=0000000000000000000000000;1000000000000000000000:10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;1000000000000000000000:1000011111111111111<000000001111111111111110000000011111111111111100000000111111111111111000000001111111111111110000000011111111111111100000000:1111111111111=0000000000000000000000000;1000000000000000000000:10000000000000000000000080000000000000000000000|5^588,108!4^612,570,1!4^396,570,1!4^180,570,1!4^36,570,1!4^756,570,1!11^204,108,396,516!3^720,300!3^72,300!6^756,516,3,1,0,3!6^60,444,2,1,0,3!6^252,36,2,1,0,0!6^108,60,3,1,0,2!0^72,276!0^72,240!0^72,204!0^72,168!0^72,324!0^72,360!0^72,396!0^72,432!0^720,276!0^720,240!0^720,204!0^720,168!0^720,324!0^720,360!0^720,396!0^720,432!0^708,408!0^708,336!0^732,264!0^732,192!0^708,252!0^84,180!0^60,192!0^84,252!0^60,264!0^84,336!0^60,348!0^84,408!0^60,420!0^396,300!0^396,396!0^396,204!0^732,420!0^732,348!0^708,180!0^720,258!0^720,186!0^720,342!0^720,414!0^72,186!0^72,258!0^72,414!0^72,342!0^402,192!0^390,216!0^402,312!0^390,288!0^402,384!0^390,408!0^414,216!0^378,192!0^414,288!0^378,312!0^378,384!0^414,408");
var _local29 = new LevelData("diagony 1", "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110FJ11111111111111111111000FJ11111111111111111100000FJ11111111111111110000000FJ11111111111111000000000FJ11111111111100000000000FJ11111111110000000000000FJ11111111000000000000000FJ11111100000000000000000FJ11110000000000000000000FJ11000000000000000000000FJ00000000000000000000000H00000000000000000000001LH00000000000000000000111LH00000000000000000011111LH00000000000000001111111LH00000000000000111111111LH00000000000011111111111LH00000000001111111111111LH00000000111111111111111LH00000011111111111111111LH00001111111111111111111LH00111111111111111111111LO111111111111111111111111111111111111111111111111111111111111111111111|5^588,552!11^528,564,264,36!1^504,516!1^288,84!1^312,132!1^336,180!1^360,228!1^384,276!1^408,324!1^432,372!1^456,420!1^480,468!1^552,300!1^552,276!1^624,444!1^624,420!1^480,156!1^480,132!1^480,144!1^552,288!1^624,432!0^384,552!0^372,528!0^360,504!0^348,480!0^336,456!0^324,432!0^312,408!0^300,384!0^288,360!0^276,336!0^264,312!0^252,288!0^240,264!0^228,240!0^216,216!0^204,192!0^192,168!0^180,144!0^168,120!0^156,96!0^144,72!0^132,48!0^420,48!0^432,72!0^444,96!0^456,120!0^456,144!0^456,168!0^492,192!0^504,216!0^516,240!0^528,264!0^528,288!0^528,312!0^564,336!0^576,360!0^588,384!0^600,408!0^600,432!0^600,456!0^636,480!0^648,504!0^660,528!0^672,552!6^396,492,2,1,0,3!6^204,36,3,1,0,2!6^396,36,2,1,0,1!6^396,396,3,1,0,3");
var _local43 = new LevelData("oldschool like aztecs but new in other aspects", "10111111111111111111111101111111111111111111110011111111111111111111100021111111111111111111000011111111111111111110000021111111111111111100000011111111111111111000000021111111111111110000000011111111111111100000000021111111111111000000000011111111111110000000000021111111111100000000000011111111111000000000000021111111110000000000000011111111100000000000000111111111000000000000001111111110000000000000111111111100000000000031111111111000000000001111111111110000000000311111111111100000000011111111111111000000003111111111111110000000111111111111111100000031111111111111111000001111111111111111110000311111111111111111100011111111111111111111003111111111111111111111011111111111111111111110111111111111111111111|5^396,324!9^84,60,0,0,30,2,1,-1,0!9^732,60,0,0,2,2,1,0,0!9^60,60,0,0,31,2,1,-1,0!9^756,60,0,0,1,2,1,0,0!11^396,348,36,60!6^708,36,3,0,0,2!6^84,60,3,0,0,0!6^588,180,0,1,0,3!6^180,156,0,0,0,0!1^396,252!1^396,132!0^456,264!0^432,288!0^480,240!0^504,216!0^528,192!0^552,168!0^576,144!0^600,120!0^624,96!0^648,72!0^360,288!0^336,264!0^312,240!0^288,216!0^264,192!0^240,168!0^216,144!0^192,120!0^168,96!0^144,72!1^396,144!1^396,264!0^600,72!0^576,96!0^552,120!0^528,144!0^504,168!0^480,192!0^456,216!0^432,240!0^192,72!0^216,96!0^240,120!0^264,144!0^288,168!0^312,192!0^336,216!0^360,240!0^504,72!0^456,72!0^288,72!0^336,72!0^480,96!0^456,120!0^432,144!0^408,168!0^384,168!0^360,144!0^336,120!0^312,96!0^360,96!0^432,96");
var _local15 = new LevelData("mount nermal", "0000000000000000000FJ110000000000000000?0000210000000000000000C@0000B0000000000000003500000>00000000000?00K5000000000000000000C@0000?0000000000000003500000C@0000000000?00K5000003500000000000C@0000?00K500?000000003500000C@00000C@000000K5000003500000350000000000?00K500?00K5000?0000000C@00000C@000000C0000003500000350000003100000KE00000K5000000K11000001P000000000000011100000JD00000J4000000J11000000240000024000000210000000BA00000BA000000B0000000>00J400>00J4000>0000J400000240000024000000002400000BA00000BA00000000BA0000>00J400>000000000>00J400000240000000000000002400000BA000000000000000BA0000>0000000000000000>00J400000000000000000000002400000?0000000000000000BA0000C0000000000000000>0000310000000000000000000GK11|5^552,528!6^132,420,3,1,0,0!6^660,420,2,1,0,2!3^396,252!11^396,492,396,84!0^312,300!0^300,312!0^288,324!0^276,336!0^288,156!0^276,168!0^264,180!0^252,192!0^216,276!0^204,288!0^192,300!0^180,312!0^504,156!0^516,168!0^528,180!0^540,192!0^480,300!0^492,312!0^504,324!0^516,336!0^576,276!0^588,288!0^600,300!0^612,312!0^552,420!0^564,432!0^576,444!0^588,456!0^240,420!0^228,432!0^216,444!0^204,456!0^648,396!0^660,408!0^672,420!0^684,432!0^144,396!0^132,408!0^120,420!0^108,432!0^312,468!0^300,480!0^288,492!0^276,504!0^480,468!0^492,480!0^504,492!0^516,504!4^660,570,1!4^132,570,1");
var _local13 = new LevelData("chambre", "11111111111111111111111111111111111111111111111100FJ11MI0FI00FJMI0011110000FI00000000000001111@0000000000000000001111A00000000000000000?1111000000000000000000C111100000000000000000?1111100000000000000000C1111100000000000000000B1111100000000000000000>11111@00000000000000000B1111D00000000000000000>1111E0000000000000000001111A00000000000000000?1111000000000000000000>111100000000000000000001111@0000000000000000001111A00000000000000000?1111000000000000000000C1111@00000000000000000B1111D00000000000000000>11111@0000000000000000011111A000000000000000001111E0000000000000000001111A00000000000000000?1111000000000000000000>1111000000000GKLH0000001111LH0GH00GK1111LH000G111111111111111111111111111111111111111111111111|5^396,492!2^612,528,0,-1!2^132,528,0,-1!1^180,348!1^228,180!1^540,180!1^564,300!1^516,396!1^348,396!1^324,276!1^444,228!1^420,324!11^432,516,396,132!0^108,84!0^96,84!0^84,84!0^84,96!0^84,108!0^180,84!0^192,84!0^204,84!0^216,84!0^228,84!0^240,84!0^252,84!0^264,84!0^276,84!0^396,84!0^408,84!0^420,84!0^492,84!0^660,84!0^672,84!0^684,84!0^708,132!0^708,204!0^708,216!0^708,228!0^84,276!0^84,348!0^84,360!0^84,372!0^84,492!0^84,504!0^84,516!0^96,516!0^108,516!0^684,516!0^696,516!0^708,492!0^708,480!0^708,468!0^708,456!0^708,444!6^180,156,2,0,0,3!6^684,204,3,1,0,2!6^84,108,1,1,0,3!6^684,84,0,1,0,2!6^84,372,2,1,0,0!6^540,348,3,1,0,3!1^180,360!1^348,408!1^516,408!1^564,312!1^420,336!1^324,288!1^228,192!1^444,240!1^540,192");
var _local22 = new LevelData("sufficient conditions", "50111000000000000000000001150000000000000000000015000000000000000000000500000000000000000000000000000021100000000000000000000021000000000000000000000020002110000000000211000000002100000000000210000000002000000000000200000000000000000000000000000000000300000000000000030000031100000003000003100003110000000310000311000000000000031100000000000000000000000000000000000000000000000000000000000000000000021100000002110000000000021000000002110000000000020000300002000000000000000031000000000000000000003110000000000000300000000000000000000031000000000000000000003110000000000211000000000000000300000210010000000000031000000200000040000003110000000000000140000000000000000000001140000000000000000040011100000000000000000|5^72,48!8^204,492,1!8^612,516,1!8^492,540,0!8^444,540,2!8^324,564,0!8^276,564,2!8^756,564,3!8^756,180,1!8^36,156,1!8^36,564,3!8^36,540,0!8^156,444,2!8^36,420,0!8^108,300,2!8^708,300,0!11^732,84,384,468!0^156,468!0^132,468!0^108,468!0^84,468!0^60,468!0^60,492!0^60,516!0^84,516!0^108,516!0^132,516!0^156,516!0^156,492!0^132,492!0^108,492!0^84,492!0^180,492!0^180,516!0^228,492!0^228,516!0^420,516!0^396,516!0^372,516!0^348,516!0^348,492!0^372,492!0^396,492!0^420,492!0^636,516!0^660,516!0^684,516!0^708,516!0^732,516!0^708,324!0^732,324!0^732,276!0^708,276!12^768,492!12^768,396!12^768,300!12^768,204!12^24,204!12^24,300!12^24,396!12^24,492!0^336,168!0^240,192!0^312,336!0^168,288!0^216,432!0^288,504!0^480,480!0^648,456!0^648,288!0^504,360!0^480,240!0^576,144!8^588,564,2!8^660,564,0");
var _local18 = new LevelData("squared", "50111000111000111000111001110001110001110001110011100011100011100011100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000001000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011100011100011100011100111000111000111000111001110001110001110001110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000100000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001110001110001110001110011100011100011100011140111000111000111000111|5^732,60!11^60,60,396,492!12^696,516!12^696,540!12^696,564!12^96,516!12^96,540!12^96,564!6^732,444,3,1,0,2!6^84,300,3,1,0,0!6^372,204,2,1,0,2!6^660,348,3,1,0,0!0^732,180!0^720,180!0^708,180!0^732,324!0^720,324!0^708,324!0^732,468!0^720,468!0^708,468!0^60,468!0^72,468!0^84,468!0^60,324!0^72,324!0^84,324!0^60,180!0^72,180!0^84,180!4^228,570,1!4^564,570,1!3^684,252!3^108,252!0^420,48!0^408,48!0^396,48!0^384,48!0^372,48!0^372,180!0^384,180!0^396,180!0^408,180!0^420,180!0^420,324!0^408,324!0^396,324!0^384,324!0^372,324");
var _local30 = new LevelData("whomping", "11115000002111111111111111100000001115000000025000000000011100000000000000000000111000000000000031114001150000014000000111110000000000110000000211100000000031100000000111000000031150000000001114000000111000000000021114000001150000000000002110000011000000000000001140003110000000000000021111111140003000000000011111111111110000000003111111111111100000000011111111111111000001403111111111111110000011111150211021111100003111500000110002111000111150000001100000210002111000000011000000100000000000003110000001000000000000311500000010000000000031110000000100031100011111500000001140111000211110000000011101110000001500031103111011500000000000111011150110000000000001150111001100000000000011001110011400000000003110311|5^744,492!11^732,84,444,324!9^456,120,0,0,27,3,1,-1,0!9^300,348,0,0,28,3,1,-1,0!9^324,516,0,0,28,3,1,0,0!4^516,354,1!6^468,252,2,0,0,0!8^660,300,0!8^660,276,0!8^732,156,1!8^708,156,1!6^156,324,2,0,0,3!6^300,564,2,0,0,3!6^60,276,2,0,0,3!0^420,204!0^348,252!0^180,132!0^204,156!0^228,156!0^300,228!0^396,228!0^276,204!0^264,168!0^36,156!0^36,180!0^36,204!0^36,228!0^36,252!0^756,396!0^756,372!0^756,348!0^756,324!0^756,300!0^756,276!0^756,252!0^756,228!0^756,204!0^756,180!4^84,570,1!4^516,546,1!0^444,420!0^468,420!0^492,420!0^516,420!0^540,420!0^588,396!0^636,372!0^468,468!0^492,516!6^84,84,2,0,0,3");
var _local19 = new LevelData("gas balls", "9000:=00000000:=00006=00000000000000000000000000000000000000000000000000000000000000000000000000;<000000000000000000000:=00000;<000000000000000000000:=00000000000000000000000000000000000000;<000000000000000000000:=0000000000000000000000000000000000000000000000000;<00000000000000;<00000:=00000000000000:=000000000006<0000000000000000000000:806<00000000000000000000001000000000000000000;907=0000;<000000000007=00000000:=00000;<000000000000000000000:=000000000000000000000000000000000000000;<000000000000000000000:=00000000000000000000000000000000000000000000000000;<00000000000000;<00000:=00000000000000:=000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000;<00000000;<00007<0|5^36,60!9^228,252,1,0,16,19,1,0,-1!9^564,252,1,0,16,19,1,0,0!0^624,276!0^624,264!0^624,252!0^480,252!0^480,240!0^480,228!0^312,252!0^312,240!0^312,228!0^168,276!0^168,264!0^168,252!0^336,84!0^336,72!0^456,84!0^456,72!0^552,132!0^552,120!0^648,108!0^648,96!0^240,132!0^240,120!0^144,108!0^144,96!6^516,564,3,0,1,2!6^276,564,2,0,1,0!12^708,384!12^660,360!12^84,384!12^132,360!12^228,336!12^264,324!12^564,336!12^528,324!12^672,396!12^120,396!12^732,420!12^60,420!12^204,360!12^588,360!11^396,516,744,96");
var _local16 = new LevelData("sphere of existence", "00000000P0000000000000000000000PP0000000000000000000000P0000000000000000000P00P000000P000000000000P000000000P000000000000P0000000P0P000000000000P0000000P0P00000000000000000000PPP000000000000000000000P00000000000000000000000000000000P0000000000000000000000P00000000000000000P0000000000000000000000P000000000000000000000000000000000000000000000000000000000P0000000000000000000000P0000000000000000000000PP0000000000000000000000P0000000000000000000000P0000000000000000000000P00000000000000000000000000000000000000000000000000000000000P0000000000000P00000000P0000000000000P00000000PP0000000000000000P00000P0000000000000000P0000000000000000000000PP000000000000000000000PP000000000000000000000PP00000000P000000000000PP00|5^49.1952136183817,566!11^492,564,396,60!0^504,432!0^516,432!0^528,432!0^540,432!0^528,420!0^552,432!0^540,444!0^540,456!0^552,468!0^516,444!0^516,456!0^516,468!0^504,480!3^36,36!0^372,96!0^384,96!0^408,96!0^396,96!0^420,96!0^396,84!0^384,108!0^384,120!0^384,132!0^408,108!0^408,120!0^420,132!0^372,144!0^612,192!0^624,192!0^636,192!0^648,192!0^660,192!0^636,180!0^624,204!0^624,216!0^624,228!0^612,240!0^648,204!0^648,216!0^660,228!0^180,288!0^192,288!0^204,288!0^216,288!0^228,288!0^204,276!0^192,300!0^192,312!0^192,324!0^180,336!0^216,300!0^216,312!0^228,324!0^84,492!0^96,492!0^108,492!0^72,492!0^60,492!0^84,480!0^72,504!0^72,516!0^72,528!0^60,540!0^96,504!0^96,516!0^108,528!3^756,36!4^372,570,1!0^60,84!0^72,84!0^84,84!0^96,84!0^108,84!0^84,72!0^72,96!0^72,108!0^72,120!0^60,132!0^96,96!0^96,108!0^108,120");
var _local26 = new LevelData("comms", "11111500000000000001111502110000000000000021110000000000000000000000200000000000031140000000000000311111111111140000000001111115021111100000000315011100011111000003111100111000111110000011111001150001111100000111110011003111111000001111100110011111500000011115001500115000000000210000000001100000003400000000000011000000111000000000000210000001150000000000000000000011000140000000000031140210031100000000000111100001111000000000001111000011110000000000001110000211100000000000011100000111000311100003111000001110011111400011110000011500111111403111140000110001111111111111100001100315000021111111000011111100000021111110000111111000000000211100002111150000000000000000000000000011140000000040000000003111100000003|5^252,60!11^588,180,624,144!0^180,228!0^204,372!0^180,372!0^156,348!0^180,324!0^204,324!0^228,204!0^204,204!0^492,420!0^516,420!0^540,396!0^564,396!0^588,372!0^540,324!0^564,348!0^636,252!0^636,276!0^636,300!0^636,324!0^684,396!0^684,420!0^108,468!0^108,444!0^108,420!0^108,300!0^108,276!0^108,252!0^108,228!0^108,204!0^84,372!0^84,348!4^204,570,1!4^444,570,1!6^756,228,0,1,0,3!6^36,276,1,1,0,3!6^564,564,1,1,0,2!6^132,564,0,1,0,0!12^564,72!12^624,24!12^684,72!12^180,156!12^24,204!12^24,444!12^24,372!12^24,276!12^612,540!12^684,540!12^648,540!12^252,540!12^156,540!12^192,540!12^216,540!3^420,228!0^648,240!0^648,336!0^648,288!0^96,216!0^96,288!0^72,360!0^96,432!0^96,456!0^648,264!0^648,312!0^96,240!0^96,264!0^228,372!0^108,216!0^108,288!0^96,252!0^84,360!0^684,408!0^636,288!0^648,252!0^648,324!0^108,432!0^108,456!0^108,240!0^108,264!0^636,264!0^636,312!0^696,432!0^696,408!0^696,420!0^648,300!0^648,276!0^96,228!0^96,276!0^96,300!0^96,312!0^96,420!0^96,408!0^96,444");
var _local23 = new LevelData("scamper", "00000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000011000000000000000000000110000000000000000000000000000000000001000000000000001000000000000000000000000000000000000000000000000000100000000000000000000000000100000000000000000000000000001000100000000000000000000000000001000000000000000000000000000000000000001000000000000000000000000000000000000000000000000100000000000000000000000000000001000000000000000000000000000000001000000100000000000000000000000000000000000000000000000000001000000000000000000000000000000000010000000000000000011000000000001000000000110000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|5^648,108!11^144,108,348,468!0^564,492!0^636,420!0^660,300!0^612,228!0^516,324!0^444,252!0^324,204!0^348,348!0^468,468!0^276,516!0^252,420!0^180,468!0^108,348!0^204,276!3^756,564!3^36,564!3^180,180!3^612,180!0^516,156!0^324,108!0^396,180!12^36,432!12^36,408!12^36,384!12^36,228!12^36,204!12^36,180!12^756,516!12^756,492!12^756,468!12^756,264!12^756,288!12^756,312!12^756,108!12^756,84!12^756,60");
var _local34 = new LevelData("diagony 2", "00000000>11111111111111000000000B1111111111111@00000000>1111111111111D000000000B1111111111111@00000000>1111111111111D000000000B1111111111111@00000000>1111111111111D000000000B1111111111111@00000000>1111111111111D000000000B1111111111111@00000000>1111111111111D000000000B1111111111111@00000000>1111111111111D000000000B1111111111111@00000000>1111111111111D000000000B1111111111111@00000000>1111111111111D000000000B1111111111111@00000000>1111111111111D000000000B1111111111111@00000000>1111111111111D000000000B1111111111111@00000000>1111111111111D000000000B1111111111111@00000000>1111111111111D000000000B1111111111111@00000000>1111111111111D000000000B1111111111111@00000000>1111111111111D00000000011111111111111@00000000|5^744,540!12^360,396!12^168,300!12^552,492!12^552,264!12^360,168!12^720,348!12^192,84!1^396,300!1^444,324!1^492,348!1^540,372!1^588,396!1^636,420!1^684,444!1^348,276!1^300,252!1^252,228!1^204,204!1^156,180!1^108,156!11^744,564,36,36!6^60,108,2,1,0,0!6^252,324,2,1,0,0!6^420,228,3,1,0,2!6^300,156,3,1,0,2!6^36,204,1,0,0,3!6^60,36,0,0,0,2!0^660,432!0^612,408!0^564,384!0^516,360!0^468,336!0^420,312!0^372,288!0^324,264!0^276,240!0^228,216!0^180,192!0^132,168!1^732,468!1^60,132!0^84,144!0^708,456!0^756,480!0^36,120");
var _local39 = new LevelData("lax A", "9061111111111111111111100011111111111111111111000111111111111111111110001111111111111111111100011111111111111111111000111111111111111111110001111111111111111111100011111111111111111111000:1111111111111111111000000000000000000000060000000000000000000000000000000000000000000000800000000000000000000001001<0;<0;<0;<0;<0;<0009000000000000000000000000000000000000000000000800000000000000000000001001=0:=0:=0:=0:=0:=00090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007000;11111111111111111110001111111111111111111100011111111111111111111000111111111111111111110001111111111111111111100011111111111111111111000111111111111111111110001111111111111111111180711111111111111111111|5^732,60!3^396,60!0^420,492!0^420,468!0^372,492!0^372,468!0^372,420!0^372,396!0^420,420!0^420,396!0^420,348!0^420,324!0^372,324!0^372,348!0^372,276!0^372,252!0^372,204!0^372,180!0^372,132!0^372,108!0^420,108!0^420,132!0^420,180!0^420,204!0^420,252!0^420,276!0^396,300!0^396,372!0^396,444!0^396,228!0^396,156!0^396,84!0^396,516!4^396,570,1!12^360,156!12^432,156!12^432,228!12^360,228!12^360,300!12^432,300!12^432,372!12^360,372!12^360,444!12^432,444!11^84,84,396,540!1^504,480!1^288,480!1^288,408!1^288,336!1^288,264!1^288,192!1^504,192!1^504,264!1^504,336!1^504,408!7^348,60,2!7^348,84,2!7^372,60,2!7^372,84,2!7^444,60,2!7^444,84,2!7^468,60,2!7^468,84,2!12^504,36!12^504,72!12^504,108!12^480,120");
var _local35 = new LevelData("chunnel ", "1N0000000?A011111000P111N000000000011111000P111N000000000011111000P111N000000000011111000P111N000000000011111000P111N000000000?11111000P111N0000?0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000N11111000P111N0000N0000000000000P111N0000N0000N11111000P111N000000000N11111000P111N000000000N11111000P111N0000N0000N11111000P11|5^36,492!11^756,492,264,168!6^756,156,5,0,0,2!6^420,84,5,0,0,2!6^468,228,5,0,0,0!6^36,228,5,0,0,0!0^660,420!0^660,396!0^660,372!0^660,348!0^660,324!0^84,96!0^96,96!0^108,96!0^84,108!0^96,108!0^108,108!0^108,108!0^96,120!0^84,120!0^108,120!0^552,96!0^564,96!0^576,96!0^564,108!0^552,108!0^576,108!0^576,120!0^564,120!0^552,120!0^768,96!0^768,108!0^768,120!0^768,240!0^768,252!0^768,264!0^552,228!0^564,228!0^564,228!0^576,228!0^576,240!0^564,240!0^552,240!0^552,252!0^576,252!0^564,252!12^84,228!12^96,228!12^108,228!12^108,240!12^96,240!12^84,240!12^84,252!12^96,252!12^108,252!12^324,228!12^336,228!12^348,228!12^348,240!12^348,252!12^336,252!12^324,252!12^324,240!12^336,240!10^36,444!6^756,108,5,0,0,1!6^36,132,5,1,0,0!6^756,204,5,1,0,2!6^756,276,5,1,0,3!12^348,120!12^336,120!12^324,120!12^324,108!12^324,96!12^336,96!12^348,96!12^348,108!12^336,108");
var _local47 = new LevelData("shelled", "900000000000000000000060000000000061<00000000000061<0000071=00000000000071=000000000000000000000000000000000061<000000000061<000000071=000000000071=00000000000000000000000000000000000000000000000061<0000000000000000000071=00000000000000000000000000000000000061<0000000000061<00000071=0000000000071=000000000000000000000000000000000061<0000000000000000000071=0000000000000061<0000000000061<00000071=0000000000071=000000000000061<0000000000000000000071=000000000000000061<0000000000000000000071=00000061<0000000000000000000071=0000000000000000000000000000061<000000061<000000000071=000000071=000000000000000000000000061<00000000000061<0000071=00000000000071=000000000000000000000000000000000080000000000000000000007|5^312,564!11^432,564,624,84!12^756,132!12^756,108!12^756,84!12^36,108!12^36,132!12^36,156!12^36,300!12^36,324!12^756,252!12^756,276!12^756,300!12^36,348!12^36,444!12^36,468!12^36,492!12^756,444!12^756,468!12^756,492!0^552,420!0^672,444!0^432,468!0^312,492!0^144,444!0^72,300!0^240,324!0^384,276!0^480,300!0^624,324!0^696,252!0^528,204!0^432,132!0^312,156!0^168,204!0^96,108!3^372,60!3^312,420!3^708,108!3^228,252");
var _local44 = new LevelData("phase III", "50000000021115000000002000000000011100000000000000000000111000000000000000000001110000000000000000000011100000000000000031111111111140000000000150002150002100000000001001000001001000000000010000000000010000000000100000100000100000000001001000001001000000000010000000000010000000000100000100000100000400001001000001001000031111114000000000311111111111110000100001111111111111500000000021111115000010010000010010000200000100000100000100000000001000000000001000000000010010000010010000000000100000100000100000000001000000000001000000000010010000010010000000000140003140003100000000002111111111115000000000000000111000000000000000000001110000000000000000000011100000000000000000000111000000000040000000031114000000003|5^396,396!12^420,264!12^372,264!12^372,336!12^420,336!6^324,276,2,1,0,2!6^204,324,2,1,0,0!6^612,372,3,1,0,3!0^552,228!0^480,228!0^396,228!0^312,228!0^240,228!0^216,300!0^288,300!0^360,300!0^432,300!0^504,300!0^576,300!0^552,372!0^480,372!0^396,372!0^312,372!0^240,372!12^504,264!12^288,264!12^216,264!12^576,264!12^480,336!12^552,336!12^312,336!12^240,336!12^480,180!12^552,180!12^312,180!12^240,180!12^240,420!12^312,420!12^480,420!12^552,420!6^612,252,3,1,0,3!11^396,396,396,204");
var _local52 = new LevelData("carbonite", "900000611900061190000060000000:=0000011000000700000000000000:=000;1110000000000;<0000000:11100;<0000001100000000611001100;<0011800000007110011871100111<0000;11118711111100111=0000:11111119611187119000000000611=001111111800000000079000011961111111<0000;1000001100111111110000:180000:=00119006110000061<0000000110000110000071=0000000110;<011000;1190000000011011011000111000000;<0:=0110:=000:1100;<00110007110000000618711001100;1110000000711111001187111=000;1111196118711111190000:1111100111111961100000000611001196110011000000007110011001100110000000;11100:=001100:=0000000:111000000:=000000000000061000000000000000000000710000000000000000;1111110000000000000;<0:111111000000000;<00110061111180000000711871180711111|5^396,468!11^396,492,240,336!0^648,540!0^744,444!0^552,516!0^456,540!0^336,564!0^240,564!0^144,516!0^48,564!0^228,240!0^180,144!0^204,48!0^516,48!0^564,144!0^540,240!9^636,96,0,0,16,15,1,0,0!9^636,288,0,0,16,15,1,-1,0!9^108,96,0,0,16,12,1,-1,0!9^84,288,0,0,16,12,1,0,0!0^492,240!0^276,216!0^228,120!0^516,144!0^468,48!10^708,60!10^84,144!0^504,156!0^504,132!0^456,60!0^456,36!0^240,132!0^240,108!0^288,228!0^288,204!0^480,252!0^480,228!0^300,228!0^312,228!0^324,228!0^336,228!0^348,228!0^360,228!0^372,228!0^384,228!0^396,228!0^492,156!0^480,156!0^468,156!0^456,156!0^444,156!0^432,156!0^444,36!0^432,36!0^420,36!0^408,36!0^396,48!0^312,36!0^288,36!0^276,48!0^324,48!0^276,60!0^276,72!0^252,132!0^264,132!0^276,132!0^288,132!0^300,132!0^312,132!0^444,60!0^432,72!0^324,60!0^336,72!0^396,60!0^384,72!0^372,84!0^360,84!0^348,84!0^252,108!0^276,84!0^264,96!0^492,132!0^480,132!0^468,132!0^456,132!0^444,132!0^432,120!0^420,108!0^420,96!0^420,84!0^468,228!0^456,228!0^432,228!0^444,228!0^408,228!0^420,228!0^300,204!0^312,204!0^324,204!0^336,192!0^348,180!0^348,168!0^348,156!0^336,144!0^324,132!0^420,156!0^408,168!0^396,180!0^396,192!0^396,204!0^408,216!0^300,36!0^456,252!0^468,252!0^444,264!0^444,276!0^444,252!0^432,240!0^432,288!0^420,300!0^432,300!0^444,288!0^504,144!0^480,240!0^288,216!0^240,120!0^456,48!0^312,48!0^300,48!0^288,48!0^444,48!0^432,48!0^420,48!0^408,48!0^432,60!0^420,60!0^420,72!0^408,60!0^312,60!0^288,60!0^300,60!0^288,72!0^252,120!0^264,120!0^264,108!0^276,120!0^492,144!0^480,144!0^468,144!0^300,216!0^396,216!0^468,240!0^384,216!0^324,324!0^324,336!0^324,348!0^324,360!0^324,312!0^336,372!0^336,300!0^348,372!0^360,372!0^348,300!0^360,300!0^372,300!0^372,372");
var _local45 = new LevelData("n-trapment", "000000000000101000000B0000000000000B01000000000000D00000000010000000000001000000000E0000D00000C010000000000000010000010100000D000000C010000010100000100000010100000B01000C0100000010100000001000101000000B010000000E00010100000000100000000000B0100000000E000000000000010000000000000000000000E0000000000000000000000000000000000000000000000000000000000000000000000000D000000C00000000000000010000001000000D000000C0100000010000001000000101000000B0000C0100000010100000000000101000000B01000000000001010000000010000D000000B0100000000E0000100000000100000000000C0100000000E00000000000101000000000000000000001010000000000000D000000B0100000000000001000000001000000D0000C0100000000E000000100001010000000000000C01000010100000000000|5^756,108!11^732,276,36,564!0^444,372!0^468,372!0^492,372!0^516,372!0^588,492!0^612,492!0^636,492!0^660,492!0^228,468!0^204,468!0^180,468!0^156,468!0^60,348!0^36,348!0^204,252!0^228,252!0^252,252!0^276,252!0^132,108!0^156,108!0^180,108!0^204,108!0^492,156!0^516,156!0^540,156!0^564,156!3^276,372!3^468,468!3^348,156!3^492,252!3^36,108!3^756,492!4^300,570,1!4^564,570,1");
var _local40 = new LevelData("pride cometh", "A000000000000000BI0000>0000000000000000>@0000000000000000000000D0000000000000000000000B0000000000000000000000>@0000000000000000000000D000000000FQQI000000000B0000000000000000000000>@0000000000000000000000D0000000000000000000000B00000000000000000OH000>@0000000000000OH0000000D0000000000OH0000000000BL000000OH00000000000@000000OH0000000000000?A000?00000000000000000N0000N00QI0000000000000>@000>00000QI00000000000A000000000000QI0000000000CM000000000000QI0000000E0000000000000000QI000?A000000000000000000000C0000000000000000000000E000000000000000000000?A00000000GOOH000000000C0000000000000000000000E000000000000000000000?A000000000000000000000C0000000000000000000000E000000000000000000000?A00000@000000000000000CH0000?|5^396,528!9^636,192,0,0,19,23,1,-1,0!9^156,192,0,0,13,23,1,0,0!11^396,552,396,48!0^396,96!0^420,156!0^372,156!0^444,228!0^468,300!0^492,372!0^300,372!0^324,300!0^348,228!3^192,192!3^600,192!0^756,540!0^756,528!0^756,516!0^756,504!0^756,492!0^756,480!0^756,468!0^744,480!0^744,528!0^744,504!0^732,528!0^744,540!0^732,480!0^744,468!0^36,540!0^36,528!0^36,516!0^36,504!0^36,492!0^36,480!0^36,468!0^48,468!0^48,480!0^48,504!0^48,528!0^48,540!0^60,528!0^60,480!0^756,456!0^756,552!0^36,456!0^36,552!12^156,228!12^156,156!12^636,156!12^636,228!12^660,228!12^684,228!12^708,228!12^732,228!12^756,228!12^132,228!12^108,228!12^84,228!12^60,228!12^36,228");
var _local50 = new LevelData("nautilus", "111111111111111111190061111111111111111111000011111111111111190610000111111111111111000=00001111111111190610000000011111111111000=00000000111111190610000000000001111111000=00000000000011190610000000000000000111000=000000000000000096100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000071000000000000000000000:=000<0000000000000000800007100000000000000001111111000<0000000000001111111807100000000000011111111111000<0000000011111111111807100000000111111111111111000<0000111111111111111807100001111111111111111111000011111111111111111118007|5^288,48!1^396,180!1^396,372!1^540,468!1^252,468!1^468,276!1^324,276!0^564,144!0^564,132!0^564,120!0^228,120!0^228,132!0^228,144!0^180,216!0^180,228!0^180,240!0^612,240!0^612,228!0^612,216!0^660,336!0^660,324!0^660,312!0^132,312!0^132,324!0^132,336!0^708,408!0^708,420!0^708,432!0^84,432!0^84,420!0^84,408!0^756,504!0^756,516!0^756,528!0^756,540!0^756,552!0^36,504!0^36,516!0^36,528!0^36,540!0^36,552!4^132,570,1!6^684,444,3,1,0,3!6^588,252,3,1,0,3!11^396,564,504,48!6^60,564,2,1,0,3!6^156,348,2,1,0,3!6^252,156,2,1,0,3!1^396,192!1^324,288!1^468,288!1^396,384!1^252,480!1^540,480");
var _local48 = new LevelData("a clockwork lemon", "11111111111111111111111111111111111111111111111100000000000000000001111031111114031111114011110111111110111111110111101111111101111111101111011111111011111111011110111111150211111110111101111100000001111101111011111031114011111011110111110111110111110111101111101111101111101111011111011111011111011110111110111110111110111102111502150102111501111000000000001000000011110311140314010311140111101111101111101111101111011111011111011111011110111110111110111110111101111101111101111101111011111021115011111011110111110000000111110111101111111403111111101111011111111011111111011110111111110111111110111101111111101111111101111021111115021111115011110000000000000000000111111111111111111111111111111111111111111111111|5^564,84!11^396,324,396,492!9^108,300,1,0,16,11,1,0,-1!9^684,300,1,0,16,11,1,0,0!6^84,252,2,1,0,3!6^708,396,3,1,0,3!6^636,516,2,1,0,2!6^324,372,3,1,0,0!6^492,228,2,1,0,0!0^396,132!0^396,144!0^396,156!0^396,168!0^396,180!0^396,420!0^396,432!0^396,444!0^396,456!0^396,468!0^180,300!0^168,300!0^156,300!0^144,300!0^132,300!0^612,300!0^624,300!0^636,300!0^648,300!0^660,300");
var _local54 = new LevelData("son of pit of despair", "90006111111111111111111000001111111111111111110000011111111111111111100000111111111111111111000001111111111111111110000011111111111111111100000111111111111111111000001111111111111111110000011111111111111111100000111111111111111111000001111111111111111110000011111111111111190600000:1111111111111=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;1111111111111<000000001111111111111118070000011111111111111111100000111111111111111111000001111111111111111110000011111111111111111100000111111111111111111000001111111111111111110000011111111111111111100000111111111111111111000001111111111111111110000011111111111111111180007111111111111111111|5^300,540!8^348,36,1!8^444,36,1!2^336,468,1,0!2^456,468,-1,0!2^456,180,-1,0!2^336,180,1,0!2^336,324,1,0!2^456,324,-1,0!2^456,252,-1,0!2^336,252,1,0!2^336,396,1,0!2^456,396,-1,0!6^36,60,2,0,0,0!6^660,108,3,0,0,0!6^708,132,2,0,0,2!6^156,132,3,0,0,0!11^84,132,708,84!0^84,84!0^108,84!0^132,84!0^156,84!0^180,84!0^204,84!0^228,84!0^252,84!0^276,84!0^300,84!0^324,84!0^468,84!0^492,84!0^516,84!0^540,84!0^564,84!0^588,84!0^612,84!0^636,84!0^660,84!0^684,84!12^352.5,216!12^352.5,288!12^352.5,360!12^352.5,432!12^439.5,432!12^439.5,360!12^439.5,288!12^439.5,216");
var _local31 = new LevelData("avalon", "11E000B1A00FJ111111111111A000>E00000FJ111111111E0000000000000FJ1111111A000000000000000FJ1111E000000000000000000FJ11A00000000000000000000FJ00000000000000000000000000000000000000000000000000000000000000000000000000000000000GK@000000000000000000GK11D0000000000000000GK11111@0000000000000GK1111111D00000@00000GK1111111111@0000D000GK111111111111D000G10001111111111111110001E000FJ111111111111E000FA00000FJ1111111111A000000000000FJ1111111E000000000000000FJ11111A00000000000000000FJ11E00000000000000000000FJA000000000000000000000000000000000000000000000000000000000000000000000000000@00000000000000000000GKD000000000000000000GK111@000000000000000GK11111D0000000000000GK11111111@000?D00000GK1111111111D000C1@00GK1111111111|5^396,528!11^396,540,396,84!0^468,36!0^492,36!0^516,36!0^540,36!0^564,36!0^588,36!0^612,36!0^600,48!0^576,48!0^552,48!0^528,48!0^504,48!0^480,48!0^324,36!0^300,36!0^276,36!0^252,36!0^228,36!0^204,36!0^180,36!0^192,48!0^216,48!0^240,48!0^264,48!0^288,48!0^312,48!0^540,60!0^564,60!0^588,60!0^204,60!0^228,60!0^252,60!0^576,72!0^216,72!3^732,132!3^60,132!12^120,204!12^672,204!12^588,192!12^504,204!12^204,192!12^288,204!1^636,276!1^552,240!1^240,240!1^156,276!1^156,372!1^636,372!1^588,468!1^204,468!1^504,528!1^288,528!4^516,570,1!4^276,570,1!12^204,576!12^336,576!12^456,576!12^588,576!12^564,576!12^480,576!12^312,576!12^228,576!0^552,420!0^528,432!0^504,444!0^480,456!0^456,468!0^432,480!0^408,492!0^384,492!0^360,480!0^336,468!0^312,456!0^288,444!0^264,432!0^240,420!3^732,264!3^60,264");
var _local27 = new LevelData("phase II", "50000000021115000000002000000000011100000000000000000000111000000000000031111111111111114000000150000021500000210000001000000000000000100000010000000000000001000000100000021500000010000001000000000000000100000010000000000000001000000100000000000000010000001000000314000000100000010000000000000001000400100000000000000010031111400300314004003111111111001001110010011111111150020021500500211115001000000000000000100200010000000000000001000000100000021500000010000001000000000000000100000010000000000000001000000100000000000000010000001000000314000000100000010000000000000001000000100000000000000010000001400000314000003100000021111111111111115000000000000011100000000000000000000111000000000040000000031114000000003|5^396,420!11^396,444,396,228!6^348,300,0,0,0,3!6^396,252,0,0,0,0!6^444,300,0,0,0,1!6^396,348,0,0,0,2!12^576,300!12^504,300!12^648,300!12^288,300!12^216,300!12^144,300!0^660,252!0^660,228!0^660,204!0^660,180!0^660,156!0^636,132!0^612,132!0^588,132!0^564,132!0^540,132!0^516,132!0^492,132!0^468,132!0^444,132!0^396,156!0^396,180!0^420,156!0^372,156!0^348,132!0^324,132!0^300,132!0^276,132!0^252,132!0^228,132!0^204,132!0^180,132!0^156,132!0^132,156!0^132,180!0^132,204!0^132,228!0^132,252!0^384,168!0^408,168!0^420,180!0^372,180!4^540,474,1!4^252,474,1");
var _local41 = new LevelData("system shock", "15000150002111111111111100001000000000002111111001010000031140000000010010100000111111111140503101000000000115021100011010000000001100000000150100000010011000000001001000000100110001400010010000001401100011000100140000011015000210001001100000210100000100000000000000001001001000000000000000310010010000311111000001500100100011150000000000001001000000000000000000010010001111111110000140140100015000021500101101101000000000000031011021010000000000000110110010100000000000001501100100000000000000010015001000400000000000100100310001000000000001001001100310000000000000010015001100111111140000100000011001500021111111000000110010000000000000000001100111111111111111400011002111150000000211000114000000000000000000031|5^132,468!4^348,522,1!4^492,474,1!4^348,570,1!4^132,138,1!4^180,378,1!4^564,378,1!4^204,66,1!11^216,492,48,108!6^396,276,3,1,0,3!6^756,180,3,1,0,1!3^60,228!3^492,168!0^228,180!0^204,180!0^180,180!0^156,180!0^132,180!0^108,180!0^84,180!0^60,180!0^36,204!0^36,228!0^36,252!0^180,348!0^204,348!0^540,348!0^564,348!0^588,348!0^564,420!0^588,420!0^612,420!0^636,420!0^660,420!0^732,396!0^732,372!0^732,348!0^732,324!0^732,300!0^732,276!0^732,252!0^660,204!0^660,180!0^660,156!0^444,132!0^444,156!0^444,180!0^444,204!0^372,180!0^372,204!0^372,228!0^204,108!0^228,108!0^252,108!0^276,108!0^396,492!0^372,492!0^348,492!0^324,492!0^300,492!6^468,516,3,1,0,2!0^324,420!0^300,420!0^276,420!0^684,132!0^684,156!0^684,180!0^684,204!0^684,228");
var _local36 = new LevelData("graduated kill-inder", "00000000000000000000000000000000000000>D0000000000000000000000B@000000000000000000000>D0000000000000000000000B@000000000000000000000>D0000000000000000000000B@000000000000000000000>D0000000000000000000000B000000000000;000000000>000000000000FQQQQQQQQQQQJ<0000000000000000000000B0000000000000000000000N0000000000000000000000N0000000000000000000000N0000000000000000000000N0000000000000000000000N0000000000000000000000N0000000000000000000000N0000000000000000000000N0000000000000000000000N00000000000000N000N000N00000000000000N000N000N000000000000N0N0N0N0N0N000000000000C0C0C0C0C0N00000000000G=G=G=G=G=0C000000000GOOOOOOOOOOOK=000000000:00000000000000Q<0;Q000000000000000000010100000000000000000000B0E000000000000000000|5^84,564!11^756,108,600,552!10^36,36!9^756,564,0,0,30,4,1,-1,0!12^648,276!12^636,288!12^588,288!12^576,288!12^540,288!12^528,288!12^516,288!12^504,288!12^492,288!12^480,288!12^468,288!12^456,288!12^444,288!12^432,288!12^420,288!12^408,288!12^360,288!12^348,288!12^336,288!12^324,288!12^312,288!12^300,288!12^288,276!12^300,360!12^504,528!12^480,324!12^408,420!12^408,432!12^408,552!0^492,432!0^504,432!0^516,420!0^480,420!0^492,444!0^504,444!0^516,456!0^324,492!0^336,492!0^348,480!0^348,504!0^336,504!0^324,504!0^312,504!0^324,516!0^336,516!0^324,324!0^336,324!0^336,336!0^348,336!0^348,348!0^336,348!0^696,564!0^708,564!0^708,552!0^720,540!0^600,360!0^588,360!0^600,348!0^612,348!0^624,348!0^456,552!0^456,540!0^456,528!0^456,516!0^468,528!0^480,528!0^480,540!0^444,540!0^444,528!0^360,324!0^36,144!0^36,180!0^36,216!0^36,252!0^36,288!0^36,324!0^36,360!0^36,396!0^36,432!0^36,468!0^252,324!0^252,360!0^252,396!0^252,432!0^252,468!0^252,540!0^252,564!12^468,384!12^312,540!1^444,444!1^324,396");
var _local49 = new LevelData("conniption fit", "500000150000002111500000000001000000000000000000000024000000000000000000000000000000000000030000000000000O00021111100000000000035000000021000000000000Q00000000000000002400000000000000000000000000000000000003000000000000O00002111110000000000035000000002100000000000Q00000000000000000240000000000000000000000000000000000000300000000000O00000211111000000000035000000000210000000000Q00000000000000000024000000000000000000000000000000000000030000000000O00000021111100000000035000000000021000000000Q00000000000000000002400000000000000000000000000000000000003000000000O0000000211111000000003500000000000210000000350000000000000000000025000000000000000000000000000000000000000000000000000000000000000000000000000000000003|5^708,564!12^756,564!12^636,540!12^588,564!12^516,540!12^468,564!12^396,540!12^348,564!12^276,540!12^228,564!12^156,540!12^108,564!12^36,468!4^60,570,1!4^180,570,1!4^300,570,1!4^420,570,1!4^540,570,1!11^684,564,48,156!12^624,492!12^636,444!12^660,432!12^684,432!12^708,444!8^756,516,3!12^756,300!12^756,252!12^756,204!12^756,156!12^756,108!12^756,60!12^732,36!12^720,72!12^684,36!0^36,540!0^36,516!0^36,492!0^108,540!0^108,516!0^108,492!0^108,468!0^108,444!0^156,516!0^156,492!0^156,468!0^228,540!0^228,516!0^228,492!0^228,468!0^228,444!0^276,516!0^276,492!0^276,468!0^348,540!0^348,516!0^348,492!0^348,468!0^348,444!0^396,516!0^396,492!0^396,468!0^468,540!0^468,516!0^468,492!0^468,468!0^468,444!0^516,516!0^516,492!0^516,468!0^588,540!0^588,516!0^588,492!0^588,468!0^588,444!12^552,312!12^480,336!12^312,360!12^240,384!12^540,192!12^468,204!12^348,204!12^228,204!12^108,204!12^180,192!12^300,192!12^420,192!12^384,204!12^264,204!12^144,204!12^504,204!12^612,288!12^540,288!12^492,312!12^420,312!12^372,336!12^300,336!12^252,360!12^180,360!12^216,348!12^576,276!12^456,300!12^336,324!12^600,324!12^432,348!12^360,372!12^192,396!0^552,252!0^600,252!0^576,252!0^480,276!0^456,276!0^432,276!0^360,300!0^336,300!0^312,300!0^240,324!0^216,324!0^192,324");
var _local37 = new LevelData("lax B", "9061111111111111111111100011111111111111111111000111111111111111111110001111111111111111111100011111111111111111111000111111111111111111110001111111111111111111100011111111111111111111000:1111111111111111111000000000000000000000060000000000000000000000000000000000000000000000800000000000000000000001111<0;<0;<0;<0;<0;<000900000000000000000000000000000000000000000000080000000000000000000000=00:=0:=0:=0:=0:=0:=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007000;11111111111111111110001111111111111111111100011111111111111111111000111111111111111111110001111111111111111111100011111111111111111111000111111111111111111110001111111111111111111180711111111111111111111|5^60,60!12^360,228!12^360,156!12^432,156!12^432,228!12^432,300!12^360,300!12^360,372!12^360,444!12^432,444!12^432,372!12^552,480!12^552,408!12^552,336!12^552,264!12^552,192!12^552,120!12^240,480!12^240,408!12^240,336!12^240,264!12^240,192!12^240,120!0^468,492!0^468,480!0^468,468!0^456,456!0^456,504!0^456,432!0^468,420!0^468,408!0^468,396!0^456,384!0^456,360!0^468,348!0^468,336!0^468,324!0^456,312!0^456,288!0^468,276!0^468,264!0^468,252!0^456,240!0^456,216!0^468,204!0^468,192!0^468,180!0^456,168!0^456,144!0^468,132!0^468,120!0^468,108!0^456,96!3^288,528!11^708,84,396,540!4^396,570,1!6^516,564,3,0,0,3!6^468,36,3,0,0,1!12^516,444!12^516,372!12^516,300!12^516,228!12^516,156");
var _local32 = new LevelData("phase IV", "50000000021115000000002000000000011100000000000000000000111000000000000000000001110000000000000000000011100000000000000000000111000000000000000000001110000000000000000031111111400000000000000150215021000000000000001000000010000000000000010000000100000000000000100000021000000000000001000000010000000400000010000000100000031111111140000031111111111111111100000111111111111111115000002111111115000000100000001000000200000001000000010000000000000010000003100000000000000100000001000000000000001000000010000000000000014031403100000000000000211111115000000000000000001110000000000000000000011100000000000000000000111000000000000000000001110000000000000000000011100000000000000000000111000000000040000000031114000000003|5^396,324!11^396,348,396,252!3^300,300!3^492,300!0^564,348!0^564,360!0^552,372!0^540,372!0^528,372!0^516,372!0^564,336!0^276,372!0^264,372!0^252,372!0^240,372!0^228,360!0^228,348!0^228,336!0^228,264!0^228,252!0^228,240!0^240,228!0^252,228!0^264,228!0^276,228!0^288,228!0^300,228!0^312,228!0^324,228!0^336,228!0^360,228!0^348,228!0^372,240!0^420,240!0^432,228!0^456,228!0^444,228!0^468,228!0^492,228!0^480,228!0^504,228!0^516,228!0^528,228!0^540,228!0^552,228!0^564,240!0^564,252!0^564,264!0^552,276!0^552,324!0^540,312!0^540,300!0^540,288!0^240,324!0^252,312!0^252,300!0^252,288!0^240,276");
var _local46 = new LevelData("smismar", "15000000000000000000021100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000311000000000314000000001110000000001110000000011100000000011500000000211000000000210000000000110000000000100000000001100000000001400000000011000000000311000000000110000000001110000000001100000000011500000000311000000000210000000001110000000000100000000011100000000031000000000111000000000114000000002110000000001110000000001100000000021100000000011000000000015000000000110000000000100000000001100000000031000000000011000000000114000000003110000000001110000000011100000000021500000000111000000000000000000002110000000000000000000001100000000000000000000011000000000000000000000114000000000000000000031|5^396,252!11^396,276,396,516!2^732,552,0,-1!2^60,552,0,-1!4^684,546,1!4^516,546,1!4^276,546,1!4^108,546,1!4^252,282,1!4^540,282,1!12^588,264!12^612,264!12^180,264!12^204,264!12^156,276!12^636,276!12^648,300!12^144,300!12^156,528!12^180,528!12^372,528!12^420,528!12^612,528!12^636,528!12^660,540!12^588,540!12^444,540!12^348,540!12^204,540!12^132,540!12^468,264!12^444,264!12^348,264!12^324,264!3^396,348!0^612,504!0^636,504!0^636,480!0^612,480!0^612,492!0^624,492!0^624,480!0^624,504!0^636,492!0^156,504!0^168,504!0^180,504!0^180,492!0^168,492!0^156,492!0^156,480!0^168,480!0^180,480!0^180,240!0^192,240!0^204,240!0^204,228!0^192,228!0^180,228!0^180,216!0^192,216!0^204,216!0^588,240!0^600,240!0^612,240!0^612,228!0^600,228!0^588,228!0^588,216!0^600,216!0^612,216!0^444,240!0^456,240!0^468,240!0^468,228!0^456,228!0^444,228!0^444,216!0^456,216!0^468,216!0^348,240!0^324,240!0^324,228!0^336,228!0^348,228!0^348,216!0^336,216!0^324,216!0^420,504!0^408,504!0^396,504!0^384,504!0^372,504!0^372,492!0^384,492!0^396,492!0^408,492!0^420,492!0^420,480!0^408,480!0^396,480!0^384,480!0^372,480!0^336,240");
var _local42 = new LevelData("flying circus", "11111111111111111111111111111111111111111111111111111111000111111111111111111110001111111111111111111140311111111111111111111101111111111111111111111011111111111111111111110111111111111111111111101111111111111111111MI000FJ11111111111111150000000211111111111115000000000211111111111E00000000000B1111111111A00000000000>1111111111000000000000011111111110000000000000111111111100000000000001111111111@00000000000?1111111111D00000000000C11111111111400000000031111111111111400000003111111111111111LH000GK11111111111111111110111111111111111111111101111111111111111111111011111111111111111111110111111111111111111111502111111111111111111110001111111111111111111100011111111111111111111111111111111111111111111111111111111|5^396,420!7^540,324,3!7^252,324,3!1^396,300!1^396,384!1^396,216!1^480,300!1^312,300!11^396,444,396,156!9^504,300,0,0,23,12,1,-1,0!9^420,216,0,0,24,12,1,-1,0!9^336,300,0,0,25,12,1,-1,0!9^420,384,0,0,26,12,1,-1,0!9^420,300,0,0,26,12,1,0,0!9^288,300,0,0,9,12,1,0,0!9^372,216,0,0,8,12,1,0,0!9^456,300,0,0,7,12,1,0,0!9^372,384,0,0,6,12,1,0,0!9^372,300,0,0,6,12,1,-1,0!0^708,276!0^708,288!0^708,300!0^708,312!0^708,324!0^696,324!0^684,324!0^672,324!0^696,312!0^696,300!0^696,288!0^696,276!0^684,276!0^672,276!0^672,288!0^684,288!0^684,300!0^684,312!0^672,312!0^672,300!0^660,312!0^660,300!0^660,288!0^84,276!0^84,288!0^84,300!0^84,312!0^84,324!0^96,324!0^108,324!0^120,324!0^132,312!0^132,300!0^132,288!0^120,276!0^108,276!0^96,276!0^96,288!0^96,300!0^96,312!0^108,312!0^120,312!0^120,300!0^120,288!0^108,288!0^108,300!6^420,156,3,0,0,2!6^540,276,3,0,0,2!6^300,204,2,0,0,0!6^276,372,2,1,0,3!6^468,180,2,1,0,1");
var _local51 = new LevelData("sibilant S", "0000000000000N1000000000111111111111110000000001111111111111100000000011111111111111400000000111111111111111400000001111111111111111400000011111111111111111400000111111111111111111400001111111111111111111O0N011115PP0PB111111110000011150P000>11111111110N01150000000B1111111110031500000000>11111111100150000000000B1111111100500000000000>11111111000000003D00000B11111110N00000311@0000>11111000000003111D00000B1111110N000011111@0000>11111100000011111D00000B11111000000111111@0000>11111000000111111D00000B11110000001111111@0000>11110000001111111D00000B1110N000011111111@0000>10000000011111111D00000B1Q0N0000111111111@0000000000000111111111D00000000000001111111111@0000000000P01111111111D0000000000P01P0000000>1@0000000|5^36,492!1^36,516!11^756,60,96,396!12^300,576!12^324,576!12^372,576!12^468,576!12^492,576!12^516,576!12^564,576!12^648,468!12^768,396!12^672,444!12^708,420!2^600,444,-0.707106781186547,-0.707106781186547!8^408,228,1!8^504,276,1!8^600,324,1!4^648,114,1!9^552,300,0,0,28,1,1,-1,0!9^324,108,0,0,28,2,1,-1,0!9^684,420,0,0,28,3,1,-1,0!9^36,564,0,0,28,4,1,-1,0!4^60,570,1!12^264,252!12^300,228!12^372,204!12^300,144!12^360,144!12^432,132!12^384,72!12^456,84!12^336,288!12^336,72!12^420,24!12^252,156!0^96,432!0^96,444!0^96,456!0^36,408!0^36,420!0^36,432!0^348,540!0^348,552!0^348,564!0^540,540!0^540,552!0^540,564!0^768,456!0^768,468!0^768,492!0^768,480!0^768,504!0^768,516!0^504,324!0^504,336!0^504,348!0^600,372!0^600,384!0^600,396!0^408,276!0^408,288!0^408,300!0^336,180!0^396,156!0^396,108!0^360,96!0^420,60!0^492,96!0^288,204!0^336,240!0^300,276!0^756,96!0^756,96!0^756,108!0^744,108!0^744,96!0^732,96!0^732,108!0^624,48!0^624,60!0^624,72!6^252,516,3,0,0,1!6^612,516,2,0,0,1!6^420,564,3,0,0,3!1^612,516!1^612,564!1^420,564!1^252,564!1^252,516!1^420,516!1^252,492!1^420,492!1^612,492!1^612,504!1^420,504!1^252,504!2^504,396,-0.707106781186547,-0.707106781186547!2^408,348,-0.707106781186547,-0.707106781186547!3^588,36");
var _local55 = new LevelData("skelly", "E0BE0BE0BE0BE0BE0B11111P0>D0>D0>D0>D0>D0>11111P00B@0B@0B@0B@0B@0B1111P00>1@>D0>D0>D0>D0>1111P000000BD0B@0B@0B@0B111P000000000>1@>D0>D0>111P0000000000000BD0B@0B11P0000000000000000>1@>11P00000000000000000000B1P00000000000000000000>1P000000000000000000000BP000000000000000000000>P0000CE0?1A0CE0?1A0CE00P000?E00CA0?E00CA0?E000P000CA0?E00CA0?E00CA000P000100NP00100NP0010000P000B@0>D00B@0>D00B@000P000>D00B@0>D00B@0>D000P0000BD0>1@0BD0>1@0BD00P000000000000000000000?P000000000000000000000CP00000000000000000000?1P00000000000000000000C1P0000000000000000?1A?11P0000000000000CE0CA0C11P000000000?1A?E0?E0?111P000000CE0CA0CA0CA0C111P00?1A?E0?E0?E0?E0?1111P00CA0CA0CA0CA0CA0C1111P0?E0?E0?E0?E0?E0?11111D0CD0CD0CD0CD0CD0C11111|5^396,444!4^396,570,1!0^744,420!0^720,432!0^696,444!0^672,456!0^648,468!0^624,480!0^744,348!0^720,360!0^696,372!0^672,384!0^648,396!0^744,276!0^720,288!0^696,300!0^672,312!0^744,204!0^720,216!0^696,228!0^744,132!0^720,144!0^48,132!0^72,144!0^48,204!0^72,216!0^96,228!0^48,276!0^72,288!0^96,300!0^120,312!0^48,348!0^72,360!0^96,372!0^120,384!0^144,396!0^48,420!0^72,432!0^96,444!0^120,456!0^144,468!0^168,480!0^396,348!0^396,336!0^396,264!0^396,252!0^396,180!0^396,168!11^396,444,396,108!6^180,300,1,1,0,3!6^636,228,1,1,0,1!6^300,180,0,1,0,3!6^492,348,1,1,0,3!6^684,60,3,1,0,2!6^180,60,2,1,0,2!6^300,420,0,1,0,3");
var _local53 = new LevelData("cognition", "5002111111111111115000000001150215F5F5F5F00000000311000F00000000000000011110000000000000000000211500000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400014000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000150000150000000000000000000000000000000000000000000000000000000000000000000000000000000000001500015000000000000000000000000000000000000000000000000000000000000000000000000000000000000031114000000000000000000111114000000000000000000002110000000000000000000001100000000000000000000011000000000000000000000114G4G4G4G4G4G00040000311111111111111400|5^60,84!11^60,108,708,132!6^684,156,2,0,0,3!6^684,36,2,0,0,0!6^732,108,2,0,0,1!6^516,36,3,0,0,0!6^84,36,3,0,0,0!6^684,108,3,0,0,3!1^372,324!1^372,516!1^372,420!1^444,468!1^300,468!1^444,372!1^300,372!1^540,468!1^540,372!1^204,372!1^204,468!3^756,564!3^36,564!0^348,48!0^360,48!0^372,48!0^384,48!0^396,48!0^492,72!0^480,72!0^468,72!0^456,72!0^444,72!0^252,72!0^264,72!0^276,72!0^288,72!0^300,72!12^372,72!12^372,24!12^468,48!12^276,48!12^252,120!12^372,132!12^492,120!3^84,204!3^708,240!0^372,492!0^360,492!0^384,492!0^384,480!0^372,480!0^360,480!0^288,444!0^300,444!0^312,444!0^312,432!0^300,432!0^288,432!0^192,348!0^204,348!0^216,348!0^216,336!0^204,336!0^192,336!0^432,444!0^444,444!0^456,444!0^456,432!0^444,432!0^432,432!0^528,348!0^540,348!0^552,348!0^552,336!0^540,336!0^528,336");
var _local59 = new LevelData("junction", "11111111111111111111111111111111111111111111111111111111111111111111111111111111A>1111111111111111111110011111111111111111111100111111111111111111111001111111111111111111150021111111110FQQI00FQI0000FQQQQI00F0000000000000000000000000OOOOH000GOOOOOH0GOOH000111111111111111111110000FQQQQI00FQI0000FQQI000000000000000000000000OOOH000GOOH000GOOOOOOH011111111111100111111110QI0000FQQQQI000FQQI0000000000000000000000000000GOOOH00GOOOOH00000GOH01111110011111111111111000FQQI0000FQQQQI0FQQI00000000000000000000000000GOOOOH0000GOH00GOOH00G1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^168,324!11^144,324,540,48!0^468,36!0^456,36!0^444,36!0^432,36!0^300,60!0^288,60!0^288,48!0^300,48!0^300,36!0^288,36!0^396,324!0^396,336!0^396,348!0^492,180!0^492,192!0^492,204!0^456,48!0^444,48!0^432,48!0^468,48!4^540,570,1!6^564,228,0,0,0,3!6^228,180,1,0,0,3!6^228,516,0,0,0,1!6^324,276,1,0,0,3!6^420,516,1,0,0,3!6^468,396,0,0,0,3!6^420,108,1,0,0,3");
var _local57 = new LevelData("crampon", "11111111002111021111111111111110001150011111111111111100011000211111111111115000210000111111111111100000000001111111111111000000000311111111111110000000011111111111111500031400211111111111110001111000111111111111100011110002111111111111000211140001111111111110000111100011111111111100001150000111111111111400021000001111111111111100014000011111111111111031110003111111111111110111100011111111111111501115001111111111111110011100021111111111111100011000001111111111115000110000011111111111100031140003111111111111000111100011111111111110000211000111111111111100000110002111111111111400001100001111111111111400015000011111111111111003100003111111111111110011000011111111111111500110000111111111111110031140031111111|5^732,360!11^648,420,756,204!6^420,348,0,0,0,2!6^588,180,0,0,0,2!6^84,348,1,1,0,0!6^324,252,1,1,0,2!0^372,276!0^492,252!0^516,252!0^528,240!0^360,264!0^48,384!0^36,372!0^60,396!0^84,276!0^60,276!0^48,264!0^492,420!0^516,420!0^528,408!0^516,324!0^492,324!0^468,324!0^456,336!0^528,336!0^348,324!0^336,336!0^360,336!0^420,396!0^204,252!0^192,264!0^228,396!0^216,384!0^228,348!0^252,348!0^264,360!0^492,204!0^468,204!0^456,216!0^180,204!0^156,204!0^132,204!0^120,216!4^120,426,1!4^636,282,1!4^300,426,1!6^180,372,0,0,0,0");
var _local12 = new LevelData("paroxysm", "00002115000002111111111000001100000001150000210000011000000011000000100000110000000110000001000001100000001100000010000011000000011000000100000110000000110000001000001100000001100031110000011000000311000111100000114000001110001111000001110000011100011010000011100000111000110100000111000001150001501000001150000011000010010000011000003110000100100000210000011100000001000000000000111000000010000000000001110000000100000000000011100000001000000000000111000000010000000000001150000000100000310000011000000001000001100000110000000010000011400001500000000100000111000010000000001000001110000100000000010000011100001000000000100000115000020000000001000001100000000000000010000011000000000000003100003111111111111111111|5^468,72!1^468,108!1^108,84!12^132,144!12^84,144!12^228,144!12^276,144!12^612,144!12^660,144!6^732,36,3,1,0,2!6^60,132,3,1,0,0!6^252,36,2,1,0,0!6^732,108,2,1,0,1!6^156,36,3,1,0,2!12^324,84!12^180,84!12^372,144!12^564,84!9^48,48,0,0,12,22,1,0,0!4^132,546,1!4^204,354,1!8^84,324,3!8^180,324,3!11^288,540,36,276!7^708,456,3!7^648,480,3!7^636,420,3!7^696,504,3!7^612,528,3!7^516,480,3!7^540,408,3!7^456,480,3!7^588,444,3!7^564,492,3!7^660,540,3!7^492,516,3!7^480,408,3!7^600,468,0!7^600,384,0!7^672,432,0!7^636,504,0!7^492,432,0!7^516,504,0!7^420,432,0!10^720,528!0^60,516!0^72,516!0^84,516!0^96,516!0^108,516!0^120,516!0^132,516!0^144,516!0^156,516!0^168,516!0^180,516!0^180,504!0^168,504!0^156,504!0^144,504!0^132,504!0^108,504!0^120,504!0^96,504!0^84,504!0^72,504!0^60,504!0^192,492!0^180,492!0^168,492!0^156,492!0^144,492!0^132,492!0^120,492!0^108,492!0^96,492!0^84,492!0^72,492!0^60,492!12^168,480!12^72,480!12^120,480!12^420,300!12^516,252!12^636,264!12^696,276!12^708,312!12^552,288!12^588,216!12^600,312!12^480,312!12^348,288!12^372,240!12^444,216!12^420,240!12^540,228!8^132,204,1!1^708,132!1^756,96!1^612,72!1^696,84!1^660,96!1^564,120!0^588,132!0^624,108!0^588,96!0^576,48!0^624,48!0^648,72!0^720,60!0^756,72!0^636,132!0^672,60!0^660,36!0^684,132!0^696,108!0^732,84!0^660,120!7^732,432,3");
var _local58 = new LevelData("tricksy", "11000000000111111111150150000000002100211115000000000000000000111500000000000000000001110000000D00000000000011500000001000000000000150000000000000000000000000003000000000010000000000010000000000E000000000001000000000000000000000310000D00000000000000001100001000000000000000011000000000000000003111110000000000010000011111100000000000E000001111110000000000000000011111100000D00000000000F1A0FJ0000010000000000001000000000000000000000010000000000000000100000100@0000000000000E00000E00D000000000000000000000010000000D00000000000000100000001000000000000D0100000000000000000000101000000000000000000001010001140011400000000010E0001110011100000000010A0001110311100011140010000011111111003111100100040111111111111111031@GK|5^60,564!2^696,396,-1,0!2^696,372,-1,0!2^696,348,-1,0!2^648,228,-1,0!2^648,204,-1,0!2^648,108,-1,0!1^156,180!2^648,84,-1,0!11^720,60,708,300!0^684,528!0^660,528!0^636,528!0^612,528!0^588,528!0^564,528!0^540,528!0^516,528!0^492,528!0^720,576!0^696,576!0^672,576!0^648,576!0^624,576!0^600,576!0^576,576!0^552,576!0^528,576!0^504,576!0^480,576!0^456,576!4^684,522,1!3^132,348!12^444,192!12^300,168!12^156,144!8^36,276,3!1^636,444!1^564,420!1^636,396!1^564,372!1^636,348!1^564,324!12^564,348!12^564,396!12^636,420!12^636,372!3^72,72!6^156,468,2,0,0,0!6^204,516,2,0,0,2!6^108,564,2,0,0,0!4^732,570,1!0^504,528!0^528,528!0^552,528!0^576,528!0^600,528!0^624,528!0^648,528!0^672,528!0^684,528!0^708,576!0^684,576!0^660,576!0^636,576!0^612,576!0^588,576!0^564,576!0^540,576!0^516,576!0^492,576!0^468,576!0^708,156!0^684,156!0^684,180!0^756,444!0^732,444!0^732,468!0^60,348!0^60,372!0^84,396!0^108,396!0^132,396!0^156,396!12^84,324!12^180,276!12^156,288!12^132,300!12^108,312!0^60,204!0^60,180!0^60,156!0^696,156!0^696,168!0^684,168!0^744,444!0^732,456!0^744,456!0^72,384!0^60,360!0^96,396!0^120,396!0^144,396!0^60,168!0^60,192!0^72,168!0^72,192!0^72,180!0^84,180");
var _local56 = new LevelData("necessary conditions", "50111000000000000000000001150000000000000000000015000000000000000000000500000000000000000000000000000021100000000000000000000021000000000000000000000020002110000000000211000000002100000000000210000000002000000000000200000000000000000000000000000000000300000000000000030000031000000003000003100003110000000310000311000000000000031100000000000000000000000000000000000000000000000000000000000000000000021100000002110000000000021000000002100000000000020000300002000000000000000031000000000000000000003110000000000000300000000000000000000031000000000000000000003110000000000211000000000000000300000210000000000000031000000200000040000003110000000000000140000000000000000000001140000000000000000040011100000000000000000|5^72,48!11^732,84,540,480!12^756,564!12^708,564!12^660,564!12^612,564!12^564,564!12^516,564!12^468,564!12^420,564!12^372,564!12^324,564!12^276,564!12^228,564!12^180,564!12^132,564!12^84,564!12^36,564!0^756,540!0^732,540!0^708,540!0^684,540!0^660,540!0^636,540!0^612,540!0^588,540!0^564,540!0^540,540!0^516,540!0^492,540!0^468,540!0^444,540!0^420,540!0^396,540!0^372,540!0^348,540!0^252,540!0^228,540!0^204,540!0^180,540!0^156,540!0^132,540!0^108,540!0^84,540!0^60,540!0^36,540!10^396,180!10^468,300!10^108,300!10^708,300");
var _local61 = new LevelData("apoplexy", "11111111500000021115021111111150000000021100011111115003115000311000211111500002100031110000111114000031000021100031111115003114000311003111111500311500031110002111150000210000021100001111400003100000311000311111500311400031110031111150031150000021100021115000021000000311000011140000310000031110003111150031140000021100311115003115000000311000211500002100000031110000114000031000000021100031115003114000000311003111500311500000031110002150000210000000021100001400003100000000311000311500311400000031110031150031150000000021100025000021000000000311000040000310000000031110003150031140000000021100315003115000000000311000200011100000000031150000000111000000000025000030001114000000000000003140311114000000000000311|5^756,60!11^708,84,60,516!12^600,156!12^504,180!12^408,204!12^312,228!12^216,252!12^120,276!12^120,156!12^216,132!12^312,108!12^408,84!12^504,60!12^600,36!0^420,108!0^396,108!0^396,180!0^420,180!0^492,84!0^516,84!0^516,156!0^492,156!0^588,60!0^612,60!0^612,132!0^588,132!0^324,132!0^300,132!0^300,204!0^324,204!0^312,168!0^408,144!0^504,120!0^600,96!0^228,156!0^204,156!0^204,228!0^228,228!0^216,192!0^132,180!0^108,180!0^108,252!0^132,252!0^120,216!0^372,540!0^468,540!0^564,540!0^660,540!0^276,540!0^180,540!0^204,540!0^228,552!0^300,540!0^324,552!0^396,540!0^420,552!0^492,540!0^516,552!0^588,540!0^612,552!0^684,540!0^708,552!0^132,552!0^108,540!0^84,552!12^72,420!12^144,420!12^216,420!12^288,420!12^360,420!12^432,420!12^504,420!12^576,420!12^648,420!12^108,564!12^204,564!12^300,564!12^396,564!12^492,564!12^588,564!12^684,564!6^660,492,2,1,0,2!6^60,540,2,1,0,2!6^204,396,2,1,0,3!6^492,396,2,1,0,3!6^276,396,2,1,0,3");
var _local60 = new LevelData("frisk", "900000000000000000000060000000000000000000000000;<00;1=0;1=0;1=0;1=000011000000000000000000087118000000000000000000111111111111111111111<0111111111111111111111101MI61MI61MI61MI61MI61=0I0000000000000000000000000000000000000000000000000000000000000000000001LH71LH71LH71LH71LH00701111111111111111111111011111111111111111111110111111111111111111111101111111111111111111111011190000000000611111110:1=00000000;=00111900600000000;=00000011100000000;=00000000001110000000000000000000011100000000000000000000111000000000000000;=00011100000000000;=00000001110000000;=00000000000111000000000000000000001110000000000000000000011100000000000000;=00001110000000000;=00000000:1=000000;=000000000000000000080000000000000000000007|5^660,396!11^108,60,468,528!8^468,492,0!8^444,516,0!8^444,540,0!12^492,576!12^564,576!12^588,576!12^612,576!12^636,576!12^732,576!12^708,576!12^516,576!12^540,576!12^660,576!12^684,576!7^540,576,3!7^684,576,3!7^612,564,3!12^468,120!0^480,192!0^600,168!0^720,144!0^696,240!0^576,264!0^456,288!0^528,228!0^552,132!0^672,108!0^648,204!0^624,300!0^504,324!12^756,276!12^756,228!12^756,180!12^756,132!12^756,84!6^492,180,2,0,0,0!6^684,204,2,0,0,1!6^540,252,2,0,0,2!6^612,180,2,0,0,0!12^216,132!12^288,156!12^288,252!12^216,228!12^216,324!12^288,348!12^288,444!12^216,420!12^216,516!0^252,132!0^252,156!0^252,228!0^252,252!0^252,324!0^252,348!0^252,420!0^252,444!0^252,432!0^252,336!0^252,240!0^252,144!6^108,300,1,0,0,3!6^60,228,0,0,0,3!6^60,396,0,0,0,3!6^60,492,1,0,0,1!12^36,204!12^36,228!12^132,276!12^132,300!12^36,396!12^36,420!12^132,468!12^132,492!12^312,516!12^288,576!12^312,552!12^228,420!12^276,444!12^264,348!12^276,348!12^276,252!12^240,408!12^264,456!12^228,516!12^240,528");
var _local14 = new LevelData("slippery trip hazard", "1A0E00FQQQI000FQQQI0002100000000000000000000001LOOKMQQJLOOKMQQJ111400MQQQI0000000000000021000000000000GOOOOH000010?00C111MQQJ1MQJ11110010N@01500000000000021@0B0>P0100000000000000FD0N00P0E0011LOOOK11400010N00P0P00150000002100010N00P0P001000000001000E0N0?A0P00E00311400100?A0C0N00D00P00111100B00C0010>00100P00150E00N00E00E0000100P00100P00N00P00P0000B00P00B00P00C00D00P0000N00D00N00P00E00B00P0000N00100N00D00P00N00P00@0C00B00N00100P00C00P0?P0E00N00C00E00D00E00P0NP0P00N00100000100P00P0NP0P00N00140003100D00P0>P0D00C0011MQJ1500B00P00P0100100000000000N00P00P0B00140000000000C00D0?A0N00111LOK1LOK11E0010N00C0000FQQI00FQI000010N0014000000000000000310>00J11MQQQJLOKMQQQJ11M0000000000000000000000000400000GOH00000GOH000003|5^372,276!11^36,84,492,264!3^600,408!3^192,120!3^672,468!3^744,48!3^48,552!3^360,360!4^228,450,1!4^396,570,1!4^564,570,1!4^252,570,1!4^420,138,1!0^516,96!0^528,96!0^540,96!0^492,144!0^504,144!0^516,144!0^528,144!0^540,144!0^444,384!0^456,384!0^468,384!0^444,432!0^96,396!0^96,384!0^96,372!0^96,204!0^96,192!0^96,180!0^36,300!0^36,312!0^36,324!0^36,336!0^36,348!0^72,300!0^72,288!0^72,276!0^420,216!0^432,216!0^444,216!0^456,216!0^468,216!0^624,252!0^576,300!0^624,348!0^168,324!0^168,228!0^168,216!0^168,204!0^216,228!0^216,240!0^216,252!0^216,264!0^216,276!12^228,252!12^516,156!12^528,84!0^420,72!0^432,72!0^444,72!0^636,72!12^432,84!12^636,84!0^324,36!0^336,36!0^348,36!0^360,36!0^372,36!0^384,36!0^396,36!0^408,36!0^420,36!0^432,36!0^444,36!0^756,252!0^756,264!0^756,276!0^756,288!0^756,300!0^756,312!0^756,324!0^756,336!0^756,348!12^768,336!12^768,264!12^336,24!12^432,24!12^84,192!12^84,288!12^24,324!12^84,384!12^156,324!12^444,444!12^456,372!12^444,228!12^564,300!12^636,252!12^636,348!0^696,300!0^660,300!0^660,312!0^660,324!12^708,300!12^648,312!0^276,504!0^264,504!0^252,504!0^240,504!0^228,504!0^216,504!0^204,504!12^216,516!12^264,516!0^372,456!0^516,456!12^516,444!12^372,444!0^324,168!0^336,168!0^348,168!0^360,168!0^372,168!0^384,168!0^396,168!12^360,156!0^720,228!0^720,216!0^720,204!0^720,192!0^720,180!0^720,372!0^720,384!0^720,396!0^720,408!0^720,420!12^708,396!12^708,204!0^300,96!0^288,96!0^276,96!0^264,96!0^252,96!12^276,84");
var _local4 = new Array();
_local4.push(_local20);
_local4.push(_local17);
_local4.push(_local28);
_local4.push(_local24);
_local4.push(_local38);
this.episodeList[60] = new EpisodeData("episode 60", "xxxx", _local4);
var _local3 = new Array();
_local3.push(_local25);
_local3.push(_local21);
_local3.push(_local33);
_local3.push(_local29);
_local3.push(_local43);
this.episodeList[61] = new EpisodeData("episode 61", "authority", _local3);
var _local6 = new Array();
_local6.push(_local15);
_local6.push(_local13);
_local6.push(_local22);
_local6.push(_local18);
_local6.push(_local30);
this.episodeList[62] = new EpisodeData("episode 62", "cicada", _local6);
var _local5 = new Array();
_local5.push(_local19);
_local5.push(_local16);
_local5.push(_local26);
_local5.push(_local23);
_local5.push(_local34);
this.episodeList[63] = new EpisodeData("episode 63", "inane", _local5);
var _local8 = new Array();
_local8.push(_local39);
_local8.push(_local35);
_local8.push(_local47);
_local8.push(_local44);
_local8.push(_local52);
this.episodeList[64] = new EpisodeData("episode 64", "bliss", _local8);
var _local7 = new Array();
_local7.push(_local45);
_local7.push(_local40);
_local7.push(_local50);
_local7.push(_local48);
_local7.push(_local54);
this.episodeList[65] = new EpisodeData("episode 65", "pathogen", _local7);
var _local10 = new Array();
_local10.push(_local31);
_local10.push(_local27);
_local10.push(_local41);
_local10.push(_local36);
_local10.push(_local49);
this.episodeList[66] = new EpisodeData("episode 66", "gasbladder", _local10);
var _local9 = new Array();
_local9.push(_local37);
_local9.push(_local32);
_local9.push(_local46);
_local9.push(_local42);
_local9.push(_local51);
this.episodeList[67] = new EpisodeData("episode 67", "solvent", _local9);
var _local2 = new Array();
_local2.push(_local55);
_local2.push(_local53);
_local2.push(_local59);
_local2.push(_local57);
_local2.push(_local12);
this.episodeList[68] = new EpisodeData("episode 68", "okra", _local2);
var _local11 = new Array();
_local11.push(_local58);
_local11.push(_local56);
_local11.push(_local61);
_local11.push(_local60);
_local11.push(_local14);
this.episodeList[69] = new EpisodeData("episode 69", "hubris", _local11);
};
NinjaData.prototype.BuildGameData_Set7 = function () {
var _local19 = new LevelData("hampered", "9000000000000000000000600000000000000000000000000000000000000000000070000;11011110111101111100001110111101111011111000011101111011110111110000:11011110111101111100000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070000;110111101111011111000011111111111111111110000111111111111111111100001111111111111111111000011111111111111111110000111111111111111111180071111111111111111111|5^84,528!12^588,420!12^588,348!12^588,300!12^588,228!12^576,384!12^576,264!11^696,108,144,108!12^108,204!12^180,204!12^180,324!12^108,324!12^108,444!12^180,444!0^60,420!0^60,384!0^60,348!0^60,300!0^60,264!0^60,228!0^60,180!0^60,144!0^60,468!0^60,504!0^60,540!4^468,570,1!8^612,444,2!8^612,324,2!8^612,204,2!0^60,162!0^60,246!0^60,282!0^60,366!0^60,402!0^60,486!0^60,522");
var _local16 = new LevelData("w00tTeen74", "90000000000000000000006000000;0;<0000;0;<00000000000:=0=0000:=0=0000000000000;0;<0000;0;<00000000000:=0=0000:=0=0000000000000;0;<0000;0;<00000000000:=0=0000:=0=0000000000000;0;<0000;00000000000000:=0=0000:=000000000000000;0;<0000040000000000000:=0=000001400000000000000;0;<0001140000000000000:=0=000111400000000000000;0;<0111140000000000000:=0=096111400000000000000;0017111140000000000000:=09196111400000000000000087171111400000000000000119196111400000000000001187171111400000000000011119196111400000000000111187171111400000000009611119196111400000000017111187171111400000000919611119196111400000008717111187171111400000011919611119196111400000118717111187171111400001111911111119196111400011118711111187171111407|5^216,492!11^684,564,108,204!4^60,570,1!3^336,108!3^540,312!12^36,180!12^132,276!12^180,324!12^228,372!12^276,420!12^324,468!12^372,516!12^84,420!12^132,468!12^180,516!0^156,252!0^204,300!0^252,348!0^300,396!0^348,444!0^396,492!12^264,540!12^312,540!12^288,528!12^84,228");
var _local27 = new LevelData("constellation ", "00000000100000000000000010000000000000100000000000000000000000000001000000000000100000000000000000100000000000000000000000000000000000000000001000000100010000000000000000000000000010000000000000000000000000001000000000000000000001000000000000010000000000000010000000000000000000000000000000000010000000000000100000000000000010000000000000000010000000000000000000000000000000000000000000000000000000000000001000001000000100100000000000000000000000000000000010000000000000000000000000010000000000010000000100000000000000000010000000000000010000000000000000000000000101000000000000100000000000000000000000000000000000000100000000000000000010000000001000000010000000000100000000000000001000000000000001000000000000000|5^372,492!11^252,540,252,36!6^756,564,2,1,0,2!6^228,372,3,1,0,3!6^660,36,3,1,0,2!6^228,228,2,1,0,2!12^252,516!12^240,504!12^264,504!0^702,60!0^714,60!0^732,78!0^732,90!0^714,108!0^702,108!0^684,90!0^684,78!0^660,102!0^660,114!0^642,132!0^630,132!0^612,114!0^612,102!0^630,84!0^642,84!0^762,180!0^750,180!0^732,198!0^732,210!0^750,228!0^762,228!0^474,132!0^462,132!0^378,60!0^366,60!0^66,36!0^54,36!0^102,276!0^114,276!0^606,276!0^618,276!0^678,372!0^690,372!0^666,468!0^654,468!0^438,372!0^450,372!0^534,300!0^546,300!0^534,492!0^546,492!0^90,516!0^78,516!0^174,372!0^186,372!0^198,468!0^210,468!0^186,108!0^174,108!0^342,228!0^354,228!0^318,444!0^330,444!0^582,204!0^594,204!0^564,30!0^564,42!0^546,60!0^534,60!0^516,42!0^516,30");
var _local23 = new LevelData("clung", "15000000000000000000002500000000000000000000000000000000000000000000000000000000000000000003003111111111111111111110000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000211111111111114000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000211111111111114000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000031111111111111500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000311111111111115000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034021111111111111111111114000000000000000000002|5^72,552!12^756,552!0^756,540!0^756,528!0^756,516!0^756,504!0^756,492!0^756,480!0^756,468!0^756,456!0^756,444!0^756,432!0^756,420!0^756,408!0^756,396!0^756,384!0^756,372!0^756,360!0^756,348!0^756,336!0^756,324!0^756,312!0^756,300!0^756,288!0^756,276!0^756,264!0^756,252!0^756,240!0^756,228!0^756,216!0^756,204!0^756,192!0^756,180!0^756,168!0^756,156!0^756,144!0^756,132!9^312,420,1,0,31,4,1,0,-1!9^552,420,1,0,31,5,1,0,-1!11^432,564,432,468!12^120,540!12^108,492!12^24,468!12^36,420!12^120,396!12^108,348!12^24,324!12^36,276!12^120,252!12^108,204!12^24,180!12^36,132!12^24,84!12^396,576!12^468,576!12^516,576!12^588,576!12^636,576!12^348,576!12^276,576!12^228,576!12^696,576!12^720,552!12^168,576!12^144,552!12^312,564!12^552,564!3^432,288!3^552,228!3^312,228!12^252,84!12^372,132!12^492,132!12^612,84!0^108,468!0^108,444!0^108,420!0^36,396!0^36,372!0^36,348!0^108,324!0^108,300!0^108,276!0^36,252!0^36,228!0^36,204!0^108,180!0^108,156!0^108,132!0^36,492!0^36,516!0^36,540!0^312,396!0^336,420!0^288,420!0^552,396!0^528,420!0^576,420!0^432,444!0^408,468!0^456,468");
var _local37 = new LevelData("phase I", "50000000021115000000002031111111111111111111400150202020215050505021001000000000000000000010010000000000000000000100150000000000000000021001000000000000000000010010000000000000000000100150000000000000000021001000000000000000000010010000000000000000000100150000000000000000021001000000000000000000010410000000000000000000131140000000000000000031111100000000000000000111115000000000000000002115100000000000000000001201000000000000000000010014000000000000000003100100000000000000000001001000000000000000000010014000000000000000003100100000000000000000001001000000000000000000010014000000000000000003100100000000000000000001001000000000000000000010014030303031404040403100211111111111111111115040000000031114000000003|5^336,504!11^396,492,396,132!1^396,300!1^540,300!1^252,300!1^324,204!1^468,204!1^612,396!1^180,396!1^396,420!0^708,348!0^708,396!0^708,444!0^84,444!0^84,396!0^84,348!0^84,252!0^84,204!0^84,156!0^708,252!0^708,204!0^708,156!0^684,84!0^660,84!0^612,84!0^588,84!0^540,84!0^516,84!0^468,84!0^444,84!0^348,84!0^324,84!0^276,84!0^252,84!0^204,84!0^180,84!0^132,84!0^108,84!0^84,108!0^708,108!0^708,492!0^684,516!0^660,516!0^84,492!0^108,516!0^132,516!6^684,396,3,1,0,3!6^132,204,3,1,0,3!6^444,84,3,1,0,1!6^324,348,2,1,0,3");
var _local24 = new LevelData("mux", "AB11111111P1111111111110NP11111P1PB11P111111110NP111P1A1PN11P111P11110NPB11P101PN11A1P1P11110NPNP1PB01PNP101PBP11110NPNA1PN01ANP101PNP11110NPN0BPN010NP10BPNA1P110NAN0NPN0B0NA10NPN01PB10N0N0NAN0N0N0B0NPN01PN10N0N0>0N0N0>0N0NAN0BPN10>0N000N0>000N0N0N0NPN1000>000N00000N0N0N0NPN10000000>00000>0N0N0NPN1000000000000000N0>0NAN1000000000000000>000N0N10000000000000000000>0N100?000000000000000000N100N0?0000000000000000>100N@N00000000000000000B@0NPN000?000000000?000>P0NPC0?0N0000000?0N0000P0NP10N0C0?00000N0N0?00P0NP1@N010N@00?0N0N0N00P0NP1PN01@NP?0N0N0C0N@?P0NP1PN01PNPN0N@N010NPNP0NP1PN@1PNPC0NPN010CPNP0N11PNP1PNP1@NPC01@1PNP0N11PC11PNP1PNP101P1PNP0N11P111PCP1PC1101P1PNP0N111111P1P1P111@1P111D0C111111P111P111P11111|5^744,60!11^696,552,60,42!12^228,60!12^180,60!12^132,60!12^84,60!0^306,108!0^294,102!0^318,114!0^450,126!0^438,132!0^426,138!0^246,150!0^258,156!0^270,162!0^318,198!0^330,204!0^342,210!0^498,186!0^510,180!0^522,174!0^474,234!0^486,228!0^498,222!0^294,258!0^282,252!0^270,246!0^270,306!0^258,300!0^246,294!0^570,330!0^582,324!0^594,318!0^522,282!0^534,276!0^546,270!0^342,354!0^330,348!0^318,342!0^546,378!0^558,372!0^570,366!0^498,426!0^510,420!0^522,414!0^390,402!0^378,396!0^366,390!0^366,450!0^354,444!0^342,438!0^474,474!0^486,468!0^498,462!0^414,498!0^402,492!0^390,486!0^522,522!0^534,516!0^546,510!0^426,78!0^414,84!0^402,90!0^270,54!0^282,60!0^294,66");
var _local20 = new LevelData("pop quiz, hotshot", "11111111111500001111111111115011110000311111111111100215000021111111111111000000000001111111111111400000000021111111111111000000000011111111111111000000000111111111111114000000311111Q11111111110000011111110111111111500003111111101111111500000011111111011111100000000111111150111111000000031115000001111114000000111103114011111115000000211011110111111100000000110111101111115000000001102111021111100000000011001114011111000000000110011110111110000000001100211101111140000000015000111011111100000000000031110111111400000000001111101111111400000000311111011111111000000001111500111111110000000311110001111111100000211111500011111111400000111110000111111000000001111100001111150000000002111400311111000000000001111111|5^744,372!9^60,180,0,0,19,23,1,-1,0!11^228,540,36,396!9^612,396,0,0,11,22,1,0,0!9^228,348,0,0,11,22,1,-1,0!9^516,348,1,0,13,20,1,0,0!9^540,180,0,0,22,23,1,-1,0!9^372,324,1,0,13,19,1,0,-1!9^348,180,0,0,24,23,1,0,0!0^756,156!0^732,180!0^708,180!0^492,156!0^468,156!0^444,156!0^324,156!0^300,156!0^276,204!0^108,156!0^84,156!0^156,204!0^132,204!0^180,228!0^612,228!0^708,564!0^684,564!0^660,564!0^636,564!0^612,540!0^732,540!0^732,516!0^660,516!0^636,516!0^684,492!0^708,492!0^624,528!0^672,504!0^696,492!0^648,516!0^612,552!0^624,564!0^648,564!0^672,564!0^696,564!0^720,552!0^732,528!0^720,504!0^684,504!0^696,504!0^708,504!0^720,516!0^708,516!0^696,516!0^684,516!0^672,516!0^636,528!0^648,528!0^660,528!0^672,528!0^684,528!0^696,528!0^708,528!0^720,528!0^720,540!0^708,540!0^696,540!0^684,540!0^672,540!0^660,540!0^648,540!0^636,540!0^624,540!0^624,552!0^636,552!0^648,552!0^660,552!0^672,552!0^684,552!0^696,552!0^708,552!9^432,180,0,0,15,22,1,-1,0!0^636,228!9^660,228,0,0,16,22,1,0,0!12^204,396!12^108,396!12^552,432!12^480,456!12^348,300");
var _local32 = new LevelData("mick jagged", "11500021150211111111111110000000000000021111111100000000000000011111115000000000031111111111100000000111111111111115000000002111111111111100000000000000000000111000000000000000000031114000000000003111111111111000000000111111111111110000000002111111111111500000000000000001111100000000000000000311111000000031111111111111110000031111111111111111100000115021111111111111000000000021111111111110000000000000000211111100000000000000000111111400000000000011111111111140000000003111111111111100000001111111111111111000000002111111111111110000000001111111111115000000000000211111111500000000000000111111110000000000000001111111100000000000311111111111000031114001111111111110011111111111111111111103111111111111111111111|5^744,48!11^648,372,36,276!0^180,492!0^204,468!0^180,468!0^180,444!0^204,444!0^204,420!0^180,420!0^300,444!0^300,420!0^324,420!0^324,396!0^300,396!0^204,396!0^180,396!0^444,396!0^468,396!0^468,420!0^84,396!0^60,396!0^84,420!0^312,408!0^312,432!0^192,408!0^192,432!0^192,456!0^192,480!0^72,408!0^456,408!0^456,384!0^312,384!0^192,384!0^72,384!0^324,36!0^348,36!0^372,36!0^396,36!0^420,36!0^444,36!0^468,36!0^492,60!0^468,60!0^444,60!0^420,60!0^396,60!0^372,60!0^348,60!0^336,48!0^360,48!0^384,48!0^408,48!0^432,48!0^456,48!0^480,48!0^228,60!0^204,60!0^204,36!0^180,36!0^180,60!0^156,60!0^168,48!0^192,48!0^216,48!0^132,60!0^144,72!0^168,72!0^192,72!0^216,72!6^60,228,1,1,0,3!6^324,324,0,1,0,3!6^180,324,2,1,0,3!6^468,348,3,1,0,3!6^564,108,5,1,0,2");
var _local28 = new LevelData("primary reactor", "11111111111111111111111111111111111111111111115000021150211502115000200000000000000000000000000000000000000000000000000000000000000000003100011100111001110011111000111001110011100111114001110011100111001111110000000000000000000011100000000000000000000115001110000000000001111100011100000000000011111400111000000000000111151000000000000000000001010000000000000000000010500111000000000000111100001110000000000001111040011100000000000011110100000000000000000000101000000000000000000001050011100111001110011110000111001110011100111100001110011100111001115000000000000000000000000000000000000000000000000000000000000000000000040000311403114031140003111111111111111111111111111111111111111111111111111111111111111111111|5^600,552!9^684,372,0,0,23,23,1,0,0!9^684,252,0,0,22,23,1,0,0!9^444,36,0,0,21,23,1,0,0!9^324,36,0,0,20,23,1,0,0!9^84,252,0,0,19,23,1,0,0!9^84,372,0,0,18,23,1,0,0!11^384,564,384,228!6^132,564,3,1,0,3!6^612,276,2,1,0,3!6^660,180,0,0,0,3!6^108,324,1,0,0,3!6^156,492,1,0,0,1!6^180,36,0,0,0,2!0^552,312!0^576,312!0^576,432!0^552,432!0^216,432!0^192,432!0^192,312!0^216,312!0^216,192!0^192,192!0^264,144!0^264,120!0^384,120!0^384,144!0^504,144!0^504,120!0^552,192!0^576,192!12^504,480!12^504,504!12^384,504!12^384,480!12^264,480!12^264,504");
var _local42 = new LevelData("solaar", "11111111111111111111500111111111111111111110001111111111111111111500011111111111500021150000111111111110000000000005000000211100000000000000000000211000000000000000000000110000000000000000000001500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000031000000000000000031111110000000000000003111111100000000000000311111111000000000000001111111110000000000000011111111100000000000000111111111000000000000001111111110000000000000000021150000000000000000000015000000000000000000000000004000000003100000000000014000000011000000000000114000000110000000000001110000001140003114000311100000311111111114031|5^48,540!10^156,348!11^216,228,756,516!1^612,108!1^420,132!1^300,204!1^228,84!0^636,36!0^624,36!0^612,36!0^600,36!0^588,36!0^576,36!0^564,36!0^552,36!0^540,36!0^528,36!0^516,36!0^504,36!0^492,36!0^480,36!0^468,36!0^456,36!0^432,36!0^444,36!0^420,36!0^408,36!0^396,36!0^384,36!0^372,36!0^360,36!0^348,36!0^336,36!0^324,36!0^312,36!0^300,36!0^288,36!0^276,36!0^264,36!0^252,36!0^240,36!0^228,36!0^216,36!0^204,36!0^192,36!0^180,36!6^156,180,2,0,0,3!6^636,228,3,0,0,0!12^624,396!12^696,336!12^684,372!12^636,360!4^660,570,1!6^276,108,3,0,0,2");
var _local14 = new LevelData("escarpment", "A0000211111111111111111000000B1111111111111111000000N1111111111111111000000N1111111111111111000000C111111111111111100000011111111111111111000000B1111111111111111000000N1111111111111111000000C1111111111111111000000111111111111111110000001111111111MQQI00F0000001111111MI0000000000000?1MQQJ1500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000LH000000000000000000000111400000000000000000001111LH000000003LOH0000011111111LOOK111111H000G|5^156,144!11^96,168,744,264!1^492,228!1^432,348!1^348,480!1^564,540!1^480,468!1^588,408!1^696,504!1^660,324!1^552,300!1^624,168!1^396,144!4^684,570,1!0^756,540!0^744,540!0^720,540!0^732,540!0^708,528!0^696,528!0^684,528!0^672,540!0^660,540!0^648,540!0^636,540!0^624,540!0^612,540!0^600,528!0^588,528!0^576,516!0^564,516!0^552,516!0^540,528!0^516,528!0^528,528!0^504,528!0^492,528!0^480,540!0^468,540!0^456,540!0^444,540!0^432,540!0^420,552!0^408,552!0^396,540!0^384,540!0^372,540!0^360,552!0^348,552!0^324,552!0^336,552!0^312,564!0^300,564!0^288,552!0^276,552!0^756,492!0^744,492!0^732,480!0^708,480!0^720,480!0^696,480!0^684,468!0^672,468!0^660,480!0^648,480!0^636,480!0^624,468!0^612,468!0^600,468!0^588,468!0^576,480!0^564,480!0^552,468!0^540,468!0^528,468!0^516,480!0^504,480!0^492,492!0^480,492!0^456,492!0^468,492!0^444,492!0^432,480!0^420,480!0^408,492!0^396,492!0^384,492!0^372,492!0^360,504!0^348,504!0^336,504!0^324,504!0^312,492!0^300,492!0^288,504!0^276,504!0^720,420!0^708,420!0^696,408!0^684,408!0^672,408!0^660,420!0^648,420!0^636,432!0^624,432!0^612,432!0^600,444!0^588,444!0^576,444!0^564,432!0^552,432!0^540,432!0^528,432!0^504,432!0^516,432!0^492,420!0^480,420!0^468,408!0^456,408!0^444,408!0^432,408!0^420,420!0^408,420!0^396,420!0^384,420!0^372,408!0^360,408!0^348,420!0^336,420!0^324,420!0^312,408!0^300,408!0^300,384!0^324,384!0^312,384!0^336,372!0^348,372!0^372,372!0^360,372!0^384,372!0^396,384!0^408,384!0^420,372!0^432,372!0^444,372!0^456,360!0^468,360!0^480,360!0^492,360!0^504,372!0^516,372!0^540,360!0^528,360!0^552,360!0^576,348!0^564,348!0^588,360!0^600,360!0^612,360!0^624,360!0^636,348!0^648,348!0^660,348!0^684,348!0^672,348!0^696,360!0^708,348!0^720,348!0^732,348!12^552,408!12^480,384!12^348,396!12^648,384!12^684,444!12^432,456!12^312,528!12^420,516!12^540,492!12^612,504!12^744,516!6^324,444,3,1,0,2!6^708,564,3,1,0,0!6^756,540,2,0,0,2!6^540,468,3,0,0,2!3^396,240");
var _local12 = new LevelData("twitch city", "11A00>1E000000000NE000>1E00001A000000000CA00001A000?E0000C1E00?E00000E0000CA000?E0000CA000C0A000?E0000CA000?E0000100000CA000?E0000CA000?E0000?E0000CA000?E0000CA0000CA000?E0000CA000?E0000?E0000CA000?E0000CA0000CA000?E0000CA000?E0000?E0000CA000?E0000CA0000CA000?E0000CA000?E0000010000CA000?E0000CA000?0B000?E0000CA000?E0000C00000CA000?E0000CA000?10000?E0000CA000?E0000C10000CA000?E0000CA000?E>000?E0000CA000?E0000CA0000CA000?E0000CA000?E0000?E0000CA000?E0000CA0000CA000?E0000CA000?E0000?E0000CA000?E0000CA000@CA000?E0000CA000?E00001E0000CA000?E0000CA000?1A000?E0000CA000?E0000CE0000CA000?E0000CA000?1A000?E0000CA000?E0000C10000CA000?E0000CA000?1100?1E0000CA00?1E0000C1100000000?1000000000?111@0000000C1@00000000C111|5^444,564!11^60,156,396,348!12^360,552!12^456,504!12^552,456!12^648,408!12^120,144!12^168,120!12^216,96!12^264,72!12^168,384!12^216,360!12^264,336!12^312,312!12^648,144!12^600,168!12^552,192!12^504,216!12^456,240!12^408,264!12^360,288!12^120,408!12^72,432!0^612,108!0^564,132!0^516,156!0^468,180!0^420,204!0^372,228!0^324,252!0^276,276!0^180,324!0^132,348!0^348,372!0^300,396!0^252,420!0^204,444!0^156,468!0^444,324!0^492,300!0^540,276!0^588,252!0^636,228!0^684,204!0^228,300!0^564,396!0^612,372!0^660,348!0^708,324!0^516,420!0^468,444!0^420,468!0^372,492!0^324,516!12^192,504!12^288,456!12^384,408!12^480,360!12^576,312!12^672,264!12^144,264!12^240,216!12^336,168!12^432,120!12^528,72!6^540,36,2,0,0,2!6^84,540,2,0,0,3!6^708,156,3,0,0,1!6^204,540,3,0,0,0!6^204,204,1,0,0,0!6^300,156,0,0,0,2");
var _local21 = new LevelData("telemetry", "11111111@0000000000000011E0000BD0C111D0C11111011A0000>111A0>111A00000A00000000000000000000000000000000000000000000000000C1E000B1E000B1E00000000000000000000000000000000000000000000000000000000000000000000000000000B1D000000000000000000000000B1D000000000000000000000000000000000000B11@00000000000000000000000000000000000000000000000000000000000000000000111100011100000000000000000000000000000000000000000000000000000000C11A0000000000000000000000000000000000000000000000000C1E0000000000000000C1E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B1D000C1D000C1D00000000000000000000000000@000000000000000000000011@0000?111@0?111@0000011D0000CE0B111E0B11111011111111A00000000000000|5^432,552!11^396,564,396,84!9^408,276,0,0,30,23,1,-1,0!9^384,276,0,0,2,23,1,0,0!12^468,60!12^468,36!12^324,60!12^324,36!12^576,204!12^600,204!12^192,204!12^216,204!12^264,228!12^528,228!12^384,144!12^408,144!12^408,312!12^384,312!12^408,240!12^384,240!12^396,132!12^720,204!12^72,204!12^72,84!12^720,84!0^756,540!0^756,516!0^756,492!0^756,468!0^756,444!0^756,420!0^756,396!0^732,396!0^756,372!0^756,348!0^756,324!0^756,300!0^756,276!0^756,252!0^732,252!0^36,540!0^36,516!0^36,492!0^36,468!0^36,444!0^36,420!0^36,396!0^60,396!0^36,372!0^36,348!0^36,324!0^36,300!0^36,276!0^36,252!0^60,252!12^504,240!12^288,240!12^528,144!12^552,132!12^240,132!12^264,144!12^552,216!12^240,216!12^624,216!12^168,216!12^168,132!12^144,144!12^144,228!12^648,144!12^624,132!12^648,228!12^696,312!12^696,336!12^96,336!12^96,312!12^744,192!12^48,192!12^48,96!12^744,96!12^696,72!12^96,72!12^408,384!12^384,384!12^612,504!12^180,504");
var _local17 = new LevelData("glynis", "10015000000002150000021100000000000000000000011400000314000000031140111111111111111111111101111111111111111111115021500000000000000000000010000000000000000000000100000000000000000000001000311111000111114000010001111150002111110000100011115000002111100001000111500000002111000010001150000000002110000100015000000000002100001000000000000000000000010000000000000000000000100000000000000000000001000140000000000031000010001140000000003110000100011140000000311100001000111140000031111000010001111140003111110000100021111100011111500001000000000000000000000010000000000000000000000140000000000000000000001111111111111111111140311111111111111111111101150000021500000002115011000000000000000000000110014000000003140000031|5^708,84!11^756,84,396,420!11^36,84,396,180!9^444,228,0,0,4,22,1,0,0!9^348,228,0,0,4,22,1,-1,0!0^60,540!0^60,516!0^36,516!0^36,492!0^60,492!0^60,468!0^36,468!0^36,444!0^60,444!0^36,420!0^60,420!0^84,420!0^84,396!0^60,396!0^60,372!0^84,372!0^84,348!0^60,348!0^36,324!0^60,324!0^84,324!0^84,300!0^60,300!0^36,300!0^36,276!0^60,276!0^84,276!0^36,252!0^60,252!0^60,228!0^36,228!0^36,204!0^60,204!0^84,180!0^60,180!0^36,180!0^36,156!0^60,156!0^84,156!0^84,132!0^60,132!0^60,108!0^84,108!0^84,84!0^60,84!0^60,60!0^36,60!0^84,540!10^396,300!6^156,84,2,1,0,0!6^636,564,3,1,0,3!12^720,228!12^756,348!12^756,396!12^708,444!12^720,480!12^756,540!12^696,312!12^696,384!12^768,192!12^768,288");
var _local29 = new LevelData("groglinated", "900000000000000611111110;<0000000000000:1111110:=000;<000000000611111000000:=0;111<0000:111100000000711111800006111000;111119000611<000:1100011111100;<011100006100011111100110111800001000111111871101111<0001000111111111=0111110001000111111900071111=0001000:1111100;1119000000100000611100111100000071000000:1=00:11=0000;1118000000000000000000111111<0000000000000000:11111100;<0000;<000000000611=00:=0000:=00000000001900000000000000000000010000000000000;111111<0100;1111<00007111111110100111111000;11111111=0100111111000111111119001001111118071111111=000100:11111111111111900001000061190061111118000010;<00:=0;<01111111<00710:=00000:=0:111111=0;110000000000006111190011100;111111<000:11=0001118711111111800000000711|5^564,276!11^216,276,732,492!9^744,72,0,0,9,14,1,0,0!9^576,528,0,0,9,14,1,-1,0!9^132,192,0,0,21,23,1,-1,0!9^36,72,0,0,21,23,1,0,0!9^72,36,1,0,31,16,1,0,-1!9^96,228,1,0,31,17,1,0,0!0^180,60!0^204,60!0^228,60!0^252,60!0^276,60!0^540,72!0^564,72!0^588,72!0^696,192!0^480,132!0^480,156!0^480,180!0^480,204!0^204,516!0^228,516!0^252,516!0^276,516!0^300,516!0^60,372!0^60,348!0^60,324!0^60,300!0^60,276!8^612,492,1!8^636,492,1!12^624,468!12^360,204!12^360,336!12^480,456!12^504,168!12^96,300!12^252,480!12^252,552!12^672,192!12^720,192!12^708,264!12^288,432!12^372,480!12^228,96!12^228,24!6^300,36,0,0,0,2!6^588,564,0,1,0,0!6^756,492,1,1,0,1!6^492,204,0,1,0,3!6^36,324,1,1,0,3!4^228,546,1");
var _local18 = new LevelData("around the world in 80 ways", "0000000000000000000000000000000000000000000000000000000000000000000000000000000001140000000000000000031111100000000000000000111111LH000000000000011111111110000000000003111111111E0000000000311111111111A00000000001111111111110000000000011111111111100000000000111111111111H000000000011111111111114000000000111111111111110000000002111111111111100000000001111111111111000000000011111111111111000000000F111111111111100000000001111111111111L000000000B1111111111111000000000>111111111111E00000000000B111111111E000000000000>111111111A000000000000011111111100000000000000111111111H0000000000000F11111111100000000000000111111150000000000000002111E00000000000000000000000000000000000000000000000000000000000000000000000000000|5^276,108!11^600,228,408,132!1^684,540!1^732,492!1^588,516!1^492,552!1^396,540!1^276,480!1^240,564!1^156,492!1^60,456!1^708,204!1^612,144!1^684,84!1^504,84!1^168,72!1^72,108!1^108,156!12^504,180!12^552,228!12^684,276!12^372,132!12^180,156!12^48,240!12^96,336!12^24,396!12^24,300!12^180,432!12^264,564!12^288,564!12^312,564!12^336,564!12^360,564!12^384,564!12^408,564!12^432,564!12^456,564!12^480,576!12^504,576!12^528,564!12^552,564!12^576,564!12^600,564!12^624,564!12^648,564!12^672,564!12^696,564!12^720,564!12^744,552!12^768,540!12^216,564!12^192,564!12^168,564!12^144,552!12^120,540!12^96,540!12^72,540!12^48,528!12^24,516!0^600,468!0^588,468!0^576,468!0^564,480!0^552,480!0^540,492!0^528,504!0^516,516!0^504,516!0^492,516!0^480,516!0^468,516!0^456,504!0^444,492!0^432,492!0^420,492!0^408,492!0^396,492!0^396,480!0^396,468!0^384,468!0^372,480!0^360,480!0^360,504!0^348,492!0^348,516!0^372,516!0^384,516!0^336,516!0^324,516!0^324,528!0^312,504!0^516,528!0^528,540!0^564,492!0^564,504!0^552,516!0^612,480!0^624,492!0^648,504!0^648,492!0^636,492!0^624,504!0^624,516!0^636,528!0^660,492!0^672,468!0^660,468!0^672,480!0^684,444!0^672,444!0^672,456!0^684,432!0^684,420!0^696,408!0^684,408!0^708,408!0^720,420!0^684,396!0^696,384!0^708,372!0^708,360!0^708,348!0^708,336!0^708,324!0^708,312!0^708,300!0^312,492!0^312,480!0^324,468!0^312,456!0^300,444!0^300,432!0^288,432!0^288,420!0^276,420!0^252,420!0^276,444!0^264,420!0^240,432!0^228,432!0^216,432!0^216,444!0^204,456!0^228,456!0^228,468!0^228,480!0^216,492!0^192,456!0^180,456!0^168,456!0^156,444!0^132,432!0^144,432!0^132,420!0^132,408!0^120,408!0^108,408!0^108,396!0^96,384!0^84,372!0^96,420!0^84,420!0^108,300!0^108,288!0^108,276!0^108,264!0^108,252!0^96,240!0^96,228!0^84,228!0^120,252!0^132,240!0^144,228!0^156,228!0^156,216!0^156,204!0^156,192!0^156,180!0^168,180!0^180,180!0^192,180!0^204,168!0^204,156!0^144,180!0^132,168!0^132,192!0^132,204!0^120,204!0^720,324!0^732,312!0^744,312!0^720,372!0^732,372!0^732,384!0^744,396!12^756,348!3^108,564!3^756,564!12^660,204!12^564,156!12^696,144!12^504,132!12^456,132!12^444,48!12^348,96!12^312,48!12^228,60!12^156,132!12^108,120!12^72,180!12^576,84!12^744,60!12^756,180");
var _local15 = new LevelData("frantic", "11111MI00000FJ11E000000111MI000000000000000000A010000000000000000000000E000000000000000000000000000000000000000000000000000000000000000000000000000D000000000000000000000010000000000000000000000E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000D000000000000D00000000010000000000001000000000E000000000000E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000D000000000000000000000010000000000000000000000E0000000000000000000000000000000000000000000000000000000000000D00000000000000000000@0100000000000000000000111LH00000000000000000011111LH00000GK11D000000|5^396,372!1^396,252!1^684,252!1^108,252!1^432,324!1^360,324!1^516,276!1^276,276!1^612,132!1^180,132!1^300,120!1^492,120!1^684,180!1^108,180!1^468,204!1^324,204!2^708,96,0,1!2^396,120,0,1!2^588,264,0,1!2^396,432,0,1!2^204,264,0,1!2^84,96,0,1!11^396,396,96,48!0^708,60!0^696,60!0^684,60!0^672,60!0^672,48!0^684,48!0^696,48!0^708,48!0^696,36!0^684,36!0^672,36!3^396,36!3^36,204!3^756,204!3^756,564!3^36,564!1^516,420!1^684,420!1^276,420!1^108,420!1^192,492!1^348,516!1^444,516!1^600,492!0^678,396!0^690,396!0^690,384!0^678,384!0^594,468!0^606,468!0^606,456!0^594,456!0^438,492!0^450,492!0^450,480!0^438,480!0^342,492!0^354,492!0^354,480!0^342,480!0^186,468!0^198,468!0^198,456!0^186,456!0^102,396!0^114,396!0^114,384!0^102,384!0^114,228!0^102,228!0^102,216!0^114,216!0^102,156!0^114,156!0^114,144!0^102,144!0^678,228!0^690,228!0^690,216!0^678,216!0^678,156!0^690,156!0^690,144!0^678,144");
var _local25 = new LevelData("chamber of sneakrets", "5001MI021002111150000020000000000000015000000000000000000000000000000000000000000000000000030000GOOH031140GK1400001000011111111111111000010000FI021111501111L000BH000000015000011111400>1400000000000011111100011MI00000000000211A0000E0000000000000001100000000000000000000111D0000H000000000000002111000C114000000000000011M00011E000000000000031100002100000000000000111000001000000000000001110000G10000000000000011100001140000000000000011D000B11000000000000031110000110000000000001111100031500000000000021111001100000000000000011150021@0000000003114011100000D000GH00011111111100000100011111111111111000001@00FQQI000000FJ15000GKI00000000000000000000110000000000014000000000B0000000000?1100000000004000000GK1111H000000003|5^396,540!11^264,564,564,360!0^228,348!0^216,348!0^204,348!0^192,348!0^180,348!0^60,348!0^60,336!0^60,324!0^36,276!0^36,264!0^36,252!0^708,276!0^720,276!0^732,264!0^732,252!0^732,36!0^720,36!0^708,36!0^696,36!0^36,84!0^36,72!0^36,60!0^612,228!0^612,216!0^612,204!0^612,192!0^612,180!0^336,396!0^348,396!0^360,396!0^468,396!0^480,396!0^492,384!0^492,372!0^276,396!0^264,396!0^252,384!0^252,372!0^204,204!0^192,204!0^180,192!0^180,180!12^564,540!12^756,564!12^132,552!12^348,552!12^24,540!12^132,444!12^564,468!12^492,480!12^240,492!12^660,444!12^660,552!12^192,564!6^756,516,1,0,0,1!6^36,468,0,0,0,1!6^492,84,1,0,0,0!6^108,36,0,0,0,2!6^540,516,0,0,0,0!6^156,540,1,0,0,2!1^492,300!1^468,300!1^480,300!1^252,300!1^276,300!1^264,300!1^396,300!1^348,300!1^360,300!1^384,300!1^372,300!1^300,228!1^324,228!1^312,228!1^420,228!1^444,228!1^432,228!4^612,570,1!4^492,570,1!4^72,570,1!4^228,570,1!4^420,378,1!3^420,72!3^300,60");
var _local22 = new LevelData("pokeyman", "111MI000000211111111111115000000000021150000211E0000000000000003100011A000000000031111110001100000000000111111140011000000000001111111140110000000000011111111101100000000000111111111011000000000002111111110110000000GKD00FJ11111101100000031110000211111011000003111100000211110110000?11111000000B1110110000C11111000000>1110110000115021000000011101100000000010000000111011000011403100000001110110000B11111000000?1110110000>11111000000C11101100000211110000031111011000000211100003111110110000000FJE00GK1111110110000000000031111111101100000000000111111111011000000000001111111110110000000000011111111501100000000000111111150011@0000000000211111100011D00000000000000021000111400000000003114000031111LH000000311111111111|5^396,432!9^540,540,1,0,16,6,1,0,-1!9^252,540,1,0,16,7,1,0,-1!9^396,540,1,0,16,7,1,0,0!0^420,228!0^420,240!0^408,252!0^396,252!0^384,252!0^372,240!0^372,228!0^372,216!0^384,204!0^396,204!0^408,204!0^420,216!0^408,216!0^396,216!0^384,216!0^384,228!0^396,228!0^408,228!0^408,240!0^396,240!0^384,240!4^372,546,1!11^396,444,396,84!3^756,204!3^36,204!9^564,84,1,0,29,15,1,0,-1!9^228,84,1,0,3,15,1,0,-1!9^132,204,1,0,3,16,1,0,0!9^660,204,1,0,29,16,1,0,0");
var _local33 = new LevelData("persnickety", "00FI0FI0FI0FI0FI0FI0FJ1@000000000000000000000BA000000000000000000000>00000000000000000000000@0CD0CD0CD0CD000000000?A0BE0BE0BE0BE000000000>00000000000000000000000@000000000000000000000?A000000000000000000000>00000000000000000000000@00CD0CD0CD0CD00000000?A00BE0BE0BE0BE00000000>00000000000000000000000@000000000000000000000?A000000000000000000000>00000000000000000000000@000CD0CD0CD0CD0000000?A000BE0BE0BE0BE0000000>00000000000000000000000@000000000000000000000?A000000000000000000000>00000000000000000000000@0000CD0CD0CD0CD000000?A0000BE0BE0BE0BE000000>0000000000000000000000?@0000000000000000000K11A0000000000000000000J110000000000000000000000>@0000000000000000CD0000A000000000000000011000000GH0GH0GH0GH0GHG11H000|5^708,540!6^468,204,1,0,1,3!6^180,324,1,0,1,3!11^732,564,36,36!2^540,576,0,-1!2^468,576,0,-1!2^396,576,0,-1!2^324,576,0,-1!2^252,576,0,-1!2^180,576,0,-1!2^108,576,0,-1!0^756,36!0^756,48!0^756,60!0^756,132!0^756,144!0^756,120!0^756,192!0^756,204!0^756,216!0^756,264!0^756,276!0^756,288!0^756,336!0^756,348!0^756,360");
var _local38 = new LevelData("the incredible lightness of being frustrated", "111111190000000000000061111111800000000000000711111111111111<00000;1111111111111111=00000:111111119000000000000006111111180000000000000071111111111111<00000;1111111111111111=00000:111111111900000000000000611111118000000000000007111111111111<00000;1111111111111111=00000:111111111190000000000000061111111800000000000000711111111111<00000;1111111111111111=00000:111111111119000000000000006111111180000000000000071111111111<00000;1111111111111111=00000:111111111111900000000000000611111118000000000000007111111111<00000;1111111111111111=00000:111111111111190000000000000061111111800000000000000711111111<00000;1111111111111111=00000:11111111111111900000000000000611111118000000000000007111111111111111111111111111111|5^48,216!11^48,564,720,48!0^720,396!0^624,420!0^528,444!0^432,468!0^336,492!0^240,516!0^144,540!0^144,180!0^240,156!0^336,132!0^432,108!0^528,84!0^624,60!0^624,72!0^720,384!0^624,408!0^528,432!0^432,456!0^336,480!0^240,504!0^144,528!0^144,192!0^240,168!0^336,144!0^432,120!0^528,96!0^636,72!0^624,84!0^612,72!0^708,384!0^732,384!0^720,372!0^636,408!0^612,408!0^624,396!0^540,432!0^516,432!0^528,420!0^444,456!0^420,456!0^432,444!0^348,480!0^324,480!0^336,468!0^252,504!0^228,504!0^240,492!0^156,528!0^132,528!0^144,516!0^540,96!0^516,96!0^528,108!0^444,120!0^420,120!0^432,132!0^348,144!0^324,144!0^336,156!0^252,168!0^228,168!0^240,180!0^156,192!0^132,192!0^144,204!12^96,504!12^192,456!12^288,408!12^384,360!12^480,312!12^576,264!12^672,216!12^672,96!12^576,144!12^480,192!12^384,240!12^288,288!12^192,336!12^96,384!12^672,156!12^576,204!12^480,252!12^384,300!12^288,348!12^192,396!12^96,444");
var _local34 = new LevelData("concealed", "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111002111500111111111111150000000002111111111115000000000002111111111000031101140000111111110000111011100001111111100001110111000011111111000011101110000150111110000111011100001001111114001110111003110011111110011101110011103111111100000000000111011111111001110111001110111111150011101110021501111110000111011100000311111100001110111000031111111000011101110000111111110000111011100001111111100002110115000011111111140000000000031111111111140000000003111111111111100311140011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^456,504!9^396,396,0,0,17,21,1,0,0!9^204,300,0,0,16,21,1,0,0!9^588,300,0,0,16,21,1,-1,0!11^324,540,396,204!6^276,300,0,0,0,2!6^348,396,1,0,0,0!6^396,348,0,0,0,3!6^420,300,1,0,0,0!1^396,372!1^396,360!1^396,348!1^396,336!1^396,324!1^564,300!1^552,300!1^540,300!1^528,300!1^516,300!1^504,300!1^492,300!1^480,300!1^468,300!1^456,300!1^444,300!1^432,300!1^420,300!1^228,300!1^240,300!1^252,300!1^264,300!1^276,300!1^288,300!1^300,300!1^312,300!1^324,300!1^336,300!1^348,300!1^360,300!1^372,300!1^396,228!1^396,240!1^396,252!1^396,264!1^396,276!1^396,288!1^408,300!1^396,312!1^384,300!1^396,300!0^636,396!0^636,384!0^636,372!0^636,228!0^636,216!0^636,204!0^564,132!0^552,132!0^540,132!0^528,132!0^516,132!0^504,132!0^492,132!0^480,132!0^468,132!0^324,132!0^312,132!0^300,132!0^288,132!0^276,132!0^264,132!0^252,132!0^240,132!0^228,132!0^156,204!0^156,216!0^156,228!0^156,372!0^156,384!0^156,396!0^228,468!0^240,468!0^252,468!0^264,468!0^276,468!0^288,468!0^300,468!0^312,468!0^324,468!6^444,180,2,0,0,0!6^228,180,3,0,0,2!6^204,348,2,1,0,3!6^276,420,3,1,0,0");
var _local46 = new LevelData("rush", "90061111119000000000006000011111100000000000000000111111000000000000000001111110000000000000000011111=0000;1<0000000000190000000011100000000001000000000111000000000010000000071110000000000100000;11111=000000000018000719000000000000000111111=000000000000000011190000000000000000000:1=00000000000000000000000000000000000000000000000000000000000000000000000000000000;<000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000071180700;11111111111111111111001111111111111111111110011111111111111111111187111111111111111111111|5^744,48!12^156,204!12^204,156!12^252,204!12^444,564!12^444,516!12^540,576!12^540,504!12^612,540!12^672,540!11^204,108,642,540!12^180,264!0^252,180!0^240,168!0^228,180!0^216,204!0^216,240!0^204,240!0^180,240!0^156,228!0^168,216!0^180,204!0^180,180!0^168,192!0^168,204!0^156,192!0^156,180!0^168,180!0^168,168!0^156,168!0^168,156!0^180,156!0^180,168!0^192,168!0^192,156!0^216,156!0^216,168!0^228,168!0^228,156!0^240,156!0^252,168!0^252,192!0^240,192!0^240,180!0^228,192!0^216,192!0^216,180!0^204,168!0^204,180!0^204,192!0^192,192!0^192,180!0^180,192!0^192,204!0^204,204!0^228,204!0^240,204!0^252,216!0^252,228!0^252,240!0^240,240!0^228,240!0^240,228!0^240,216!0^228,216!0^216,216!0^204,216!0^192,216!0^180,216!0^180,228!0^168,228!0^156,216!0^156,240!0^168,240!0^192,240!0^192,228!0^204,228!0^216,228!0^228,228!0^252,252!0^240,252!0^228,252!0^216,252!0^204,252!0^192,252!0^180,252!0^168,252!0^156,252!0^216,264!0^204,264!0^192,264!0^168,264!0^204,276!0^192,276!0^180,276!0^192,288!0^204,288!0^204,300!6^156,348,2,0,0,2!1^324,396!1^468,372!1^576,288!1^396,228!1^528,168!1^396,324!1^588,396!1^492,276!1^372,156!1^456,120!10^336,72!6^636,36,2,0,0,1!6^564,540,3,0,0,0!6^60,348,3,0,0,2!2^288,576,0,-1");
var _local43 = new LevelData("acrimony", "A0B11A>1A>1A>1A>1A>1A0>00N1100F00F00F00F00F00000N1100000000000000000000>11000000000GKA000000000FJ@0000000?MI00GKA0000000000>LH000000?MI000000000000FJ@0000000000000000000000000000000000000000000000000000>LH00000000GKA000>LH0000FJ@000000?MI00000FJ@000000000000000000000000000000000000000>LH000000000000000000000FJ@000000000000000000000000000GKA0000000000000000000?MI0000000000000000GKA000000000000>LH0000?MI00000000000000FJ@000000000000000000000000000000000>LH000000000000000000000FJ@000000000000>LH00000000000000000GKA0FJ@000000000000000?MI00000000GKA0000000000000000000?MI00000000000000000000000000000>LH00000000>LH0000000000FJ@00000000FJ@00000000000000000000000000000000G00G00G00G00G00G000@00?1@?1@?1@?1@?1@?1@0?|5^36,540!11^72,72,396,228!6^756,84,1,0,1,1!6^60,156,0,0,1,2!0^384,420!0^408,408!0^432,300!0^456,288!0^552,300!0^528,288!0^480,456!0^504,468!0^492,462!0^396,414!0^444,294!0^540,294!0^600,444!0^612,438!0^624,432!0^648,360!0^672,372!0^660,366!0^672,108!0^648,96!0^600,192!0^576,204!0^456,132!0^432,120!0^288,144!0^264,156!0^144,216!0^168,228!0^312,240!0^336,252!0^240,312!0^264,324!0^144,336!0^120,348!0^144,444!0^168,432!0^216,456!0^240,468!0^228,462!0^156,438!0^132,342!0^252,318!0^156,222!0^324,246!0^276,150!0^444,126!0^588,198!0^660,102");
var _local51 = new LevelData("zenith", "I01111111111111111111100011111111111111111111000111111I0111111I0111M000I0000000I0000000I00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000LH00000000000000000000011H000H000000H0000000001111H011111H0111111L000E01111111111111111110H0001111111111111111110|5^720,564!9^744,108,0,0,31,23,1,-1,0!9^36,564,1,0,31,3,1,0,-1!9^96,240,0,0,2,23,1,-1,0!9^696,360,0,0,2,23,1,0,0!11^60,60,756,564!0^696,204!0^708,204!0^708,192!0^696,192!0^696,180!0^96,444!0^84,444!0^84,432!0^96,432!0^96,420!0^684,204!0^684,192!0^684,180!0^108,444!0^108,432!0^108,420!1^516,516!1^276,516!1^396,540!1^636,492!1^156,492!1^396,444!1^516,420!1^276,420!1^588,420!1^204,420!1^348,372!1^444,372!1^564,324!1^228,324!1^636,300!1^156,300!1^396,252!1^468,228!1^324,228!1^564,204!1^228,204!1^492,300!1^300,300!1^204,540!1^588,540!1^516,180!1^276,180!1^156,156!1^636,156!1^420,132!1^372,132!1^492,84!1^300,84!1^228,108!1^564,108!10^396,324!12^696,324!12^696,156!12^96,204!12^96,396!12^96,336!12^96,144!12^696,264!12^696,516!12^96,516!12^696,456");
var _local44 = new LevelData("rational", "0000000000000000000000F00GO00000000000000000001111000000001100000000G0000000000001100000000F000000000000000001100000000000011000000011000G0000000011000000000000F00001100000000000000000000011000000000000000000000000000000000000000G0000000000000000000000F000000000000000000000000000000000000000000000G0000000000000011000000F0000000000000011000000000000000000000000000000000000000000000000000000000000000000000000000G0000000000000000000000F000000000000000000000000000000000000000000000G0000000000011000000000F00000000000110000000000000000000000000000000000000011000000000000000G0000011000000000000110F000000000000000000011000000000000000000000000G1111000000000000000000F00FQ00000000000110000000000000000000001100000G|5^372,324!4^396,570,1!4^300,570,1!4^228,570,1!4^132,570,1!4^60,570,1!4^732,570,1!4^660,570,1!4^564,570,1!4^492,570,1!6^732,60,3,0,1,0!6^60,60,2,0,1,2!11^360,348,624,132!6^444,36,0,1,0,2!6^588,324,1,1,0,3!6^108,468,0,1,0,3!12^768,288!12^756,252!12^768,216!12^756,180!12^768,144!0^600,516!0^600,504!0^600,492!0^588,492!0^588,504!0^588,516!0^144,348!0^144,336!0^144,324!0^156,324!0^156,336!0^156,348!0^216,228!0^216,240!0^216,252!0^228,252!0^228,240!0^228,228!0^192,444!0^192,456!0^192,468!0^204,468!0^204,456!0^204,444!0^264,156!0^264,144!0^264,132!0^276,132!0^276,144!0^276,156!0^504,300!0^504,312!0^504,324!0^492,324!0^492,312!0^492,300!0^696,396!0^696,408!0^696,420!0^684,420!0^684,408!0^684,396!0^576,180!0^576,168!0^576,156!0^564,156!0^564,168!0^564,180");
var _local39 = new LevelData("babel", "11111111111111111111111525252525252525211111110000000000000000211111100000000000000000252115000000000000000000002100034343434343434000002011111111111111114350000111111111111111115000001111111111111152500000015252525252525000003100500000000000000000311000000000000000000031500000000000000000343150000034343434343431111400000111111111111111115000001111111111111111100000011111111111111111400000252525252525211115000000000000000000252140000000000000000000002140004000000000000000002110014343434343434000002100111111111111114340000001111111111111111140000011111111111111115240000002525252525252500000300000000000000000000031000000000000000000343114000000000000000031111114343434343434343111111111111111111111111111111|5^636,36!11^396,36,156,48!6^372,36,1,0,0,2!6^396,468,0,0,0,2!12^612,540!12^588,540!12^564,540!12^540,540!12^516,540!12^276,540!12^252,540!12^228,540!12^204,540!12^180,540!0^528,72!0^528,120!0^528,168!0^528,216!0^528,264!0^528,312!0^456,336!0^456,288!0^456,240!0^456,192!0^456,144!0^456,96!0^336,96!0^336,144!0^336,192!0^336,240!0^336,288!0^336,336!0^264,312!0^264,264!0^264,216!0^264,168!0^264,120!0^264,72!6^156,60,0,1,0,3!6^420,36,0,1,0,0!6^396,564,0,0,0,0!6^684,420,1,0,0,2!0^444,96!0^444,144!0^444,192!0^444,240!0^444,288!0^444,336!0^348,336!0^348,288!0^348,240!0^348,192!0^348,144!0^348,96!0^648,120!0^648,168!0^648,216!0^648,264!0^648,312!0^144,120!0^144,168!0^144,216!0^144,264!0^144,312");
var _local49 = new LevelData("waydowntown", "00000000001100000100000001111110011001101010110011111100110011011101000110011001111110000010001100110011111101110100011000000000000010101100110000000000000100000001100110011111101010110011001100111111011101000111111001100110000010001111110011001101110100000000000110000010101100000000001100000100000001111110011001101010110011111100110011011101000110011001111110000010001100110011111101110100011000000000000010101100110000000000000100000001100110011111101010110011001100111111011101000111111001100110000010001111110011001101110100000000000110000010101100000000001100000100000001111110011001101010110011111100110011011101000110011001111110000010001100110011111101110100011000000000000010101100110000000000000100000|5^756,564!11^396,516,228,156!9^372,348,0,0,17,21,1,0,0!9^564,60,0,0,18,21,1,0,0!9^60,468,0,0,15,21,1,-1,0!9^684,156,0,0,14,21,1,-1,0!9^36,252,1,0,16,20,1,0,-1!9^516,156,1,0,16,19,1,0,-1!9^660,348,1,0,16,18,1,0,-1!0^660,324!0^636,324!0^612,324!0^588,324!0^564,324!0^540,324!0^372,324!0^348,324!0^324,324!0^300,324!0^276,324!0^252,324!0^84,324!0^60,324!0^36,324!0^108,132!0^132,132!0^156,132!0^180,132!0^204,132!0^228,132!0^396,132!0^420,132!0^444,132!0^468,132!0^492,132!0^516,132!0^684,132!0^708,132!0^732,132!0^756,132!0^636,468!0^612,468!0^588,468!0^492,468!0^468,468!0^444,468!0^348,468!0^324,468!0^300,468!0^204,468!0^180,468!0^156,468!2^456,432,0,-1!2^168,432,0,-1!2^312,24,0,1!2^600,24,0,1!6^396,156,0,1,0,0!6^540,348,1,1,0,3!6^612,492,1,0,0,0!3^36,36!4^204,258,1!4^708,258,1!4^132,258,1");
var _local47 = new LevelData("serenity now", "000000000000000F111111100000000000000001111111000000000000000?1111111000000000000000C11111110000000000000001111111100000000000000G111111110000000000000K111111111000000000000000FJ111111000000000000000001111110000000000000000011111100000000000000003111111000000000000000111111110000000000000001111111100000000000000021111111000000000000000011111110000000000000000111111100000000000000031111111000000000000?1111111111000000000000C111111111100000000000011111111111000000000000111111111110000000000GK111111111110000000000J1111111111110000000000000211111111100000000000000111111111000000000000001111111110000000000000?11111111100000000000000B1111111100000000000000>111111110000000000000000002111100000000000000000001111|5^744,444!11^624,348,144,360!0^396,396!0^384,396!0^372,396!0^252,420!0^240,420!0^228,420!0^60,396!0^48,396!0^516,300!0^504,300!0^492,300!0^300,372!0^312,372!0^324,372!12^552,252!12^648,168!12^240,96!12^132,252!12^324,204!12^228,180!12^468,144!12^408,192!12^420,300!12^288,396!12^192,384!12^180,324!12^108,384!12^120,324!12^72,180!12^132,180!12^708,276!12^528,132!12^264,204!12^348,120!12^492,180!12^384,288!12^204,264!12^192,216!12^192,108!12^276,144!12^348,396!12^204,408!12^168,360!12^72,408!12^60,300!12^348,240!12^300,264!12^600,240!12^564,192!12^384,360!12^24,384!12^432,384!12^480,228!12^240,348!12^276,372!12^252,300!12^336,324");
var _local53 = new LevelData("bifurcation", "11111111111111111111111111111111111111111111111150000000211500000021111000000000110000000011110014000001100311400111100110000011001111001111001100000110002110011110011111401100001100111100111111011000011001111001111110110000110011110021115001114001100111100001100021110011001111000011000000000110011110003114003114031100111100111111111111111001111001111111111111150011110000000002111111000111100000000001111110001111400000000011111100011111111111400110011000111111111111001100110001111115000000011001100011110000000000114011000111100000311111110110001111000001111111501100011110000000021110011000111100000000021100150001111000000000000000000011110114000000000000003111111111111111111111111111111111111111111111111|5^648,396!11^504,396,312,252!4^396,522,1!12^180,492!12^348,492!12^264,492!12^444,468!12^612,468!12^528,468!12^468,528!12^504,528!12^552,528!12^588,528!12^312,528!12^300,528!12^228,528!12^216,528!6^204,348,2,0,0,0!6^252,372,2,0,0,1!6^204,420,2,0,0,3!0^108,444!0^84,444!0^96,444!0^108,432!0^108,420!0^96,420!0^84,420!0^84,432!0^96,432!0^396,108!0^396,96!0^396,84!0^384,84!0^372,84!0^372,96!0^372,108!0^384,108!0^384,96!6^708,84,2,0,0,2!6^252,84,2,0,0,0!6^156,276,2,0,0,2!4^468,306,1!4^300,162,1!12^576,252!12^528,228!12^480,204!12^408,168!10^180,180!12^648,288!12^624,228!12^684,324!12^696,168!3^180,108!9^156,360,0,0,24,16,1,-1,0!9^96,132,0,0,24,16,1,0,0");
var _local30 = new LevelData("skipper", "15000000001150000000000100000000021000000000005000000400010000000000000030001000100000000000000100000001000000000000000000100000000000000000010000000100000000000000000010000000000000000001000000010000000000000000001000000000000000000100000001000000000000000000100000000000000000010000000100000000000000000010000000000000000001000000010000000000000000001000000000000000000100000001000000000000000000100000000000000000010000000100000000000000000010000000000000000001000000010000000000000000001000000000000000000100000001000000000000000000100000000000000000010000000100000000000000000010000000000000000001000000010000000000000020001000100000000000400000050001000000000001000000000310000000000014000000001140000000000|5^36,240!11^684,276,396,84!6^756,180,3,1,0,3!6^180,84,2,1,0,0!6^132,84,3,1,0,2!6^756,108,2,1,0,1!0^612,276!0^564,276!0^516,276!0^468,276!0^420,276!0^372,276!0^324,276!0^276,276!0^228,276!0^180,276!0^156,156!0^204,156!0^252,156!0^300,156!0^348,156!0^396,156!0^444,156!0^492,156!0^540,156!0^588,156!0^636,156!0^612,36!0^564,36!0^516,36!0^468,36!0^420,36!0^372,36!0^324,36!0^276,36!0^228,36!0^180,36");
var _local26 = new LevelData("peaked", "50215000021150021500021000000000015000000000010000000000000000000000100000000000000000000031000000000003111114003110000000311111111111111100000001502111150021111000000000000000000000210000000000000000000000100000000000000000000001000000000000000000000010000000000000000000003100000000000000000000311000000000000311400311110000311403111111111111100001111111111111111111000011500000000021150210000000000000000000000100000000000000000000001000000000000000000000020000000031110000000000000000111111140000000000000002111111114031110000000000211502111111140300000000000000211111111000000000000000000002110000000000000000000001100000000000000000000021000000000000000000000020000000000000000000000040314000000000000000003|5^732,564!11^456,540,72,540!0^588,540!0^564,540!0^564,516!0^564,564!0^576,564!0^588,552!0^588,528!0^576,516!0^576,540!0^564,528!0^564,552!0^576,552!0^576,528!0^552,528!0^552,540!0^552,552!0^552,516!0^552,564!0^204,516!0^216,516!0^228,516!0^240,516!0^252,516!0^276,516!0^264,516!0^288,516!0^300,516!0^312,516!0^300,528!0^288,540!0^276,540!0^264,540!0^252,540!0^240,540!0^228,540!0^216,540!0^204,528!0^216,528!0^228,528!0^240,528!0^252,528!0^264,528!0^276,528!0^288,528!0^324,504!0^312,504!0^300,504!0^288,504!0^276,504!0^264,504!0^252,504!0^240,504!0^228,504!0^216,504!0^204,504!10^528,336!6^756,60,5,1,0,2!6^36,60,5,1,0,0!6^300,60,5,1,0,0!6^468,60,5,1,0,2!0^540,528!0^528,540!0^516,552!0^504,564!0^516,564!0^528,564!0^540,564!0^540,552!0^528,552!0^540,540!0^504,552!0^492,552!6^156,60,5,1,0,2!6^636,60,5,1,0,0");
var _local40 = new LevelData("splickens", "I000000000000000000000F0000000QQQQQQQQQQQQQI00000000000000000000000000000000QQQQQQQQQQQI0000000000000000000000000000000000QQQQQQQQQI000000000000000000000000000000000000QQQQQQQI00000000000000000000000000000000000000QQQQQI0000000000000000000000000000000000000000QQQI000000000000000000000000000000000000000000QI0000000000000000000000H000000000000000000000N00000000000000000000000I000000000000000000000OH00000000000000000000000000000000000000000000OOOH000000000000000000000000000000000000000000OOOOOH0000000000000000000000000000000000000000OOOOOOOH00000000000000000000000000000000000000OOOOOOOOOH000000000000000000000000000000000000OOOOOOOOOOOH0000000000000000000000000000000000OOOOOOOOOOOOOH00H000000000000000000000G|5^396,156!2^336,204,-0.707106781186547,0.707106781186547!2^300,252,0.707106781186547,0.707106781186547!2^492,252,-0.707106781186547,0.707106781186547!2^540,300,-0.707106781186547,0.707106781186547!2^588,348,-0.707106781186547,0.707106781186547!2^636,396,-0.707106781186547,0.707106781186547!2^684,444,-0.707106781186547,0.707106781186547!2^732,492,-0.707106781186547,0.707106781186547!2^60,492,0.707106781186547,0.707106781186547!2^108,444,0.707106781186547,0.707106781186547!2^156,396,0.707106781186547,0.707106781186547!2^204,348,0.707106781186547,0.707106781186547!2^252,300,0.707106781186547,0.707106781186547!2^456,204,0.707106781186547,0.707106781186547!2^504,204,0.707106781186547,0.707106781186547!2^552,204,0.707106781186547,0.707106781186547!2^600,204,0.707106781186547,0.707106781186547!2^648,204,0.707106781186547,0.707106781186547!2^696,204,0.707106781186547,0.707106781186547!2^288,204,-0.707106781186547,0.707106781186547!2^240,204,-0.707106781186547,0.707106781186547!2^192,204,-0.707106781186547,0.707106781186547!2^144,204,-0.707106781186547,0.707106781186547!2^96,204,-0.707106781186547,0.707106781186547!2^252,252,0.707106781186547,0.707106781186547!2^204,252,0.707106781186547,0.707106781186547!2^156,252,0.707106781186547,0.707106781186547!2^108,252,0.707106781186547,0.707106781186547!2^60,252,0.707106781186547,0.707106781186547!2^240,300,-0.707106781186547,0.707106781186547!2^192,300,-0.707106781186547,0.707106781186547!2^144,300,-0.707106781186547,0.707106781186547!2^96,300,-0.707106781186547,0.707106781186547!2^60,348,0.707106781186547,0.707106781186547!2^108,348,0.707106781186547,0.707106781186547!2^156,348,0.707106781186547,0.707106781186547!2^144,396,-0.707106781186547,0.707106781186547!2^96,396,-0.707106781186547,0.707106781186547!2^60,444,0.707106781186547,0.707106781186547!2^540,252,-0.707106781186547,0.707106781186547!2^588,252,-0.707106781186547,0.707106781186547!2^636,252,-0.707106781186547,0.707106781186547!2^684,252,-0.707106781186547,0.707106781186547!2^732,252,-0.707106781186547,0.707106781186547!2^552,300,0.707106781186547,0.707106781186547!2^600,300,0.707106781186547,0.707106781186547!2^648,300,0.707106781186547,0.707106781186547!2^696,300,0.707106781186547,0.707106781186547!2^732,348,-0.707106781186547,0.707106781186547!2^684,348,-0.707106781186547,0.707106781186547!2^636,348,-0.707106781186547,0.707106781186547!2^648,396,0.707106781186547,0.707106781186547!2^696,396,0.707106781186547,0.707106781186547!2^732,444,-0.707106781186547,0.707106781186547!2^444,204,-0.707106781186547,0.707106781186547!2^348,204,0.707106781186547,0.707106781186547!1^708,564!1^660,564!1^612,564!1^564,564!1^516,564!1^84,564!1^132,564!1^180,564!1^228,564!1^276,564!1^324,564!1^468,564!1^396,564!1^432,540!1^360,540!3^396,240!12^414,210!12^378,210!11^396,192,504,72!0^324,144!0^312,144!0^276,144!0^264,144!0^228,144!0^216,144!0^180,144!0^168,144!0^132,144!0^120,144!0^84,144!0^72,144!0^324,72!0^312,72!0^312,84!0^324,84!0^276,84!0^264,84!0^276,72!0^264,72!0^264,60!0^276,60!0^312,60!0^324,60!0^228,60!0^216,60!0^216,72!0^216,84!0^228,84!0^228,72!0^180,60!0^168,60!0^168,72!0^168,84!0^180,84!0^180,72!0^132,60!0^120,60!0^120,84!0^132,84!0^120,72!0^132,72!0^84,60!0^72,60!0^72,72!0^72,84!0^84,84!0^84,72");
var _local35 = new LevelData("the many", "0100P00010100N00B0001000100P00010100N00N0001000100P00010100C00N000B000100D00010100100N000N000100100010100100C000N0001001000101001001000100010010001010010010001000B001000101001001000B000N00100010100100E000N000N00100010E00100P000N000N00100010P00100P000C000C00100010P00100D0001000100100010P00E0010001000100E00010P00P0010001000100P00010D00000E0001000100P00010100000P0001000E00P0001010000000001000P000000101000000000100000000P010E000000000100000000D010P000000000100000000101000000P0000E00000P0010E000000D0000P00000D0010P00000010000000000100100000010100000000001001000000N0100000P00001001000000C0100000P0000100100000010100000D0000100100000010100P00100001001000P0010100D00100001001000P0010100100100001001000D001010010010|5^36,36!8^444,84,1!8^516,252,1!8^564,420,1!12^720,168!12^672,168!12^624,168!12^576,168!12^132,576!12^132,528!12^180,552!12^228,528!12^228,576!12^228,576!12^312,528!12^312,576!12^360,528!12^360,576!12^384,576!12^384,528!12^696,276!12^432,120!12^360,348!12^408,504!12^420,504!12^432,504!12^444,504!12^456,504!0^732,60!0^708,60!0^684,60!0^660,60!0^636,60!0^612,60!0^588,60!0^300,96!0^264,96!0^228,96!0^192,96!0^156,96!0^120,96!0^84,96!0^756,132!0^756,144!0^756,156!0^744,156!0^744,144!0^744,132!0^732,132!0^732,144!0^732,156!0^468,252!0^432,252!0^396,252!0^360,252!0^324,252!0^288,252!0^252,252!0^216,252!0^180,252!0^144,252!0^108,252!0^72,252!0^708,444!0^708,432!0^708,420!0^732,420!0^732,432!0^732,444!0^756,444!0^756,432!0^756,420!0^60,480!0^84,456!0^108,480!0^132,456!0^156,480!0^180,456!0^204,480!0^228,456!0^252,480!0^276,456!0^300,480!12^276,480!12^204,456!12^132,480!12^60,456!12^672,420!12^492,504!12^504,504!0^96,324!0^96,312!0^96,300!0^60,300!0^24,300!0^24,312!0^24,324!0^60,324!0^60,312!12^36,348!12^72,348!12^240,288!0^36,252!11^48,564,474,492");
var _local48 = new LevelData("the clamps", "50002111111111111150002000001111111111111000000000011111111111110000000000111111111111100000000001111111111111000000000011111111111110000000000111111111111100000000001111111111111000000000011111111111110000000000111111111111100000000001111111111111000000000011111111111110000000000111111111111100000000001111111111111000000000011111111111110000000000111111111111100000000001111111111111000000000011111111111110000000000111111111111100000000001111111111111000000000011111111111110000000000111111111111100000000001111111111111000000000011111111111110000000000111111111111100000000002111111111115000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000003|5^36,516!11^84,564,36,84!1^708,420!1^708,180!1^708,348!1^708,252!1^612,516!1^540,516!1^468,516!1^396,516!1^324,516!1^252,516!1^180,516!1^612,84!1^540,84!1^468,84!1^396,84!1^324,84!1^252,84!1^180,84!4^324,138,1!4^372,570,1!6^156,132,0,1,0,0!6^660,396,1,1,0,3!6^612,564,0,1,0,0!6^396,36,1,1,0,0!6^84,108,3,0,0,0!6^468,492,2,0,0,0!0^588,516!0^564,516!0^516,516!0^492,516!0^444,516!0^420,516!0^372,516!0^348,516!0^300,516!0^276,516!0^228,516!0^204,516!0^708,396!0^708,372!0^708,324!0^708,300!0^708,276!0^708,228!0^708,204!0^588,84!0^564,84!0^516,84!0^492,84!0^444,84!0^420,84!0^372,84!0^348,84!0^300,84!0^276,84!0^228,84!0^204,84!12^576,144!12^504,144!12^432,144!12^360,144!12^288,144!12^216,144!12^216,576!12^288,576!12^360,576!12^432,576!12^504,576!12^576,576!12^576,456!12^504,456!12^432,456!12^360,456!12^288,456!12^216,456!12^768,384!12^768,300!12^768,216!12^648,216!12^648,300!12^648,384!12^576,24!12^504,24!12^432,24!12^360,24!12^288,24!12^216,24");
var _local36 = new LevelData("spitfire", "5000000000>E0000000000200000000000A000000000000000000000000000000000?0000000000000000000000000000FQQQQQQQI00GOOH00>000000000000000000000000000000000000000000000?00FQQI00GOOH00FQQQQQI000000000000000000000000>000000000000000000000000000000000000000000000?000GOOOOOH00FQQQI0000000000000000000000000000>000000000000000000000000000000000000000000000?000000000000000000000000000FQQQQI00GOH00FQQI0>000000000000000000000000000000000000000000000?00GOOOOOOOOH00FQQQI00000000000000000000000000>00000000000000000000000000000GOOH00FQQQQI0000?000000000000000000000000000000000000000000000>000FQQQQQQQI00GOOOOH0000000000000000000000000?0000000000000000000000000000FQI00GOOOH0000000>00@000000000000000@0000H?D00000000000000?D0003|5^744,432!11^732,60,60,276!0^204,348!0^204,324!0^300,300!0^300,276!0^204,204!0^204,180!0^132,396!0^132,372!0^420,420!0^420,396!0^420,300!0^420,276!0^492,324!0^492,348!0^564,300!0^564,276!0^636,324!0^636,348!0^708,252!0^708,228!12^108,564!12^204,564!12^300,564!12^396,564!12^492,564!12^588,564!12^684,564!12^636,552!12^540,552!12^444,552!12^348,552!12^252,552!12^156,552!12^732,552!12^60,552!6^540,36,0,1,0,2!6^36,468,1,1,0,3!6^660,36,1,1,0,0!6^348,564,0,1,0,0!6^36,156,0,1,0,1");
var _local31 = new LevelData("enclave", "1000000FIFIFIFIFIFI0021501100000000000000000010015000000000000000000B0020000000000000000000>00000000000000000000000000000000000000000000000000000000000000000000?0000000000000000000000N0000000000000000000000N0000000000000000000000>00000000000000000000000000000000000000000000000000000000000000000000?0000000000000000000000C0000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000B0000000000000000000000>00000000000000000000000000000000000000000000000000000000000000000000?0000000000000000000000N0000000000000000000000N0000000000000000000000>00000000000000000000000000000000000000000000000000000000000000000000?0030000000000000000000C001400000000000000000014011400GHGHGHGHGHGH0031|5^60,60.15!11^744,60,396,540!1^636,156!1^564,108!1^444,156!1^240,204!1^264,120!1^396,240!1^312,336!1^420,444!1^492,420!1^588,312!1^516,252!1^552,468!1^672,420!1^696,348!1^636,504!1^600,396!1^660,240!1^456,324!1^540,180!1^708,192!1^108,192!1^156,132!1^324,180!1^252,408!1^120,480!1^228,516!1^312,480!1^84,408!1^180,360!1^108,288!1^240,288!1^168,240!1^372,372!1^348,276!1^444,396!1^468,216!1^192,432!1^396,84!1^492,60!1^204,72!6^684,540,2,1,0,2!6^180,204,5,1,0,0!6^588,252,5,1,0,1!6^324,444,3,1,0,3!6^108,372,5,1,0,0!6^396,180,3,1,0,1!12^36,84!12^36,108!0^156,108!0^156,96!0^348,252!0^348,240!0^492,396!0^492,384!0^636,480!0^636,468!0^696,324!0^696,312!0^252,384!0^252,372!0^468,192!0^468,180!0^636,132!0^636,120!0^324,156!0^324,144!0^180,336!0^180,324!0^120,456!0^120,444!0^228,492!0^228,480!0^600,372!0^600,360!0^420,420!0^420,408!0^108,264!0^108,252!0^708,168!0^708,156!0^372,348!0^372,336");
var _local45 = new LevelData("workshop", "00211502115021150211500000000000000000000000000000000000000000000000040000000000000000000003111001110011100111001111110011100211001110011111100111000110021100111111001110001100011001111110011100011000110021111100111000110031100011111001110031100111000111110011100111002110001111100111002110001100011111001110001100011000111150011100011003110031111000111000110011100111114001110001100211002111110011100011000110001111100111003110001100011111001110011100311000111110011100211001110001111100111000110021100011111001110001100011003111110011100011000110011111100111000110031100111111001110031100111001111110011100111001110011150000000000000000000002000000000000000000000000000000000000000000000000311403114031140311400|5^756,552!6^732,108,3,1,0,3!6^108,204,3,1,0,3!6^60,252,2,1,0,3!6^108,420,3,1,0,1!6^684,276,3,1,0,1!4^300,522,1!4^492,522,1!4^588,402,1!4^444,402,1!4^348,402,1!4^204,402,1!4^228,282,1!4^396,282,1!4^564,282,1!4^396,138,1!11^396,492,396,84!0^516,372!0^516,360!0^516,348!0^396,372!0^396,360!0^396,348!0^276,372!0^276,360!0^276,348!0^300,252!0^300,240!0^300,228!0^492,252!0^492,240!0^492,228!0^660,228!0^660,252!0^660,240!0^132,228!0^132,240!0^132,252!0^648,372!0^648,360!0^648,348!0^144,372!0^144,360!0^144,348!0^756,180!0^756,300!0^756,420!0^36,420!0^36,300!0^36,180");
var _local41 = new LevelData("study", "11111500000000000211111111110000000000000111111111100000000000001111111111000000000000011111111110000000000000111111111000000000000001111111111000000000000011111111110000000000000111111111100000000000000111111111000000000000011111111110000000000000111111111100000000000001111111111000000000000011111111110000000000000111111111100000000000001111111110000000000000011111111110000000000000111111111100000000000001111111111000000000000011111111110000000000000111111111100000000000001111111111000000000000001111111110000000000000111111111100000000000001111111111000000000000011111111110000000000000111111111000000000000001111111111000000000000011111111110000000000000111111111100000000000001111111111400000000000311111|5^756,408!11^72,444,120,228!1^708,252!1^504,336!1^276,312!1^348,216!1^564,228!1^396,396!1^156,420!1^60,336!1^180,300!1^636,372!3^36,300!8^156,132,1!8^396,132,1!8^660,132,1!8^540,468,3!8^228,468,3!6^300,180,3,0,0,2!6^60,396,2,0,0,3!6^372,180,2,1,0,0!6^756,324,3,1,0,3!12^456,456!12^324,456!12^228,396!12^192,216!12^444,312!12^456,180!12^648,192!12^600,300!12^120,360!12^360,312!12^588,420!0^174,276!0^186,276!0^186,264!0^174,264!0^270,288!0^282,288!0^282,276!0^270,276!0^342,192!0^354,192!0^354,180!0^342,180!0^558,204!0^570,204!0^570,192!0^558,192!0^702,228!0^714,228!0^714,216!0^702,216!0^510,312!0^498,312!0^498,300!0^510,300");
var _local50 = new LevelData("therapists", "11000000002110000000011150000000001500000000210000000000010000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000031000000000000000000000114000000000011400000001110000000311111111111111111111111111111111111111111111111111111111111111111111111500000000000000000000020000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000311111111111111111111111111111111111111111111111111111111111111111111111500000001110000000211000000000021100000000000000000000015000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000100000000000000000000001000000000001400000000310000000003111000000001140000000011|5^444,516!11^396,564,396,36!6^444,156,3,1,0,3!6^348,420,2,1,0,3!6^372,36,2,1,0,1!6^372,324,2,1,0,3!8^396,348,1!8^396,252,3!1^420,516!1^372,468!1^420,420!1^372,180!1^420,132!1^372,84!12^336,132!12^456,180!12^456,348!12^456,300!12^336,300!12^336,252!12^456,84!12^336,420!12^456,468!12^336,516");
var _local54 = new LevelData("momentous", "MI00000000000FJ11111111000000000000000FJ111111H0000000000000000FJ1111I000000000000000000FJ11000000000000000000000FJH00000000000000000000GKI000000000000000000GK110000000000000000000FJ11000000000000000000000FJH00000000000000000000GKI000000000000000000GK11H0000000000000000GK1111I00000000000000GK1111110000000000000GK1111111100000000000GK111111111100000000000FJ11111111110000000000000FJ11111111H00000000000000FJ111111I0000000000000000FJ11110000000000000000000FJ11000000000000000000000FJH00000000000000000000GKI000000000000000000GK1100000000000000000GK111100000000000000000FJ11110000000000000000000FJ11H00000000000000000000FJI00000000000000000000GKH000000000000000000GK11I0000000000H00000GK1111LH0000000001LH0GK111111|5^756,372!11^756,276,192,456!12^528,552!12^672,552!12^240,552!12^144,552!0^384,264!0^600,408!0^516,528!0^528,528!0^540,528!0^660,528!0^672,528!0^684,528!0^672,540!0^528,540!0^240,540!0^228,528!0^240,528!0^252,528!0^144,540!0^132,528!0^144,528!0^156,528!0^684,516!0^672,516!0^660,516!0^540,516!0^528,516!0^516,516!0^252,516!0^240,516!0^228,516!0^156,516!0^144,516!0^132,516!0^672,504!0^528,504!0^240,504!0^144,504!6^756,180,3,1,0,3!6^36,156,2,1,0,3!6^228,156,3,1,0,3!6^372,36,2,1,0,0!6^204,36,2,1,0,1!0^384,276!0^384,252!0^600,420!0^600,396!0^612,408!0^588,408!0^396,264!0^372,264!0^192,468!0^180,456!0^204,456!0^192,444");
var _local52 = new LevelData("craterrific", "11111111111111111111111111500000000211111111111150000000000111111111115000000000031111111111100000000000021111111111000002140000011111111110000001100003111111111100000011000002111111111000003110000001111111110000211140000311111111100000111100000211111111000001111000000111111110000311110000031111111100021111100000021111111000011111400000011111110000111111000003111111100031111110000002111111002111111100000001111110001111111000000311111100011111110000000211111003111111140000000111110002111111100000031111100001111111000000021111000011111110000000011110000111111100000003111100031111111000000002111000021111110000000001110000011111140000000311100000111111140000000211000001111111140000000114000311111111140000031|5^732,528!11^708,156,84,324!4^660,522,1!4^588,498,1!4^516,474,1!4^444,450,1!4^372,426,1!4^300,402,1!4^228,378,1!4^156,354,1!4^192,186,1!4^288,162,1!4^384,138,1!4^480,114,1!4^588,138,1!12^756,156!12^768,120!12^768,96!12^756,60!12^660,156!12^684,168!12^732,168!12^648,132!0^756,420!0^756,432!0^732,396!0^732,408!0^708,372!0^708,384!0^684,348!0^684,360!0^660,324!0^660,336!0^624,324!0^624,336!0^588,324!0^588,336!0^552,324!0^552,336!0^516,324!0^516,336!0^492,300!0^492,312!0^456,300!0^456,312!0^420,300!0^420,312!0^384,300!0^384,312!0^348,276!0^348,288!0^312,276!0^312,288!0^276,276!0^276,288!0^228,252!0^228,264!0^192,252!0^192,264!12^732,48!12^684,48!12^708,48!12^660,48!12^636,48!12^432,48!12^528,48!12^336,48!12^240,48!12^144,48!12^84,84!12^144,180!12^144,204!0^144,156!0^144,144!0^240,132!0^240,120!0^336,108!0^336,96!0^432,84!0^432,72!0^528,84!0^528,72!0^648,108!0^648,96");
var _local58 = new LevelData("fodder", "0000011111111111111111100000MI000000000000000F0000000000LH0000000000000000GK000FJ0000000000000000MI00000000000000000000000000LH000K000000000000GK000FJ000JH00000000000MI00000000000000000000000000LH0000000000000000GK000FJ0000000000000000MI00000000000000000000000000LH0000000000000000GK000FJ0000000000000000MI00000000000000000000000000LH000KI00000000000GK000FJ0001000000000000MI00000000JH0000000000000000LH0000000000000000GK000FJ0000000000000000MI00000000000000000000000000LH0000000000000000GK000FJ0000000000000000MI00000000000000000000000000LH000KI00000000000GK000FJ000J000000000000MI00000000000000000000000000LH0000000000000000GK000FJ0000000000000000MI00000000000000000000000000LH0000000000G00000000001111111111111|5^756,228!6^156,252,2,1,0,2!6^396,204,2,1,0,0!6^492,132,3,1,0,0!6^420,36,3,1,0,2!12^732,156!12^756,156!10^168,420!10^600,420!10^396,420!12^600,384!12^384,384!12^408,384!12^168,384!12^192,408!12^360,408!12^432,408!12^576,408!11^744,252,756,84!12^516,228!12^372,264!12^180,192!12^228,264!12^108,192!12^612,168!12^684,168!12^540,168!12^468,168!12^396,168!12^324,168!12^252,168!12^180,168!12^660,168!12^588,168!12^516,168!12^444,168!12^372,168!12^300,168!12^228,168!12^156,168!12^60,84!12^276,84!12^492,84!12^636,108!12^564,132!12^420,132!12^348,108!12^204,132!0^720,564!0^696,564!0^672,564!0^648,564!0^624,564!0^600,564!0^576,564!0^552,564!0^528,564!0^504,564!0^480,564!0^456,564!0^432,564!0^408,564!0^384,564!0^360,564!0^336,564!0^312,564!0^288,564!0^264,564!0^240,564!0^216,564!0^192,564!0^168,564!0^144,564!0^120,564!0^96,564!0^72,564!12^708,288!12^636,288!12^564,288!12^492,288!12^420,288!12^348,288!12^276,288!12^204,288!12^132,288!0^60,108!0^204,108!0^276,108!0^348,84!0^420,108!0^492,108!0^564,108!0^636,84!0^708,108!0^588,228!0^660,228!0^444,228!0^372,228!0^300,228!0^228,228!0^156,228!0^84,228!0^132,108");
var _local56 = new LevelData("breen district", "111I00000BI00BI00BI0002115000000000000000000001A00000C0000000C0000000M000D00>@000D00>@000D00000?A000E00?A000E00?A00000B0000000B0000000B0000000000000000000000000300000000000000000000001000000000CH00CH00CH00?1000000C11111111111111110000001A00FJI0FJI0FJI0F0000001000000000000000000000010GKH0GKH0GKH0GK100000010111111111111111000000F01I0BI00BI00BI0B0000000?M0000000000000>0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000>L00000000H00000000000G010000000011@0000000001010000000011D00000000010100000000PN1H0CL0000?10100000000PN11111H0C11E0100000000A>1MQQQJ111A0010000000000000000000000100000000H00GOH00GOH00G1@000000?|5^216,516!11^672,48,300,564!1^468,540!1^684,540!1^612,516!1^540,516!10^732,396!6^348,204,3,0,0,2!6^660,348,3,0,0,0!6^732,84,3,0,0,1!0^684,516!0^684,504!0^612,492!0^612,480!0^540,492!0^540,480!0^468,516!0^468,504!0^648,492!0^660,480!0^576,468!0^576,456!0^504,492!0^492,480!0^720,516!0^732,504!0^432,516!0^420,504!0^444,516!0^456,516!0^516,492!0^528,492!0^708,516!0^696,516!0^636,492!0^624,492!0^600,480!0^588,480!0^552,480!0^564,480!0^672,504!0^660,504!0^480,504!0^492,504!0^564,444!0^588,444!0^720,528!0^732,540!0^432,528!0^420,540!0^660,132!0^660,120!0^684,228!0^684,216!0^672,216!0^672,228!0^648,132!0^648,120!4^84,570,1!0^576,516!0^576,504!0^576,492!0^564,528!0^588,528!0^600,540!0^552,540!0^552,552!0^600,552!0^612,540!0^624,552!0^540,540!0^528,552!0^564,564!0^588,564!0^636,552!0^516,552!0^504,540!0^504,564!0^648,540!0^648,564!3^192,300!3^60,276!3^96,168!0^108,492!0^132,396!0^108,300!0^132,204!0^108,108!6^300,468,3,0,0,3!0^132,384!0^108,480!0^108,288!0^132,192!0^108,96!0^324,156!0^300,156!0^348,144!0^276,144!0^288,120!0^336,120!0^336,156!0^288,156!0^276,132!0^348,132!0^312,156!0^288,132!0^336,132!0^312,120!0^312,132!0^300,144!0^324,144!0^324,108!0^300,108");
var _local61 = new LevelData("slitherin", "15021111111111111111111100015000000000000000211000Q00000000000000000114000031111111111111001111111111111111111150011500000000000000000000110000000000000000000031100111111111111111111111002111111111111111111110000000000000000000021100000000000000000000011400000000000000000000111111111111111111110001111111111111111111100011111111111111111115000115000000000000000000001100000000000000000000011000000000000000000003110001111111111111111111100011111111111111111111000211111111111111111110000000000000000000021140000000000000000000011111111111111111111100111111111111111111115001150000000000000000000011000000000000000000003110011111111111111111111100211111111111111111111000000000000000000002114000000000000000000001|5^756,540!6^60,300,3,1,0,3!6^156,276,2,1,0,3!6^588,540,3,1,0,0!6^396,444,2,1,0,3!6^444,204,3,1,0,1!11^60,108,480,108!12^720,468!12^768,360!12^720,252!12^768,132!12^672,192!12^624,300!12^672,408!12^576,492!12^576,300!12^576,108!12^576,396!12^576,204!12^456,408!12^384,408!12^456,168!12^384,168!12^384,288!12^456,288!12^312,288!12^240,288!12^240,168!12^312,168!12^312,408!12^240,408!12^312,348!12^240,348!12^240,228!12^312,228!12^312,468!12^240,468!12^276,552!12^420,552!12^348,552!12^660,540!12^540,540!12^180,540!12^60,540!12^120,552!12^132,492!12^192,144!12^144,192!12^192,240!12^144,276!12^192,312!12^144,360!12^192,408!12^144,456!12^192,504!12^144,96!12^96,468!12^96,444!12^48,432!12^48,408!12^96,384!12^96,360!12^48,348!12^48,324!12^96,312!12^96,288!12^48,276!12^48,252!12^96,240!12^96,216!12^48,204!12^48,180!0^276,492!0^276,444!0^276,432!0^276,384!0^276,372!0^276,324!0^276,312!0^276,264!0^276,252!0^276,204!0^276,192!0^276,144");
var _local57 = new LevelData("tantalizing ", "0000000101010101000000000000000000000000000000000000000000000000000000000001010101010100000000000000000000000000000000000000000000000000000000010101010101010000000000000000000000000000000000000000000000000000000101010101010101000000000000000000000000000000000000000000000000000001010101010101010100000000000000000000000000000000000000000000007D000101010101010101010110000000000000000000006E00000000000000000000000000010101010101010101000000000000000000000000000000000000000000000000000001010101010101010000000000000000000000000000000000000000000000000000000101010101010100000000000000000000000000000000000000000000000000000000010101010101000000000000000000000000000000000000000000000000000000000001010101010000000|5^396,564!11^396,564,396,48!12^396,108!12^396,156!12^396,204!12^396,252!12^396,300!12^396,348!12^396,396!12^396,444!12^396,492!12^468,468!12^468,420!12^468,372!12^468,324!12^468,276!12^468,228!12^468,180!12^468,132!12^324,132!12^324,180!12^324,228!12^324,276!12^324,324!12^324,372!12^324,420!12^324,468!12^540,444!12^540,396!12^540,348!12^540,300!12^540,252!12^540,204!12^540,156!12^252,156!12^252,204!12^252,252!12^252,300!12^252,348!12^252,396!12^252,444!12^612,420!12^612,372!12^612,324!12^612,276!12^612,228!12^612,180!12^180,180!12^180,228!12^180,276!12^180,324!12^180,372!12^180,420!12^684,396!12^684,348!12^684,300!12^684,252!12^684,204!12^108,204!12^108,252!12^108,300!12^108,348!12^108,396!12^756,372!12^756,324!12^756,276!12^756,228!12^36,228!12^36,276!12^36,324!12^36,372!12^252,120!12^324,96!12^468,96!12^540,120!12^612,144!12^684,168!12^756,180!12^36,180!12^108,168!12^180,144!12^756,420!12^36,420!12^108,432!12^180,456!12^252,480!12^324,504!12^468,504!12^540,480!12^612,456!12^684,432!12^756,564!12^36,564!12^36,492!12^756,492!12^756,36!12^36,36!12^36,108!12^756,108!0^708,228!0^708,180!0^732,204!0^732,252!0^708,276!0^732,300!0^708,324!0^732,348!0^708,372!0^732,396!0^708,420!0^84,420!0^60,396!0^84,372!0^60,348!0^84,324!0^60,300!0^84,276!0^60,252!0^84,228!0^60,204!0^84,180!0^72,192!0^72,216!0^72,240!0^72,264!0^72,288!0^72,312!0^72,336!0^72,360!0^72,384!0^72,408!0^720,408!0^720,384!0^720,360!0^720,336!0^720,312!0^720,288!0^720,264!0^720,240!0^720,216!0^720,192!0^420,84!0^420,132!0^420,180!0^420,228!0^420,276!0^420,324!0^420,372!0^420,420!0^420,468!0^444,492!0^348,492!0^372,468!0^372,420!0^372,372!0^372,324!0^372,276!0^372,228!0^372,180!0^372,132!0^372,84!0^348,108!0^348,156!0^348,204!0^348,252!0^348,300!0^348,348!0^348,396!0^348,444!0^444,444!0^444,396!0^444,348!0^444,300!0^444,252!0^444,204!0^444,156!0^444,108");
var _local55 = new LevelData("piqued", "11150000000000000002111115000000000000000002111500000031001400000002150000003110011400000002000000000200500000000000000000000000000000000000002150000000014000000000000003100140211500000000000000000000000000000021500000000000000000000000031000014021150004000000000000000000000011140000000000000000000500000310000001400000030000000000340000000211100000000001100000000000000000000025000000031114000002100000015000000211150000000000000000000500000000000000000000000000000210000150311400000031400000000000000000000000000000000000000000000000021001503114000000003140000000015000000000000000000000000000000000000003004000000000040000002110011500000003140000002100150000000311140000000000000000031111140000000000000003111|5^636,552!11^396,564,396,36!9^684,288,1,0,16,21,1,0,-1!9^108,288,1,0,16,21,1,0,0!9^396,204,1,0,16,22,1,0,0!0^588,300!0^588,276!0^516,324!0^516,300!0^516,276!0^516,252!0^444,228!0^444,252!0^444,348!0^444,324!0^456,300!0^456,276!0^348,348!0^348,324!0^336,300!0^336,276!0^348,252!0^348,228!0^276,324!0^276,300!0^276,276!0^276,252!0^204,300!0^204,276!10^396,348!10^396,228");
var _local60 = new LevelData("surprise", "50000000001111111111111000000000002111111111110000000000001111111111100000000000002111111111000000000000002111111110000000000000002111111100000000000000002111111000000000000000002111110000000000000000002111100000000000000000002111000000000000000000002110000000000000000000002100000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000310000000000000000000011100000000000000000003111000000000000000000311110000000000000000031111100000000000000003111111000000000000000311111110000000000000031111111100000000000003111111111000000000000311111111110000000000031111111111140000000003111111111111|5^516,492!1^684,228!1^540,252!1^252,252!1^108,228!1^468,132!1^324,132!1^156,108!1^636,108!2^540,252,0.707106781186547,-0.707106781186547!2^252,252,-0.707106781186547,-0.707106781186547!2^108,228,-0.707106781186547,-0.707106781186547!2^684,228,0.707106781186547,-0.707106781186547!2^468,132,0.707106781186547,-0.707106781186547!2^324,132,-0.707106781186547,-0.707106781186547!2^156,108,-0.707106781186547,-0.707106781186547!2^636,108,0.707106781186547,-0.707106781186547!6^756,252,3,1,0,3!6^36,180,2,1,0,3!6^324,36,3,1,0,2!6^636,36,2,1,0,0!11^396,564,396,84!12^396,516!12^420,540!12^372,540!0^540,228!0^540,216!0^684,204!0^684,192!0^468,108!0^468,96!0^636,84!0^636,72!0^324,108!0^324,96!0^156,84!0^156,72!0^108,204!0^108,192!12^396,204!1^396,204!12^396,300!1^396,300!0^396,180!0^396,168!0^252,228!0^252,216!0^372,204!0^360,204!0^420,204!0^432,204!0^396,228!0^396,240!0^396,264!0^396,276!0^420,300!0^432,300!0^372,300!0^360,300!0^396,324!0^396,336");
var _local59 = new LevelData("systematic", "50002115000150000150002000001100000000000000000000021000000000000000000000000000000000140000400000000000000005000001000000000014000000000000000000000500000000000000000000000000004000000000000000000000015000000000000000000000000000000003100000000000000004000011400014000311111011111111111111111111150111110000000000000000001111000000000000000000011110000000000000000000111000000000000000000001000000000000000000000011111111111111111111100111111111111111111115001111000000000021111100011110000000000011111000111500000000000211110001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000114000000000000000000001111111111111140000000011111111111111100000003|5^504,528!7^348,540,3!7^372,540,3!7^396,540,3!7^444,516,3!7^420,516,3!7^396,516,3!7^348,492,3!7^372,492,3!7^396,492,3!7^396,468,3!7^420,468,3!7^444,468,3!7^396,444,3!7^372,444,3!7^348,444,3!7^396,420,3!7^420,420,3!7^444,420,3!7^396,396,3!7^372,396,3!7^348,396,3!7^396,372,3!7^420,372,3!7^444,372,3!7^396,348,3!7^372,348,3!7^348,348,3!7^396,324,3!7^420,324,3!7^444,324,3!7^396,300,3!7^372,300,3!7^348,300,3!7^444,276,3!7^420,276,3!7^396,276,3!7^348,252,3!7^372,252,3!7^396,252,3!7^396,228,3!7^420,228,3!7^444,228,3!8^444,60,1!8^420,108,1!8^396,132,1!8^372,132,1!8^348,156,1!9^396,180,0,0,12,23,1,0,0!9^612,228,0,0,12,23,1,-1,0!11^540,564,168,96!2^216,432,0,-1!2^120,432,0,-1!2^192,288,0,-1!2^144,288,0,-1!3^84,84!3^252,60!0^300,396!0^300,384!0^300,372!0^300,360!0^300,348!0^36,420!0^36,408!0^36,396!0^36,384!0^36,372!0^36,360!0^36,348!2^168,576,0,-1!2^72,576,0,-1!0^300,276!0^300,264!0^300,252!0^300,240!0^300,228!0^36,276!0^36,264!0^36,240!0^36,252!0^36,228!0^60,132!0^48,132!0^36,120!0^36,108!0^36,96!0^36,84!0^36,72!0^36,60!0^36,48!0^48,36!0^60,36!0^72,36!0^84,36!0^96,36!0^108,36!0^120,36!0^132,48!0^144,60!0^156,60!0^168,60!0^180,60!0^180,48!0^180,36!0^192,36!0^204,36!0^216,36!0^228,36!0^240,36!0^252,36!0^264,36!0^276,36!0^288,48!0^300,60!0^300,84!0^300,72!0^300,108!0^300,96!0^300,120!0^300,132!0^288,132!0^276,144!0^264,156!0^252,168!0^252,180!0^252,192!0^72,132!0^84,144!0^96,156!0^108,168!0^108,180!0^108,192!10^516,252!2^756,564,-0.707106781186547,-0.707106781186547!2^768,516,-1,0!2^768,468,-1,0!2^768,420,-1,0!2^576,492,1,0!2^576,420,1,0!2^576,456,1,0!2^564,108,0.707106781186547,0.707106781186547!2^708,84,-0.707106781186547,0.707106781186547!2^504,156,1,0!2^720,132,-1,0!2^660,576,0,-1!2^708,576,0,-1!2^612,576,0,-1");
var _local13 = new LevelData("beach head", "11500000000000000000021110031150031115003400011103115003111500311103111011100311150031115011110111031150000000000111501110111003111114031100011101110311111111111000211011101111111500020000000111011500000000000000001110110000000000000000011101100000000000000000211011000000000000000000000150000000000000000000000000000000070000000000000000000000:00000000000000000000000000000000000000000000070001100000000000000000:00015000000000000000000000000000000000000000070000000000000000000000:00000000000000000000000000000000000000000000070000000000000000000000:00000000000000000000000000000000000000000000070000000000000000000000:00000000000000000000000800000000000000000000071111111111111111111111111111111111111111111111|5^204,540!12^420,108!12^492,108!12^420,132!11^456,84,156,492!6^276,276,0,0,0,2!6^132,180,0,0,0,2!6^180,84,1,0,0,2!6^252,180,1,0,0,2!6^132,444,1,0,0,3!6^84,516,0,0,0,2!6^36,348,0,0,0,3!0^480,60!0^468,60!0^456,60!0^444,60!0^432,60!0^432,48!0^444,48!0^456,48!0^468,48!0^480,48!0^480,36!0^468,36!0^456,36!0^444,36!0^432,36");
var _local4 = new Array();
_local4.push(_local19);
_local4.push(_local16);
_local4.push(_local27);
_local4.push(_local23);
_local4.push(_local37);
this.episodeList[70] = new EpisodeData("episode 70", "xxxx", _local4);
var _local3 = new Array();
_local3.push(_local24);
_local3.push(_local20);
_local3.push(_local32);
_local3.push(_local28);
_local3.push(_local42);
this.episodeList[71] = new EpisodeData("episode 71", "emulator", _local3);
var _local6 = new Array();
_local6.push(_local14);
_local6.push(_local12);
_local6.push(_local21);
_local6.push(_local17);
_local6.push(_local29);
this.episodeList[72] = new EpisodeData("episode 72", "carnelian", _local6);
var _local5 = new Array();
_local5.push(_local18);
_local5.push(_local15);
_local5.push(_local25);
_local5.push(_local22);
_local5.push(_local33);
this.episodeList[73] = new EpisodeData("episode 73", "intrigue", _local5);
var _local8 = new Array();
_local8.push(_local38);
_local8.push(_local34);
_local8.push(_local46);
_local8.push(_local43);
_local8.push(_local51);
this.episodeList[74] = new EpisodeData("episode 74", "platelet", _local8);
var _local7 = new Array();
_local7.push(_local44);
_local7.push(_local39);
_local7.push(_local49);
_local7.push(_local47);
_local7.push(_local53);
this.episodeList[75] = new EpisodeData("episode 75", "pretentious", _local7);
var _local10 = new Array();
_local10.push(_local30);
_local10.push(_local26);
_local10.push(_local40);
_local10.push(_local35);
_local10.push(_local48);
this.episodeList[76] = new EpisodeData("episode 76", "autosome", _local10);
var _local9 = new Array();
_local9.push(_local36);
_local9.push(_local31);
_local9.push(_local45);
_local9.push(_local41);
_local9.push(_local50);
this.episodeList[77] = new EpisodeData("episode 77", "equivocate", _local9);
var _local2 = new Array();
_local2.push(_local54);
_local2.push(_local52);
_local2.push(_local58);
_local2.push(_local56);
_local2.push(_local61);
this.episodeList[78] = new EpisodeData("episode 78", "squid", _local2);
var _local11 = new Array();
_local11.push(_local57);
_local11.push(_local55);
_local11.push(_local60);
_local11.push(_local59);
_local11.push(_local13);
this.episodeList[79] = new EpisodeData("episode 79", "dendritic", _local11);
};
NinjaData.prototype.BuildGameData_Set8 = function () {
var _local32 = new LevelData("Jumping up the Valley ( by Eli )", "0000FJ11111111111111111000000GK111111111111111000000FQJ1111111111111100000000GK11111111111110000000FQ11111111111111000000GO0FJ111111111111000000QI0GK1111111111110000000000FJ1111111111100000000000311111111111000000000031111111111110000000000211111111111100000000000B1111111111100000000000>111111111110000000000071111111111100000000FQJ1111111111110000000000021111111111100000000;<00B111111111100000000:=00C11111111110000000000GK111111111110000000000FJ1111111111100000000000311111111111000000000000FJ11111111100000000000G00F1111111100000000000I0GK11111111000000000000011111111110000000000000FJ111111110000000000000GK111111110000000000000B1111111110000000000031111111111100000000000211111111111000000000000C1111111111|5^756,300!11^756,300,36,132!0^48,132!0^42,120!0^30,120!0^42,144!0^54,120!0^60,132!0^54,144!0^48,108!0^36,108!0^66,114");
var _local29 = new LevelData("Prisoner ( by rrrobyp )", "000111111111111111111111011111000001111111111110:11110111015021110111100006E0B1E0B000111011110;1<0P0N1P0N4031110111101110P0N1P0N1011110111E0B110P0N1P0N1011110111P0N110P0N1P0N10:1110111P0N110P0N1D0C1800000111P0N110P0N11011111110111P0N110D0C11000011110111P0C11010111111010000001P000000000000E0B1111101P000000000000P0N1111E0BP000000000000P0N1111P0NP0B1101011111P0N1111P0NP0N110E0B1111P0N1111P0NP0N110P0N1111D0C1111P0NP0N110P0N11111011111P0NP0N110D0C11111000011P0NP0N11010111111111011P0NP0N1101000000001E0B1P0NP0N1101111111101P0N1P0NP0N110111111110BP0N1P0NP0N110:11111110NP0N1P0NP0N118000000000NP0N1P0NP0N111111111110NP0N1P0ND0C111111111110CP0N1P0N1011111111111101D0C1D0C1000000000000001101110111111111111111111000001|5^108,396!12^300,468!6^84,492,2,0,0,0!6^300,420,2,0,0,1!8^324,84,1!8^348,84,1!8^372,84,1!8^372,324,3!8^348,324,3!8^324,324,3!7^324,228,3!7^348,228,3!7^372,228,3!7^372,180,1!7^348,180,1!7^324,180,1!11^636,384,108,96!7^636,348,1!7^324,180,3!7^348,180,3!7^372,180,3!7^372,132,1!7^348,132,1!7^324,132,1!9^180,492,1,1,9,19,0,0,0!9^180,492,1,0,12,18,1,0,0!9^180,492,0,0,4,20,1,0,0!12^420,564!12^516,564!12^636,564!12^660,468!12^612,420!12^372,348!12^408,396!12^204,324!12^168,276!12^132,324!12^156,228!12^168,216!12^180,228!12^216,180!12^228,192!12^240,180!12^456,192!12^648,84!12^600,84!12^516,84!12^468,84!12^564,36!12^276,84!0^444,552!0^456,552!0^468,552!0^480,552!0^492,552!0^588,432!0^576,432!0^564,432!0^384,360!0^396,384!0^360,360!0^420,384!0^216,288!0^204,288!0^132,288!0^120,288!0^120,192!0^132,192!0^144,216!0^156,204!0^168,192!0^180,204!0^192,216!0^204,192!0^216,204!0^228,216!0^240,204!0^252,192!0^432,192!0^480,192!0^552,48!0^540,48!0^576,48!0^588,48!0^528,48!0^324,156!0^336,156!0^348,156!0^360,156!0^372,156!9^180,492,0,0,11,20,1,0,0");
var _local40 = new LevelData("Inhabitate ( by gabby_drummer )", "0111111111111111I00000>0111111111111111000000001111111111111110031400011111111111111100F1100H02111111111111100021001L021I0B1111111100001000140B00>1150?111@000100011400000000C111D0GK1000111431114001111I0B1100011111E0000C1111000B100011111A000C11111000G100011111000311111100C1100011111003111111100>1100011111001111111100?1100011111001111111100C110001111100F111111100F1100011111000111111A00?110001111100G111115000C1100011111L00G11E0000G11I0001111110011A0000311E0000111111001A0000G111A00001111110000000K111E00000111111000000K1111A0000011111100000311111@000001111110000?111115J00000111111000?11111100000?0F11111000C11111100000100J1111LH311111110000C1040B11111111111110003110E00G11111111111M0GK11101000000000000000031111|5^36,38!0^168,336!0^180,324!0^168,324!0^168,312!0^168,300!0^180,312!0^192,312!0^192,324!0^396,216!0^420,216!0^444,216!0^432,216!0^408,216!0^396,228!0^408,228!0^420,228!0^432,228!0^432,228!0^408,228!0^396,240!0^408,240!0^420,240!0^432,240!0^444,228!0^456,264!0^456,252!0^456,240!0^468,264!0^468,252!0^468,252!8^600,204,1!8^600,300,3!11^180,36,756,444!9^36,480,1,0,1,20,0,0,-1!9^60,480,1,0,2,20,0,0,-1!7^372,564,3!9^660,228,0,0,8,18,1,0,0!4^516,234,1!7^540,300,3!7^564,240,3!3^36,420!6^60,420,0,0,0,0!6^708,444,5,0,1,1!12^156,192!12^144,192!12^144,180!12^144,168!12^144,156!12^156,156!12^156,144!12^156,168!12^156,168!12^156,180!12^156,204!0^168,144!0^168,156!0^168,168!0^168,180!0^168,192!0^180,204!0^180,192!0^180,180!0^180,168!0^180,156!0^180,144!0^192,144!0^192,156!0^192,168!0^192,180!0^192,192!0^192,216!0^192,204!10^708,36!8^552,480,1!8^552,480,1!8^528,492,1!8^504,504,1!8^480,504,1");
var _local36 = new LevelData("Full Circle ( by Brickman )", "55555550000000002222222555555031111111402222225555503500000002402222255550350000000002402222555035000000000002402225503500000000000002402250350000000000000002402035000000000000000002400100000000000000000001001000000000000000000010010000000000000000000100100000000000000000001001000000000000000000010010000000000000000000100100000000000000000001001000000000000000000010010000000000000000000100100000000000000000001001000000000000000000010010000000000000000000100100000000000000000001001000000000000000000010010000000000000000000100200000000000000000035040200000000000000003503440200000000000000350334440200000000000035033344440200000000003503333444440200000000350333334444440211111115033333344444440000000003333333|5^396,564!7^396,564,0!11^372,564,396,36!0^564,36!0^228,36!10^324,564!0^420,564!0^564,564!0^36,228!0^36,372!0^36,300!0^756,228!0^756,372!0^756,300!0^36,264!0^36,336!0^756,264!0^756,336!0^456,564!0^492,564!0^528,564!0^528,36!0^492,36!0^456,36!0^420,36!0^372,36!0^336,36!0^300,36!0^264,36");
var _local50 = new LevelData("Pipes ( by Lancer0 )", "0000000000111000000000000000000001110000000000000OOOOO0011100000000000000111000111000;111111000011100011100011111110000111000111000111111100001111111110001110000000011111111100011100000000:1111111=0001110000000000011100000QQQQQ0000000000111000000000000000000001110000000000000000000QQQQQ00000000000000000000000000000N0000000000000000000000N111110000P000000000000N111111111P000000000000N111111111P000000000000N000001111P0000000000000000000000P00000000000000000000000000000000000000000000000000000000OOOOO000000000000000000011100000000000000000000111000000N0000000000000111000000N1111111111111111000000N1111111111111111000000N111111111111111=000000N000000000111000000000000000000001110000000000000000000011100000000|5^396,432!0^102,198!0^114,198!0^126,198!0^138,198!0^150,198!0^162,198!0^102,210!0^114,210!0^126,210!0^138,210!0^150,210!0^162,210!7^84,444,3!7^36,444,3!7^36,468,3!7^84,468,3!7^84,492,3!7^36,492,3!7^36,516,3!7^84,516,3!7^84,540,3!7^36,540,3!9^132,204,1,0,2,18,1,0,-1!8^348,564,2!0^174,486!0^186,486!0^198,486!0^210,486!0^222,486!0^234,486!0^234,498!0^222,498!0^210,498!0^198,498!0^186,498!0^174,498!8^348,540,2!0^246,270!0^258,270!0^270,270!0^282,270!0^294,270!0^306,270!0^306,282!0^294,282!0^282,282!0^270,282!0^258,282!0^246,282!9^204,492,1,0,2,22,1,0,-1!11^60,564,276,276!3^468,264!12^60,264!12^120,264!12^276,576!12^216,576!0^702,306!0^714,306!0^726,306!0^738,306!0^750,306!0^762,306!0^762,294!0^750,294!0^738,294!0^726,294!0^714,294!0^702,294!12^480,455!12^447,478!12^476,506!12^521,534!12^451,534!12^478,566!12^558,571!12^650,563!12^588,492!12^622,539!12^620,567!12^687,566!12^637,492!12^685,501!12^759,565!12^559,514!12^533,511!0^702,390!0^714,390!0^726,390!0^738,390!0^750,390!0^762,390!0^762,402!0^750,402!0^738,402!0^726,402!0^714,402!0^702,402!9^732,396,1,0,2,21,1,0,-1!12^743,546!12^725,495!12^716,454!12^762,435!9^732,300,1,0,2,20,1,0,-1!0^402,78!0^402,90!0^402,102!0^402,66!0^402,54!0^402,42!0^390,42!0^390,54!0^390,66!0^390,78!0^390,90!0^390,102!9^396,72,1,0,2,19,1,0,-1!12^696,156!12^768,156!12^696,240!12^768,240!12^396,114!12^396,30!4^252,186,1!12^276,192!12^156,120!7^84,444,2!7^36,444,0!7^36,468,0!7^36,492,0!7^36,516,0!7^84,516,2!7^84,492,2!7^84,468,2!4^156,258,1!4^108,114,1!6^708,300,2,0,0,3!6^756,108,2,0,0,1");
var _local37 = new LevelData("I aint paying no landing fee ( by Ninja )", "00P00000PP0000011111111000000000P0001011111111000000000P00C1011111111000011PP01OO110111111110000FJ1P0P00000E0000GOO00000?1PKP000000000011100000N1P11400000000K11100000N1PJ11OO0000OO111100000N1P011P0000000N11100000>1PK11QQ0000QQ11110000001P11500000000J1110000001PJP0000000000111000000BP0P000000;<00FQQ000000>A0P000000:=00000000000000P0000000000000000000000P0000000000000000000000P000000;<00000Q1P000000P000000:=00GOO011@0000KP00000000001110BPP000011400000000K11100PP0000J11OO0000OO111100PP0000011P0000000N11100PP0000K11QQ0000QQ111100PP000011500000000J11100PP0000JP00000000001110?PP00000P0000000000FQQ0CPP00000P0000000000000011111110P0000D00GOOOO0010000000111101111000000100000001111011110001100000000000000111100000|5^299,158!1^492,180!1^588,180!0^528,108!0^540,108!0^588,108!0^600,108!0^612,108!0^516,108!9^564,108,0,0,28,9,1,-1,0!9^564,108,0,0,28,1,1,0,0!9^504,48,1,0,31,10,1,0,-1!9^756,72,1,0,31,2,0,0,0!9^756,48,1,0,31,2,0,0,-1!1^540,396!1^228,396!11^756,564,72,312!9^120,372,0,0,4,15,0,0,0!3^36,264!7^744,516,1!7^756,516,1!9^696,564,0,0,28,23,0,0,0!3^756,468!7^336,540,1!7^360,540,1!7^384,540,1!7^408,540,1!7^432,540,1!8^228,312,1!8^540,312,1!8^540,468,3!8^228,468,3!4^426,570,1!4^426,570,1!0^516,72!0^528,72!0^540,72!0^588,72!0^600,72!0^612,72!0^612,24!0^600,24!0^588,24!0^540,24!0^528,24!0^516,24!0^72,384!0^84,384!0^60,384!0^60,360!0^72,360!0^84,360!0^708,360!0^720,360!0^732,360!0^732,336!0^720,336!0^708,336!0^384,504!0^372,492!0^384,492!0^396,492!0^384,480!0^708,348!0^720,348!0^732,348!0^60,372!0^72,372!0^84,372");
var _local33 = new LevelData("Errored screen ( by Edziu_Kosiara )", "OOOOOOOOOOOO000OOOOOOOOOOOOOOOOOOO0000000OOOOOOOOOOOOOOOO000O0000OOOOO00OOOOOOO000OO00000OOOOO00OOOOOO000OO000000OOOOO00OOOOO000OO000OO00OOOOO0OOOOOO00OO000OOO0OOOOO0OOOOOO00OO0000OO000OO00OOOOOOO0OOO00O0OO000000OOOOOOOOOO0O000OO0O0000OOOOOOOOOO00O00OO0O000OOOOOOOOOOO000000O0O000OOOOOOOOOOO000000O0O00OOOOOOOO0OOO00000000O0OOOOOOOOO00OO00000O00O0OOOOOOOO000OO00000OO0O00OOOOOO0000000OO00OO0OO0OOOO0000O000OOO0OOO0OO00OOO000OO00OOOO0OOO0OO00OOO00OO000OOOO0OOO0O000OOOOOOO000OOO000OO0OO00000000O000OOOO000O0OO0O000000O00000OO00O00OOOO0OOO0000OO00OOOO00OOOO00OOOO000OO00OOOO0OO0000OOOOOO00OO00OOOO00O0O0000OOOOO0OO00OOOOO000OOO000O00O0OO00OOOOOO00OOOO000000OOOOOOOOOO0000OOOOOOO00OOOOOOO0000O00OOOOOOOO000OOOOO0OO00|5^108,60!9^228,324,0,0,29,1,1,0,0!9^756,324,0,0,28,1,1,0,0!9^756,564,0,0,27,1,1,0,0!11^756,60,672,396!0^504,336!0^372,300!0^348,300!0^372,324!0^396,324!0^108,492!0^84,468!0^60,444!0^36,360!0^120,276!0^144,312!0^204,132!0^240,36!0^336,108!0^348,84!0^420,84!0^468,108!0^516,108!0^528,60!0^576,84!0^684,252!0^720,276!0^684,300!0^552,252!0^504,228!0^384,456!0^324,492!0^300,516!0^540,480!0^564,564!0^672,552!0^756,468!0^288,408!3^336,468!3^228,36!3^144,276!3^588,228!3^180,396");
var _local45 = new LevelData("Ramshackle Shelves ( by Echarin )", "111111111111111111111501111111111111111111MI001111111111115000000000011111111111500000000000111500000000000000000001MI000000000000000000001000000G0000G0000G000001000000B@000B@000B@00001000000>D000>D000>D000010000000B@000B@000B@00010000000>D000>D000>D000E00000000B@000B@000B@00A00000000>D000>D000>D000000000000I0000I0000I0000000000000000000000000000000000000000000000000000000000000000000000000000000000H0000H0000H0@000000000?E000?E000?E0D000000000CA000CA000CA0100000000?E000?E000?E00100000000CA000CA000CA0010000000?E000?E000?E00010000000CA000CA000CA00010000000F0000F0000F00001LH000000000000000000001114000000000000000000011111111111400000000000111111111111400000000001111111111111111111LH0011111111111111111111140|5^396,564!0^444,516!0^492,492!0^540,468!0^588,444!0^204,420!0^252,444!0^300,468!0^348,492!0^444,396!0^492,372!0^540,348!0^588,324!0^204,300!0^252,324!0^300,348!0^348,372!0^444,276!0^348,252!0^492,252!0^540,228!0^588,204!0^300,228!0^252,204!0^204,180!10^396,192!11^396,564,396,132!3^600,372!3^192,348!3^600,252!3^192,228!0^384,132!0^408,132!0^396,120!0^396,144");
var _local41 = new LevelData("8-pack ( by nnnnoah )", "1111111111111111111111111111111111111111111111111900006190000611111111110000001000000111111111100;<00000;<00111111111100:=00000:=001111111111000000100000011111111118000071800007111111111111111111100111111111111900006190000611111111110000001000000111111111100;<00000;<00111111111100:=00000:=001111111111000000100000011111111118000071800007111111111111001111111111111111111900006190000611111111110000001000000111111111100;<00000;<00111111111100:=00000:=001111111111000000100000011111111118000071800007111111111111111111100111111111111900006190000611111111110000001000000111111111100;<00000;<00111111111100:=00000:=00111111111100000010000001111111111800007180000711111111111111111111111111111111111111111111111111111|5^144,120!6^156,300,1,0,1,2!6^276,348,1,0,1,1!6^324,204,1,0,1,0!6^660,300,0,0,1,0!6^492,204,0,0,1,2!6^516,348,0,0,1,1!11^144,132,648,132!0^396,156!0^396,168!0^396,180!0^132,252!0^144,252!0^156,252!0^228,324!0^228,336!0^228,348!0^300,252!0^312,252!0^324,252!0^468,252!0^480,252!0^492,252!0^564,324!0^564,336!0^564,348!0^636,252!0^648,252!0^660,252");
var _local55 = new LevelData("sky = Limit ( by HeartView )", "000000F0I000000000000000000000000000000K1111110000000000000000000000600000000000000000000000000000000000000000000070000000000000111111111100000000000000000000006000000000000000000000000000000000000000000000700000000000000001111111000000000000000000000060000000000000000000000000000000000000000000007000000000000011111111110000000000000000000000600000000000000000000000000000000000000000000070000000000000000111111100000000000000000000006000000000000000000000000000000000000000000000700000000000001111111111000000000000000000000060000000000000000000000000000000000000000000007000000000011111111111110000000000000000000000600000000000000000000000000000000000000000000070000000000000J111111111000000G0H00000000000000|5^36,540!12^240,420!12^264,420!12^432,420!12^456,420!10^762,30!10^30,30!11^36,564,756,564!9^756,504,1,0,31,21,0,0,-1!9^36,504,1,0,1,21,0,0,-1!0^588,444!0^492,444!0^108,444!0^204,444!8^732,36,1!12^624,276!12^648,276!12^720,348!12^528,348!12^552,348!12^156,336!12^444,408!12^636,264!12^252,408!12^540,336!12^732,336!12^60,408!8^60,36,1!0^108,468!0^204,468!0^492,468!8^156,36,1!8^252,36,1!8^348,36,1!8^444,36,1!8^540,36,1!8^636,36,1!12^36,60!12^60,60!12^84,60!12^108,60!12^132,60!12^156,60!12^180,60!12^204,60!12^228,60!12^252,60!12^276,60!12^300,60!12^324,60!12^348,60!12^372,60!12^396,60!12^420,60!12^444,60!12^468,60!12^492,60!12^516,60!12^540,60!12^564,60!12^588,60!12^612,60!12^636,60!12^660,60!12^684,60!12^708,60!12^732,60!12^756,60!12^72,408!12^144,336!12^168,336!12^240,408!12^264,408!12^432,408!12^456,408!12^144,348!12^168,348!12^72,420!12^528,336!12^552,336!12^624,264!12^648,264!12^720,336!1^84,564!1^108,564!1^132,564!1^180,564!1^204,564!1^228,564!1^276,564!1^300,564!1^324,564!1^372,564!1^396,564!1^420,564!1^468,564!1^492,564!1^516,564!1^564,564!1^588,564!1^612,564!1^660,564!1^684,564!1^708,564!12^336,348!12^336,336!12^348,336!12^360,336!12^360,348!6^36,204,4,0,0,0!6^756,204,4,0,0,2!0^300,444!0^300,468!0^396,444!0^396,468!0^588,468!0^684,444!0^684,468!12^588,492!12^684,492!12^492,492!12^396,492!12^300,492!12^204,492!12^108,492!0^108,204!0^204,204!0^300,204!0^396,204!0^492,204!0^588,204!0^684,204!0^300,516!0^396,516!0^492,516!0^588,516!0^684,516!0^204,516!0^108,516!0^684,456!0^588,456!0^492,456!0^396,456!0^300,456!0^204,456!0^108,456!0^108,528!0^204,528!0^300,528!0^396,528!0^492,528!0^588,528!0^684,528");
var _local27 = new LevelData("Leap of Faith ( by Castaway )", "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000@000000000000000000000?P000000000000000000000CA000000000000000000000100000000000000000000001000000000000000000000010000000000000000000000B@000000000000000000000>P0000000000000000000000A0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000@0000000000000000000000D0000000000000000000000100000000000000000000|5^274,110!11^744,60,708,60!12^24,576!12^36,576!12^48,576!12^48,576!12^72,576!12^84,576!12^72,576!12^72,576!12^60,576!12^72,576!12^108,576!12^108,576!12^84,576!12^108,576!12^96,576!12^108,576!12^120,576!12^120,576!12^132,576!12^168,576!12^168,576!12^144,576!12^144,576!12^156,576!12^180,576!12^192,576!12^216,576!12^204,576!12^228,576!12^240,576!12^240,576!12^252,576!12^252,576!12^276,576!12^276,576!12^288,576!12^264,576!12^300,576!12^312,576!12^312,576!12^324,576!12^336,576!12^348,576!12^360,576!12^384,576!12^384,576!12^372,576!12^396,576!12^408,576!12^408,576!12^420,576!12^432,576!12^444,576!12^456,576!12^456,576!12^468,576!12^492,576!12^480,576!12^516,576!12^516,576!12^540,576!12^504,576!12^516,576!12^528,576!12^552,576!12^576,576!12^564,576!12^588,576!12^588,576!12^600,576!12^600,576!12^600,576!12^612,576!12^612,576!12^624,576!12^624,576!12^636,576!12^636,576!12^648,576!12^648,576!12^660,576!12^660,576!12^672,576!12^672,576!12^684,576!12^696,576!12^708,576!12^720,576!12^732,576!12^744,576!12^756,576!12^768,576!9^24,144,1,1,1,16,0,0,-1!9^24,156,1,1,2,16,0,0,-1!9^24,168,1,1,3,16,0,0,-1!9^24,180,1,1,4,16,0,0,-1!9^24,192,1,1,5,16,0,0,-1!9^24,204,1,1,6,16,0,0,-1!9^24,216,1,1,7,16,0,0,-1!9^24,228,1,1,8,16,0,0,-1!9^24,240,1,1,9,16,0,0,-1!9^24,252,1,1,10,16,0,0,-1!9^24,264,1,1,11,15,0,0,-1!9^24,276,1,1,12,14,0,0,-1!9^24,288,1,1,13,13,0,0,-1!9^24,300,1,1,14,12,0,0,-1!9^24,312,1,1,15,11,0,0,-1!9^24,324,1,1,16,10,0,0,-1!9^24,336,1,1,17,9,0,0,-1!9^24,348,1,1,18,8,0,0,-1!9^24,360,1,1,19,7,0,0,-1!9^24,372,1,1,20,6,0,0,-1!9^24,132,1,1,21,5,0,0,-1!9^24,120,1,1,22,4,0,0,-1!9^24,108,1,1,23,3,0,0,-1!9^24,96,1,1,24,3,0,0,-1!9^24,84,1,1,25,3,0,0,-1!9^24,72,1,1,26,3,0,0,-1!9^24,60,1,1,27,3,0,0,-1!9^24,48,1,1,28,3,0,0,-1!0^24,48!0^24,60!0^24,72!0^24,84!0^24,96!0^24,108!0^24,120!0^24,132!0^24,144!0^24,156!0^24,168!0^24,180!0^24,192!0^24,204!0^24,216!0^24,228!0^24,240!0^24,252!0^24,264!0^24,276!0^24,288!0^24,300!0^24,312!0^24,324!0^24,336!0^24,348!0^24,360!0^24,372!9^24,48,0,1,22,3,0,0,0!9^24,60,0,1,21,4,0,0,0!9^24,72,0,1,20,5,0,0,0!9^24,84,0,1,19,6,0,0,0!9^24,96,0,1,18,7,0,0,0!9^24,108,0,1,17,8,0,0,0!9^24,132,0,1,16,9,0,0,0!9^24,180,0,1,15,10,0,0,0!9^24,168,0,1,14,11,0,0,0!9^24,216,0,1,13,12,0,0,0!9^24,276,0,1,12,13,0,0,0!9^24,324,0,1,11,14,0,0,0!9^24,360,0,1,10,15,0,0,0");
var _local25 = new LevelData("hive jinks ( by newt )", "0KL00KL00KL00KL00KL00KL011001100110011001100110FI00FI00FI00FI00FI00FIL00KL00KL00KL00KL00KL0010011001100110011001100I00FI00FI00FI00FI00FI000KL00KL00KL00KL00KL00KL011001100110011001100110FI00FI00FI00FI00FI00FIL00KL00KL00KL00KL00KL0010011001100110011001100I00FI00FI00FI00FI00FI000KL00KL00KL00KL00KL00KL011001100110011001100110FI00FI00FI00FI00FI00FIL00KL00KL00KL00KL00KL0010011001100110011001100I00FI00FI00FI00FI00FI000KL00KL00KL00KL00KL00KL011001100110011001100110FI00FI00FI00FI00FI00FIL00KL00KL00KL00KL00KL0010011001100110011001100I00FI00FI00FI00FI00FI000KL00KL00KL00KL00KL00KL011001100110011001100110FI00FI00FI00FI00FI00FIL00KL00KL00KL00KL00KL0010011001100110011001100I00FI00FI00FI00FI00FI000KL00KL00KL00KL00KL00KL|5^60,36!11^708,564,756,36!6^564,84,5,0,1,1!6^684,468,5,0,1,3!6^204,516,5,0,1,0!6^132,156,5,0,1,2!0^468,312!0^504,312!0^480,324!0^492,324!0^480,300!0^492,300!0^396,360!0^408,372!0^420,372!0^408,348!0^420,348!0^432,360!0^36,408!0^48,396!0^60,396!0^48,420!0^60,420!0^72,408!0^252,264!0^264,276!0^276,276!0^264,252!0^276,252!0^288,264!0^324,216!0^336,204!0^348,204!0^336,228!0^336,228!0^348,228!0^360,216!0^684,168!0^696,156!0^708,156!0^696,180!0^708,180!0^720,168!0^600,36!0^516,36!0^660,492!0^660,420!0^156,468!0^240,468!0^84,204!0^168,204!0^168,132!0^84,132!0^516,108!0^600,108!0^744,420!0^744,492!0^240,540!0^156,540");
var _local34 = new LevelData("Longest ( by LouDog004 )", "000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0000000000000000000000P0|5^576,564!12^756,546!12^36,546!12^396,546!9^60,564,0,0,31,23,1,-1,0!11^36,564,756,564!12^576,546!12^216,546!12^486,570!12^666,570!12^306,570!12^126,570!0^744,546!0^678,570!0^654,570!0^588,546!0^564,546!0^498,570!0^474,570!0^408,546!0^384,546!0^318,570!0^294,570!0^228,546!0^204,546!0^138,570!0^114,570!0^48,546!0^372,546!0^420,546!0^462,570!0^510,570!0^552,546!0^600,546!0^642,570!0^690,570!0^732,546!0^330,570!0^282,570!0^240,546!0^192,546!0^150,570!0^102,570!0^60,546!4^396,570,1!4^756,570,1!4^36,570,1");
var _local30 = new LevelData("Lysis ( by stepself )", "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111115000B00000>A000A0000002>000>00000000000000000000000?0?00000000B000000000000>0000>MI00>A04000000F00?HGK111LH000000000000?0>1MI000FJ400000000000>40000000002400GK0000LH01000000000024000000000?E00000000000B@00000000CA00000000000>D00GK0000100000000000002MI00FI0010000000000000000H0000010000000000000GH0000000B@00000000000?E0F000000>D00000000000CA00000000024000000000350GH00000000240000000350000000MI00002L0000GK5FJ0000000000?00B0031MI000000G000000C00>050000?0000000I0000000A0@0000C00000000000000?00A0?@00000000040H0000C0A00000000@000311111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^468,564!9^660,60,0,0,24,10,1,-1,0!9^336,516,0,0,24,10,1,0,0!11^624,252,660,288!12^600,276!12^588,228!3^396,300!1^360,240!1^432,240!1^336,312!1^456,312!1^396,360!0^348,276!0^342,288!0^354,264!0^396,240!0^384,240!0^408,240!0^432,342!0^444,330!0^420,354!0^372,354!0^360,342!0^348,330!0^438,264!0^444,276!0^450,288!0^492,468!0^480,468!0^480,480!0^492,480!0^204,468!0^216,468!0^216,456!0^204,456!0^228,204!0^216,204!0^216,216!0^228,216!0^132,228!0^144,228!0^144,240!0^132,240!0^564,36!0^576,36!0^564,48!0^576,48!0^288,36!0^300,36!0^288,48!0^300,48!0^588,192!0^588,204!0^600,204!0^600,192!12^480,504!12^552,468!12^612,504!12^600,420!12^660,252!12^624,156!12^516,36!12^552,84!12^372,72!12^324,84!12^204,36!12^192,96!0^444,48!0^456,48!0^444,60!0^456,60!12^168,528!12^180,456!12^132,372!12^144,300!12^216,384!12^264,492!12^168,192!12^204,264!12^420,516!12^660,444!0^660,372!0^648,372!0^648,384!0^660,384!12^480,132!12^396,192!12^492,252!12^300,252!12^468,372!12^324,372!12^552,564!12^624,360");
var _local42 = new LevelData("Hieroglyphics ( by holy_trinity / Lartsa )", "00000001400000000000000400000021111400000000H0100000000002100000000241@0031111400E0GK11LH0011D00111MI000A000211140B1100115000000000002110>21031E031LH00000000FJ0005011A0152140311LH000000001503E0002000FJ1400000031001A030000000210000001503500140000300B0000002000000210000100>00000000000000100001400000300000000031@00021140GK10000GK11111D0000FJ111110002115002110000000C1MI4000000000B1000000?15001115000000>1000000CE000MI00000000014000031A0000000031MI00B1LH0025000340GK1MI0000>11500000GK1111150000000000400000FI500000000000000214?400000300000314000002111040@01@0000FJ1LH0031115010D02D000000211401MI0001010024000000B11050000G101400J114000>110000031102140002115002100GK11MI00020000000000100215000000000000000001400000000|5^324,252!12^732,84!12^720,72!12^768,24!12^36,240!12^528,72!12^468,48!12^456,60!12^528,48!12^480,240!12^480,216!0^276,60!0^228,84!0^204,84!0^156,108!0^132,108!0^36,180!0^36,168!0^36,156!0^300,372!0^324,372!0^720,408!0^720,396!0^612,60!0^732,324!0^756,324!0^744,324!0^732,312!0^732,300!0^744,300!0^756,300!0^756,312!0^132,408!0^132,396!0^132,384!0^144,444!0^192,372!0^192,396!0^192,384!0^204,180!0^204,168!0^252,156!0^252,144!0^600,216!0^600,204!0^384,96!0^384,84!6^204,84,0,0,2,0!6^732,492,0,0,2,1!8^564,84,1!8^540,564,0!0^84,228!0^84,252!0^84,276!0^96,288!0^108,300!0^132,300!6^708,156,0,0,2,0!6^132,396,0,0,2,0!12^456,456!12^444,444!9^396,468,1,0,31,3,1,0,0!9^720,36,1,0,1,12,1,0,0!9^36,252,1,0,19,3,1,0,0!9^36,252,1,0,20,3,1,0,0!9^36,252,1,0,21,3,1,0,0!11^420,564,492,36!8^84,432,2!12^564,456!12^588,36");
var _local31 = new LevelData("Gold'N Waffle ( by AlliedEnvy )", "0000000000000000000000000000000000000000000000000000000000GKD000000000000000000GKMIB@000000000000000GKMI00>D0000000000000GKMI00000B@0000000000GKMI000GK@0>D00000000GKMI00000B1D00B@00000GKMI000GK@0>MI00>D00000MI00000B1D0000000B@0000@00GK@0>MI000GK@0>D0000D00B1D0000000B1D00B@000B@0>MI000GK@0>MI00>D000>D0000000B1D0000000B@000B@00GK@0>MI000GK@0>D000>D00B1D0000000B1D00B@000B@0>MI000GK@0>MI00>D000>D0000000B1D0000000B@000B@00GK@0>MI000GK@0>D000>D00B1D0000000B1D00B0000B@0>MI000GK@0>MI00>0000>D0000000B1D00000GK00000B@00GK@0>MI000GKMI00000>D00B1D00000GKMI00000000B@0>MI000GKMI0000000000>D00000GKMI0000000000000B@00GKMI000000000000000>DGKMI000000000000000000BMI0000000000000000000000000000000000000000000000000000000000|5^276,60!3^372,348!3^468,396!3^516,300!3^420,252!3^324,204!3^276,300!0^324,324!0^396,300!0^372,228!0^468,276!0^540,252!0^564,324!0^516,420!0^492,348!0^420,372!0^444,444!0^348,396!0^252,348!0^228,276!0^300,252!0^276,180!0^348,156!0^336,180!0^360,132!0^300,192!0^252,168!0^348,216!0^396,240!0^444,204!0^456,180!0^432,228!0^444,264!0^492,288!0^528,276!0^552,228!0^540,312!0^588,336!0^504,324!0^480,372!0^492,408!0^540,432!0^456,420!0^432,468!0^444,384!0^396,360!0^384,324!0^408,276!0^312,228!0^288,276!0^252,288!0^204,264!0^264,324!0^240,372!0^360,372!0^336,420!0^348,336!0^300,312!11^276,60,516,540!0^372,108!0^468,156!0^564,204!0^612,228!0^588,216!0^540,192!0^516,180!0^492,168!0^444,144!0^420,132!0^396,120!0^636,240!0^660,252!0^648,276!0^636,300!0^624,324!0^612,348!0^600,372!0^588,396!0^576,420!0^564,444!0^552,468!0^540,492!0^528,516!0^492,528!0^468,516!0^444,504!0^420,492!0^396,480!0^372,468!0^348,456!0^324,444!0^300,432!0^276,420!0^252,408!0^228,396!0^204,384!0^180,372!0^156,360!0^132,348!0^144,324!0^156,300!0^168,276!0^180,252!0^192,228!0^204,204!0^216,180!0^228,156!0^240,132!0^252,108!0^264,84!0^300,72!0^324,84!0^348,96!12^324,204!12^276,300!12^420,252!12^516,300!12^468,396!12^372,348");
var _local28 = new LevelData("Genie in a bottle ( by Crono )", "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111119611111111000011111111100000006110:<0111111111871101<011000011111111111110110111<0;111111111111=0110111502111111900000071101150001111110;111111110:50000211196011111111180000000111000196111111500000002110001002111150000000001100010P0FQ0Q00000000001500010P0000000000000000000010P0GO0O000000000014000100311114000000000110001871111114000000031100011111111190000000111000:111111110;4000031118780000006110114000111111111111<011011140311111111111110110111=0:111111111961101=011000011111111100000007110;=01111111118711111111000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^396,84!7^372,288,3!7^420,288,3!7^372,360,3!7^420,360,3!7^396,552,3!7^300,408,3!7^324,324,3!7^492,408,3!7^468,324,3!2^360,204,1,0!2^432,204,-1,0!3^396,312!9^132,384,1,0,16,20,1,0,-1!9^660,384,1,0,16,20,1,0,0!0^492,384!0^300,384!0^372,336!0^420,336!0^468,300!0^420,264!0^372,264!0^324,96!0^468,96!0^456,108!0^444,120!0^432,132!0^336,108!0^348,120!0^360,132!6^636,348,0,0,0,0!6^156,348,1,0,0,2!0^324,300!9^372,564,1,0,26,6,1,0,-1!9^420,564,1,0,6,6,1,0,-1!6^396,564,4,0,1,3!9^636,120,0,0,25,8,1,0,0!9^636,120,0,0,7,8,1,-1,0!9^156,120,0,0,15,1,1,-1,0!9^156,120,0,0,17,1,1,0,0!11^396,36,396,168!0^456,96!0^444,108!0^432,120!0^360,120!0^348,108!0^336,96!0^156,168!0^156,180!0^636,168!0^636,180!0^636,228!0^636,240!0^156,228!0^156,240");
var _local38 = new LevelData("Up Down ( by maximo )", "90000000000?A000000000600000000000N0000000000000000000000C000000000000000000000:111<00000000000000000000000000000000000000000;111=0000000000000000000B0000000000000000000000N0000000000000000000000>@0000000000000000000000P0000000000000000000000D0000000000000000000;111=00000000000000000000000000000000000000000:111<000000000000000000000E0000000000000000000000P000000000000000000000?A000000000000000000000N0000000000000000000000C000000000000000000000:111<00000000000000000000000000000000000000000;111=0000000000000000000B0000000000000000000000N0000000000000000000000>@0000000000000000000000P0000000000000000000000D0000000000000000000;111=00000000000000000000000000000000000000000:111<000000000800000000000E0000000007|5^756,300!0^444,324!0^456,324!0^468,324!0^468,336!0^468,348!0^564,348!0^564,336!0^564,324!0^576,324!0^588,324!0^660,300!0^648,300!0^636,300!0^660,288!0^660,276!0^396,300!0^384,300!0^372,300!0^372,288!0^372,276!0^252,300!0^264,300!0^276,300!0^276,288!0^276,276!0^180,324!0^180,336!0^180,348!0^204,324!0^192,324!0^84,348!0^84,336!0^84,324!0^72,324!0^60,324!7^708,252,3!7^516,372,1!7^324,252,3!7^132,372,1!10^564,288!10^468,288!10^180,288!10^84,288!1^708,180!1^324,180!1^132,444!1^516,444!12^48,564!12^72,564!12^36,540!12^96,564!12^120,564!12^144,564!12^168,564!12^192,564!12^216,564!12^240,564!12^264,564!12^288,564!12^312,564!12^336,564!12^360,564!12^756,540!12^744,564!12^720,564!12^696,564!12^672,564!12^648,564!12^624,564!12^600,564!12^576,564!12^552,564!12^528,564!12^504,564!12^480,564!12^456,564!12^432,564!3^396,564!0^708,156!0^708,132!0^516,180!0^324,156!0^324,132!0^132,180!9^132,336,1,0,13,10,1,0,-1!9^324,288,1,0,21,15,1,0,0!9^516,336,1,0,29,10,1,0,-1!11^756,276,708,288!9^516,336,1,0,29,13,1,0,0!9^324,288,1,0,21,12,1,0,-1!9^132,336,1,0,13,13,1,0,0!9^132,288,1,0,5,12,0,0,-1!7^708,252,3!7^516,372,1!7^324,252,3!9^516,312,1,0,21,13,0,0,-1!9^516,360,1,0,21,14,0,0,0!9^324,264,1,0,13,11,0,0,-1!9^324,312,1,0,13,12,0,0,0!9^132,312,1,0,5,13,0,0,-1!9^132,360,1,0,5,14,0,0,0!9^708,264,1,0,29,11,0,0,-1!9^708,312,1,0,29,12,0,0,0!1^324,420!1^708,420!1^516,204!1^132,204!0^132,156!0^516,156");
var _local35 = new LevelData("Bricklayer ( by xRyuenjinZeroEX )", "10000110000110000110000101101101101101101100001011011011011011011000010110000110000110000000101101101101101101100001011011011011011011000010000110000110000110000101101100001100001101101011011000011000011011010110000000000000000110101101100000000001101101011011000000000011011010000110000000000110000100001101100001101101101000011011000011011011010000000110000110000110100000001101101101101101000000011011011011011010000000000110000110000101100001101100001101101011000011011000011011010110000110000000000110101101101101100001101101011011011011000011011010000110000110000110000101101101101101101101101011011011011011011011010110000110000110000110101101101100001101101101011011011000011011011010000110000000000110000|5^36,564!8^324,492,1!8^468,492,1!8^612,492,1!8^756,492,2!8^756,564,2!8^36,420,0!8^36,348,0!8^108,276,1!8^108,420,1!8^396,420,1!8^252,132,1!8^540,276,1!8^684,420,1!8^684,276,1!8^396,276,1!8^180,492,1!8^180,348,1!8^180,204,1!8^108,132,1!8^540,132,1!8^684,132,1!8^612,204,1!8^756,204,2!8^756,276,2!8^36,132,0!8^36,60,0!8^468,60,1!8^612,60,1!8^180,60,1!9^756,384,0,0,27,2,1,-1,0!9^252,168,0,0,28,2,1,-1,0!9^756,528,0,0,29,2,1,-1,0!9^540,384,0,0,30,2,1,-1,0!9^468,168,0,0,31,2,1,-1,0!9^36,384,1,0,31,3,1,0,-1!9^36,96,1,0,31,4,1,0,-1!11^60,540,756,108!9^756,108,1,0,31,4,1,0,0!9^756,108,1,1,2,22,0,0,0!0^108,312!0^108,456!0^252,456!0^324,528!0^468,528!0^612,528!0^684,456!0^540,456!0^396,456!0^180,384!0^324,384!0^468,384!0^612,384!0^684,312!0^540,312!0^396,312!0^252,312!0^180,240!0^324,240!0^468,240!0^756,240!0^684,168!0^540,168!0^396,168!0^108,168!0^180,96!0^324,96!0^468,96!0^612,96!9^612,240,0,0,26,2,1,-1,0!0^36,240!8^324,204,1!8^324,60,1!8^396,60,1!8^468,348,1!8^612,348,1");
var _local46 = new LevelData("Between a Rock and a Hard Place ( by Maniak )", "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003040000000001111111111150211111111100000000000000000000000111111111114031111111110000000000020500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|5^396,324!1^180,300!1^252,228!1^108,432!1^276,492!1^156,516!1^276,384!1^60,300!1^108,180!1^276,120!1^156,228!1^60,84!1^180,108!1^192,420!1^60,540!1^120,360!1^288,288!1^324,168!9^336,324,0,0,14,13,0,-1,0!9^360,324,0,0,14,13,0,0,0!9^432,324,0,0,18,13,0,-1,0!9^456,324,0,0,18,13,0,0,0!11^396,36,396,564!3^192,36!3^192,564!10^756,36!9^216,168,1,0,16,15,1,0,-1!9^336,48,1,0,16,19,1,0,-1!9^120,288,1,0,16,7,1,0,0!9^96,492,1,0,16,5,1,0,0!9^612,228,1,0,16,22,1,0,-1!1^600,348!1^552,444!1^672,504!1^528,540!1^696,276!1^516,276!1^696,408!1^732,540!1^516,156!1^720,192!1^612,84!1^660,168!1^720,84!1^480,84!1^504,396!1^468,504!1^624,444!1^732,348!9^576,396,1,0,16,17,1,0,-1!9^732,480,1,0,16,20,1,0,-1!9^540,108,1,0,16,10,1,0,-1!9^528,492,1,0,16,4,1,0,-1!9^336,432,1,0,16,2,1,0,-1!0^252,204!0^156,204!0^108,156!0^60,60!0^180,84!0^276,96!0^324,144!0^288,264!0^180,276!0^60,276!0^120,336!0^108,408!0^60,516!0^156,492!0^276,468!0^192,396!0^276,360!0^528,516!0^468,480!0^552,420!0^624,420!0^672,480!0^732,516!0^696,384!0^600,324!0^504,372!0^516,252!0^732,324!0^696,252!0^720,168!0^660,144!0^720,60!0^612,60!0^480,60!0^516,132");
var _local51 = new LevelData("opposing forces ( by coldcut )", "00000000000000000000500000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000|5^36,468!12^36,528!12^36,552!12^36,576!12^756,504!12^756,528!12^756,552!12^756,576!8^36,420,0!8^36,396,0!8^36,372,0!8^36,348,0!8^36,324,0!8^36,300,0!8^36,276,0!8^36,252,0!8^36,228,0!8^36,204,0!8^36,180,0!8^36,156,0!8^36,132,0!8^756,420,2!8^756,396,2!8^756,372,2!8^756,348,2!8^756,324,2!8^756,300,2!8^756,276,2!8^756,252,2!8^756,228,2!8^756,204,2!8^756,180,2!8^756,156,2!8^756,132,2!8^36,444,0!8^756,444,2!11^36,468,756,468!9^756,468,1,0,1,20,1,0,-1!8^36,108,0!8^36,84,0!8^36,60,0!8^36,36,0!8^756,108,2!8^756,84,2!8^756,60,2!8^756,36,2!0^396,36!0^420,36!0^372,36!0^348,36!0^324,36!0^300,36!0^444,36!0^468,36!0^492,36!0^516,36!0^276,36!0^456,60!0^408,60!0^384,60!0^360,60!0^312,60!0^336,60!0^432,60!0^480,60!0^396,84!0^372,84!0^420,84!0^384,108!0^408,108!0^396,132!0^396,156!0^396,180!0^396,204!0^396,228!0^396,252!0^396,276!0^396,300!0^396,324!0^396,348!0^396,372!0^396,396!0^396,420!0^396,444!0^444,84!0^348,84");
var _local47 = new LevelData("Coalition ( by LittleViking001 )", "02LOOOOOOOK5011000011960010000000000110KL0110000100111P00001101101100001001000000000000000000310010000000000000000001I0010000000000000000001H0010000000000000000001111M000000011011011000000000000000110JM01100000000000000?11000011000000000000C111111111I00000000000?5001A000000000000000000000100000000000000000000001000000000000000000N0001000000000000000000N0001000000000800000000N000100000000011<0000000000100000000011=00000000001000000000900000000>40010000000000000000000B111000000000000;<000000001000000000000:=000000001000000111000000000000010000000000000000000000100000000000000;<000000100000000000000:=000000100000000000000000000001000240000000000000000010000240000000000000000100000211000000000000001000000000|5^228,552!0^48,468!0^48,396!0^42,414!0^42,450!8^36,468,0!8^36,396,0!4^444,330,1!0^492,300!0^300,312!0^300,324!0^300,300!0^492,312!0^492,324!1^444,444!12^720,288!12^720,240!12^720,264!12^672,144!12^696,180!12^708,198!12^684,162!12^660,126!12^660,42!12^672,24!0^240,396!0^252,432!0^240,468!0^246,450!0^246,414!12^288,492!12^288,468!12^288,444!12^708,528!12^684,528!12^660,528!12^636,528!12^564,504!12^582,486!12^600,468!12^618,450!0^60,60!0^60,36!9^36,432,1,0,2,9,1,0,-1!9^396,300,1,0,2,8,1,0,-1!9^684,60,1,0,2,7,1,0,-1!9^300,420,1,0,2,6,1,0,-1!9^756,540,1,1,31,21,0,0,-1!11^168,84,756,564!9^216,36,0,0,8,1,0,0,0!0^72,48!0^84,60!0^84,36!0^96,48!0^108,36!0^48,48!0^36,36!12^648,84!12^648,108!12^648,60!12^720,216!6^156,132,2,0,0,2!6^84,108,2,0,0,0!6^60,132,0,1,0,3!6^180,108,0,1,0,1!6^132,108,1,1,0,0!6^108,132,1,1,0,2!0^108,60!0^120,48!0^132,36!0^552,30!0^552,66!0^552,48!0^552,84!12^324,360!12^372,360!12^420,360!12^468,360!12^516,360!12^564,360!12^612,360!0^588,384!0^540,384!0^492,384!0^444,384!0^396,384!0^348,384!0^348,396!0^396,396!0^444,396!0^492,396!0^540,396!0^588,396!0^306,288!0^312,276!0^486,288!0^480,276!0^348,408!0^396,408!0^444,408!0^492,408!0^540,408!0^588,408!0^348,420!0^396,420!0^444,420!0^492,420!0^540,420!0^588,420!0^120,36!0^108,48!0^96,60!0^84,48!0^96,36!0^72,36!0^48,36!0^60,48!0^72,60");
var _local59 = new LevelData("The Mooney Suzuki ( by chimneysweep )", "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000787878780000000000000006111111900000000000000071111118000000000000000611111190000000000000007111111800000000000000061111119000000000000000711111180000000000000006969696900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|5^396,540!11^732,564,216,108!4^36,570,1!4^756,570,1!7^396,564,3!8^36,84,0!8^36,84,0!8^108,540,3!8^756,300,2!8^324,36,1!8^204,348,0!8^516,420,2!8^360,564,3!8^756,204,2!8^552,156,2!8^48,396,3!8^756,504,2!8^216,456,0!8^480,372,2!8^300,240,0!8^372,36,1!8^396,300,0!8^396,276,2!8^36,180,0!0^168,114!0^180,108!0^156,108!0^150,96!0^186,96!0^246,96!0^252,108!0^264,114!0^276,108!0^282,96!0^264,102!0^168,102");
var _local56 = new LevelData("Angular ( by maximo )", "000000000000000000000000000000000000000000000000000000000000GH000000G000000000000GKMI0000GKM00GH000000GKMI0000GKMI000FJLH00GKMI0000GKMI0000000FJLKMI0000GKMI00000000000FJLH0000FJLH0000000000000FJLH00GKMJLH0000000000000FJLKMI00FJLH00000000000GKMI000000FJL00GH0000GKMI0000000000F00FJLH00FI00000000000000000FJLH0000000000000000000GKMJLH00GKLH000000000GKMI00FJLKMIFJLH0000000FI0000GKMI00GKMJL0000000000GKMI00GKMI0010000000000FI00GKMI00001000000000000GKMI00000010000000000GKMI00000000100000000GKMJLH0000000G100000000FI00FJLH000GKM100000000000000FI0GKMI0100000GH00000000GHFI000100000FJLH0000GKMI0000010000000FJLHGKMI00000001000000000FJMI0000000001000000000000000000000011PN10000000000000000001I00F00000000000000000010000|5^756,564!12^264,288!12^360,144!12^408,240!12^408,384!12^216,384!12^660,192!12^192,240!12^192,432!12^240,432!12^438,444!12^168,192!12^384,288!8^684,504,2!8^684,552,2!1^348,444!1^300,348!1^372,288!1^264,240!1^204,108!1^204,324!1^132,444!1^732,36!1^696,144!1^744,312!1^648,432!1^516,120!12^144,234!12^120,276!12^96,318!12^72,366!1^108,228!1^36,108!12^348,360!12^324,228!12^132,84!12^708,192!1^36,324!1^60,528!8^276,528,0!1^360,108!1^504,408!9^744,36,0,0,26,1,1,-1,0!11^756,492,756,444!1^756,420!1^732,444!1^720,408!12^468,180!12^420,84!12^612,60!12^300,84!1^744,432!12^528,228!12^564,132!0^408,360!0^420,360!0^408,348!0^420,348!0^420,336!0^432,324!0^432,336!0^408,336!0^420,324!0^420,312!0^432,312!0^432,288!0^432,300!0^444,312!0^444,300!0^444,288!0^444,264!0^444,276!0^516,252!0^528,252!0^540,252!0^504,276!0^516,276!0^540,276!0^552,276!0^492,288!0^504,288!0^516,288!0^540,288!0^552,288!0^564,288!0^552,264!0^504,264!0^528,240!0^156,210!0^132,252!0^108,294!0^84,342!1^588,240!9^216,324,1,0,25,14,1,0,-1!0^408,372!0^396,360!0^396,348!0^396,372!0^456,288!0^456,276!0^456,264!0^516,264!0^540,264!0^528,288!0^528,276!0^528,264");
var _local14 = new LevelData("Simplistic Confusion ( by makron )", "50000000000000000000002000000000000000000000000000000000000000000000000031400000000000000000000111000000000000000000001110000000000000000000011100000311111400000000111000311111111000000001110001111111150000000011100021111150000000000211400002111000000030000021000001110000031100000014000021500031111000000110000000000111110000031500000000001111100000110000000000011111000002140000000000111110000001100000000001111100000015000031400021111000003100000111000002110003115000031110000000200011100031111140000000000111000111111114000000001110002111111110000000011100000211111500000000111000000000000000000001110000000000000000000021500000000000000000000000000000000000000000000000000000000000000040000000000000000000003|5^396,444!0^300,396!0^276,396!0^252,420!0^252,444!0^492,396!0^516,396!0^540,420!0^540,444!10^516,420!10^276,420!1^60,372!1^132,372!1^660,372!1^732,372!12^36,372!12^72,444!12^120,444!12^156,372!12^72,300!12^120,300!12^672,300!12^720,300!12^636,372!12^756,372!12^672,444!12^720,444!0^90,360!0^102,360!0^78,372!0^114,372!0^90,384!0^102,384!0^690,360!0^702,360!0^714,372!0^702,384!0^690,384!0^678,372!0^324,300!0^300,300!0^276,276!0^276,252!0^468,300!0^492,300!0^516,276!0^516,252!0^252,180!0^276,204!0^300,204!0^324,228!0^540,180!0^516,204!0^492,204!0^468,228!11^396,132,396,228!4^192,90,1!4^600,90,1!3^396,60!0^300,132!0^324,156!0^348,156!0^312,144!0^336,156!0^492,132!0^480,144!0^468,156!0^456,156!0^444,156!0^432,144!0^360,144!12^324,132!12^348,132!12^444,132!12^468,132!3^300,276!3^492,276");
var _local57 = new LevelData("NoEnemies02 ( by MacrossDreams )", "11111111111100000000001111111111100000000000011111111150000000000001111111100000000000000011021100000000000000001110000000000000000000311100000000000000000001111000000000000000000011111000000000000000001111110000000000000000011111110000000000000000011111100000000000000000111111100000000000000000111111400000000000000001111111000000000000000001111110000000000000000011111000000000000000000011110000000000000000000111500000000000000000002110000000000000000000001000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000311111100000000000000011111111110000000000011111111111111400000000111111111111111100000001111111111111111110000011111111111111111111000|5^612,564!11^240,444,384,144!12^216,408!12^240,408!12^264,408!0^360,168!0^384,168!0^408,168!0^288,84!0^240,60!0^192,36!0^336,108!0^432,108!0^480,84!0^528,60!0^576,36!0^636,96!0^660,48!0^612,144!0^588,192!0^612,240!0^636,288!0^660,336!0^684,384!0^708,432!0^732,480!0^756,528!0^480,564!0^432,540!0^384,516!0^336,492!0^288,468!0^192,468!0^144,492!0^96,516!0^48,540!0^36,336!0^60,288!0^84,240!0^108,192!0^132,144!0^156,96!0^132,48");
var _local52 = new LevelData("pegboard ( by foxhunter )", "0F0F0F0F0F0F0F0F0F0F0F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000G00000000000000000000G0F000000000000000000G0F0G0000000000000000G0F0G0F00000000000000G0F0G0F0G000000000000G0F0G0F0G0F0000000000G0F0G0F0G0F0G00000000G0F0G0F0G0F0G0F000000G0F0G0F0G0F0G0F0G0000G0F0G0F0G0F0G0F0G0F00G0F0G0F0G0F0G0F0G0F0G00F0G0F0G0F0G0F0G0F0G0F0000F0G0F0G0F0G0F0G0F0G000000F0G0F0G0F0G0F0G0F00000000F0G0F0G0F0G0F0G0000000000F0G0F0G0F0G0F000000000000F0G0F0G0F0G00000000000000F0G0F0G0F0000000000000000F0G0F0G000000000000000000F0G0F00000000000000000000F0G0000000000000000000000F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000G0G0G0G0G0G0G0G0G0G0G0|5^384,36!11^384,36,384,564!0^360,84!0^408,84!0^336,132!0^384,132!0^432,132!0^312,180!0^360,180!0^408,180!0^456,180!0^288,228!0^336,228!0^384,228!0^432,228!0^480,228!0^264,276!0^312,276!0^360,276!0^408,276!0^456,276!0^504,276!0^528,324!0^480,324!0^432,324!0^384,324!0^336,324!0^288,324!0^240,324!0^216,372!0^264,372!0^312,372!0^360,372!0^408,372!0^456,372!0^504,372!0^552,372!0^192,420!0^240,420!0^288,420!0^336,420!0^384,420!0^432,420!0^480,420!0^528,420!0^576,420!0^600,468!0^552,468!0^504,468!0^456,468!0^408,468!0^360,468!0^312,468!0^264,468!0^216,468!0^168,468!0^144,516!0^192,516!0^240,516!0^288,516!0^336,516!0^384,516!0^432,516!0^480,516!0^528,516!0^576,516!0^624,516!3^132,540!3^636,540");
var _local12 = new LevelData("Jagged ( by Musicwumusic )", "0000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000031400000000000000000000FJ100000000000000000000001000000000000000000000?1400000000000000000000C110000000000000000000000240000000000000000000000B0000000000000000000000>400000000000000000000000000000000000000000000350000000000000000000GK100000000000000000000A024000000000000000000000024000000000000000000000014000000000000000000003110000000000000000000000B0000000000000000000000>400000000000000000000000000000000000000000000G000000000000000000000314000000000000000000GK11100000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|5^108,252!12^96,288!12^96,276!12^84,276!12^84,264!12^84,252!12^84,240!12^96,228!12^108,228!12^119,223!12^128,214!12^141,209!12^156,207!12^165,216!12^172,226!12^180,237!12^187,249!12^278,307!12^290,314!12^301,320!12^316,317!12^329,307!12^343,296!12^350,282!12^358,272!12^366,262!12^377,251!12^437,269!12^441,281!12^441,295!12^436,306!12^430,256!12^418,248!12^406,246!12^392,246!12^427,329!12^438,339!12^448,347!12^461,336!12^474,324!12^487,324!12^503,324!12^556,367!12^564,353!12^576,341!12^609,312!11^636,420,540,432!12^426,317!12^648,312!12^648,348!12^648,360!12^648,372!12^648,384!12^648,396!12^660,396!12^660,408!12^660,420!12^660,432!12^660,444!12^648,444!12^636,444!12^636,303!12^622,306!12^595,319!12^585,328!12^264,288!12^264,276!12^270,300!12^197,254!12^211,249!12^226,243!12^237,238!12^249,234!12^276,276!12^276,264!12^276,252!12^264,232!12^273,241!12^312,366!12^336,366!12^324,366!12^528,438!12^540,438!12^552,438!12^564,438!12^576,438!12^504,372!12^504,384!12^516,390!12^531,385!12^544,375!0^144,228!0^180,276!0^246,252!0^252,306!0^324,348!0^378,276!0^444,372!0^396,318!0^486,348!0^630,324!0^420,282!12^510,336!12^510,348!12^510,360!12^654,336!12^654,324");
var _local60 = new LevelData("Dodging Bullets ( by SquidgY )", "0000000000000001100000000000000000000011000000LO00OOOOOOOOOOK11L000GKMQ00FQQQQQQQQQJ11M000QJ000000000000000110000000000000000000001100000000000000000000011000000LOOOH0000GOOOOK11LO000KMQQQQ000000FQQJ11MQ000J000000000000000110000000000000000000001100000000000000000000011000000LOOOOOOOH000GOK11LH000KMQQQIFI00000QQJ11MQ000J000000000000000110000000000000000000001100000000000000000000011000000LOOOOH000GOOOOK11LO00GKMQI00F000QQQQQJ11MI00QJ000000000000000110000000000000000000001100000000000000000000011000000LOOH0000000OOOK11L000OKMQI00000000QQQJ11M000QJ000000000000000110000000000000000000001100000000000000000000011000000LO00OOOOOOOOOOK11LO00OK110011111111111111100111100111111111111111001100000000000000000000000|5^36,564!9^696,492,0,0,29,20,0,-1,0!9^696,516,0,0,29,21,0,-1,0!9^744,492,0,0,30,20,0,0,0!9^744,516,0,0,30,21,0,0,0!9^696,108,0,0,29,4,0,-1,0!9^696,84,0,0,29,3,0,-1,0!9^744,84,0,0,30,3,0,0,0!9^744,108,0,0,30,4,0,0,0!8^756,36,1!0^300,444!0^252,444!0^264,444!0^276,444!0^288,444!0^180,444!0^168,444!0^156,444!0^144,444!0^132,444!0^372,444!0^384,444!0^396,444!0^408,444!0^420,444!0^492,444!0^504,444!0^516,444!0^528,444!0^540,444!0^612,444!0^624,444!0^636,444!0^648,444!0^660,444!6^132,564,3,0,2,0!6^612,564,3,0,2,0!3^396,504!6^660,372,2,0,2,3!6^300,180,2,0,2,3!6^132,36,2,0,2,1!6^492,228,2,0,2,1!3^156,204!3^636,204!0^540,348!0^528,360!0^492,348!0^504,360!0^516,336!0^492,324!0^504,312!0^528,312!0^540,324!0^612,60!0^624,48!0^648,48!0^660,60!0^660,84!0^648,96!0^624,96!0^612,84!0^636,72!0^252,60!0^264,48!0^288,48!0^300,60!0^300,84!0^288,96!0^264,96!0^252,84!0^276,72!0^132,348!0^144,360!0^168,360!0^180,348!0^180,324!0^168,312!0^144,312!0^132,324!0^156,336!3^72,372!11^36,372,36,36!3^30,300");
var _local16 = new LevelData("Claustrophobia3 ( by holy_trinity / Ande )", "11MQQJ111501111MI00FJ1115000021100211500000021E000000B10001E00000000BA000000>10001A00000000>000000001400100000000000000000011001000000000000000000150010000000000000000001000100000000000000000010001000000000000000000100310000000000000000001001100000000000000000010021000000000000000000100010000000000400000031000140000000031LH00GK11@0?11LH0000GK1111111111P0N111111111111MI00FJ11A0>11MI0000FJ150000002100015000000002000000001000100000000000000000014001000000000000000000110010000000000000000001500100000000000000000010001000000000000000000100010000000000000000001003100000000000000000010011000000000000000000100210000000000@000000?10001@00000000?D000000C10001D00000000C1400003114001140000003111LOOK111103111LH00GK11|5^36,276!11^36,276,756,276!6^84,300,2,0,0,3!6^204,252,3,0,0,1!6^324,300,2,0,0,3!6^468,252,2,0,0,1!6^588,300,3,0,0,3!6^708,252,2,0,0,1!6^60,276,4,0,0,0!6^732,276,4,0,0,2!6^300,276,4,0,0,2!6^540,276,4,0,0,0!12^156,276!12^276,276!12^516,276!12^636,276!12^396,264!0^156,300!0^276,252!0^396,288!0^516,300!0^636,252!0^744,276!0^744,288!0^756,288!0^744,300!0^168,300!0^144,300!0^264,252!0^288,252!0^384,288!0^408,288!0^504,300!0^528,300!0^624,252!0^648,252!0^636,264!0^516,288!0^396,276!0^276,264!0^156,288");
var _local43 = new LevelData("Bouncy Blast ( by Snarker )", "1111000000000000000000011110011111111111111110111100FJ11111111111111011110000FJ11111111111101111000000211111111111011110000000211111111110111100000000211111111101111000000000B1111111101111000000000>111110000111100000000001111101111900000000000000000006110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000000000000000000011000000000000000000000110000011000000000000001180000110000000000000711111101111QQQQQQQ111011000000000N0OOOOO0101011000000000N0100000101011000000000N1101111101111000000000000000000000000000000000011111111110000000000000000010000000000000000N1011110000000000000000N1000010000000000000000111111100000000000000000000000000000000000000000000000000000|5^372,540!7^36,204,3!7^36,228,3!7^36,216,3!7^36,192,3!7^36,180,3!2^180,324,0.707106781186547,-0.707106781186547!12^468,372!12^468,360!12^468,312!12^468,276!12^468,300!12^468,288!12^468,336!12^468,324!12^468,348!9^204,336,0,0,20,21,1,-1,0!9^420,228,0,0,20,21,1,0,0!1^420,324!9^540,516,0,0,20,6,1,-1,0!0^324,84!0^336,84!0^348,84!0^348,96!0^336,96!0^324,96!0^324,108!0^336,108!0^348,108!0^276,132!0^276,120!0^288,120!0^288,132!0^276,108!0^288,108!0^300,132!0^300,120!0^300,108!0^120,240!0^132,264!0^156,288!12^276,444!12^276,432!12^276,420!12^276,408!12^276,396!12^336,396!12^348,384!12^360,372!1^348,276!9^36,396,0,0,20,6,1,0,0!3^468,60!3^276,60!1^540,204!1^684,204!12^552,240!12^552,240!12^564,240!12^564,240!12^576,240!12^600,240!12^600,240!12^624,240!12^660,252!12^696,252!12^696,240!12^672,252!12^660,240!12^648,240!12^648,240!12^636,252!12^612,240!12^576,240!12^576,240!12^552,252!12^552,252!12^564,252!12^564,252!12^576,252!12^588,252!12^600,252!12^612,252!12^624,252!12^624,252!12^636,252!12^648,252!12^648,252!12^672,252!12^684,252!12^684,240!12^672,240!12^660,240!12^648,240!12^648,240!12^636,240!12^624,240!12^612,240!12^588,240!12^588,240!12^540,240!12^528,240!12^540,252!12^528,252!11^516,468,684,324!9^516,276,0,0,23,19,1,-1,0!12^516,252!12^516,240!12^504,240!12^504,252!9^540,276,0,0,27,12,1,0,0!0^684,372!0^684,348!0^684,360!0^684,336!0^684,312!0^684,300!9^540,468,1,0,26,13,1,0,-1!0^636,372!0^636,360!0^636,348!0^636,336!0^636,324!12^324,396!12^312,408!12^300,420!12^288,432!12^288,420!12^300,408!12^312,396!12^324,408!12^336,384!12^348,396!12^360,384!12^348,372!12^312,420!12^300,432!12^288,444!1^348,180!8^708,420,1!8^684,420,1!8^660,420,1!8^636,420,1");
var _local39 = new LevelData("N ultra 64 ( by Daddaluma )", "00QQ111111111111111QQ00000000QQ1111111QQ0000000000000000QQQ000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000O11O000000000000000000NQQQQP00000000000000000N00O0100000000000000000000N01P0000000000000000N00Q0100000000000000000NOOOOP000000000000000000Q11Q000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000OOO0000000000000000OO1111111OO00000000OO111111111111111OO00|5^396,564!9^756,60,0,0,15,12,1,0,0!9^36,60,0,0,17,12,1,-1,0!9^396,60,1,0,16,8,1,0,0!11^396,564,396,300!0^432,300!0^360,300!0^96,300!0^84,360!0^72,408!0^60,456!0^48,504!0^84,240!0^72,192!0^60,144!0^48,96!0^744,96!0^732,144!0^720,192!0^708,240!0^696,300!0^708,360!0^720,408!0^732,456!0^744,504!0^396,264!6^396,36,1,0,0,2!6^396,36,0,0,0,0!1^468,132!1^612,132!12^444,132!12^468,156!12^492,132!12^588,132!12^612,156!12^636,132!1^324,132!1^180,132!12^204,132!12^180,156!12^156,132!12^300,132!12^324,156!3^396,360!12^432,228!12^360,228!1^636,300!1^156,300!1^468,492!1^324,492!1^540,432!1^252,432!1^600,372!1^192,372!0^324,468!0^252,408!0^192,348!0^156,276!0^468,468!0^540,408!0^600,348!0^636,276!4^756,570,1!4^36,570,1!6^324,36,3,0,0,2!6^468,36,2,0,0,0!12^348,132!9^396,384,1,1,15,2,0,0,-1!9^396,384,1,1,16,2,0,0,-1!9^396,384,1,1,17,2,0,0,-1!0^324,456!0^468,456!0^540,396!0^600,336!0^324,444!0^252,396!0^192,336!0^156,264!0^636,264!0^684,300!0^696,360!0^708,408!0^720,456!0^732,504!0^60,504!0^72,456!0^84,408!0^96,360!0^108,300!0^96,240!0^84,192!0^72,144!0^60,96!0^732,96!0^720,144!0^708,192!0^696,240!0^432,288!0^432,276!0^360,288!0^360,276!0^396,252!0^396,240!0^252,384!0^192,324!0^156,252!0^468,444!0^540,384!0^600,324!0^636,252");
var _local53 = new LevelData("Simplistic ( by Kablizzy )", "150000000000000000000215000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000G000000G00000000000000000000000000000003000000000000000000000010000000000000000000000200F000000F000000F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000010000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000G000000G000000G000000000000000000000000000030000000000000000000000100000000000000000000002000000F000000F000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000314000000000000000000031|5^396,540!11^396,540,408,60!12^768,84!12^768,516!12^768,468!12^768,420!12^768,372!12^768,324!12^768,276!12^768,228!12^768,180!12^768,132!12^24,516!12^24,468!12^24,420!12^24,372!12^24,324!12^24,276!12^24,228!12^24,180!12^24,132!12^24,84!0^252,420!0^252,396!0^252,372!0^204,348!0^204,324!0^204,300!0^252,252!0^252,228!0^252,204!0^204,180!0^204,156!0^204,132!0^252,84!0^252,60!0^252,36!0^540,420!0^540,396!0^540,372!0^588,348!0^588,324!0^588,300!0^540,252!0^540,228!0^540,204!0^588,180!0^588,156!0^588,132!0^540,84!0^540,60!0^540,36");
var _local48 = new LevelData("Pressed for Time ( by Lucidium )", "0000110000110000110000100001100001100001100001000011000011000011000010000E00000E00000E0000010000PN0000PN0000PN000010000PN000GPN<000PN000011110PN0GK1PN1007PN0000100B0PN0111PN10;1PN000010@>0PN0111PN1011PN000010D00PN0111PN9711PN000010111PN0MI0PN0111PN000010000PN0GK0PN8611PN0000111I0PN1110PN9711PN00001110GPN1110PN0J11PN00001110FPN1110PN8006PN0000111H0PN0FJ0PN11<0PN0000111E?PN0LH0PN96=0PN0000111ACPN0111PN0807PN000011E?1PN0111PN8611PN000011AC1PN0MI0PN1806PN00001E?11PN0GK0PN11<0PN00001AC11PN1110PN1197PN000010111PN1110PN1186PN000010000PN1MIGPN11=0PN000011110PN0GK1PN1907PN000011MIGPN0111PN10;1PN00001IGK1PN0111PN9711PN000010000PN0111PN8696PN000011MIGPN0MI0PN1870PN00001IGK1PN0GK0PN1197PN0000B00000C11100C11800C00000|5^108,108!12^36,96!12^36,108!12^36,48!12^36,36!12^48,96!12^48,48!8^24,48,2!8^24,60,2!8^24,72,2!8^24,84,2!8^24,96,2!9^36,72,0,0,5,1,1,-1,0!9^36,72,0,0,5,2,1,-1,0!9^36,72,0,0,5,3,1,-1,0!9^36,72,0,0,5,4,1,-1,0!8^24,192,2!8^24,204,2!8^24,216,2!8^24,228,2!8^24,240,2!8^24,336,2!8^24,348,2!8^24,360,2!8^24,372,2!8^24,384,2!8^24,480,2!8^24,492,2!8^24,504,2!8^24,516,2!8^24,528,2!12^36,180!12^36,192!12^48,192!12^48,240!12^36,240!12^36,252!12^36,324!12^36,336!12^48,336!12^48,384!12^36,384!12^36,396!12^36,468!12^36,480!12^48,480!12^48,528!12^36,528!12^36,540!9^36,216,0,0,5,7,1,-1,0!9^36,216,0,0,5,8,1,-1,0!9^36,216,0,0,5,9,1,-1,0!9^36,216,0,0,5,10,1,-1,0!9^36,360,0,0,5,13,1,-1,0!9^36,360,0,0,5,14,1,-1,0!9^36,360,0,0,5,15,1,-1,0!9^36,360,0,0,5,16,1,-1,0!9^36,504,0,0,5,19,1,-1,0!9^36,504,0,0,5,20,1,-1,0!9^36,504,0,0,5,21,1,-1,0!9^36,504,0,0,5,22,1,-1,0!12^144,456!12^168,456!12^192,456!12^216,456!12^240,456!12^264,456!12^288,456!12^312,456!12^336,456!12^360,456!12^384,456!12^504,456!12^528,456!12^552,456!12^576,456!12^600,456!12^624,456!12^648,456!12^672,456!12^744,456!12^768,456!12^144,552!12^168,552!12^192,552!12^216,552!12^240,552!12^264,552!12^288,552!12^312,552!12^336,552!12^360,552!12^384,552!12^408,552!12^432,552!12^456,552!12^480,552!12^504,552!12^528,552!12^648,552!12^672,552!12^696,552!12^720,552!12^432,528!12^456,528!12^432,504!12^456,504!12^552,480!12^576,480!12^600,480!12^624,480!12^576,504!12^600,504!12^264,528!12^240,528!12^336,504!12^168,480!12^144,480!12^552,552!12^576,552!12^600,552!12^624,552!12^480,528!12^408,528!12^312,480!12^336,480!12^408,456!12^480,456!12^720,528!12^720,504!12^696,528!12^696,504!12^432,456!12^456,456!12^696,456!12^720,456!9^36,216,1,1,4,6,0,0,0!9^36,360,1,1,4,12,0,0,0!9^36,504,1,1,4,18,0,0,0!11^756,564,756,564!0^48,60!0^48,84!0^48,204!0^48,228!0^48,348!0^48,372!0^48,492!0^48,516!0^60,504!0^60,360!0^60,216!0^60,72!0^132,144!0^228,144!0^324,144!0^420,144!0^516,144!0^612,144!0^708,144!0^132,288!0^324,288!0^420,288!0^516,288!0^612,288!0^708,288!0^708,432!0^612,432!0^516,432!0^420,432!0^324,432!0^228,288!0^228,432!0^132,432");
var _local61 = new LevelData("Platformula ( by Sendy )", "0001000000000000001500000014000000<0000001400000021000000E0000031100000000000000P0000011100000001000<00P0000011100000031000E00P0000021100000315000P00D0000001100003150000P00=0000001100031500000P0000<00001140015000000D0000E00001110010000000=0000P0000211401000000000000P0000011101000000000000P0000011101000000000<00P0000021105000000000E00P0<0000110000000<000P00D0E0000110000000E000P00=0P0000110000000P000P0000P0000110400000P000D0000P0000210100000D000=0000P0000010100000=00000000P0000010100000000000000P0000010100000000<00000P0000010100000000E00<00D0000010100000000P00E00=00000101000000<0P00P00000000101400000E0D00P00000000101100000P0=00D00000000101100000D0000=00000000101100000=00000000000000011400000000000000000310|5^48,432!4^132,282,1!4^204,210,1!4^420,258,1!4^456,162,1!4^684,186,1!4^624,234,1!4^324,330,1!4^648,306,1!4^492,378,1!11^60,564,192,516!3^420,36!3^612,516!3^48,504!6^756,396,2,1,0,3!6^132,156,2,1,0,2!9^612,384,0,0,29,23,1,0,0!9^372,384,0,0,28,23,1,0,0!9^420,336,0,0,27,23,1,0,0!9^228,336,0,0,26,23,1,0,0!9^204,288,0,0,25,23,1,0,0!9^60,288,0,0,24,23,1,0,0!9^132,216,0,0,23,23,1,0,0!9^276,216,0,0,22,23,1,0,0!9^588,312,0,0,21,23,1,0,0!9^708,312,0,0,20,23,1,0,0!9^684,240,0,0,19,23,1,0,0!9^564,240,0,0,18,23,1,0,0!9^492,264,0,0,17,23,1,0,0!9^348,264,0,0,16,23,1,0,0!9^396,168,0,0,15,23,1,0,0!9^516,168,0,0,14,23,1,0,0!9^636,192,0,0,13,23,1,0,0!9^732,192,0,0,12,23,1,0,0!0^36,36!0^60,36!0^84,36!0^108,36!0^132,36!0^156,36!0^180,36!0^204,36!0^36,60!0^60,60!0^84,60!0^108,60!0^132,60!0^156,60!0^180,60!0^156,84!0^132,84!0^108,84!0^84,84!0^60,84!0^36,84!0^108,108!0^132,108!0^48,48!0^96,48!0^144,48!0^192,48!0^144,72!0^96,72!0^48,72!0^72,48!0^72,72!0^120,72!0^120,48!0^168,48!0^168,72!0^96,96!0^120,96!0^144,96!10^756,564!9^732,528,1,0,30,22,0,0,-1!9^732,552,1,0,30,22,0,0,0!9^288,564,0,1,31,23,0,-1,0!9^288,564,1,0,4,5,1,0,-1!9^288,564,1,0,4,5,1,0,0!1^168,384!1^696,432!1^600,132!1^300,144!1^492,468!0^60,264!0^204,264!0^228,312!0^420,312!0^372,360!0^612,360!0^588,288!0^708,288!0^684,216!0^564,216!0^636,168!0^732,168!0^516,144!0^396,144!0^276,192!0^132,192!0^348,240!0^492,240");
var _local49 = new LevelData("Trap ( by Tonito )", "1111111111111111111111111011110000150001000011110000101011010110101111101111434014000140311111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111115021111111111111111500000011111111111150000000000111111111150000000000031111115000000000000000101900000000000000000001010111400000000000000010101011111400000000000201800061111140000000000011101011111111140000000000010111111111111140301000101111111111111111010001011111111111111110P000001111111111111111010111011111111111111118000007111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^346,542!8^468,108,3!8^492,84,0!8^540,72,1!8^492,132,2!11^348,540,504,108!0^420,108!0^420,96!0^408,84!0^396,84!0^384,84!0^372,84!0^360,84!0^348,96!0^348,108!0^348,120!0^348,132!0^348,144!0^348,156!0^348,168!0^420,156!0^420,144!0^420,132!0^420,120!0^420,168!12^60,516!12^60,504!12^60,492!12^60,480!12^60,468!12^60,456!12^60,444!12^72,444!12^84,444!12^96,444!12^108,456!12^108,468!12^108,480!12^96,492!12^84,492!12^72,492!12^60,396!12^60,384!12^60,372!12^60,360!12^60,348!12^60,336!12^72,324!12^84,324!12^96,324!12^108,336!12^108,348!12^108,360!12^108,384!12^108,372!12^108,396!12^96,372!12^84,372!12^72,372!12^60,276!12^60,264!12^60,252!12^60,228!12^60,240!12^60,216!12^60,204!12^72,204!12^84,204!12^96,204!12^108,216!12^72,252!12^84,252!12^96,252!12^108,264!12^108,276!12^84,156!12^84,144!12^84,132!12^84,120!12^84,108!12^84,96!12^84,84!12^96,84!12^108,84!12^72,84!12^60,84");
var _local44 = new LevelData("Differences ( by Rahl )", "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111119000F1500000000000003508000G1000000000075005031<0021000000000750050351=00G1000000007500503009000F1000000075005030008000G1LH0000750050300301<0FJ11MI007500503003901=000FI0007500503003900000000000750050300390000000000075005030039000000000007500003003900000000000750000000390000000000075005000039000000000007500503003900000000000750050300390000000070075005030039000GH000;107500503003900GK11LH0:1050050300390000FJ1I0006000503003900000001H0007005030039000000001I00;1350300390000000001400:1503003900000000001I0006035000000000000031H000711111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^396,300!12^672,36!12^660,24!12^132,576!12^120,564!6^660,36,3,0,1,2!6^132,564,2,0,1,0!12^198,534!12^246,486!12^294,438!12^342,390!12^306,354!12^258,402!12^210,450!12^162,498!12^630,102!12^594,66!12^546,114!12^582,150!12^534,198!12^498,162!12^486,246!12^450,210!3^552,480!3^240,120!3^654,414!3^138,186!0^552,528!0^576,552!0^552,576!0^528,552!0^570,552!0^552,534!0^540,540!0^534,534!0^564,540!0^570,534!0^570,570!0^534,570!0^534,552!0^540,564!0^564,564!0^552,570!0^240,24!0^240,30!0^240,66!0^240,72!0^258,48!0^264,48!0^222,48!0^216,48!0^252,36!0^258,30!0^228,36!0^222,30!0^258,66!0^252,60!0^228,60!0^222,66!1^552,552!1^240,48!0^648,60!0^636,48!0^642,42!0^654,54!0^642,66!0^630,54!0^636,72!0^624,60!0^138,546!0^150,558!0^156,552!0^144,540!0^150,534!0^162,546!0^168,540!0^156,528!9^654,414,0,1,27,1,0,-1,0!9^654,414,1,1,27,1,0,0,0!9^138,186,0,1,5,23,0,0,0!9^138,186,1,1,5,23,0,0,-1!0^144,192!0^132,204!0^156,180!0^168,168!0^120,216!0^648,408!0^660,396!0^636,420!0^624,432!0^672,384!0^672,408!0^648,432!0^120,192!0^144,168!0^630,66!0^648,48!0^162,534!0^144,552!0^558,474!0^546,474!0^546,486!0^558,486!0^558,462!0^546,462!0^570,474!0^534,474!0^534,486!0^570,486!0^546,498!0^558,498!0^246,114!0^246,126!0^234,126!0^234,114!0^234,102!0^246,102!0^258,114!0^258,126!0^246,138!0^234,138!0^222,126!0^222,114!11^649,467,144,36!11^144,133,648,564");
var _local58 = new LevelData("Mitosis ( by Sharpie-Love )", "1800000000619000000007161<00000007180000000;190:1<00000;111<00000;1=000:18000061019000071=0000061<0000:0=0000;19000<000:9000000000006=000;1800000000000000000007161<00000000000000000;190:9000000000000000006=00000007<0000000;800000000000;11800000711<00000<000;1=61<000;19:1<000;18071900110001100618071111111<0:1<0;1=0;1111111111111<0:906=0;1111111111111110000000111111111111111=0;807<0:1111111111111=0;1=0:1<0:11111119061800110001100719061=000:1<71=000:18;1=000:00000:11900000611=000000000006=0000000:90000000;8000000000000000007<071=00000000000000000:1819000000000000000000061=000;8000000000007<000:00071=0000;0<0000:1800000;19000071018000061<000;1=00000:111=00000:1<071=00000006190000000:1819000000007180000000061|5^396,276!1^396,300!11^108,300,684,300!0^468,504!0^468,516!0^468,528!0^324,528!0^324,516!0^324,504!0^624,504!0^636,504!0^648,504!0^624,516!0^624,528!0^636,528!0^648,528!0^648,516!0^636,516!0^144,504!0^156,504!0^168,504!0^168,516!0^168,528!0^156,528!0^144,528!0^144,516!0^156,516!0^144,96!0^168,72!0^144,72!0^168,96!0^156,96!0^156,84!0^156,72!0^144,84!0^168,84!0^624,72!0^648,96!0^624,96!0^648,72!0^636,72!0^636,96!0^624,84!0^648,84!0^636,84!0^48,276!0^48,324!0^744,276!0^744,324!0^468,72!0^468,84!0^468,96!0^324,96!0^324,84!0^324,72!9^564,516,1,0,16,10,1,0,0!9^228,84,1,0,16,14,1,0,-1!9^396,240,0,0,27,12,1,-1,0!9^396,360,0,0,5,12,1,0,0!3^756,408!3^756,192!3^36,192!3^36,408");
var _local54 = new LevelData("Remedy ( by Atramentis )", "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111502111111111521111111110001111111100001111111140000000211011011111111111111140150210115021521111111101000100000000311111115014031001111111500000000211150010021110000311140000031114021100001111111011111110000114021115000002111500001114001003111400000000311111110015021031111111500000000100010111111114314031101403102111111111111111011011400000002111111110000111111110001111111114311111111140311111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^396,300!6^300,372,2,0,0,0!6^492,228,2,0,0,2!6^348,60,2,0,0,0!6^444,540,2,0,0,2!3^396,564!3^396,36!10^288,552!10^504,48!11^492,300,300,300!9^348,444,0,0,10,12,1,0,0!9^444,156,0,0,22,12,1,-1,0!9^516,132,0,0,22,12,1,0,0!9^276,468,0,0,10,12,1,-1,0!12^228,60!12^564,540!6^540,420,3,0,0,1!6^252,204,3,0,0,3!9^588,540,1,0,23,10,1,0,-1!9^204,60,1,0,9,14,1,0,0!3^216,336!3^576,264!0^444,420!0^444,444!0^348,156!0^348,180!0^300,228!0^492,372!0^420,324!0^420,276!0^372,276!0^372,324!0^276,372!0^252,372!0^516,228!0^540,228!0^396,492!0^396,108!0^348,396!0^324,396!0^444,204!0^468,204!0^492,276!0^468,300!0^492,324!0^516,300!0^300,276!0^324,300!0^300,324!0^276,300!0^228,84!0^228,36!0^252,60!0^564,516!0^540,540!0^564,564!0^420,300!0^372,300!0^420,288!0^420,312!0^372,288!0^372,312!0^348,168!0^528,228!0^456,204!0^336,396!0^264,372!0^444,432!0^396,96!0^396,504!0^480,372!0^504,372!0^312,228!0^288,228");
var _local13 = new LevelData("High Tech ( by Lancer0 )", "15000000F2BQE5I000000211000000000>0A00000000011@0000000000000000000?11P0000000000000000000N1PP0000000000000000000NNPA0000000000000000000>NP000000000?0@000000000NA0000000G3COD4H0000000>000GK1111111111111LH000000000FJ1111111MI00000000000000211111500000000@000000002111500000000?D000000000B1E000000000C1400000000>1A000000003111LOOOKLH0>1A0GKLOOOK111111111P0001000N111111111MQQQJMI0?1@0FJMQQQJ111500000000?1@0000000021E000000000C1D000000000BA000000003111400000000>00000000311111400000000000000GK1111111LH000000000GK1111111111111LH000@000000211111115000000?D?000000111Q111000000@C1N00000015>0A21000000P111000000E00000B0000001111000000A00000>000000111140000000000000000031111111QI000000000FQ11111111111LH0000000GK111111|5^252,564!12^576,192!12^600,216!12^720,96!12^696,72!12^576,156!12^576,120!12^660,72!12^624,72!12^720,132!12^720,168!12^636,216!12^672,216!12^600,384!12^576,408!12^576,444!12^576,480!12^696,528!12^720,504!12^720,468!12^720,432!12^636,384!12^672,384!12^660,528!12^624,528!12^384,240!12^408,240!12^432,408!12^360,408!12^432,324!12^360,324!8^396,216,1!8^396,384,3!12^36,360!12^48,336!12^192,336!12^204,360!12^48,264!12^36,240!12^192,264!12^204,240!12^72,312!12^72,288!12^168,288!12^168,312!12^240,96!1^120,324!12^336,276!12^312,264!12^288,240!12^264,216!12^252,192!12^240,168!12^240,144!12^240,120!11^120,300,624,300!9^624,300,0,1,10,3,0,-1,0!9^624,300,0,1,10,2,0,-1,0!9^624,300,0,1,10,1,0,-1,0!0^204,204!0^204,180!0^204,156!0^36,204!0^36,180!0^36,156!0^36,132!0^36,108!0^36,84!0^360,156!0^360,132!0^360,108!0^588,84!0^708,204!0^648,144!0^660,144!0^660,156!0^648,156!0^636,144!0^636,132!0^648,132!0^648,456!0^660,456!0^660,444!0^648,444!0^648,468!0^636,468!0^636,456!0^708,396!0^588,516!0^408,348!0^384,348!12^456,276!12^480,264!12^504,240!12^528,216!12^540,192!12^552,168!0^432,108!0^432,132!0^432,156!0^684,264!0^684,276!0^696,264!0^696,276!12^648,240!12^624,264!12^672,228!12^624,336!12^648,360!12^768,384!12^768,216!12^768,240!12^768,264!12^768,288!12^768,312!12^768,336!12^768,360!12^552,144!12^348,276!12^444,276!7^240,456,1!7^252,456,1!7^264,456,1!7^276,456,1!7^288,456,1!7^300,456,1!7^312,456,1!7^324,456,1!7^336,456,1!7^348,456,1!7^360,456,1!7^372,456,1!7^372,444,1!7^360,444,1!7^348,444,1!7^336,444,1!7^324,444,1!7^312,444,1!7^300,444,1!7^288,444,1!7^276,444,1!7^264,444,1!7^252,444,1!7^240,444,1");
var _local17 = new LevelData("Counterweight ( by maximo )", "5000000000000000B1100000000000000000000N1111500000000000000000N1100000000000000000000N1114000000000000000000N1I00000000000000000000N1000000000000000000000N1115000000000000000000N1000000000000000000000N1140000000000000000000C1000000000000000000000FJ111400000000GK111500000000000000000B10000000000000G0000000N1114000GK1111110000000N1000000B10000000000000N1140000N11111500000000N1000000C10000000000000N1115000FJ1111110000000C10000000000000F0000000FJ111400000000000000000000000000GK111500000000000000000B1000000000000000000000N1150000000000000000000N1000000000000000000000N1114000000000000000000N1000000000000000000000N1H00000000000000000000N1115000000000000000000N1100000000000000000000N1111404000000000000000C110000|5^60,408!11^396,384,732,408!12^504,504!12^456,504!12^336,504!12^288,504!9^288,564,0,0,11,23,0,0,0!9^504,564,0,0,21,23,0,-1,0!6^636,468,0,1,0,1!6^156,468,1,1,0,1!0^252,468!0^252,480!0^252,492!0^204,468!0^204,480!0^132,516!0^132,504!0^156,468!0^156,480!0^84,504!0^84,492!0^36,492!0^36,504!0^36,516!12^120,528!12^240,504!12^552,504!12^672,528!0^540,468!0^540,480!0^540,492!0^588,468!0^588,480!0^636,468!0^636,480!0^660,504!0^660,516!0^708,492!0^708,504!0^756,492!0^756,516!0^756,504!0^396,192!0^408,192!0^420,192!0^384,192!0^372,192!12^312,180!12^480,180!12^528,396!12^264,396!12^360,372!12^432,372!12^504,336!12^288,336!0^324,252!0^324,276!0^324,264!0^372,252!0^372,264!0^372,276!0^420,252!0^420,264!0^468,252!0^468,264!0^468,276!0^324,288!0^36,528!0^756,528!0^648,492!0^144,492!0^156,516!0^132,468!0^636,516!0^660,468!1^480,372!1^312,372!6^276,252,1,1,0,1!6^516,252,0,1,0,1");
var _local15 = new LevelData("Twisted ( by Killisk )", "11111111MIB11111EFJ1111111111MI00>11111A00FJ111111MI00000B111E00000FJ1101000LH00>111A000000?MI01000B1LH0FJ10000000C@0J1000>111LH0F000000?1D00F0000B1111LH000000C11LH00000>1111110LH00?11111LH0000111111011LHC1111EFJLH001111MI0111111111A00FJLH11MI0001111MJ11E00000FJMI0000011MI00F1A0000000000000?1E00000E00000000000000C1A00000A000000GK1LH00?1E00000000@00GK11111LHC1A00000000DGK1111111111E00?LH0000B11M>11111111A00C11LH00>MI00B1111111LH0FJ1110000000>111111111LH0FJ1H0000000B1111111111LH0F1LH00000>1111111111MI001MI000000B1111111MI0000I00000000>11111MI00000000000000GK111MI0000000000?@00GK111MI000000000000CDGK111MI0000000000000?11111MI0000GOOH0000000C111MI0000GK1111OH00000FJMI0000GK11111111OH000000000GK111111111111OH|5^228,492!9^564,564,1,0,7,15,1,0,0!9^564,564,1,0,6,15,1,0,0!11^120,84,372,540!0^204,396!0^216,396!0^480,468!0^492,492!0^504,516!0^516,540!0^468,444!0^756,96!0^720,36!0^600,96!0^576,96!0^528,96!0^504,96!0^360,60!0^336,240!0^228,396!0^336,252!0^336,228!0^372,66!0^348,54!0^516,96!0^588,96!0^696,444!0^720,492!0^744,540!0^510,528!0^474,456!0^486,480!0^498,504!0^192,120!0^204,120!0^216,120!0^84,186!0^90,174!0^78,198!0^132,300!0^138,312!0^126,288!0^672,396!0^672,384!0^672,372!0^696,456!0^720,504!0^744,552!0^492,96!0^612,96!0^708,36!0^732,36!0^756,84!0^756,108");
var _local21 = new LevelData("Platforms ( by HeartView )", "0000000000000000000000000000000000000000000000000000000000000000000000000H000H000H000H000H0000001000100010001000100000010001000100010001000000100010001000100010000001000100010001000I00000010001000100010000GK000010001000100010000100000I000I000I000I0000100000000000000000000001000000000000000000000010000000000000000000003100000000000000000000021000000000000000000000000000000000000000000003100000000000000000000021000000000000000000000010000000000000000000000100000G000G000G000G00001000001000100010001000010000010001000100010000FJ00001000100010001000G000000100010001000100010000001000100010001000100000010001000100010001000000F000F000F000F000F00000000000000000000000000000000000000000000000000000000000000000000000|5^396,564!9^156,492,0,0,15,23,1,0,0!9^192,396,0,0,14,23,1,0,0!9^192,300,0,0,13,23,1,0,0!9^192,204,0,0,12,23,1,0,0!9^192,108,0,0,11,23,1,0,0!9^636,492,0,0,17,23,1,-1,0!9^600,396,0,0,18,23,1,-1,0!9^600,300,0,0,19,23,1,-1,0!9^600,204,0,0,20,23,1,-1,0!9^600,108,0,0,21,23,1,-1,0!12^768,564!12^768,540!12^768,516!12^768,420!12^768,396!12^768,324!12^768,300!12^768,228!12^768,204!12^768,132!12^768,108!12^768,84!12^768,60!12^768,36!12^24,564!12^24,540!12^24,516!12^24,492!12^24,468!12^24,420!12^24,396!12^24,372!12^24,324!12^24,300!12^24,276!12^24,228!12^24,204!12^24,180!12^24,132!12^24,108!12^24,84!12^24,60!12^24,36!6^156,108,0,0,0,0!6^636,108,1,0,0,2!10^396,36!6^564,204,1,0,0,2!6^228,204,0,0,0,0!6^540,300,0,0,0,0!6^660,396,0,0,0,0!6^132,396,1,0,0,2!6^252,300,1,0,0,2!12^156,468!12^192,372!12^192,276!12^192,180!12^192,84!12^600,84!12^600,180!12^600,276!12^600,372!12^636,468!11^540,564,252,564!12^768,468!12^768,492!12^768,372!12^768,276!12^768,180!3^342,510!3^450,510!12^372,516!12^420,516!3^750,30!3^42,30!0^216,372!0^168,372!0^180,468!0^132,468!0^612,468!0^660,468!0^624,372!0^576,372!0^576,276!0^624,276!0^624,180!0^576,180!0^576,84!0^624,84!0^216,84!0^168,84!0^168,180!0^216,180!0^216,276!0^168,276");
var _local19 = new LevelData("Allegiance ( by Nambio )", "00011001000000000000000000J1H0100000000000000000001101000001L00000>100000F10100000J100000>A000000100000000100000010000001L00000G110000001000000110000G11M000000100000001000011M000000010000000100001M000000001000000010000100000000?@000000010000100001000C100000001110010000J100F@0000000J110010000010001000000001100100000J10010000000001001H00000100100000000010011000001101000000000100010000001000001011H01@0000000001000000000111D00000000G10000000001111D000000010000000400100111H000G110000000G11I000F11111100000000K11I0000011111M000000401I000000G1111000000005010000001100F110000000L0100000G10000J100000000000000010000001000000000000000J1000001000000000000000010000010000000000000000000000J1JL1MI000000000000000000000000|5^36,84!11^48,180,588,420!10^588,396!12^348,180!12^420,156!12^384,156!0^384,204!0^408,204!0^420,204!0^432,204!0^444,204!0^396,204!0^372,204!0^372,192!0^384,192!0^396,192!0^408,192!0^420,192!0^432,192!0^420,180!0^408,180!0^396,180!0^384,180!1^156,84!1^252,84!1^348,84!0^156,60!0^252,60!0^348,60!12^444,36!9^516,156,0,0,25,2,1,-1,0!6^324,132,3,1,0,2!6^516,156,3,0,2,3!9^648,60,0,0,26,2,0,0,0!9^636,276,1,0,31,17,1,0,-1!9^588,132,1,0,31,20,1,0,-1!12^660,108!12^672,120!12^636,108!12^648,132!3^660,252!0^612,300!0^612,312!0^612,324!0^660,372!0^672,372!0^684,372!0^696,372!0^708,372!0^720,372!0^612,336!12^684,324!12^708,324!12^24,48!12^36,36!12^48,24!10^564,276!0^540,252!0^564,252!0^576,252!0^588,252!0^552,252!0^516,228!0^516,216!0^516,204!4^540,570,1!1^492,564!0^396,564!0^372,564!0^348,564!0^324,564!0^300,564!0^276,564!0^252,564!0^228,564!0^204,564!0^180,564!0^156,564!0^132,564!0^108,564!0^84,564!0^60,564!0^36,564!12^300,540!12^252,540!12^108,540!12^48,540!12^24,468!12^24,408!12^24,348!12^24,288!12^24,228!0^276,396!0^288,396!0^324,420!0^336,420!0^372,444!0^396,444!0^420,468!0^444,468!0^420,300!0^384,444!0^432,468!0^456,468!0^132,348!0^84,324!0^96,324!0^204,276!0^228,276!0^252,276!0^276,276!0^300,276!0^324,276!0^348,276!0^372,276!0^396,276!6^60,276,1,0,1,1!12^492,492!12^516,492!12^540,468!12^540,444!12^540,492!3^492,444");
var _local24 = new LevelData("Mother Thumping Impossible ( by blue_tetris )", "1I2J111MFI0JQI0FQQQMB111@00B1E00000000000000021P00F11000000000000000?1A00?1A003H0GD0GD00000>1H002100>1111111111A00011@001D001A0000FEI100001I003110?100GH000?1@000100?1150F10B111@0N1P00?100B1100010N111P0N1P00N1@00F1P0310N111P0N1A00B150001A0J10>111P0>1000N100031000100111A001000>1H0F1100?1@0B110001400011I0B140N1A0N110031E0001500>1A0N100N11H0B1P00K1000010021@0N1150N1A0021000G10001A0N1100N1000010C11100?100N1100N1000G10>111@0N100N1100N1H00B1L0FM1A0N140>11@0>1E00C11@00100N1D00B1P001A00J111@0100N11LH>1P001000011A0C100>111111A00140001I0011400FFI0FI0031E00?100GK1E0000000000>1500>1000F11H0GOH00GOHC1@0001400?11111111111111A00011@000FE0BM0FQ150FE000G111L0000000000F0000000B1111A0000000000000000GC1111LKOGH000GOOOH003111|5^48,72!12^96,144!12^144,144!12^168,144!12^252,144!12^276,144!12^384,144!12^408,144!12^540,144!12^516,144!12^492,144!12^648,144!12^672,216!12^672,240!12^768,240!12^768,264!12^768,288!12^768,312!12^672,288!12^672,312!12^756,348!12^756,372!12^756,396!12^672,408!12^672,432!12^768,432!12^768,456!12^768,480!12^684,576!12^660,576!12^636,576!12^564,576!12^540,576!12^432,576!12^408,576!12^360,576!12^336,576!12^312,576!12^192,576!12^168,576!12^144,576!12^120,576!12^120,432!12^120,456!12^120,480!12^36,408!12^36,432!12^36,456!12^36,480!12^24,384!12^24,360!12^120,360!12^120,384!12^36,312!12^36,336!12^120,288!12^120,312!12^24,264!12^24,288!12^144,240!12^168,240!12^204,240!12^228,240!12^288,240!12^312,240!12^408,240!12^432,240!12^468,228!12^492,228!12^648,228!12^576,324!12^648,324!12^648,348!12^636,384!12^636,408!12^576,456!12^552,456!12^528,456!12^504,456!12^336,456!12^312,456!12^288,456!12^252,444!12^228,444!12^204,444!12^168,456!12^144,456!12^144,384!12^144,360!12^144,336!12^144,312!12^144,288!12^192,360!12^216,300!12^240,300!12^264,300!12^300,312!12^336,324!12^360,324!12^384,324!12^420,324!12^444,324!12^468,324!6^348,108,3,0,0,0!9^420,120,1,1,21,5,0,0,-1!8^732,516,3!8^708,540,2!8^60,516,0!12^528,228!12^552,228!12^636,264!12^636,288!8^636,60,1!12^288,564!12^264,564!12^516,552!12^456,552!12^72,576!8^612,204,2!8^612,420,3!12^408,444!12^432,444!12^456,444!8^180,420,0!8^516,300,2!9^36,372,1,1,10,18,0,0,-1!11^516,324,360,204!9^360,204,1,1,21,14,0,0,-1!9^360,204,1,1,22,14,0,0,-1!12^540,348!12^528,348!12^552,348!12^552,360!12^576,384!0^96,96!0^120,84!0^144,96!0^288,84!0^312,84!0^396,72!0^420,72!0^420,72!0^600,84!0^624,84!0^648,84!0^684,168!0^744,144!0^696,348!0^696,444!0^564,528!0^552,504!0^528,492!0^504,504!0^492,528!0^492,528!0^348,552!0^324,528!0^300,516!0^276,528!0^252,552!0^96,552!0^96,528!0^96,528!0^96,504!0^60,348!0^84,348!0^60,240!0^84,240!0^204,216!0^228,204!0^252,216!0^396,216!0^420,204!0^444,192!0^576,432!0^552,420!0^528,420!0^504,420!0^480,432!0^336,432!0^312,420!0^288,408!0^288,288!0^324,300!0^372,276!0^444,276!0^468,276");
var _local20 = new LevelData("something ( by extremedave )", "00000000000000000000000000QQQQQQQQQQQQQQQQQQQQ00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000P000P00000000000000000000000000000000000000000P000P00000000000000000000000000000000000000000P000P00000000000000000000000000000000000000000P000P00000000000000000000000000000000000000000P000P00000000000000000000000000000000000000000P000P00000000000000000000000000000000000000000P000P00000000000000000000000000000000000000000P000P00000000000000000000000000000000000000000P000P00000000000000000000000000000000000000000P000P00000000000000000000000000000000000000000P000P00000000000000000000000000000000000000000P000P00000000000000000000000000000000000000000P000P000|5^756,468!7^732,492,3!7^684,492,3!7^636,492,3!7^588,492,3!7^540,492,3!7^492,492,3!7^444,492,3!7^396,492,3!7^348,492,3!7^300,492,3!7^252,492,3!7^204,492,3!8^684,396,1!8^684,540,3!8^636,396,1!8^636,540,3!8^588,396,1!8^588,540,3!8^540,396,1!8^540,540,3!8^492,540,3!8^492,396,1!2^732,468,-1,0!7^732,396,3!8^204,396,1!8^252,396,1!8^300,396,1!8^348,396,1!8^396,396,1!8^444,396,1!8^444,540,3!8^396,540,3!8^348,540,3!8^300,540,3!8^252,540,3!8^204,540,3!2^756,372,0,-1!7^756,132,3!7^732,132,3!7^708,132,3!7^684,132,3!7^660,132,3!7^636,132,3!7^612,132,3!7^588,132,3!7^564,132,3!7^540,132,3!12^60,108!12^60,144!12^60,180!1^444,204!1^348,180!1^252,156!1^156,132!1^96,108!7^36,492,1!11^756,564,36,492!3^72,564!9^684,516,0,0,30,23,1,-1,0!9^684,516,0,0,30,22,1,-1,0!9^684,516,1,0,30,22,1,0,-1!9^684,516,1,0,31,22,1,0,-1!9^684,516,0,1,3,23,0,0,0!9^36,492,1,0,1,22,1,0,-1!10^36,564!4^708,570,1!0^36,108!0^36,132!0^36,156!0^36,180!0^36,204!0^36,228!0^36,252!0^36,276!0^36,300!0^36,324!0^36,348!0^36,372!0^36,396!0^36,420!0^36,444!0^36,468");
var _local18 = new LevelData("golden touch ( by prodigal_cowboy )", "111500000000001111111111110000000000311111111111I0000000I0021111111111M000000000000FJ1502EF11@0000000000000000000021A00000000000000000000050000000000000000000000000000000?1400000000000000000000>1E00000000000000000000?1P00000000000000000000N1D00000000000000000000C11LH00000000000000000311111@000000000000000?111111D000000000000000C1111111400000000000000B111111111400000400000000BMI00FQJM0000010000000000000000000000100000000000000000000001@0000000000000000000001D00000000000000000000011400000000000000000000111@00000000000031A0000111A000000GH00GK1E0000011100000031111111A0000011100000021111111000000111400000000001114000001111@0000000021111D00001111P000000000FJ11E000G1111A0000000000?11A003111114000000000C111H0?11|5^276,240!7^180,276,3!7^156,276,3!7^132,276,3!7^36,276,3!7^60,276,3!7^180,276,1!7^156,276,1!7^132,276,1!7^60,276,1!7^36,276,1!12^180,276!12^156,276!12^132,276!12^60,276!12^36,276!7^132,276,2!7^444,444,3!7^468,444,3!7^492,444,3!7^516,444,3!10^504,336!0^588,324!0^588,348!0^576,372!0^564,396!0^552,408!0^576,300!0^552,276!0^420,360!0^420,336!0^420,312!0^432,288!0^444,264!0^480,60!0^456,60!0^504,72!0^528,84!0^552,108!9^444,264,1,0,22,18,1,0,-1!7^540,204,0!7^540,204,2!7^540,204,3!2^540,204,0,-1!9^444,264,1,0,22,9,1,0,-1!7^156,108,3!12^156,108!7^276,60,3!12^276,60!7^156,108,2!7^276,60,2!0^156,84!9^276,36,1,0,27,14,1,0,-1!0^276,36!2^660,348,0,-1!0^756,276!0^756,300!0^756,252!0^660,348!0^96,336!0^108,360!0^120,384!4^684,570,1!0^156,564!0^348,564!0^372,564!12^468,564!12^492,564!12^516,564!12^540,564!12^564,564!12^588,564!12^612,564!12^636,564!0^636,492!0^612,492!0^588,492!0^564,492!0^540,492!0^516,492!0^492,492!0^468,492!0^396,564!0^180,564!0^204,564!9^756,492,0,1,10,20,0,-1,0!9^756,492,0,1,12,18,0,-1,0!9^756,492,0,1,9,16,0,-1,0!9^756,492,0,1,7,19,0,-1,0!7^252,348,3!11^252,324,636,492!7^540,444,1!7^540,444,2!2^540,444,0,-1!12^660,564");
var _local23 = new LevelData("chainlink ( by stepself )", "000000000000000000000000000000000003111400000000003111400?50002@00000000?50002@0N00000P00000000N00000P0000000000000000000000000000N00000P00000000N00000P0>40003A00000000>40003A002111500000000002111500000000000000000000000000000000000000000000000000000000000003111400000000000000000?50002@0031114000000000N00000P0?50002@0000000000000000N00000P0000N00000P0000000000000000>40003A0N00000P0000000002111500>40003A00000000000000000211150000000000000000000000000000000000000000003111400000000000000000?50002@0000000003111400N00000P00000000?50002@0000000000000000N00000P00000N00000P0000000000000000>40003A00000000N00000P0021115000000000>40003A00000000000000000211150000000000000000000000000000000000000000000000000000000000|5^60,564!2^768,564,-1,0!2^768,540,-1,0!2^768,516,-1,0!2^768,492,-1,0!11^60,564,756,108!0^180,444!0^180,468!0^180,492!0^84,396!0^84,372!0^84,348!0^204,300!0^204,276!0^204,252!0^108,204!0^108,180!0^108,156!0^420,84!0^420,108!0^420,132!0^324,180!0^324,204!0^324,228!0^444,276!0^444,300!0^444,324!0^348,372!0^348,396!0^348,420!0^636,444!0^636,420!0^636,396!0^540,348!0^540,324!0^540,300!0^684,252!0^684,228!0^684,204!0^588,156!0^588,132!0^588,108!0^264,348!0^276,348!0^252,348!0^264,336!0^264,360!0^504,192!0^504,204!0^492,420!0^492,396!0^492,408!0^480,408!0^504,408!0^492,204!0^516,204!0^504,216!12^288,204!12^240,276!12^312,396!12^216,468!12^48,372!12^72,180!12^456,108!12^480,300!12^504,324!12^672,420!12^720,228!12^552,132!12^600,492!12^600,348!12^576,396!12^576,252!12^648,300!12^648,156!12^624,204!12^624,60!12^384,36!12^384,180!12^360,132!12^360,276!12^408,372!12^384,324!12^384,468!12^144,540!12^144,396!12^120,444!12^120,300!12^168,348!12^168,204!12^144,252!12^144,108!0^252,72!0^240,72!0^228,72!0^240,60!0^240,84!3^156,228!3^132,420!3^372,156!3^396,348!3^636,180!3^588,372");
var _local22 = new LevelData("Entice ( by tktktk )", "00000000035000240000000000000031103140100000000000000101000101000000000000001020005010000000000000010000000100000000000000100000001000000000000001000000010000000000000010400030100000000000000101000101000000000000001050002010000000000000010000000100000000000000100000001000000000000001000000010000000000000010300040100000000000000101400101000000000000001010001010000000000000010100210100000000000000102000501000000000000001000000010000000000000010000000100000000000000100000001000000000000001040003010000000000000010100010100000000000000105000201000000000000001000000010000000000000010000000100000000000000100000001000000000000001030004010000000000000010100010100000000000000102150115000000000000002400035000000000|5^396,300!6^396,324,3,0,0,2!6^396,276,3,0,0,0!12^180,252!12^468,252!12^612,252!12^180,348!12^468,348!12^612,348!0^300,300!0^156,300!0^132,300!0^468,300!0^492,300!0^516,300!0^636,300!0^660,300!12^492,348!12^516,348!12^636,348!12^660,348!12^660,252!12^636,252!12^516,252!12^492,252!12^300,252!12^276,252!12^156,252!12^132,348!12^156,348!12^276,348!12^300,348!7^132,348,1!7^156,348,1!7^180,348,1!7^276,348,1!7^300,348,1!7^348,348,1!7^444,348,1!7^468,348,1!7^492,348,1!7^516,348,1!7^612,348,1!7^636,348,1!7^660,348,1!7^156,252,3!7^180,252,3!7^276,252,3!7^300,252,3!7^348,252,3!7^444,252,3!7^468,252,3!7^492,252,3!7^516,252,3!7^612,252,3!7^636,252,3!7^660,252,3!7^108,348,1!9^72,276,0,0,2,11,0,0,0!11^396,300,84,228!6^108,228,3,1,0,0!6^372,372,3,1,0,2!7^324,348,1!7^324,252,3!7^684,252,3!7^684,348,1!7^108,252,3!7^132,252,3!12^252,348!12^324,348!12^204,348!12^204,252!12^132,252!12^324,252!12^252,252!12^540,252!12^588,252!12^588,348!12^540,348!0^180,300!0^612,300!0^636,276!0^636,324!0^156,276!0^156,324!0^300,324!0^324,300!0^300,276!0^276,300!0^492,276!0^492,324!6^684,372,3,1,0,2!6^420,228,3,1,0,0!9^720,324,0,0,30,13,0,-1,0!9^708,372,1,0,31,11,1,0,0!9^36,312,1,0,1,13,0,0,-1");
var _local26 = new LevelData("Mount Doom ( by maximo )", "P00011MI0000000000000001110MI00000000000000000FJ10000000000000000000000F00000000000000000003000000000000000000000310000000000000000000GKMI0000000000000000003MI000000000000000000GK50000000000000000000311H000000000000000000311MI0000000000000000031MI00GH00000000000000015000NMM0000000000000031LH00NLH000000000000GK11MI00NMMI0000000000311MI0000000000000000GK1MI0000000000000000GK1MI00000000000000000?1MI0000000NLH000000000CE000000000N11MI000000000000000000NMM0000000000000000000000000000000000000NLH000000000000000BD000N11MI0000000000000>1LH0NMM0000000000000000FJ1LH0000000000NLL0000000FJ1LH00000000N11000000000211LH000000NMI0000000000211I00000000000000000000FJLH00000000000000000000011LH0000000000000000000211I000000|5^48,564!8^744,408,1!8^672,336,1!8^300,516,1!8^240,456,1!8^588,300,1!8^492,444,1!12^480,156!12^480,132!12^492,36!12^504,60!12^516,96!12^528,144!12^468,192!12^492,216!12^540,180!12^540,60!12^564,36!12^588,72!12^624,36!12^444,36!12^396,24!12^528,24!12^420,108!12^384,132!12^348,36!12^624,108!12^660,156!12^648,60!12^684,36!12^732,36!12^564,72!1^348,156!12^468,108!12^444,96!1^492,180!12^384,48!12^468,48!12^396,168!12^648,192!12^624,72!12^348,72!12^660,228!12^672,264!12^660,252!12^696,276!12^708,288!12^720,312!12^732,336!12^744,336!12^756,348!12^756,336!12^768,348!12^612,264!12^456,276!12^516,360!12^384,540!12^420,360!12^384,396!12^516,312!12^420,312!12^624,360!12^672,432!12^708,468!12^708,384!12^756,468!12^756,552!12^684,552!12^624,480!12^444,492!12^528,504!12^516,456!12^216,492!12^312,408!12^252,480!12^504,564!12^324,528!12^228,564!12^168,564!0^756,300!0^732,276!0^696,240!0^684,192!0^696,216!0^720,240!0^732,228!0^756,192!0^696,120!0^696,96!0^708,72!0^756,72!0^660,84!0^672,108!0^696,144!0^708,180!0^720,144!0^720,96!0^756,120!0^732,168!0^756,252!0^660,132!0^636,168!0^612,144!0^636,132!0^732,108!0^744,144!0^708,204!0^756,216!0^756,36!0^708,48!0^684,60!0^672,204!0^732,204!0^684,168!0^708,120!0^732,72!0^756,276!12^372,204!12^300,96!12^252,168!12^252,240!12^228,204!12^216,288!12^312,324!12^288,336!12^324,312!12^300,336!12^264,360!12^216,408!12^156,468!12^144,492!12^144,516!12^144,528!12^108,552!12^360,264!1^252,216!9^324,564,0,0,2,4,1,0,0!9^720,564,0,0,2,4,1,-1,0!9^468,384,1,0,1,3,1,0,0!9^324,456,1,0,1,2,1,0,0!9^636,504,1,1,3,5,0,0,-1!9^192,528,1,1,4,5,0,0,-1!9^492,264,0,1,5,5,0,-1,0!9^576,108,1,1,5,6,0,0,-1!9^456,564,1,1,6,6,0,0,-1!1^492,336!12^408,444!8^336,384,1!6^684,564,3,0,2,0!6^420,420,1,0,0,1!1^348,168!1^492,348!1^492,192!1^540,468!1^540,480!11^36,48,708,156");
var _local4 = new Array();
_local4.push(_local32);
_local4.push(_local29);
_local4.push(_local40);
_local4.push(_local36);
_local4.push(_local50);
this.episodeList[80] = new EpisodeData("episode 80", "xxxx", _local4);
var _local3 = new Array();
_local3.push(_local37);
_local3.push(_local33);
_local3.push(_local45);
_local3.push(_local41);
_local3.push(_local55);
this.episodeList[81] = new EpisodeData("episode 81", "idiosyncratic", _local3);
var _local6 = new Array();
_local6.push(_local27);
_local6.push(_local25);
_local6.push(_local34);
_local6.push(_local30);
_local6.push(_local42);
this.episodeList[82] = new EpisodeData("episode 82", "mulch", _local6);
var _local5 = new Array();
_local5.push(_local31);
_local5.push(_local28);
_local5.push(_local38);
_local5.push(_local35);
_local5.push(_local46);
this.episodeList[83] = new EpisodeData("episode 83", "kinematic", _local5);
var _local8 = new Array();
_local8.push(_local51);
_local8.push(_local47);
_local8.push(_local59);
_local8.push(_local56);
_local8.push(_local14);
this.episodeList[84] = new EpisodeData("episode 84", "blackfrancis", _local8);
var _local7 = new Array();
_local7.push(_local57);
_local7.push(_local52);
_local7.push(_local12);
_local7.push(_local60);
_local7.push(_local16);
this.episodeList[85] = new EpisodeData("episode 85", "atrophy", _local7);
var _local10 = new Array();
_local10.push(_local43);
_local10.push(_local39);
_local10.push(_local53);
_local10.push(_local48);
_local10.push(_local61);
this.episodeList[86] = new EpisodeData("episode 86", "red", _local10);
var _local9 = new Array();
_local9.push(_local49);
_local9.push(_local44);
_local9.push(_local58);
_local9.push(_local54);
_local9.push(_local13);
this.episodeList[87] = new EpisodeData("episode 87", "electroplankton", _local9);
var _local2 = new Array();
_local2.push(_local17);
_local2.push(_local15);
_local2.push(_local21);
_local2.push(_local19);
_local2.push(_local24);
this.episodeList[88] = new EpisodeData("episode 88", "dream", _local2);
var _local11 = new Array();
_local11.push(_local20);
_local11.push(_local18);
_local11.push(_local23);
_local11.push(_local22);
_local11.push(_local26);
this.episodeList[89] = new EpisodeData("episode 89", "sto-helit", _local11);
};
NinjaData.prototype.BuildGameData_Set9 = function () {
var _local30 = new LevelData("self-inflicted", "50000015000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000040000014000000000000000|5^756,156!1^660,180!1^588,180!1^516,180!1^444,180!1^132,180!1^204,180!1^276,180!1^348,180!12^768,228!12^768,276!12^768,324!12^768,372!12^768,420!12^768,468!12^768,516!12^768,564!12^756,252!12^756,300!12^756,348!12^756,396!12^756,444!12^756,492!12^756,540!12^24,228!12^24,276!12^24,324!12^24,372!12^24,420!12^24,468!12^24,516!12^24,564!12^36,252!12^36,300!12^36,348!12^36,396!12^36,444!12^36,492!12^36,540!0^156,180!0^168,180!0^180,180!0^228,180!0^240,180!0^252,180!0^300,180!0^312,180!0^324,180!0^636,180!0^624,180!0^612,180!0^564,180!0^552,180!0^540,180!0^492,180!0^480,180!0^468,180!0^420,180!0^408,180!0^384,180!0^372,180!0^396,180!11^744,156,48,156!12^696,180!12^96,180!12^132,204!12^204,204!12^276,204!12^348,204!12^444,204!12^516,204!12^588,204!12^660,204");
var _local27 = new LevelData("zeb rah", "5000000000011111111111100000000000QQQQQQQQQQQQ0000000000QQQQQQQQQQQQQ00000000QQQQQQQQQQQQQQQ00000000000QQQQQQQQQQQQ0000000000000QQQQQQQQQQ0000000000QQQQQQQQQQQQQ00000000000QQQQQQQQQQQQ000000QQQQQQQQQQQQQQQQQ000000000000QQQQQQQQQQQ0000000000QQQQQQQQQQQQQ000000000QQQQQQQQQQQQQQ00000000000QQQQQQQQQQQQ000000000000QQQQQQQQQQQ00000000000000QQQQQQQQQ00000000000QQQQQQQQQQQQ00000000QQQQQQQQQQQQQQQ000000000000QQQQQQQQQQQ00000000000QQQQQQQQQQQQ0000000000000QQQQQQQQQQ0000000000QQQQQQQQQQQQQ00000000000QQQQQQQQQQQQ000000000000QQQQQQQQQQQ000000000000QQQQQQQQQQQ00000000000000QQQQQQQQQ00000000000QQQQQQQQQQQQ0000000000000QQQQQQQQQQ000000000QQQQQQQQQQQQQQ000000000000QQQQQQQQQQQ0000000000QQQQQQQQQQQQQ40000000000111111111111|5^756,276!11^48,276,324,132!12^654,324!12^702,300!12^606,348!12^486,324!12^438,300!12^366,348!12^246,300!12^198,276!12^150,324!12^126,276!12^174,252!12^390,276!12^342,300!12^318,276!12^582,300!12^558,300!0^726,252!0^678,228!0^630,276!0^534,276!0^510,252!0^462,276!0^414,204!0^294,228!0^270,252!0^222,156!0^102,204!0^78,252!6^204,252,0,0,0,3!6^396,228,0,0,0,3!6^84,228,0,0,0,3!6^660,252,1,0,0,1!6^492,276,1,0,0,1");
var _local38 = new LevelData("subterranean homesick golds", "111111111111111111111111111500021111111111111111110314000000011111111111101110000000111111111111O111000000011111111111111110000000111111111111111140000031111111111111111100?0011111111111111111100N00111111111111111110000000111111111111111100000001111111111111111000000011111111111111110000000111111111111111140000031111111111111111100@0011111111111111111100P0011111111111111111100A00111111111111111115000002111111111111111100000001111111111111111000000011111111111111110000000111111111111111100000001111111111111111100N0011111111111111111100>0011111111111111111500000211111111111111110000000111111111111011100000001111111111110111000000011111111111102150000000111111111111400031111111111111111111111111111111111111|5^120,132!4^540,378,1!4^252,378,1!9^240,270,1,0,30,7,1,0,0!9^552,270,1,0,30,7,1,0,-1!0^564,324!0^576,324!0^576,348!0^564,348!0^564,336!0^576,336!0^552,324!0^552,336!0^552,348!0^240,348!0^240,336!0^240,324!0^228,348!0^216,348!0^216,336!0^228,336!0^228,324!0^216,324!0^204,324!0^204,336!0^204,348!0^588,324!0^588,336!0^588,348!0^540,228!0^528,228!0^516,228!0^504,228!0^492,228!0^480,228!0^468,228!0^456,228!0^444,240!0^348,240!0^336,228!0^324,228!0^312,228!0^300,228!0^288,228!0^276,228!0^264,228!0^252,228!0^396,312!0^396,324!0^396,336!0^396,348!0^408,348!0^408,336!0^384,336!0^384,348!0^408,324!0^384,324!0^408,312!0^384,312!12^492,336!12^492,300!12^300,300!12^300,336!12^360,348!12^444,348!12^444,300!12^360,300!12^252,360!12^540,360!12^540,300!12^252,300!11^672,132,396,264!4^636,378,1!4^156,378,1");
var _local34 = new LevelData("chicken bock", "11111111111111111111000111111111111111111110101111111111111111111101011111111111111111111110111111111111111111110101111111111111111111101011111111111111111111010111111111111111111110101111111111111111111101011111111111111111111010111111111111111111110101500021500021500021501050314000314000314000310001111111111111111401100021111111111111111011000011111111111111110110003111111111111111101100011111111111111115011040215000215000215000210140003140003140003140101111111111111111111101011111111111111111111010111111111111111111110101111111111111111111101011111111111111111111010111111111111111111110101111111111111111111101011111111111111111011000111111111111111110110111111111111111111102101111111111111111111400011|5^132,516!12^444,72!12^444,24!12^348,72!12^348,24!12^396,36!12^396,60!0^444,48!0^396,84!0^348,48!0^384,84!0^408,84!0^420,72!0^432,60!0^372,72!0^360,60!0^360,48!0^372,60!0^384,72!0^396,72!0^408,72!0^420,60!0^432,48!0^444,36!0^348,36!0^348,60!0^444,60!0^456,36!0^456,48!0^336,36!0^336,48!12^420,36!12^372,36!0^324,180!0^300,108!0^492,108!0^468,180!0^492,252!0^468,324!0^324,324!0^300,252!0^300,396!0^324,468!0^468,468!7^684,540,3!11^696,444,744,456!6^36,564,2,0,0,0!9^312,504,0,0,4,23,1,0,0");
var _local48 = new LevelData("extremely cross", "00000000115021100000000000000002100015000000000000000001000100000000000000000010001000000000000000000100010000000000000000001000100000000000000000010001000000000000000000100010000000000000000001000100000000000000000010001000000000000000000100010000000000000000001000100000000014000000310001400000031111111111100011111111115000000000000000000000200000000000000000000000400000000000000000000031111111111000111111111115000000210001500000021000000000100010000000000000000001000100000000000000000010001000000000000000000100010000000000000000001000100000000000000000010001000000000000000000100010000000000000000001000100000000000000000010001000000000000000000100010000000000000000031000140000000000000000114031100000000|5^84,300!11^72,324,324,300!0^384,36!0^396,36!0^408,36!0^420,48!0^408,48!0^396,48!0^384,48!0^372,48!0^372,60!0^384,60!0^396,60!0^408,60!0^420,60!0^756,288!0^756,300!0^756,312!0^744,324!0^744,312!0^744,300!0^744,288!0^744,276!0^732,276!0^732,288!0^732,300!0^732,312!0^732,324!0^384,564!0^396,564!0^408,564!0^420,552!0^408,552!0^396,552!0^384,552!0^372,552!0^372,540!0^384,540!0^396,540!0^408,540!0^420,540!10^660,300!12^516,336!12^516,264!12^444,264!12^444,336!12^588,336!12^588,264!12^660,264!12^660,336!12^732,264!12^732,336!6^420,156,3,1,0,3!6^372,228,2,1,0,3!6^420,372,3,1,0,1!6^372,492,2,1,0,1");
var _local35 = new LevelData("quicky", "00000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001010101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000|5^708,192!11^708,204,84,204!0^660,60!0^636,60!0^612,60!0^588,60!0^588,72!0^612,72!0^636,72!0^660,72!0^132,60!0^132,72!0^156,72!0^156,60!0^180,60!0^180,72!0^204,72!0^204,60!8^420,444,0!8^372,444,2!8^372,492,2!8^372,540,2!8^420,540,0!8^420,492,0!12^396,396!12^420,420!12^372,420!12^396,540!12^396,492!12^396,444!8^756,564,2!8^756,516,2!8^756,468,2!8^36,564,0!8^36,516,0!8^36,468,0!12^36,420!12^756,420");
var _local31 = new LevelData("unfinished business", "11111500002111111111111111110000001111111111111111100000011111111111111111000000111111111111111110000001111111111111111100000011111111111111111000000111111111111111110000001111111111111111100000011111111111111111000000111111111111111110000001111111111111111100000011111111111111111000000111111111111111110000001111111111111111100000011111111111111111000000111111111111111110000000111111111111111100000001101111111111110000000000011111111111000000001000001011111110100000000010000011111100000000000100000111100000000000000010001111001100000011000000001100001000000100000011001010000000001001000010000001000000000000010100000011000000000001100010010010000001110011000100110100000001100000001000000000000000000000000|5^36,252!0^684,564!0^708,564!0^732,564!0^756,564!0^756,540!0^756,516!0^732,516!0^708,516!0^684,516!0^660,516!0^660,540!0^660,564!0^636,516!0^612,516!0^588,516!0^612,540!0^636,540!0^636,564!0^756,492!0^732,492!0^708,492!0^684,492!0^588,492!0^564,492!0^540,492!0^516,492!0^732,468!0^756,468!0^756,444!0^732,444!0^756,36!0^732,36!0^708,36!0^684,36!0^660,36!0^636,36!0^612,36!0^564,60!0^588,60!0^612,60!0^564,84!0^588,84!0^612,84!0^636,84!0^660,84!0^660,60!0^684,60!0^684,84!0^708,84!0^756,84!0^756,60!0^708,108!0^732,108!0^756,108!0^756,132!6^636,108,4,0,0,3!6^684,60,0,0,0,3!0^708,468!0^756,420!0^732,420!0^684,468!0^660,468!0^636,468!6^684,492,1,0,0,3!6^708,564,0,0,0,2!6^708,468,1,0,0,0!11^84,276,708,216!12^498,288!12^486,288!12^450,312!12^414,312!12^438,312!12^426,312!12^642,288!12^630,288!12^618,288!12^606,288!12^594,288!12^582,288!12^702,288!12^714,288!12^726,312!12^738,312!12^738,144!12^726,144!12^714,144!12^702,144!12^690,144!12^678,144!12^666,120!12^654,120!12^618,144!12^606,144!12^594,144!12^582,144!12^522,144!12^510,144!12^474,120!12^462,120");
var _local43 = new LevelData("shine on, you crazy diamond ", "00001111111111111400000000002111111115000000000000000011000000000000001111111111111140000000002111111111000000000000000011000000000000000000000111400000000000000000211000000000000000000000011111500001400000031111111500000111150000001111100000000000000000000000011140000000000000000021100000000000000000000001111150000000000003111111150000000000000000111110000000000000000011111111111114000000000021011111111111114000000000021111111110000000000000000110000000000000003000001114000000000000010002110000000000000311100000111115000000000011501111111111140000000000002111111111000000000000000011000000000000000000000111400000000000000000211000000000000000000000011111500000000000031111111500000000000000001111100000000|5^756,564!11^588,132,228,372!9^684,372,0,0,12,8,1,-1,0!9^84,276,1,0,11,9,1,0,-1!1^684,540!1^516,540!4^36,570,1!4^420,114,1!0^540,348!0^540,372!0^540,396!0^540,360!0^540,384!0^540,408!0^636,396!0^636,408!0^636,420!0^636,432!0^636,444!0^636,456!0^708,324!0^708,300!0^708,312!0^708,288!0^708,276!0^348,204!0^348,192!0^348,168!0^348,180!0^348,156!0^204,180!0^204,192!0^204,204!0^204,216!0^156,204!0^156,216!0^156,228!0^156,252!0^156,240!0^156,264!0^756,252!0^756,240!0^756,228!0^756,216!0^756,192!0^756,204!0^60,396!0^60,408!0^60,420!0^396,276!0^396,288!0^396,312!0^396,300!0^396,324!6^540,156,1,0,2,2");
var _local39 = new LevelData("jinx malloy", "50000011111111111111111000000211111111111111110000000000002111111111100000000000000211111111000000000000021111111110000000000021111111111100000000000002111111111000000000000000211111110000000000000021111111100000000000002111111111000000000021111111111110000000000002111111111100000000211111111111111000000021111111111111110000000002111111111111100000021111111111111111000000000021111111111110000000000000211111111100000000000000000211111000000000000000021111110000000000002111111111100000000000000002111111000000000000000000211110000000000000000000021100000000000000021111111000000000000002111111110000000000000000021111100000000000000002111111000000000000000000211110000000000000021111111140000000000021111111111|5^60,132!11^36,156,744,48!12^300,324!12^372,252!12^324,228!12^252,348!12^228,372!12^204,396!12^132,348!12^108,372!12^420,276!12^444,348!12^468,444!12^492,420!12^564,468!12^588,516!12^540,420!12^612,396!12^660,444!12^708,468!12^684,420!12^636,372!12^732,372!12^756,324!12^516,324!12^396,180!12^348,204!12^276,276!12^156,300!12^180,348!12^84,324!0^108,348!0^108,324!0^132,324!0^132,300!0^108,300!0^84,300!0^84,276!0^204,372!0^204,348!0^228,348!0^180,324!0^252,324!0^300,300!0^372,228!0^468,420!0^468,396!0^468,372!0^492,372!0^492,396!0^540,372!0^564,372!0^588,372!0^588,396!0^564,396!0^540,396!0^540,348!0^564,348!0^588,348!0^612,348!0^612,372!0^636,348!0^660,348!0^684,348!0^708,348!0^732,348!0^708,372!0^708,396!0^708,420!0^708,444!0^660,420!0^660,396!0^684,396!0^684,372!0^660,372!0^588,420!0^564,420!0^564,444!0^588,444!0^588,468!0^588,492!0^492,348!0^468,348!0^444,324!0^468,324!0^492,324!0^444,300!0^612,324!0^636,324!0^660,324!0^732,324!0^540,324!0^540,300!0^516,300!0^492,300!0^300,252!0^300,276!0^276,252!0^252,300!0^228,324!0^204,324!0^180,300!0^84,252!0^84,228!0^84,204!0^228,300!0^252,276!0^108,276!0^324,204!0^372,204!0^372,180");
var _local53 = new LevelData("blastphemy", "A>11A>111111A>111111A>100110011A>110011A>11001A>11A>110011A>110011A>10011001100110011001100100110011000000110011001001100000000001100000010011000000110011000000100110011001100110011001001100110011000000110010011001100110000001100100000011001100110011001000000110011001100110010011001100110011000000100110000001100110000001001100000011001100110010011001100000011001100100110011000000110011001001100110011001100110010011001100110011001100100000011001100110011001000000110011000000110010011001100110000001100100110011001100110011001001100000011001100110010011000000110011001100100110011000000110000001001100110000001100000010011001100110011001100B@?110011@?110011@?1100>0011@?110011@?110011000@?111111@?111111@?11@00|5^732,564!11^756,564,396,36!6^732,36,3,0,2,1!6^60,60,2,0,2,3!6^60,156,3,0,2,3!6^732,252,5,0,2,2!6^732,444,2,0,2,3!6^60,348,4,0,2,1!6^60,516,3,0,2,1!0^648,480!0^336,480!0^168,480!0^240,384!0^528,384!0^648,288!0^408,288!0^144,288!0^168,192!0^360,192!0^600,192!0^504,96!0^288,96!0^108,36!0^108,48!0^108,60!0^120,60!0^120,48!0^120,36!0^684,60!0^672,60!0^672,48!0^684,48!0^684,36!0^672,36!0^708,156!0^708,144!0^708,132!0^720,144!0^732,144!0^720,132!0^720,156!0^96,48!0^696,48!0^108,132!0^108,144!0^108,156!0^120,156!0^120,144!0^120,132!0^96,144!0^84,228!0^84,240!0^84,252!0^72,240!0^60,240!0^72,228!0^72,252!0^108,324!0^108,336!0^108,348!0^120,348!0^120,336!0^120,324!0^96,324!0^96,336!0^96,348!0^96,60!0^96,36!0^84,48!0^96,132!0^96,156!0^84,144!0^84,336!0^696,36!0^696,60!0^708,48!0^684,228!0^684,240!0^684,252!0^696,252!0^696,240!0^696,228!0^672,228!0^672,240!0^672,252!0^708,240!0^708,324!0^720,324!0^720,336!0^720,348!0^732,336!0^708,336!0^708,348!0^84,420!0^84,432!0^84,444!0^72,444!0^72,432!0^72,420!0^60,432!0^84,528!0^96,528!0^96,516!0^108,516!0^120,516!0^120,528!0^108,528!0^96,540!0^108,540!0^120,540!0^684,444!0^696,444!0^696,432!0^708,432!0^696,420!0^684,420!0^684,432!0^672,444!0^672,432!0^672,420");
var _local25 = new LevelData("below the root", "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111501111111111111111111110011111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111114011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^504,60!11^288,60,396,564!4^468,570,1!4^324,570,1!1^396,180!1^396,420!0^396,156!0^396,132!0^396,108!0^396,84!0^396,444!0^396,468!0^396,492!0^396,516!0^420,420!0^372,420!0^372,180!0^420,180!0^396,204!0^396,228!0^396,396!0^396,372!6^468,468,0,0,0,3!6^324,300,0,0,0,1!6^324,180,1,0,0,3!6^468,108,1,0,0,1!12^492,24!12^468,24!12^444,24!12^420,24!12^396,24!12^372,24!12^348,24!12^324,24!12^300,24!12^480,180!12^312,180!12^312,420!12^480,420!1^420,300!1^372,300!3^396,300!0^420,276!0^420,324!0^372,324!0^372,276!0^444,300!0^348,300!0^420,252!0^372,252!0^372,348!0^420,348!12^396,264!12^396,336");
var _local23 = new LevelData("dead ringer", "10B11111111111111111E011000000000000000000000110000000000000000000001100000?111101111@0000011000000>1110111A000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000?111101111@0000011000000>1110111A000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000?111101111@0000011000000>1110111A000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000?111101111@0000011000000>1110111A000000110000000000000000000001100000000000000000000011000000000000000000000110000000000000000000001100000?111101111@0000011000000>1110111A00000011000000000000000000000110C11111111111111111D01|5^480,468!7^732,300,3!7^660,300,3!7^636,300,3!7^612,300,3!7^588,300,3!7^516,300,3!7^492,300,3!7^468,300,3!7^444,300,3!7^372,300,3!7^348,300,3!7^324,300,3!7^300,300,3!7^228,300,3!7^204,300,3!7^180,300,3!7^156,300,3!7^84,300,3!1^624,492!1^480,492!1^336,492!1^192,492!1^192,108!1^336,108!1^480,108!1^624,108!11^336,348,336,252!8^336,468,3!8^336,132,1!8^624,132,1!8^624,468,3!9^624,276,1,0,2,12,1,0,-1!6^36,540,0,0,1,0!2^732,552,0,-1!2^60,552,0,-1!2^60,48,0,1!2^732,48,0,1!0^480,276!0^480,264!0^480,252!0^480,240!0^492,276!0^492,264!0^492,252!0^480,324!0^480,336!0^480,348!0^480,360!0^492,324!0^492,336!0^492,348!0^192,276!0^192,264!0^192,252!0^192,240!0^204,252!0^204,264!0^204,276!0^192,324!0^192,336!0^192,348!0^192,360!0^204,348!0^204,336!0^204,324!0^612,276!0^612,264!0^624,264!0^636,264!0^636,276!0^612,324!0^612,336!0^624,336!0^636,336!0^636,324!0^336,228!0^336,216!0^336,204!0^336,384!0^336,396!0^336,372!6^756,60,3,0,1,2");
var _local32 = new LevelData("baldercrap", "111111111111111111111111111111111111111111MI0>11111111111111111MI000011111111111111MI000000011111111111MI000000000011111111MI000000000000011111MI000000000000000011MI00000000000000000001100000000000000GK11D001100000000000GK111111001100000000GK111111111001100000GK1111111111110011000C11111111111111100110001111111111111111001100011111111111111110011000111111111111111100110001111111111111111001100011111111111111110011000B111111111111111001100000FJ111111111111001100000000FJ111111111001100000000000FJ111111001100000000000000FJ11E0011LH000000000000000000011111LH000000000000000011111111LH000000000000011111111111LH000000000011111111111111LH000000011111111111111111LH00001111111111111111111LH0?11111111111111111111111|5^396,540!1^648,516!1^144,516!1^540,168!1^252,168!1^612,348!1^180,348!11^396,564,396,84!3^564,84!3^228,84!0^684,420!0^660,348!0^636,276!0^612,204!0^588,132!0^588,120!0^612,192!0^636,264!0^660,336!0^684,408!0^108,420!0^108,408!0^132,348!0^132,336!0^156,276!0^156,264!0^180,204!0^180,192!0^204,132!0^204,120!4^396,138,1");
var _local28 = new LevelData("slurmy slonka", "11111111111111111111111111111111111111111111111501111111111111111111110011111111111111111111100111500000021111111111001110000000000211111110011500001400000111111100150000011110001111111000000311111100021111110000001111111140001111100311111111111100011111001111111111111000111110011111111111110031111100211111111111111111111000111111500002111111114001111110000001111111110021111100000011111111100002115000000111111111000000000000031111111110000000000311111111111100114003111111111111111001111111111111111111110011111111111111002111100111111111111110001111000211111110021100011110000111111500015000111140002150000000000311111140000000000000001111111140000003111100011111111111111111111400111111111111111111111111111|5^132,84!6^684,372,0,0,0,3!6^252,156,0,0,0,3!6^348,60,0,0,0,2!6^660,300,1,0,0,3!6^444,396,1,0,0,2!6^156,396,1,0,0,3!4^252,474,1!4^636,522,1!0^564,468!0^564,480!0^564,492!0^576,468!0^588,468!0^576,480!0^588,480!0^588,492!0^576,492!0^600,468!0^612,468!0^600,480!4^732,474,1!0^708,420!0^720,420!0^732,432!0^732,444!0^732,456!0^720,456!0^708,456!0^708,444!0^708,432!0^720,432!0^720,444!0^696,420!0^696,432!0^696,444!0^696,456!0^564,504!0^576,504!0^588,504!0^600,504!0^600,492!0^612,480!0^612,492!0^576,516!0^588,516!0^600,516!0^612,516!0^612,504!0^324,420!0^312,420!0^300,420!0^288,420!0^276,420!0^276,432!0^276,444!0^276,456!0^276,468!0^288,468!0^300,468!0^312,468!0^324,456!0^324,444!0^324,432!0^312,432!0^300,432!0^288,432!0^288,444!0^288,456!0^300,456!0^312,456!0^312,444!0^300,444!4^180,426,1!11^96,84,420,396!4^588,114,1!4^204,258,1!4^372,114,1!4^396,402,1");
var _local40 = new LevelData("righty tighty, lefty loosey", "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111900000611111111111111110;807<011111111111111110611190111111111111111100111001111111111111111071118011111111111111110:906=01111111111111111800000711111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^330,360!6^468,300,0,0,0,3!6^396,228,0,0,0,2!6^324,300,0,0,0,1!6^396,372,0,0,0,0!0^444,276!0^444,324!0^348,324!0^348,276!0^372,252!0^420,252!0^408,258!0^384,258!0^354,288!0^354,312!0^438,312!0^438,288!11^396,372,462,234!0^462,366!0^330,234");
var _local29 = new LevelData("the death aquatic", "19000000611111111900611100000000:111111100071110;1111<000619611000:11101111110000=0011800061100061118000000111<0001100001111<00000119000011000011111800001100000118007119611<0001100007111111110019000011800:11111111100100007111<0061111111=00=00;1111900001111190000000111110000011111000000071111=000001111100000;11111900000711111000006111110000:111111180000011111800000061111=0000711111=0000000111900;11111119000000001110006111111100000000711=000011111110000;111119000001111111800006111100000719006111<0000111100;1111000011110007111100611110000111100;1111100011110007111100611111000:11=000:11110001111100000000000006=0001111180000000;80000000011111111<00001111<00007111111111800711111000;1111111111111111111807111111|5^48,504!4^420,570,1!4^636,474,1!4^396,258,1!4^228,378,1!4^276,546,1!4^180,546,1!4^540,498,1!11^168,132,204,216!4^228,234,1!4^564,306,1!0^384,396!0^372,396!0^360,396!0^468,372!0^480,372!0^492,372!0^504,372!0^456,372!0^216,444!0^204,444!0^192,444!0^180,444!0^168,444!0^288,444!0^300,444!0^312,444!0^744,372!0^732,372!0^720,372!0^612,228!0^600,228!0^588,228!0^576,228!0^564,228!0^552,228!0^480,108!0^468,108!0^456,108!0^384,132!0^372,132!0^360,132!0^348,132!0^336,132!0^324,132!0^312,132!0^528,60!0^540,60!0^552,60!0^564,60!0^576,60!0^588,60!0^600,60!0^612,60!0^624,60!0^636,60!0^648,60!0^660,60!0^672,60!0^264,276!0^252,276!0^240,276!4^516,186,1!9^84,360,0,0,4,2,1,-1,0!9^732,192,0,0,4,2,1,0,0!0^108,228!0^120,228!0^96,228");
var _local26 = new LevelData("fifth column", "00000000000011111111111000000000000111111111110001400000001111111111100011000000111111111111000150000000111111111110000000000001111111111100000000000011111111111000000000000111111111110000001400001111111111100000011000111111111111000000150000111111111110000000000001111111111100000000000011111111111000000000000111111111110000140000001111111111100001100000111111111111000015000000111111111110000000000001111111111100000000000011111111111000000000000111111111110000000014001111111111100000000110111111111111000000001500111111111110000000000001111111111100000000000011111111111000000000000111111111110000014000001111111111100000110000111111111111000001500000111111111110000000000001111111111100000000000011111111111|5^84,60!4^660,306,1!4^564,306,1!4^516,306,1!4^708,306,1!4^756,306,1!4^420,306,1!4^372,306,1!4^276,306,1!4^228,306,1!4^132,306,1!4^84,306,1!4^36,306,1!12^96,276!12^120,276!12^240,276!12^264,276!12^384,276!12^408,276!12^528,276!12^552,276!12^672,276!12^696,276!12^684,252!12^672,204!12^696,204!12^684,228!12^408,180!12^384,180!12^396,204!12^396,228!12^396,252!12^264,228!12^240,228!12^252,252!12^120,156!12^96,156!12^108,180!12^108,204!12^108,228!12^108,252!11^108,84,684,132!6^348,132,0,0,0,3!6^300,204,0,0,0,1!6^228,156,1,0,0,2!6^132,156,1,0,0,0!6^84,156,0,0,0,2!6^540,204,1,0,0,2!6^540,276,0,0,0,2!6^660,204,1,0,0,0!6^396,180,1,0,0,0!6^660,132,0,0,0,0!0^540,156!0^540,132!0^540,108!0^540,84!0^540,60!0^684,84!0^684,60!0^396,60!0^252,108!0^252,84!0^252,60!0^552,180!0^528,180!0^696,108!0^672,108!0^408,84!0^384,84!0^264,132!0^240,132!0^552,36!0^528,36!0^696,36!0^672,36!0^408,36!0^384,36!0^264,36!0^240,36!0^696,48!0^672,48!0^552,48!0^528,48!0^408,48!0^384,48!0^264,48!0^240,48!0^708,108!0^660,108!0^564,180!0^516,180!0^420,84!0^372,84!0^276,132!0^228,132");
var _local36 = new LevelData("crazappy", "11111111501111150111115111500250350025035002501114340002434000243400011111140002524000252400111111503000350340035031111110350111035211103511111102401110240111024111111435011103501114351115002503500050350025011143400024340002434000111111400025240002524001111115034003503000000311111103521110350111035111111024011102401110241111110350111435011103511150005000002500000050111434000243400024340001111114000252400025240011111150340035034003503111111035211103521110351111110240111024011102411111143501114350111035111500250350025035000501114340002434000243400011111140002524000252400111111503000000340000031111110350111035211103511111102401110240111024111111435011143501114351115002503500250350025011143400024340002434000|5^750,120!11^36,420,36,252!12^600,216!12^600,384!12^600,552!12^432,552!12^264,552!12^96,552!12^96,384!12^96,216!12^96,216!12^264,216!12^432,216!12^264,384!12^432,384!0^576,120!0^564,132!0^570,126!0^408,120!0^402,126!0^396,132!0^240,120!0^234,126!0^228,132!0^72,120!0^66,126!0^60,132!0^576,288!0^570,294!0^564,300!0^408,288!0^402,294!0^396,300!0^240,288!0^234,294!0^228,300!0^72,288!0^66,294!0^60,300!0^72,456!0^66,462!0^60,468!0^240,456!0^234,462!0^228,468!0^408,456!0^402,462!0^396,468!0^576,456!0^570,462!0^564,468!0^744,456!0^738,462!0^732,468!0^744,288!0^738,294!0^732,300!0^336,240!0^168,240!0^504,240!0^672,240!0^672,408!0^504,408!0^336,408!0^168,408!0^672,576!0^504,576!0^336,576!0^168,576");
var _local33 = new LevelData("the pit and the n-dulum", "11115021111111111111111500000000021111111111110000000000011111111111100000000000111111111111000000000002111111111110000000000001111111111100000000000311111111111000000000001111111111110000000000011111111111100000000000111111111111000000000001111111111110000000000011111111111100000000000111111111111000000000001111111111110000000000021115011111100000000000000000111111000000000003111401111110000000000011111111111100000000000111111111111000000000001111111111110000000000011111111111100000000000111111111111000000000001111111111110000000000011111111111100000000000211111111111000000000000111111111110000000000031111111111100000000000111111111111000000000001111111111114000000000311111111111111114031111111111111111|5^516,264!9^756,156,1,0,16,13,1,0,-1!9^636,300,1,0,16,14,1,0,-1!9^156,300,1,0,16,15,1,0,-1!9^36,156,1,0,16,15,1,0,0!10^720,48!10^72,48!0^156,276!0^168,288!0^180,288!0^144,288!0^132,288!0^48,180!0^48,168!0^60,156!0^48,144!0^48,132!0^744,132!0^744,144!0^732,156!0^744,168!0^744,180!0^660,288!0^648,288!0^636,276!0^624,288!0^612,288!11^396,420,396,156");
var _local44 = new LevelData("elementary nguin", "11111111500021111111111111111110000011111111111111111140000002111111111111111150000001111111111111150000000311111111111111000002111111111111111114000000002111111111111111140000001111111111115000000000311111111111100000003111111111111111400000000211111111111111140000000111111111111115000000031111111111111100000002111111111111111400000000002111111111111110000000001111111111150000000000311111111111000000031111111111111114000000021111111111111115000000011111111111115000000003111111111111100000002111111111111111400000000021111111111111111500000011111111111115000000003111111111111100000311111111111111111400000002111111111111111140000001111111111111115000000311111111111111100000111111111111111111400031111111111|5^756,276!11^732,324,60,228!6^372,444,3,0,0,3!6^516,324,3,0,0,3!6^708,372,2,0,0,2!6^612,348,3,0,0,1!6^324,300,3,0,0,1!6^180,348,3,0,0,1!6^84,252,3,0,0,2!6^84,348,3,0,0,1!0^552,180!0^540,180!0^528,180!0^648,204!0^636,204!0^624,204!0^456,204!0^444,204!0^432,204!0^360,204!0^348,204!0^336,204!0^264,180!0^252,180!0^240,180!0^168,204!0^156,204!0^144,204!0^696,396!0^684,396!0^672,396!0^600,420!0^588,420!0^576,420!0^504,396!0^492,396!0^480,396!0^408,468!0^396,468!0^384,468!0^312,396!0^300,396!0^288,396!0^216,420!0^204,420!0^192,420!0^120,396!0^108,396!0^96,396!12^540,168!12^636,192!12^684,408!12^588,432!12^444,192!12^492,408!12^396,480!12^348,192!12^252,168!12^300,408!12^204,432!12^156,192!12^108,408");
var _local49 = new LevelData("ingress", "11111111000000011111111111111110000000111111111111150000000001111111111111000000000011111111111111110000000111111111111111100000000001111111111150000000000311111111111000000000111111111111111100000001111111111111111000000000111111111111150000000031111111111111000000001111111111111111000000011111111111111110000000011111111111111100000003111111111111111000000011111111111111111000000111111111111111150000001111111111111111000000011111111111111110000003111111111111111111000011111111111111111150000011111111111111110000000111111111111111100000311111111111111111111001111111111111111111150000111111111111111100000001111111111111111000031111111111111111110000111111111111111111100000001111111111111111000000011111111|5^48,300!8^108,156,1!8^204,180,1!8^156,444,3!8^252,420,3!8^300,204,1!8^348,396,3!11^48,372,744,372!12^642,282!12^678,318!12^546,258!12^582,342!12^486,366!12^450,234!12^366,390!12^282,210!12^270,414!12^174,438!12^186,186!12^90,162!12^636,372!12^660,372!12^564,372!12^540,372!12^564,228!12^588,228!6^756,300,4,0,0,3!6^660,300,4,0,0,1");
var _local45 = new LevelData("stem", "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000G000000000000000000000?E0000000000000G0000000CA000000000000GMJ@0000F1@000000000000000DGKH0?ID000000000000000F10JKJ0B@0000000000000GMI0BI00?D0000000000000000?E0GKIB000000000000000?CA00>0NA00000000000000CA00000B00000000000000?E000000N@0000000000000FE00000?EI000000000000GKA0000FE000000000000GKJFL@0000A00000000G00?MI00FE0000000000000>K?E0000GD00000000000000>EA00000>E0000000000000CA000000FA000000000000CA00000000000000000000FJ@00000000000000000000??E00000000000000000000>E0000000000000000000000A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000|5^168,408!7^732,540,1!7^708,540,1!7^684,540,1!7^660,540,1!7^636,540,1!7^612,540,1!7^588,540,1!7^564,540,1!7^540,540,1!7^516,540,1!7^492,540,1!7^468,540,1!7^444,540,1!7^420,540,1!7^396,540,1!7^372,540,1!7^348,540,1!7^324,540,1!7^300,540,1!7^276,540,1!7^252,540,1!7^228,540,1!7^204,540,1!7^180,540,1!7^156,540,1!7^132,540,1!7^108,540,1!7^84,540,1!7^60,540,1!4^756,570,1!7^732,540,0!7^732,516,0!7^732,492,0!7^732,468,0!7^732,444,0!7^732,420,0!7^732,396,0!7^732,372,0!7^732,348,0!7^732,324,0!7^732,300,0!7^732,276,0!7^732,252,0!7^732,228,0!7^732,204,0!7^732,180,0!7^732,156,0!7^732,132,0!7^732,108,0!7^732,84,0!7^732,60,0!7^732,36,0!7^60,540,2!7^60,516,2!7^60,492,2!7^60,468,2!7^60,444,2!7^60,420,2!7^60,396,2!7^60,372,2!7^60,348,2!7^60,324,2!7^60,300,2!7^60,276,2!7^60,252,2!7^60,228,2!7^60,204,2!7^60,180,2!7^60,156,2!7^60,132,2!7^60,108,2!7^60,84,2!7^60,60,2!7^60,36,2!8^36,540,3!4^36,570,1!8^756,540,3!2^732,396,-0.707106781186547,-0.707106781186547!2^636,540,-0.707106781186547,-0.707106781186547!2^60,348,0.707106781186547,-0.707106781186547!11^324,480,480,324!12^594,120!12^522,156!12^276,348!12^276,468!12^450,300!12^516,342!12^402,306!12^258,300!0^216,204!0^288,252!0^216,192!0^216,180!0^288,240!0^288,228!0^480,108!0^480,96!0^480,84!0^576,84!0^576,72!0^576,60!0^504,300!0^504,288!0^504,276!0^528,324!0^528,312!0^528,300!0^384,276!0^384,264!0^384,252!0^408,420!0^408,408!0^408,396!0^234,438!0^234,444!0^234,450!0^240,450!0^246,450!0^246,444!0^246,438!0^240,438!0^240,444!0^252,438!0^258,438!0^264,438!0^264,444!0^264,450!0^258,450!0^252,450!0^252,444!0^258,444!6^396,276,1,0,0,2!6^468,300,1,0,0,3!6^348,516,1,0,0,0");
var _local57 = new LevelData("pylon", "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111MQQQQQQQQQQQQQJ11111115000000000000000211111E00000000000000000B1111P00000K11111L00000N1111P00000B50002E00000N1111P00000000000000000N1111P00CL000000000KD00N1111P00150000000002100N1111P00100000000000100N1111P00100000000000100N1111P00100000000000100N1111P00140000000003100N1111P00BM000000000JE00N1111P00000000000000000N1111P00000C40003D00000N1111P00000J11111M00000N1111D00000000000000000C11111400000000000000031111111LOOOOOOOOOOOOOK1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^396,480!11^396,504,396,180!0^516,276!0^516,324!0^276,276!0^276,324!0^372,420!0^420,420!0^420,180!0^372,180!0^504,300!0^288,300!0^396,408!0^396,192!0^408,192!0^384,192!0^504,288!0^504,312!0^288,288!0^288,312!0^384,408!0^408,408!6^516,276,3,0,0,2!6^348,324,2,0,0,2!6^372,252,2,0,0,3!6^420,372,3,0,0,3");
var _local54 = new LevelData("lest is more", "50000015000000001500002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000014000000000011111000111110000000000000150000001500000000000000000000000000000000000000000000000000030000000000000000000000100000000000000000000000000000000000000000000004001400000140000031140011111111111111111111100500000015000015000215000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000240100000000000000000000101400000014000000140001011000111110001111100010150000001500000015000501000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040001400014000000140003|5^204,84!11^588,60,396,552!2^336,456,0,-1!2^264,408,0,-1!2^144,408,0,-1!2^72,420,0,-1!2^336,276,0,-1!2^144,204,0,-1!2^264,204,0,-1!2^336,108,0,-1!2^72,180,0,-1!2^456,204,0,1!2^456,348,0,1!2^720,444,0,1!2^456,492,0,1!2^528,468,0,1!2^648,468,0,1!2^720,252,0,1!2^720,132,0,1!2^648,276,0,1!2^528,276,0,1!2^504,84,0,1!2^672,84,0,1!0^756,420!0^756,396!0^756,372!0^756,348!0^756,324!0^756,300!0^756,228!0^756,204!0^756,180!0^756,108!0^756,84!0^756,60!0^420,60!0^420,84!0^420,108!0^420,132!0^420,156!0^420,180!0^372,84!0^372,60!0^420,324!0^420,300!0^420,276!0^420,252!0^420,444!0^420,420!0^420,396!0^372,420!0^372,396!0^372,372!0^372,348!0^372,324!0^564,252!0^564,228!0^612,228!0^612,252!0^612,420!0^612,444!0^564,444!0^564,420!0^756,540!0^756,516!0^756,492!0^228,372!0^228,348!0^228,324!0^180,324!0^180,348!0^180,372!0^36,540!0^36,516!0^36,492!0^36,468!0^36,396!0^36,372!0^36,348!0^36,324!0^36,300!0^36,276!0^36,252!0^36,228!0^372,252!0^372,228!0^372,204!0^372,180!0^372,156!0^36,156!0^36,132!0^36,108!0^36,84!0^36,60!0^228,180!0^228,156!0^228,132!0^180,132!0^180,156!0^180,180!4^468,570,1!4^324,570,1!12^264,108!12^144,108!12^72,84!12^336,360!12^264,312!12^144,312!12^72,324!12^336,24!12^528,516!0^612,204!0^564,204!0^564,396!0^612,396!12^456,198!12^528,270!12^648,270!12^720,246!12^720,126!12^672,78!12^504,78!12^456,342!12^720,438!12^648,462!12^528,462!12^456,486!12^336,462!12^264,414!12^144,414!12^72,426!12^144,210!12^72,186!12^336,114!12^264,210!12^336,282!12^504,132!12^456,252!12^456,396!12^528,324!12^648,324!12^720,300!12^720,492!12^648,516!12^720,180!12^672,132");
var _local12 = new LevelData("rough around the edges", "11111111111111111111111100000001111000000000011000000011110000000000110031400111111111114001100111001111111111110011001110011111111111100110011100111111111115001100111001111110000000011111110011111100000000111111100111111003111111111115002111110011111111111000000111100111111111110000001111001111111111100340011110011110011111001100211500111100111110011000000001111001111100110000000011110011111001111111111111100100000011111111111111001000000111111111111110010031111111111111111100100211111111111111111001000000000011111111110010000000000111111111100111111114002111111115001111111110000000000000011111111100000000000000111111115003111111111111000000000011111111111110000000000111111111111111111111111111111111111|5^72,324!4^156,546,1!4^348,546,1!4^660,546,1!4^444,162,1!4^204,90,1!4^132,210,1!4^372,402,1!6^732,36,3,0,0,2!0^720,48!0^720,60!0^720,72!0^720,84!0^720,96!0^720,108!0^720,120!0^720,132!0^720,144!0^720,156!0^720,168!0^720,180!0^720,192!0^720,204!0^720,216!0^720,228!0^720,240!0^204,72!0^192,72!0^180,72!0^168,72!0^156,72!0^144,72!0^132,72!11^372,540,528,36!12^528,72!12^504,96!12^516,84!12^540,84!12^552,96!12^360,216!12^348,204!12^336,192!12^348,180!12^360,168!12^384,288!12^372,276!12^360,264!12^288,240!12^276,228!12^264,216!12^264,168!12^276,156!12^288,144!12^600,264!12^612,276!12^624,288!12^672,288!12^684,276!12^696,264!12^696,192!12^684,204!12^672,216!12^624,216!12^612,204!12^600,192!12^624,480!12^612,492!12^600,504!12^96,480!12^108,492!12^120,504!12^168,504!12^180,492!12^192,480!12^240,432!12^252,420!12^264,408!12^120,96!12^108,108!12^96,120!12^96,144!12^108,156!12^120,168!0^132,60!0^144,60!0^156,60!0^168,60!0^180,60!0^192,60!0^204,60!6^708,156,3,0,0,1!6^732,180,3,0,0,3");
var _local55 = new LevelData("bang", "15000000000050000011111100311110000000003111111001111100000000311111114011115000000031111111111111500000003111111111111150000000311111111111111000000031111111111111111111000111111111111111111110001111111111111111111500000000011111111111150000000003111111111115000000000311111111111500000000031111111111110000000003111111111111111111000311111111111111111110001111111111111111111500011111111111111111150000000001111111111115000000000311111111111500000000031111111111150000000003111111111111000000000311111111111111111110001111111111111111111100011111111111111111115000000011111111111111500000003111111111111150000000311111111111115000000031111021111111500000000111110011111150000000001111500111111000003000000000031|5^60,84!12^492,348!12^312,324!12^684,384!12^612,360!12^540,360!12^444,336!12^372,336!12^252,312!12^648,372!12^180,312!12^36,288!12^108,300!6^756,348,3,0,0,3!6^228,300,2,0,0,0!0^324,168!0^312,180!0^300,192!0^288,204!0^276,216!0^264,228!0^336,156!0^168,156!0^156,168!0^144,180!0^132,192!0^120,204!0^528,156!0^516,168!0^504,180!0^492,192!0^480,204!0^468,216!0^456,228!0^444,240!0^432,252!0^744,156!0^732,168!0^720,180!0^708,192!0^696,204!0^684,216!0^672,228!0^660,240!0^648,252!0^636,264!0^624,276!12^138,324!12^66,312!12^276,336!12^336,348!12^462,360!12^510,372!12^624,378!12^660,390!12^36,444!12^252,444!12^444,444!12^612,444!9^180,156,1,0,31,17,1,0,-1!9^348,156,1,0,31,18,1,0,-1!9^540,156,1,0,31,19,1,0,-1!9^756,156,1,0,31,19,1,0,0!11^96,84,720,540");
var _local50 = new LevelData("grand prix", "11MQQQQQQQQQQQQQQQQQJ1115000000000000000000021E000GOOOOOOOOOOOOOH000BP003111111111111111400NP0?11111111111111111@0NP0N11111111111111111P0NP0N11111111111111111A0NP0N1111111111111111500NP0N1111MQQQQQQQQQQI000NP0N1115000000000000000CP0N11E00000000000000031P0N11P000GOOOOOOOOOOK11P0N11P00311111111111111P0N11P0?111111111111111P0N11P0N111111111111111P0N11P0>111111111111111P0N11P00211111111111111P0N11P000FQQQQQQQQQQJ11P0N11D00000000000000021P0N1114000000000000000BP0N1111LOOOOOOOOOOH000NP0N1111111MQQQQQJ11400NP0N11111150000000211@0NP0N11111E000000000B1P0NP0N11111P000GOH000N1P0NP0>11111A003111400>1P0NP002111500?11111@002P0NP000FQI000N11111P00000ND000000000C11111D00000C1400000003111111140003111LOOOOOK111111111LOK11|5^612,528!11^612,552,84,84!10^732,492!10^156,540!10^372,60!10^744,156!10^372,168!0^456,276!0^504,228!0^504,444!0^456,492!0^288,492!0^288,276!0^240,228!0^300,168!0^444,168!0^240,444!0^48,492!0^72,444!0^228,552!0^108,552!0^156,528!0^372,192!0^684,516!0^588,528!0^516,552!0^684,552!0^684,432!0^612,456!0^552,396!0^600,348!0^552,300!0^612,240!0^684,264!0^696,156!0^744,204!0^744,108!0^684,48!0^612,72!0^108,48!0^156,72!0^48,108!0^72,156");
var _local60 = new LevelData("options", "00000000000000000000000000001000100010001000000000000000000000000000000000000000000000000000000000000000000000000000001000100010001000100000000000000000000000000000000000000000000000000000000000000000000000000000100010001000100000000000000000000000000000000000000000000000000000000000000000000000000000100010001000100010000000000000000000000000000000000000000000000000000000000000000000000000000010001000100010000000000000000000000000000000000000000000000000000000000000000000000000000010001000100010001000000000000000000000000000000000000000000000000000000000000000000000000000001000100010001000000000000000000000000000000000000000000000000000000000000000000000000000001000100010001000100000000000000000000000000|5^348,540!12^456,444!12^444,432!12^432,444!12^444,456!12^528,492!12^540,480!12^552,492!12^540,504!12^624,444!12^636,432!12^648,444!12^636,456!12^720,492!12^732,480!12^744,492!12^732,504!12^336,492!12^348,480!12^360,492!12^348,504!12^240,444!12^252,432!12^264,444!12^252,456!12^168,492!12^156,480!12^144,492!12^156,504!12^72,444!12^48,444!12^60,432!12^60,456!12^144,396!12^168,396!12^156,384!12^156,408!12^72,348!12^60,336!12^48,348!12^60,360!12^144,300!12^156,288!12^168,300!12^156,312!12^240,348!12^252,336!12^264,348!12^252,360!12^336,396!12^348,384!12^360,396!12^348,408!12^432,348!12^444,336!12^456,348!12^444,360!12^528,396!12^540,384!12^552,396!12^540,408!12^624,348!12^636,336!12^648,348!12^636,360!12^720,396!12^732,384!12^744,396!12^732,408!12^744,300!12^732,312!12^720,300!12^732,288!12^552,300!12^540,312!12^528,300!12^540,288!12^360,300!12^336,300!12^348,288!12^348,312!12^264,252!12^252,240!12^240,252!12^252,264!12^168,204!12^156,192!12^144,204!12^156,216!12^72,252!12^60,240!12^48,252!12^60,264!12^48,156!12^60,144!12^72,156!12^60,168!12^144,108!12^156,96!12^168,108!12^156,120!12^240,156!12^252,144!12^264,156!12^252,168!12^336,204!12^348,192!12^360,204!12^348,216!12^432,252!12^444,240!12^456,252!12^444,264!12^624,252!12^648,252!12^636,240!12^636,264!12^720,204!12^732,216!12^744,204!12^732,192!12^732,120!12^744,108!12^732,96!12^720,108!12^636,144!12^636,168!12^648,156!12^624,156!12^540,192!12^552,204!12^540,216!12^528,204!12^456,156!12^444,144!12^432,156!12^444,168!12^528,108!12^540,96!12^552,108!12^540,120!12^360,108!12^348,96!12^336,108!12^348,120!12^768,492!12^768,396!12^768,300!12^768,204!12^768,108!12^24,156!12^24,252!12^24,348!12^24,444!0^732,348!0^732,252!0^732,156!0^732,444!0^684,444!0^684,492!0^636,492!0^588,492!0^588,396!0^636,396!0^684,348!0^684,300!0^636,300!0^684,156!0^636,204!0^636,108!0^636,60!0^732,60!0^588,108!0^540,156!0^492,108!0^540,60!0^444,60!0^444,108!0^588,252!0^540,252!0^492,204!0^444,204!0^396,204!0^348,156!0^300,108!0^348,60!0^252,108!0^252,60!0^204,108!0^156,60!0^60,60!0^60,108!0^204,156!0^156,156!0^60,204!0^108,204!0^156,252!0^204,252!0^300,252!0^348,252!0^60,300!0^204,300!0^252,300!0^300,300!0^444,300!0^492,300!0^540,348!0^396,348!0^348,348!0^156,348!0^108,396!0^60,396!0^252,396!0^300,396!0^444,396!0^540,444!0^492,444!0^492,492!0^444,492!0^348,444!0^300,492!0^252,492!0^204,492!0^204,444!0^156,444!0^108,444!0^108,492!0^60,492!7^492,366,3!7^492,414,3!7^588,366,3!7^588,318,3!7^684,270,3!7^684,222,3!7^588,174,3!7^684,126,3!7^588,78,3!7^492,78,3!7^396,78,3!7^300,78,3!7^204,78,3!7^108,78,3!7^108,126,3!7^396,318,3!7^396,270,3!7^492,270,3!7^492,174,3!7^396,174,3!7^300,174,3!7^684,414,3!7^396,462,3!7^396,414,3!7^396,510,3!7^396,558,3!7^300,462,3!7^204,414,3!7^108,366,3!7^204,366,3!7^300,366,3!7^300,222,3!7^204,222,3!7^108,174,3!7^108,270,3!7^108,318,3!7^684,78,3!7^588,222,3!0^252,204!11^444,564,396,36!7^396,126,3!7^588,462,3");
var _local58 = new LevelData("the blurst of times", "50000000111111100000000000000002111115000000000000000001111100000000000000000011111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000031111100140000000000011111111001100000000000111111110011000000000001111111100110000000000011111111001500000000000111115000000000000000000021000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111000000000000000000111110000000000000000031111140000000040000000111111100000000|5^396,444!2^348,480,0,-1!2^444,480,0,-1!12^672,156!12^120,156!12^96,168!12^72,180!12^48,192!12^696,168!12^720,180!12^744,192!12^768,204!12^24,204!4^492,570,1!4^756,570,1!4^300,570,1!4^36,570,1!12^480,504!12^552,504!12^576,504!12^600,516!12^624,516!12^648,504!12^672,504!12^696,516!12^720,516!12^240,504!12^216,504!12^192,516!12^168,516!12^144,504!12^120,504!12^96,516!12^72,516!12^528,492!12^504,492!12^288,492!12^264,492!0^492,516!0^540,516!0^528,504!0^516,504!0^504,504!0^552,516!0^564,516!0^576,516!0^588,528!0^600,528!0^612,528!0^624,528!0^648,516!0^660,516!0^672,516!0^696,528!0^708,528!0^720,528!0^684,528!0^636,528!0^480,516!0^468,516!0^468,528!0^480,540!0^312,540!0^324,528!0^324,516!0^312,516!0^300,516!0^288,504!0^276,504!0^264,504!0^252,516!0^240,516!0^228,516!0^216,516!0^204,528!0^192,528!0^180,528!0^168,528!0^156,528!0^144,516!0^132,516!0^120,516!0^108,528!0^96,528!0^84,528!0^72,528!12^312,504!12^336,492!12^456,492!12^648,144!12^624,132!12^144,144!12^168,132!2^756,168,-0.707106781186547,-0.707106781186547!2^36,168,0.707106781186547,-0.707106781186547!0^756,144!0^756,132!0^756,96!0^756,84!0^36,144!0^36,132!0^36,96!0^36,84!11^396,468,396,132!3^396,156!0^744,120!0^744,108!0^744,72!0^744,60!0^48,108!0^48,120!0^48,60!0^48,72!2^36,468,0.707106781186547,-0.707106781186547!2^756,468,-0.707106781186547,-0.707106781186547");
var _local14 = new LevelData("professor bojangles, esquire", "11111111111I00000000>1111111111111@00000000011111111AF150000000000311111111LH00000000000?111111MQI00000000000GK1111111000000000000000>1111111A0000000000000001111111H000000000000000F1111111H0000000000000000B111I000000000000000000011A0000000000000000000G111@0000000000000000?111111I00000000000000011111AB0000000000000003111110>000000000FJ1@0G11111100000000000001111111111@000000000000>11A2111111H00000000000000000F111E00000000000000000000>1@0000000000000000000D0A0000000000000000000?100000000000000000000G110000000000C1I000000111100000000G11140000031111000000>1111111L0C111111000000011150J1111111111000000G111@00IB11111111000000021A000000FJ1111A0000000000000000000F110000000000000000000001100@00000000000000000?110?|5^60,516!0^684,240!0^648,252!0^636,276!0^660,300!0^672,336!0^684,384!0^708,420!0^708,456!0^744,468!0^756,456!0^708,216!0^732,264!0^684,276!0^720,360!0^756,444!0^708,408!0^732,408!0^756,312!0^708,300!0^708,336!0^744,360!0^660,276!0^720,240!0^708,252!0^732,300!0^732,336!0^684,324!0^756,396!0^720,384!0^708,288!0^660,264!0^756,300!0^744,372!0^684,312!0^684,372!0^756,228!0^744,276!0^720,444!0^744,420!0^720,324!6^348,444,3,0,0,2!6^444,108,3,0,0,2!6^732,108,3,0,0,0!6^516,156,3,0,0,1!6^444,492,3,0,0,3!6^636,108,2,0,0,0!6^732,60,2,0,0,3!6^540,300,2,0,0,1!11^720,564,636,156!9^396,348,0,0,21,23,1,-1,0!9^600,372,0,0,22,23,1,-1,0!9^468,84,0,0,23,23,1,-1,0!9^420,180,0,0,25,23,1,-1,0!9^348,156,0,0,26,23,1,-1,0!9^204,396,0,0,27,23,1,-1,0!9^564,132,0,0,27,23,1,0,0!9^252,468,1,0,19,22,1,0,-1!9^252,312,0,0,24,23,1,-1,0!6^156,156,3,0,0,1");
var _local41 = new LevelData("plus mine-s", "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111900061900061111111111110000000000011111111111100000000000111111111111000001000001111111111118000718000711111111111110011110011111111900061900061900061900060000010000010000010000000000100000100000000000000001000001000000000008000718000718000718000710011111001111111111111900061900061900061900060000010000010000000000000000000000100000000000000000000001000001000008000718000718000718000711111110011110011111111111111900061900061111111111110000010000011111111111100000000000111111111111000000000001111111111118000718000711111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^324,120!11^324,564,144,192!11^468,564,648,192!0^252,204!0^252,216!0^252,228!0^396,228!0^396,240!0^396,252!0^540,204!0^540,216!0^540,228!0^396,60!0^396,72!0^396,84!0^612,300!0^624,300!0^636,300!0^540,348!0^540,360!0^540,372!0^468,444!0^456,444!0^444,444!0^348,444!0^336,444!0^324,444!0^252,372!0^252,360!0^252,348!0^180,300!0^168,300!0^156,300!12^540,240!12^540,192!12^396,264!12^396,216!12^252,240!12^252,192!12^192,300!12^144,300!12^396,96!12^396,48!12^600,300!12^648,300!12^540,384!12^540,336!12^480,444!12^432,444!12^360,444!12^312,444!12^252,384!12^252,336!4^612,426,1!4^468,282,1!4^324,282,1!4^180,426,1!12^456,156!12^504,156!0^492,156!0^480,156!0^468,156");
var _local37 = new LevelData("you know where you stand in a hellhole", "I11111111111111111111110111111111111111111111101111111111111111111111011111111111111111111110FJ11111111111111111111000FJ11111111111111111100000FJ11111111111111110000000FJ11111111111111000000000FJ11111111111100000000000FJ11111111110000000000000FJ11111111000000000000000FJ11111100000000000000000FJ11110000000000000000000FJ11000000000000000000000FJ00000000000000000000000000000000000000000000GK0000000000000000000GK1100000000000000000GK1111000000000000000GK1111110000000000000GK1111111100000000000GK1111111111000000000GK1111111111110000000GK1111111111111100000GK1111111111111111000GK1111111111111111110GK1111MIF111111111111101111110001111111111111011111100011111111111110FJ11MI0001111111111111H00000000G1111111111111|5^48,36!9^516,132,0,0,29,1,1,-1,0!9^276,132,0,0,29,1,1,0,0!9^348,180,1,0,31,4,1,0,-1!9^444,180,1,0,31,5,1,0,-1!9^396,300,1,0,31,5,1,0,0!12^396,336!12^444,216!12^348,216!12^516,168!12^276,168!9^396,108,0,0,28,1,1,-1,0!12^396,144!12^396,564!11^708,252,396,552!0^516,96!0^516,60!0^396,72!0^396,36!0^276,96!0^276,60!0^276,204!0^276,240!0^348,252!0^348,288!0^444,252!0^444,288!0^396,372!0^396,408!0^396,264!0^396,228!0^444,144!0^444,108!0^348,144!0^348,108!0^516,204!0^516,240!10^396,192");
var _local51 = new LevelData("allsorts", "02111111111111111500002001511111111111150311400010151111111111001111000101015111111110011110001010101511111103111100020101010151111111111000002010101015111111110000000201010101511111100000000020101010151111000000000002010101015110000000000000201010101100000000000000020101011000000000000000002010150000000000000000000201000000000000000000000020000000000000000000000000000000000000000000003000000000000000000003010000000000000000003010140000000000000003010101100000000000003010101011000000000003010101014110000000003010101014111100000003010101014111111000003010101014111111110003010101014111111111100010101014111111021111000101014111111110011110001014111111111100111100014111111111111402115003111111111111111400003|5^708,60!6^252,444,2,0,0,0!6^180,300,2,0,0,0!6^108,156,2,0,0,0!4^732,570,1!9^396,324,1,0,1,21,1,0,0!9^396,180,1,0,1,21,1,0,-1!11^696,444,396,468!9^96,48,1,0,1,20,1,0,-1!0^36,36!0^48,36!0^60,36!0^72,36!0^84,36!0^96,36!0^108,36!0^120,36!0^132,48!0^132,60!0^120,60!0^108,60!0^96,60!0^84,60!0^72,60!0^60,60!0^48,60!0^36,48!0^48,48!0^60,48!0^72,48!0^84,48!0^108,48!0^120,48!0^132,420!0^120,420!0^108,420!0^96,420!0^84,420!0^72,420!0^60,432!0^48,444!0^36,456!0^36,468!0^48,468!0^48,456!0^60,456!0^60,444!0^72,444!0^84,444!0^96,444!0^108,444!0^120,444!0^120,432!0^132,432!0^108,432!0^96,432!0^84,432!0^72,432!4^84,114,1!4^156,258,1!4^228,402,1!8^276,492,0!8^204,348,0!8^132,204,0!8^708,108,2!4^684,162,1!6^660,204,3,0,0,2!8^636,252,2!8^564,396,2!4^612,306,1!4^540,450,1!6^516,492,3,0,0,2!6^588,348,3,0,0,2!12^396,420!12^396,276!12^396,132");
var _local46 = new LevelData("gazizza my dilsnoofus", "111111111111111111111111111111102111111111111111111111@0111111102111111111111A01111111@01111111500FI0?1111111A011111110GH000>11500FI0?1111111111@000FI0GH000>1111111111A0GH00311@000FI011111110?1111111A0GH00311111110>11111110?1111111111114021111110>1111111111111@0111111402111111111111A01111111@01111111500FI0?1111111A011111110GH000>11500FI0?1111111111@000FI0GH000>1111111111A0GH00311@000FI011111110?1111111A0GH00311111110>11111110?1111111111114021111110>1111111111111@0111111402111111111111A01111111@01111111500FI0?1111111A011111110GH000>11500FI0?11111I1111@000FI0GH000>1111101111A0GH00311@000FI011011110?1111111A0GH00311011110>11111110?1111111011114011111110>111111M01111111111111400000000G11111111111111111111111|5^696,144!9^576,72,1,0,30,16,1,0,-1!9^360,96,1,0,30,17,1,0,-1!9^144,120,1,0,30,18,1,0,-1!9^72,240,1,0,30,19,1,0,-1!9^96,456,1,0,30,20,1,0,-1!9^216,528,1,0,30,21,1,0,-1!9^432,504,1,0,30,21,1,0,0!9^648,480,0,0,28,23,1,0,0!9^612,276,0,0,27,23,1,0,0!9^180,324,0,0,26,23,1,0,0!11^612,564,396,300!12^600,168!12^168,216!0^636,240!0^588,312!0^696,348!0^552,420!0^480,372!0^336,444!0^264,396!0^120,468!0^228,504!0^156,360!0^204,288!0^96,252!0^132,144!0^240,180!0^312,228!0^348,120!0^456,156!0^528,204!0^420,264!0^372,336!0^564,96!0^672,132!12^636,348!12^660,396!12^588,372!12^612,420!12^156,420!12^204,396!12^228,444!12^180,468!12^408,360!12^432,372!12^456,408!12^444,432!12^408,456!12^384,444!12^360,408!12^372,384!12^384,192");
var _local59 = new LevelData("back and forth", "11111115000000021111111111111500000000011111111111110003114000111111111111100011110001111111111111000111100011111111111114002111400211111111111110001111000111111111111100011110001111111111115003111500311111111111100011110001111111111111000111100011111111111114002111400211111111111110001111000111111111111100011110031111111111111403111140111111111111111011111101111111111111150211115011111111111111000111100211111111111110001111000111111111111500311150031111111111110001111000111111111111100011110001111111111111400211140021111111111111000111100011111111111110001111000111111111111500311150031111111111110001111000111111111111100011110001111111111111000211500011111111111114000000000111111111111114000000031111111|5^324,408.15!9^372,396,0,0,16,9,1,-1,0!9^396,228,0,0,16,16,1,-1,0!9^396,396,0,0,16,9,1,0,0!9^420,228,0,0,17,16,1,-1,0!11^336,252,420,396!6^324,228,3,0,0,3!6^36,252,0,0,0,1!6^132,348,0,0,0,2!6^276,228,1,0,0,2!6^468,228,2,0,0,3!6^540,228,0,0,0,0!6^660,348,1,0,0,0!6^756,252,1,0,0,1!0^432,252!0^480,252!0^504,180!0^552,180!0^576,252!0^624,252!0^720,180!0^648,180!0^624,420!0^552,348!0^504,348!0^480,420!0^456,420!0^288,348!0^240,348!0^216,420!0^168,420!0^144,348!0^216,252!0^168,252!0^144,180!0^72,180!0^240,180!0^288,180!12^600,264!12^528,240!12^600,192!12^528,168!12^456,192!12^456,264!12^672,240!12^684,168!12^708,252!12^720,288!12^708,324!12^672,336!12^600,360!12^600,432!12^528,408!12^528,336!12^456,360!12^468,432!0^564,240!0^636,240!0^564,192!0^492,192!0^492,240!0^420,240!0^636,192!0^732,192!0^636,408!0^576,420!0^564,408!0^564,360!0^492,360!0^492,408!0^444,408!0^756,384!0^744,396!12^744,192!12^696,408!12^768,300!12^264,336!12^192,432!12^192,264!12^264,168!12^336,192!12^192,192!12^108,168!12^120,240!12^264,240!12^192,360!12^264,408!12^336,360!12^120,336");
var _local47 = new LevelData("the long and winding road that leads to your death", "1111111111111I00000000F1111111111111H000000000111111111111111111L000011111111111111111110000MI0F11111111MI000000000000000000000000000000000000000000000000000000G000000000000000K111111100000000000000G1111111100000000G1111111111111100000K111111111111111110000011111111111111111100000000J111I00000F1111000000000000000000000FJH00000000000000000000001111111L00000000GH0000011111111HGK1111111000001111111111111111MI0000011111111111111110000000111111111111I000000000011111111I00000000000000I00000000000000000000000000000000000000000000G0000000000000000G111111000K111111L0000K111111100011111111H00G111111110000000F111111111111111000000000F1111111111I0F0000000000111111111100000000000000F1111111M000LH00000000000000000000G|5^624,360!11^720,564,48,348!6^540,132,4,0,0,1!6^372,492,4,0,0,3!6^156,204,4,0,0,1!6^756,468,4,0,0,3!6^492,516,4,0,0,0!6^180,516,4,0,0,3!6^564,444,4,0,0,3!4^468,570,1!12^216,372!12^240,216!12^324,204!12^336,456!12^336,336!12^408,240!12^528,240!12^504,336!12^468,432!12^456,456!12^576,408!12^600,288!12^672,192!12^696,240!12^744,288!12^756,540!12^744,564!12^696,564!12^684,540!12^696,516!12^720,516!12^36,552!12^180,552!4^132,570,1!0^132,72!0^132,84!0^144,96!0^144,84!0^144,72!0^144,60!0^144,48!0^132,96!0^156,84!0^156,72!0^156,60!0^156,48!0^168,60!0^168,48!0^156,36!0^168,36!0^180,36!0^144,108!12^600,96!12^660,84!12^624,72!12^732,252");
var _local42 = new LevelData("n-key kong", "0000P00000P000000N500010000P00000P000000N000010000P00000P000000N000010000P00000P000000N000010000P00000P000N00N000010000P00000D000N00N000010000P00000B000N00N000010000P00000N000N00N@00010000P00000N000N00>P00010N00P000P0N000N000P00010N00P000P0N000N000P00010N00P000P0N000N000P00010N00P000P0N000C000P00010N00P000P0N000E000P00010N00P000P0N000P000D00010000P000P0N@00P000B00?10000P00?P0>P00P000N00N10000P00NA00P00P000N00N10000D00N000P00P000N00N10000B00N000P00P000N00N10000N00N000P00P000N00C10000N00N000P0?P000N00110000N00N000P0NA000N00110000N00N000P0N0000N00110000N00C00000N0000000110000000E00000N000000?110000000P00000N000000N110000000P00000N000000N110000000P00000N000000N110000000P00000N000000N110000000P00000N000000N11|5^36,540!6^756,108,1,0,0,1!6^132,252,0,0,0,0!6^564,228,1,0,0,0!6^492,348,1,0,0,2!6^36,324,0,0,0,1!11^252,48,372,48!10^48,240!10^744,324!10^48,420!0^756,216!0^744,216!0^732,216!0^36,288!0^48,288!0^36,144!0^48,144!0^60,144!10^744,492!0^756,372!0^744,372!0^36,36!0^48,36!0^60,36!0^756,36!0^744,36!0^732,36!0^732,372!0^60,288!12^156,120!12^60,120!12^84,96!12^156,48!12^132,84!12^48,84!12^192,72!12^180,24!12^108,24!12^24,108!0^72,36!0^84,36!0^36,48!0^48,48!0^60,48!0^72,48!0^84,48!0^36,60!0^48,60!0^60,60!0^72,60!0^84,60!12^588,204!12^396,216!12^660,192!12^468,204!12^516,132!12^444,120!12^372,120!12^252,120!12^312,72!3^756,108");
var _local56 = new LevelData("beware of the leopard", "111111111111111111111111111111111111111111111111111111111111900611111111111111111110;<0111111111111111111=0:=01111111111111900000000011111111111110;<0;111<0111111111111=0:=0111110:1111111900000007111110006111110;<0;1111111110;<0111110:=011111111110:=011111000011119006110000111110;<011110;<0110;<0111110110:11=0:=011011011111011000000000110110:11110110;<0;11<0110110061110110:=01111011011000111011800711110:=01180711101111111111000011111111011111111110;<0111111110111111111=0:=011111111011111900000000111111110111110;<0;11<0111111110:111=0:=011110:1111111000000000711110006111110;<0;1111111110;<0111110:=0:11111111=0:=01111180000000000000000711111111111111111111111111111111111111111111111111111111111111111111111|5^420,372!9^354,108,0,0,14,21,1,-1,0!9^558,108,0,0,14,21,1,0,0!4^432,450,1!11^420,564,648,516!0^576,252!0^540,288!0^576,324!0^612,288!0^648,180!0^684,144!0^648,108!0^648,444!0^612,480!0^684,480!0^408,180!0^372,216!0^408,252!0^444,216!0^264,180!0^300,144!0^264,108!0^228,144!0^192,300!0^228,264!0^156,264!0^192,228!0^120,372!0^84,408!0^120,444!0^156,408!0^228,480!0^300,480!0^264,444!0^264,516!0^468,408!0^540,408!0^504,372!0^612,144!0^372,336!0^336,300!0^300,336!0^336,372!6^228,252,3,1,0,3!0^684,228!0^684,252!0^684,276!0^684,300!0^684,324!0^684,348!0^684,372!0^684,396!0^540,108!0^372,108!0^396,108!0^516,108!6^252,516,3,0,0,0!6^684,300,3,1,0,3!0^504,444!4^348,114,1!0^528,108!0^384,108");
var _local52 = new LevelData("things that go thwump in the night", "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110100101111111111111150000000000211111111111000000000000111111111110000000000000111111111000000000000011111111111000000000000111111111110000000000000111111111000000000000011111111111000000000000111111111100000000000001111111111100000000000001111111111000000000000111111111100000000000001111111111100000000000001111111111000000000000111111111114000000000031111111111111010110101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^396,420!8^588,372,2!8^588,324,2!8^588,252,2!8^588,204,2!8^492,132,1!8^420,132,1!8^372,132,1!8^300,132,1!8^204,228,0!8^204,276,0!8^204,300,0!8^204,348,0!8^276,444,3!8^348,444,3!8^444,444,3!8^516,444,3!0^540,420!0^552,420!0^564,408!0^564,396!0^552,396!0^540,396!0^540,408!0^552,408!0^252,420!0^240,420!0^240,408!0^228,408!0^228,396!0^240,396!0^252,396!0^252,408!0^228,180!0^228,168!0^240,168!0^240,156!0^252,156!0^252,168!0^252,180!0^240,180!0^552,156!0^552,168!0^564,168!0^564,180!0^552,180!0^540,180!0^540,168!0^540,156!11^396,420,396,156");
var _local61 = new LevelData("superliminal 6", "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111500000000021500000000020000000000010000000000000000100000100000100000000001000000000001000004000014000000000314000311100111111111111111111500001111111111111111110000011111111111111111100000111111111111111111000001111111111111111110000311111111111111111100111111111111111111111000021111111111111111110000011111111111111111100000111111111111111111000001111111111111111114000021111111111111111111114021111111111111111111114000000000021500021111110000000000010000011111100000100000100000111111000001000000000001111114000314000000000311111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^612,564!11^180,564,144,48!6^660,348,3,0,0,2!6^564,276,2,0,0,3!6^564,396,3,0,0,0!6^636,180,2,0,0,1!4^444,138,1!4^348,138,1!12^396,72!12^252,96!0^612,228!0^612,216!0^600,228!0^624,228!0^612,240!0^612,372!0^612,360!0^612,384!0^600,372!0^624,372!0^612,516!0^612,528!0^600,516!0^624,516!0^612,504!0^468,84!0^468,96!0^480,84!0^456,84!0^468,72!0^324,84!0^324,96!0^336,84!0^324,72!0^312,84!0^180,84!0^180,72!0^192,84!0^180,96!0^168,84!0^180,228!0^180,216!0^192,228!0^180,240!0^168,228!0^180,372!0^180,360!0^192,372!0^168,372!0^180,384!0^180,516!0^180,504!0^192,516!0^180,528!0^168,516!12^192,300!12^240,300!12^168,444!12^120,444!12^228,420!12^132,324!12^132,564!12^228,468!12^228,564!12^228,180!12^132,276!12^168,288!12^168,312!12^192,432!12^192,456!12^240,516!6^132,396,2,0,0,3!6^228,348,2,0,0,1!6^132,204,3,0,0,1!6^228,252,3,0,0,3");
var _local15 = new LevelData("grind", "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111102111111111111111111111001021111111111111111110010010211111111111111100100100102111111111111002001001001021111111110000020010010010211111100000000200100100102111000000000002001001001110003000000000020010021100010030000000000200011000100100300000000000110001001001003000000001100010010010010030000011000100100100100100300114001001001001001001401110010010010010014011111100100100100140111111111001001001401111111111110010014011111111111111100140111111111111111111401111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^432,540!6^252,108,3,0,0,1!6^300,252,3,0,0,1!6^324,324,3,0,0,1!6^372,468,3,0,0,1!6^420,444,3,0,0,2!6^396,372,3,0,0,2!6^348,228,3,0,0,2!6^324,156,3,0,0,2!11^456,540,138,78!0^600,84!0^600,96!0^612,96!0^576,156!0^576,168!0^588,168!0^168,156!0^168,144!0^156,144!0^180,216!0^192,216!0^192,228!0^204,288!0^216,288!0^216,300!0^228,360!0^240,360!0^240,372!0^252,432!0^264,432!0^264,444!0^276,504!0^288,504!0^288,516!0^480,444!0^480,456!0^492,456!0^504,372!0^504,384!0^516,384!0^528,300!0^528,312!0^540,312!0^552,228!0^552,240!0^564,240!6^564,108,3,0,0,3!6^372,60,3,0,0,0!0^606,96!0^600,90!0^162,144!0^168,150!0^186,216!0^192,222!0^210,288!0^216,294!0^234,360!0^240,366!0^258,432!0^264,438!0^282,504!0^288,510!0^480,450!0^486,456!0^504,378!0^510,384!0^534,312!0^528,306!0^552,234!0^558,240!0^576,162!0^582,168");
var _local13 = new LevelData("mo' mentum", "00000000000000000000201000000000000000000000010000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000140000000000000000000000240000000000000000000000240000000000000000000000240000000000000000000000110000000000000000000001500000000000000000000000000000000000000000000000000000000000000300000000000000000000001000000000000000000000020000000000000000000000000001400000000000000000000011000000000000000000003500000000000000000000350000000000000000000035000000000000000000001500000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000100000000000000000000301|5^732,540!9^756,540,0,0,1,22,1,0,0!9^60,540,0,0,31,22,1,-1,0!12^84,564!12^372,564!12^420,564!12^708,564!12^756,516!12^36,516!4^444,570,1!4^684,570,1!4^348,570,1!4^108,570,1!1^360,372!2^396,552,0,-1!1^432,372!11^312,108,36,540!10^480,108!0^564,36!0^552,36!0^540,36!0^540,48!0^552,48!0^540,60!0^228,36!0^240,36!0^264,36!0^252,36!0^252,48!0^240,48!0^252,60!0^264,60!0^264,48!0^528,36!0^528,48!0^528,60!0^528,72!0^264,72!0^396,36!0^396,48!0^408,48!0^408,36!0^384,36!0^384,48!0^408,60!0^396,60!0^384,60!12^564,552!12^564,528!12^564,504!12^228,552!12^228,528!12^228,504!12^588,480!12^540,480!12^252,480!12^204,480");
var _local19 = new LevelData("unsafe at any speed", "1111111111111111111111111111111111111111111111111111111111190061111111111111111111000011111111111111111110;<011111111111111111110110111111190006111111101101111111000001111111011011111110;1<01111111011011111110111011111110110111111101110119611101101111111011101100:1=011011111110111011000000110:1111110111011000007110061111101110110;111111007111110:11011011111110;1111110061011011111110111111100010110111111101111111800101101111111011111111<01011011111110111111111010:=0111111=0111111111010000111190001111111110180071111000011111111101111111110007111111111011111111100;111111111=011111111100111111111900:1111111=001111111118000000000000711111111111111<00;11111111111111111111871111111111111111111111111111111111111|5^492,108!12^360,468!12^732,216!12^672,60!12^276,240!0^288,228!0^288,240!0^288,252!0^300,252!0^300,240!0^300,228!0^660,72!0^672,72!0^684,72!0^684,84!0^672,84!0^660,84!0^720,204!0^720,216!0^720,228!0^708,228!0^708,216!0^708,204!0^348,456!0^360,456!0^372,456!0^372,444!0^360,444!0^348,444!11^312,60,564,384!12^636,348!12^684,372!12^564,360!12^564,408!12^360,408!12^672,216!12^576,192!12^204,108!12^192,60!12^192,156!12^528,192!12^348,348!12^120,384!12^96,348!12^96,420!12^324,300!12^336,216!6^252,60,0,0,0,0!0^408,60!0^420,60!0^396,60!0^384,60!0^372,60!0^360,60!0^348,60!0^336,60!12^552,228!12^552,156!0^420,96!0^432,108!0^456,60!0^468,72!0^444,60!0^432,60!0^420,72!0^420,84");
var _local17 = new LevelData("it is a most elusive fish", "000011111111111111111110000>111111111111111111000000B11111111111111110000000>111111111111111000000000B11111111111110000000000>11111111111100000JM00000B11111111110000000000000>11111111100000000JM00000B11111110000000000000000>1111110JM000000000000000B11110000000000000000000>111000000000JM0000000000B10000000000000000000000>0000JM0000000000000000000000000000000000000000000000000000JM0000000000000000000000000000000?0000000JM000000000000C10000000000000000000?1110000000000JM000000C11110000000000000000?11111100JM00000000000C11111110000000000000?111111111000000JM0000C11111111110000000000?111111111111000JM0000C11111111111110000000?111111111111111000000C11111111111111110000?111111111111111111000C1111111111111111111|5^36,84!12^60,132!12^84,168!12^108,204!12^132,240!12^156,276!12^180,312!12^204,348!12^228,384!12^252,420!12^276,456!12^300,492!12^324,528!12^348,564!12^444,564!12^396,576!12^420,564!12^372,564!12^468,528!12^492,492!12^516,456!12^540,420!12^564,384!12^588,348!12^612,312!12^636,276!12^660,240!12^684,204!12^708,168!12^732,132!11^36,108,756,60!6^756,36,3,0,2,2!0^228,60!0^228,84!0^324,132!0^324,156!0^132,156!0^132,180!0^180,228!0^180,252!0^276,252!0^276,276!0^240,72!0^144,168!0^192,240!0^288,264!0^300,264!0^252,72!0^156,168!0^204,240!0^336,144!0^348,144!0^444,216!0^420,204!0^420,228!0^432,216!0^396,336!0^384,336!0^372,324!0^372,348!0^492,288!0^480,288!0^468,276!0^468,300!0^588,192!0^576,192!0^564,180!0^564,204!0^540,96!0^528,96!0^516,84!0^516,108!0^636,120!0^624,120!0^612,108!0^612,132");
var _local22 = new LevelData("quantum n-tanglement", "11111111111111111111111111111111111111111111111111111111111111111111110000020000020000020002100000000000000000000001004000003000003000000311111111111111111111000111111111111111111110001111111111111111111100011111111111111111111400111111111111111111110001111111111111111111100011111111111111111111003111111111111111111110001111111111111111111100011111111111111111111000111111111111111111110001111111111111111111100011111111111111111111002111111111111111111110001111111111111111111100011111111111111111111500111111111111111111110001111111111111111111100011111111111111111111000100500000500000500000021000000000000000000000010000040000040000040003111111111111111111111111111111111111111111111111111111111111111111111|5^636,84!12^336,540!12^456,540!12^600,540!12^528,540!12^264,540!12^192,540!11^156,84,396,540!4^516,570,1!6^684,492,0,0,0,3!6^636,468,1,0,0,3!12^624,540!12^168,540!4^420,570,1!4^180,570,1!12^120,312!12^144,384!12^120,456!12^144,240!12^120,168!12^156,276!12^108,348!12^156,420!12^108,492!12^108,204!12^108,60!12^156,60!12^132,108!0^660,96!0^660,168!0^660,240!0^660,312!0^660,384!0^660,456!0^504,540!0^492,540!0^480,540!0^312,540!0^300,540!0^288,540!12^156,132!0^144,192!0^132,192!0^156,192!0^120,264!0^108,264!0^132,264!0^132,336!0^144,336!0^156,336!0^132,408!0^120,408!0^108,408!0^132,480!0^144,480!0^156,480");
var _local18 = new LevelData("elevator to heck", "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111501111111111111111111110011111111111111111111100211111111111111111111000000000000000000021110003140314031403140002100011101110111011100001000025002500250025000020000000000000000000000000000000000000000000000000000000000000000000000034003400340034003400001110111011101110111000021502150215021502150030000000000000000000003111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111|5^216,48!6^516,84,1,0,0,3!6^468,132,0,0,0,0!6^420,276,1,0,0,1!6^468,420,0,0,0,2!6^516,468,1,0,0,3!6^372,420,0,0,0,1!6^324,372,1,0,0,0!6^276,228,0,0,0,3!6^324,84,1,0,0,2!12^264,132!12^264,228!12^264,324!12^264,420!12^528,468!12^528,372!12^528,276!12^528,180!12^528,84!2^300,540,0.707106781186547,-0.707106781186547!11^216,60,312,528!12^276,492!12^348,564!12^324,552!12^288,516!12^372,576!12^396,576!12^420,576!12^444,576!12^468,576!0^516,528!0^504,528!0^504,540!0^492,540!0^492,552!0^480,552!0^480,564!0^480,540!0^492,528!0^468,552!0^468,540!0^480,528!0^468,528!0^456,540!0^456,528!0^444,528");
var _local16 = new LevelData("explosivo", "50000021111111111111111000000011111150002111110000000111111000001111100000001111110000011111400000311111100000111111000111111111000001111150002111111110000011111000001111111140003111110000011111111100011111100000211111115000002111000000000000000000001110000000000000000000011140003111111110000000111111111111111140000031111111111111111111400111111111111111111111001111111115000211111110011111111100000111111100211111111000001111115000002111110000011111100000001111100000111111000000011111000001111110000000111114000311111140000031111110001111111111000111150000021111111150002111000000011111111000001110000000000000000000011100000000000000000000111400000311111114000001111111111111111110000011111111111111111140003|5^420,204!11^492,252,84,108!2^672,576,0,-1!2^288,504,0,-1!12^132,396!12^204,396!12^180,372!12^60,396!12^84,420!4^132,450,1!12^588,228!12^636,252!12^648,228!12^696,240!0^660,108!0^648,108!0^636,108!0^612,132!0^612,144!0^612,156!0^756,492!0^756,504!0^756,516!0^756,528!0^756,540!12^732,468!12^732,564!12^732,516!12^588,516!12^456,480!12^360,432!12^156,108!12^156,60!12^84,180!12^60,180!12^108,180!12^108,36!12^84,36!12^60,36!12^36,156!12^36,60!12^312,120!12^264,144!12^312,48!12^192,48!12^192,120!12^252,84!12^336,480!12^552,432!4^540,570,1!12^696,120!12^684,180!0^624,120!0^708,144!0^708,156!0^708,168!0^708,180!0^708,204!0^708,192!0^708,216!0^528,420!0^516,420!0^504,420!0^492,420!0^540,420!0^180,348!0^168,348!0^156,348!0^144,348!0^132,348!0^120,348!0^108,348!0^96,348!0^84,348!0^72,360!0^60,372!0^60,384!0^120,396!0^144,396!0^168,372!0^96,420!0^108,408!0^156,384!0^72,408!0^192,360!0^324,96!0^324,84!0^324,72!0^288,36!0^276,36!0^264,36!0^252,36!0^240,36!0^228,36!0^216,36!0^36,84!0^36,96!0^36,108!0^36,120!0^36,132!0^444,156!0^456,156!0^468,156!0^492,156!0^480,156!0^504,156!0^516,156!0^528,156!0^540,156");
var _local21 = new LevelData("slurms mackenzie", "50000000000000000000000000000000000000031111110310000000000000000215001100000000000000000000011000311111140000000000110001111111111400000001100311110211111000000011031111100001110000000111111500000011140000001111110000000021110000011500000000000011100000110000000000000111000001100000000000001150000011400000000000000000000111000000311114000000002110000001111110000000001140000011111100000000011114003111111000000000111111111111150000000001111111111500000000000011002115000000000000000110000000000000000000001100000000000000114000011000000000000001110000111400000001140011100001111000000311103111000021114031111111111500000021111111111111110000000021111115000011100000000000000000000211000040000000000000000000000|5^132,36!4^612,450,1!4^420,66,1!0^360,192!0^384,192!0^336,192!11^36,564,420,420!9^552,156,1,0,1,21,1,0,-1!9^636,420,1,0,1,21,1,0,0!0^324,204!0^324,180!0^348,180!0^348,204!0^372,204!0^372,180!9^528,48,1,0,1,19,1,0,-1!9^744,348,1,0,1,18,1,0,-1!0^372,192!0^348,192!0^324,192!0^312,192!0^336,204!0^336,180!0^360,180!0^360,204!0^348,216!0^348,168!6^348,132,3,0,0,2!6^276,396,3,0,0,0!6^516,276,2,0,0,0!6^588,156,3,0,0,3!3^636,204!3^312,108!3^444,216!4^756,570,1!4^84,570,1");
var _local20 = new LevelData("the jaws of death", "11115000000021115000002111500000000011100000001150000140003115001400311000031100021100311002110000211400011002114001140000115000114001150011500001100031150011003110000311000211003110021100002114000110021140011400001150001140011500115000011000311500110031100003110002110031100211000021140001100211400114000011500011400115001150000110003115001100311000031100021100311002110000211400011002114001140000115000114001150011500001100031150011003110000311000211003110021100002114000110021140011400001150001140011500115000011000311500110031100003110002110031100211000021140001100211400114000011500011400115001150000110003115001100311000031100021100311002110000211400015002114001100000111400000001114011400031111400000311111|5^756,132!11^720,564,744,348!12^648,180!12^552,180!12^456,180!12^360,180!12^264,180!12^168,180!12^216,84!12^312,84!12^408,84!12^504,84!12^600,84!12^648,444!12^600,396!12^552,444!12^504,396!12^456,444!12^408,396!12^360,444!12^312,396!12^264,444!12^216,396!12^168,444!12^120,396!4^516,330,1!4^324,330,1!4^132,330,1!4^636,570,1!4^444,570,1!4^252,570,1!0^648,120!0^696,144!0^600,144!0^552,120!0^504,144!0^456,120!0^408,144!0^360,120!0^312,144!0^264,120!0^216,144!0^168,120!0^120,144!0^696,408!0^648,432!0^600,408!0^552,432!0^504,408!0^456,432!0^408,408!0^360,432!0^312,408!0^264,432!0^216,408!0^168,432!0^120,408!0^96,528!0^144,552!0^192,528!0^240,552!0^288,528!0^336,552!0^384,528!0^432,552!0^480,528!0^528,552!0^576,528!0^624,552!0^672,528!0^96,276!0^144,300!0^192,276!0^240,300!0^288,276!0^336,300!0^384,276!0^432,300!0^480,276!0^528,300!0^576,276!0^624,300!0^672,276!4^156,570,1!4^348,570,1!4^540,570,1!4^612,330,1!4^420,330,1!4^228,330,1");
var _local24 = new LevelData("thwump you very much", "50211000115021100011502000110001100011000110000001100011000110001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110001100011000110000001100011000110001100000011000110001100011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001100011000110001100000011000110001100011000000110001100011000110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000110001100011000000110001100011000110000001100011000110001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110001100011000110000001100011000110001100000011403110001140311000|5^756,564!11^72,564,756,60!8^756,420,2!8^756,36,2!8^756,84,2!8^756,180,2!8^756,276,2!8^756,324,2!8^36,396,0!8^36,444,0!8^36,300,0!8^36,156,0!8^36,204,0!8^36,60,0!0^480,360!0^480,480!0^312,480!0^312,360!0^312,240!0^312,120!0^480,120!0^648,120!0^648,240!0^480,240!0^144,240!0^144,120!0^144,360!0^144,480!0^648,480!0^648,360!0^660,360!0^636,360!0^636,480!0^660,480!0^492,480!0^468,480!0^324,480!0^300,480!0^156,480!0^132,480!0^132,360!0^156,360!0^300,360!0^324,360!0^468,360!0^492,360!0^660,240!0^636,240!0^492,240!0^468,240!0^324,240!0^300,240!0^156,240!0^132,240!0^132,120!0^156,120!0^300,120!0^324,120!0^468,120!0^492,120!12^696,336!12^696,264!12^696,384!12^696,456!12^696,504!12^696,96!12^696,144!12^696,216!12^96,96!12^96,144!12^96,216!12^96,264!12^96,336!12^96,384!12^96,456!12^96,504!12^600,96!12^600,144!12^600,216!12^600,264!12^600,336!12^600,384!12^600,456!12^600,504!12^528,504!12^528,456!12^528,384!12^528,336!12^528,264!12^528,216!12^528,144!12^528,96!12^432,96!12^432,144!12^432,216!12^432,264!12^432,336!12^432,384!12^432,456!12^432,504!12^360,504!12^360,456!12^360,384!12^360,336!12^360,264!12^360,216!12^360,144!12^360,96!12^264,96!12^264,144!12^264,216!12^264,264!12^264,336!12^264,384!12^264,456!12^264,504!12^192,504!12^192,456!12^192,384!12^192,336!12^192,264!12^192,216!12^192,144!12^192,96!0^660,120!0^636,120");
var _local4 = new Array();
_local4.push(_local30);
_local4.push(_local27);
_local4.push(_local38);
_local4.push(_local34);
_local4.push(_local48);
this.episodeList[90] = new EpisodeData("episode 90", "xxxx", _local4);
var _local3 = new Array();
_local3.push(_local35);
_local3.push(_local31);
_local3.push(_local43);
_local3.push(_local39);
_local3.push(_local53);
this.episodeList[91] = new EpisodeData("episode 91", "strata", _local3);
var _local6 = new Array();
_local6.push(_local25);
_local6.push(_local23);
_local6.push(_local32);
_local6.push(_local28);
_local6.push(_local40);
this.episodeList[92] = new EpisodeData("episode 92", "paroxysm", _local6);
var _local5 = new Array();
_local5.push(_local29);
_local5.push(_local26);
_local5.push(_local36);
_local5.push(_local33);
_local5.push(_local44);
this.episodeList[93] = new EpisodeData("episode 93", "vale", _local5);
var _local8 = new Array();
_local8.push(_local49);
_local8.push(_local45);
_local8.push(_local57);
_local8.push(_local54);
_local8.push(_local12);
this.episodeList[94] = new EpisodeData("episode 94", "snazzball", _local8);
var _local7 = new Array();
_local7.push(_local55);
_local7.push(_local50);
_local7.push(_local60);
_local7.push(_local58);
_local7.push(_local14);
this.episodeList[95] = new EpisodeData("episode 95", "isthmus", _local7);
var _local10 = new Array();
_local10.push(_local41);
_local10.push(_local37);
_local10.push(_local51);
_local10.push(_local46);
_local10.push(_local59);
this.episodeList[96] = new EpisodeData("episode 96", "lamellae", _local10);
var _local9 = new Array();
_local9.push(_local47);
_local9.push(_local42);
_local9.push(_local56);
_local9.push(_local52);
_local9.push(_local61);
this.episodeList[97] = new EpisodeData("episode 97", "doom", _local9);
var _local2 = new Array();
_local2.push(_local15);
_local2.push(_local13);
_local2.push(_local19);
_local2.push(_local17);
_local2.push(_local22);
this.episodeList[98] = new EpisodeData("episode 98", "iwata", _local2);
var _local11 = new Array();
_local11.push(_local18);
_local11.push(_local16);
_local11.push(_local21);
_local11.push(_local20);
_local11.push(_local24);
this.episodeList[99] = new EpisodeData("episode 99", "waterfowl", _local11);
};
NinjaData.prototype.BuildGameData_MenuDemos = function () {
this.menudemoList[0] = new MenuDemoData(8, 2, "1070:0|35791394|237117986|107374182|107374182|107374182|35791398|35791394|35791394|34|0|0|0|79691776|89478485|89478485|89478485|17896789|17895697|17895697|4369|71614464|0|35791392|35791394|139810|35782656|35791394|107405858|107374182|107374182|107374182|107374182|36071014|35791394|35791394|35791394|17904162|17895697|17895697|1118481|0|35651584|35791394|35791394|2236962|72089600|89478485|17913173|17|35791360|35791394|35791394|35791394|35791394|35791394|35791394|17825794|17895697|17895697|273|16785952|17|35782656|35791394|139810|0|0|33554432|2236962|0|0|0|0|0|0|33554432|546|17895680|17895697|17895697|17895697|0|0|17825792|4369|17891328|17895680|17895697|17895697|89478493|69909|0|0|0|0|0|139776|0|0|0|0|0|0|0|35790848|107405858|8738|0|0|35790848|35791394|35791394|107374306|107374182|107374182|89474118|18175317|97587473|89478485|33554437|35791394|35791394|17895970|17895697|17895697|17895697|17895697|1118481|0|71584768|107373636|107374182|88360038|89478485|33554501|35660322|115483170|71582788|36062276|33554432|35791394|17891362|1118481|107365568|71582788|72701798|107374148|2|17891328|0|17891328|17|0|0|0");
this.menudemoTotalNum++;
this.menudemoList[1] = new MenuDemoData(4, 4, "444:0|0|35782656|73819758|71582788|2236966|0|35791394|0|0|0|0|0|0|0|35791394|201326626|71582788|105137220|107374182|35791398|35791394|139810|0|0|0|0|0|71614464|107374180|107374182|35808870|546|0|0|0|0|0|0|2236928|0|0|0|0|0|71584768|107365444|35791394|35791394|546|0|0|35791360|35791394|0|0|8704|35651584|2|35790848|107374306|36071014|34|0");
this.menudemoTotalNum++;
this.menudemoList[2] = new MenuDemoData(7, 3, "500:17895424|17895697|17895697|17895697|273|0|0|17895424|17|0|139810|0|35782656|2|17895697|17895697|17895697|17895697|1118481|0|0|0|17895424|17895697|17895697|17895697|17895697|89478493|1118485|35790848|35791394|8738|17895680|4369|0|17895697|89505792|105141589|107374182|107374182|203563622|89478212|89478485|89478485|87381|0|0|0|107376160|35808870|35791394|35791394|35791394|546|35791394|35791394|35791394|71722606|107374148|8738|17891328|69905|0|35791394|35791394|35791394|35791394|35791394|79831586|88429908|33572181|546");
this.menudemoTotalNum++;
this.menudemoList[3] = new MenuDemoData(9, 2, "930:17825792|17895697|89510161|21|0|0|0|0|0|0|17825792|17895697|17895697|17895697|17895697|69905|17484|35791360|35791394|35791394|35791394|35791394|35791394|35791394|35791394|20062754|17895697|69905|0|0|0|0|35790848|0|0|0|17895697|17895697|17895697|1|0|35791394|35791394|35791394|35791394|35791394|35791394|17825826|17895697|17895697|17895697|17895697|17895697|4369|0|0|0|0|17895696|17895697|17895697|1|1118208|72089600|89478468|89478485|219222289|71652693|546|0|35791360|34|0|0|35791394|35791394|107374306|0|0|0|0|89474124|89478485|22369621|17895697|17895697|17895697|71584768|89478485|89478485|89478485|89478485|21|35790848|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|17895699|89478493|89478485|89478485|89478485|89478485|89478485|22369621|17895697|4369|35651584|35791394|35791394|107376162|107374182|107374182|71582788|0|35782656|34|0|8738|35791360|546|35791360|0|8738|35791360|35791394|35790848|2236962");
this.menudemoTotalNum++;
this.menudemoList[4] = new MenuDemoData(7, 2, "466:0|0|0|0|0|17895424|17895697|17895697|17895697|71582797|71582788|17895765|17895697|17895697|1118481|17825792|17895697|17895697|17895697|17895697|17895697|17895697|72089873|71582788|107374182|107374182|107374182|22369604|17895697|1118481|79691776|107365444|107374182|107374182|73819750|68|0|0|33554432|546|107266048|107374182|107374182|107374182|107374182|35791394|115483170|17891398|17895697|17895697|17895697|0|0|0|89478476|89478485|89478485|89478485|70997|35790848|35791394|35791394|107405858|107374182|107374182|107374182|26214");
this.menudemoTotalNum++;
this.menudemoList[5] = new MenuDemoData(5, 3, "420:17895697|17895697|17895697|17895697|17895697|69905|0|0|17825792|273|71582796|89478212|18175317|273|0|0|0|16777216|17895697|1|17895424|1|0|17895696|17895697|17895697|1118481|0|35791394|35791394|35791394|35791394|35791394|79691776|89478485|89478485|89478485|17896789|17895697|17895697|17895697|97587473|71583061|33555524|35791394|139810|17895680|273|35791360|546|17895697|17895697|17895697|1118481|0|17895424|17895697|17895697|17895697|17895697|0");
this.menudemoTotalNum++;
this.menudemoList[6] = new MenuDemoData(5, 1, "198:17895696|17895697|97587473|89478485|89478485|89478485|89478485|4|17895424|17891601|17895697|17895697|89478609|89478485|89478485|89478485|89478485|22369621|17895697|17895697|17895697|17895697|35651601|35791394|35791394|35791394|35791394|107880994|102");
this.menudemoTotalNum++;
this.menudemoList[7] = new MenuDemoData(6, 1, "1478:17825792|17895697|17895697|4369|0|2236416|16777216|17895697|17895697|17895697|17895697|17895697|4369|35791392|35791394|35791394|35791394|35791394|35791394|35791394|8738|0|17825792|17895697|17895697|17895697|17895697|17895697|17895697|89480465|71652693|71582788|89478468|89478485|17895765|17895697|17895697|17895697|1118481|0|35790848|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|17891328|17895697|17895697|89478493|71582789|89478484|89478485|17913173|17895697|17895697|17895697|17895697|35782929|35791394|35791394|35791394|107365998|73811046|71582788|71582788|33555524|35791394|35791394|35791394|35791394|35791394|35791394|72229410|71582788|107373636|4482662|17895680|17895697|17895697|17895697|17895697|89985297|89478485|89478485|89478485|89478485|89478485|17913173|17895697|17895697|17895697|17895697|89510161|71582789|89478468|89478485|283989|115474432|107374182|107374182|107374182|107374182|35792486|35791394|237117986|71582788|17476|71584768|71582788|72089604|89478212|17895765|17895697|17895697|17895697|17895697|17895697|17895697|35791395|35791394|34|17895697|4369|0|35791360|35791394|35791394|34|17895697|17895697|17895697|17|0|0|0|0|0|0|0|0|16777216|69905|0|0|0|107405824|35791398|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|107405858|40265318|35791394|2236962|89510144|89478485|89478485|89478485|4543829|0|35790848|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|2236962|71582912|71582788|79691844|89478468|89478485|89478485|89478485|89478485|89478485|89478485|89478485|17895765|89478493|89478485|89478485|219222289|89478485|89478485|89478485|17895701|17895697|17895697|1");
this.menudemoTotalNum++;
this.menudemoList[8] = new MenuDemoData(7, 4, "612:0|0|17895696|17895697|273|35791360|139810|17825792|17895697|1|17895424|17895697|17895697|18175325|0|0|0|16777216|17895697|17895697|17895697|17895697|17895697|72159505|71582788|71582788|17825796|89478609|89478485|17895765|17895697|17895697|17|0|0|71584768|1092|0|16777216|17895697|1|0|35651584|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|8738|35791360|35791394|35791394|17895970|17895697|17895697|17895697|17895697|17895697|17895697|17895697|35791392|35791394|107880994|35808870|35791394|35791394|35791394|35791394|35791394|237117986|71582790|107373636|107374182|35808870|35791394|107405858|107374182|35792486|35791394|16777216|17895697|72093969|1092|1372");
this.menudemoTotalNum++;
this.menudemoList[9] = new MenuDemoData(8, 0, "1234:0|0|16777216|17895697|17895697|281873|0|33554432|34|17891328|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|97587473|89478485|89478485|17895701|17895697|17895697|1|0|0|35782656|107405858|107374182|107374182|107374182|107374182|139810|0|35790848|2|0|237117984|107374182|107374182|107374182|35808870|35791394|35791394|35791394|8738|0|72089600|107374148|107374182|107374182|40265318|8738|0|0|0|105137344|107374182|102|79691776|107365444|107374182|40265318|115483170|71582788|89478484|89478485|89478485|22369621|89510161|89478485|89478485|89478485|89478485|89478485|89478485|18175317|17895697|17895697|89480465|89478485|89478485|22369621|89510161|89478485|89478485|17896789|107745553|107374182|107374182|71582790|1092|17895424|17895697|17895697|17895697|17895697|17895697|17895697|89478493|89478485|89478485|97587541|89478485|89478485|89478485|17895765|17895697|17895697|17895697|1118481|79691776|71582788|18105412|17895697|17895697|17895697|35782657|35791394|16777762|89478493|89478485|22369621|17895697|4369|35790848|35791394|35791394|35791394|2236962|17895680|17895697|0|35790848|35791394|71583342|71582788|107374148|107374182|16786022|17895697|17895697|17895697|273|35791394|35791394|35791394|35791394|35791394|34|17895697|17895697|17895697|17895697|17895697|69905|0|0|17895696|0|17825792|17895697|17895697|17895697|1118481|33554432|35791394|17895680|69905|0|35782656|35791394|107405858|107374182|288358|0");
this.menudemoTotalNum++;
this.menudemoList[10] = new MenuDemoData(3, 1, "790:0|0|17891328|201396497|71582788|349525|0|0|0|201326592|107374148|107374182|107374182|107374182|26214|0|0|16777216|17895697|17895697|69905|35790848|81928738|71582788|71582788|71582788|107365444|35791398|35791394|35791394|35791394|139810|72089600|71582788|71582788|107374148|107374182|0|71582912|71582788|71582788|71582788|71582788|71582788|105137220|35791394|35791394|35791394|107880994|107374182|107374182|79831586|89478485|89478485|89478485|89478485|89478485|18175317|89510161|89478485|89478485|89478485|17913173|17895697|17895697|17895697|17891329|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|36770065|35791394|35791394|35791394|35791394|107376162|35791394|35791394|2|0|35791360|546|0|0|35791392|2|35791392|33554432|139810|17825792|17895697|17895697|17895697|17895697|17895697|2236977|17895680|17895697|17895697|17895697|17895697|1118481");
this.menudemoTotalNum++;
this.menudemoList[11] = new MenuDemoData(3, 4, "890:0|237117952|71582790|107234372|107374182|201326594|89478484|89478485|89478485|17895701|17895697|0|17895424|273|88866816|89478485|89478485|89478485|17895697|17|0|35791392|35791394|35791394|35791394|34|35791394|0|0|0|0|0|0|0|0|0|0|0|4368|17825792|17895697|17895697|17895697|71582813|71582788|89478468|89478485|18170948|17895697|89478493|89478485|17749|0|79691776|71582788|89478484|72701269|279620|35790848|0|17895424|219222289|71582788|89478484|17477|35791392|2236962|0|0|0|17895696|17895697|0|0|0|0|0|0|0|17895424|69905|0|107374272|107374182|107374182|107374182|107374182|107374182|107374182|107374182|40265318|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|2236962|71582796|71582788|89509888|89478485|89478485|89478485|89478485|35792469|35791392|546|17895696|17895697|89478493|71587157|71582788|71582788|107373636|71722598|107365444|35808870|35791394|34|0");
this.menudemoTotalNum++;
this.menudemoList[12] = new MenuDemoData(10, 1, "571:35791360|35791394|237117986|71722598|4473924|8738|33554432|35791394|35791394|2|512|71614464|71582788|35808836|139810|0|0|0|35790848|2236962|72089600|71582788|71582788|35783748|34|0|35791392|0|17825792|35791361|17825792|35791360|17895682|17895697|35655953|107374306|107374182|107374182|107374182|107374182|1126|0|0|0|0|0|0|17895696|17895697|0|0|0|0|0|35790848|0|17895424|17895697|17895697|71587165|22299716|1|0|35791360|0|17826338|17895697|4474065|0|0|0|35651584|8738|0|201326626|72701269|68|0|35655953|35791394|17891874|4369");
this.menudemoTotalNum++;
this.menudemoList[13] = new MenuDemoData(11, 4, "776:17895424|17895697|17895697|17895697|17895697|17895697|17895697|17895697|1118481|17895697|1118481|0|0|0|35651584|2236962|0|4369|88361984|89478485|89478485|89478485|89478485|89478485|89478485|89478485|17895765|17895697|17895697|89478493|89478485|89985301|89478485|89478485|97587541|89478485|89478485|89478485|69905|0|0|0|79691776|89474116|89478485|89478485|89478485|219222357|89478485|89478485|89478485|89478485|5461|0|0|0|0|0|4369|0|0|0|0|0|0|79691776|89478212|89478485|89478485|17749|0|2236962|0|35790848|34|139810|0|17895696|1118481|0|0|17891328|33554449|35791394|35791394|79700514|71582788|89478485|89478485|107444053|107374182|35808870|89476130|89478485|89478485|89478485|89478485|89478485|341|0|0|0|33554432|35791394|35791394|219230754|89478485|18175317|17895697|4369|1118481");
this.menudemoTotalNum++;
this.menudemoList[14] = new MenuDemoData(12, 3, "1173:35791394|35791394|35791394|35791394|35791394|35791394|35791394|107880994|107374182|107374182|35791398|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|71754274|71582788|115484260|107374182|107374182|107374182|107374182|115483238|107374182|107374182|107374182|107374182|107881062|107374182|107374182|107374182|107374182|107405862|107374182|107374182|107374182|36071014|89985058|89478485|17895765|33554432|8738|0|20062754|17895697|17895697|33558801|546|69904|139264|17891328|273|71582796|71582788|89408580|1093|0|17825792|17895697|79691793|72701269|0|0|1118464|0|17895696|17895697|89985297|89478485|89478485|89478485|17895765|273|71614464|89408580|89478485|5461|0|0|35790848|35790848|35791394|35791394|35791394|17895680|17895697|0|17895696|17895697|17895697|17895697|17895697|17895697|89985297|89478485|89478485|18175317|89478609|89478485|89478485|89478485|17913173|89478493|89478485|89478485|89478485|17913173|89478493|89478485|89478485|89478485|17913173|105207133|40265318|35791394|34|0|8738|0|0|35790848|107376162|35792486|2|35782656|2|17895696|17895697|17895697|33558801|35791394|35791394|35791394|17895680|17895697|4369|0|35791360|107374190|8806|35791392|0|35791392|17895680|19005440|89478493|89478485|89478485|89478485|89478485|89478485|18175317|17895697|17895697|89985297|89478485|89478485|89478485|89478485|36787541|8738");
this.menudemoTotalNum++;
this.menudemoList[15] = new MenuDemoData(13, 0, "508:35791360|2|35790848|0|0|0|71582796|107374180|35791398|35791394|2|0|35791394|35791394|35791394|35791394|107405858|107374182|107374182|107374182|6|69904|0|35651584|35791394|35791394|71614464|89408580|89478485|89478485|88360004|21|0|35651584|105137230|107374182|35792486|17826338|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|89480465|89478485|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|89985297|89478485|71582805|35808870|35791394|35791394|35791394|35791394|115483170|107374182|107374182|17896230|89478609|21845");
this.menudemoTotalNum++;
this.menudemoList[16] = new MenuDemoData(14, 3, "509:0|0|16777216|17895697|17895697|17895697|17895697|89480465|89478485|89478485|1135957|107374306|107374182|102|35790848|35791394|0|0|71754240|105137220|35791462|35791394|35791394|35791394|107374306|107374182|2236962|1118480|35791360|35791394|35791394|35791394|35791394|35791394|71585314|107234372|107374182|107374182|36071014|88361986|89478485|17896789|17895697|1118481|0|4352|201326592|73819748|22369348|1118481|17825792|17895697|17895697|89510161|89478485|89478485|89478485|69|1118480|0|35651584|35791394|35782658|201327138|88360004|71652693|68|0|17895680|17895697|89510161|89478485|349525");
this.menudemoTotalNum++;
this.menudemoList[17] = new MenuDemoData(15, 1, "508:0|0|17895424|17891345|219222289|89478485|4437|0|0|0|0|201326592|71582788|71582788|71582788|71582788|17896788|4369|0|35782656|35791394|107374190|107374182|107374182|107374182|18022|17891328|17895697|273|0|89474124|89478485|89478485|4543829|0|1114112|17825792|71584769|89474116|89478485|89478485|89478485|89478485|35782661|35791394|201466402|107365444|107374182|107374182|107374182|68|0|0|0|33554432|107374190|107374182|614|0|0|0|0|2236962|0|0|0|34|0|35651584|35791394|35791394|8738|0");
this.menudemoTotalNum++;
this.menudemoList[18] = new MenuDemoData(16, 4, "585:0|16777216|17895697|89510161|17493|0|35791394|2236962|17895696|17895697|17895697|72093969|35808836|0|0|0|0|0|0|35791394|89474240|89478485|89478485|89478485|18175317|107373777|40265318|546|0|17891328|17895697|17895697|89478493|107369813|4482662|17895424|1|107367424|2|0|17895697|33554449|139810|0|17895697|17895697|17895697|69905|0|33554432|35791394|35791394|35791394|35791394|35791394|237117986|107374182|107374182|107374182|35791394|35791394|2|2236928|35791360|35791394|107880994|107374182|107374182|107374182|107374182|35808870|17834530|36770065|107374190|71722598|89474116|71652693|107373636|35791398|19014178|51450129|35791394|17904162|4369");
this.menudemoTotalNum++;
this.menudemoList[19] = new MenuDemoData(17, 1, "314:35791392|35791394|35791394|115483170|71722598|107234372|107374182|614|0|0|0|35790848|35791394|81928738|71582788|107373636|107374182|35808870|139810|0|0|0|0|0|0|0|0|16777216|17895697|17895697|219222289|89478485|89478485|89478485|17896789|4369|0|17825792|17895697|17895697|89480465|18175317|89478609|89478485|5592405");
this.menudemoTotalNum++;
this.menudemoList[20] = new MenuDemoData(18, 1, "224:0|35790848|35791394|107374306|107374182|107374182|107374182|36071014|2|0|17825792|17895697|33554705|71623202|17895424|17895697|17895697|35651585|35791394|17891362|17895697|17895697|17895697|16777216|1118481|0|17895680|17895697|35651584|2|107236352|107374182|0");
this.menudemoTotalNum++;
this.menudemoList[21] = new MenuDemoData(19, 4, "1082:17895696|17895697|17895697|17895697|17895697|17895697|17895697|17895697|4369|33554432|139810|35791392|35791394|546|35782656|89410562|18175317|17895697|0|0|35782656|35791394|17895426|35782673|2236962|35791360|17895970|17895697|17895697|17895697|17895697|17896227|17895697|17895697|17895697|17895697|17895697|17895697|219222289|89478485|89478485|89478485|89478485|17913173|72089601|17891328|17895697|1118481|0|33554432|35791394|35791394|35791394|35791394|115483170|546|17895697|4369|4368|17895696|17895697|17895697|89480465|17895765|16777216|273|35790848|35791394|139810|33554432|107374306|35791462|35791394|139810|35651584|35791394|35791394|35791394|35791394|16777218|17895697|35791361|2236962|17895696|1|69904|0|1118480|17895696|17895697|17895697|17895697|17|35791360|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|34|0|0|0|0|17825792|17895697|17895697|17895697|71618833|107373636|107374182|107374182|2238054|35782656|17891330|17895697|17895441|69905|35791394|35791394|35791394|35791394|17895682|17895697|17895697|17895697|17895697|69905|35790848|35791394|35791394|35791394|35791394|35791394|35791394|34|35790848|35791394|8738|0|0|0|0|0|0|0|17895680|17825809|4369");
this.menudemoTotalNum++;
this.menudemoList[22] = new MenuDemoData(20, 2, "982:35790848|35791394|35791394|71583342|107373636|107374182|107374182|4474470|17895696|17895697|69905|0|115483168|107374182|107374182|107374182|35792486|71584770|71582788|71582788|71582788|89478485|89478485|89478485|17895701|17895697|80810257|71582788|89478484|279621|16777216|4369|0|17484|33554432|2236962|0|17895424|89480465|17895765|69905|35790848|35791394|107405858|107373638|40265318|34|0|17895697|17895697|71582929|89478485|22369621|17895697|17895697|0|17895697|22369745|71614464|35791392|35791394|35791394|2236962|218103808|89478485|89478468|89478485|17896789|17895697|35655953|107880994|107374182|107374182|107374182|107374182|35792486|35791394|2|0|33554432|546|17895697|17895697|35791633|35791394|2236962|0|0|17895697|17895697|89985297|89478485|89478485|35782997|35791394|107374306|107374182|107374182|107374182|36071014|0|71582912|89478485|85|0|35651584|35791394|35791394|35791394|35791394|16777762|17895697|17895697|17895697|17895697|17895697|17|35791392|35791394|35791394|35791394|35791394|35791394|40772130|35791394|35791394|35791394|35790848|0|35790848|34|33554432|8738|0|17891328|17895697|273|35791392|17895699|17895697|17");
this.menudemoTotalNum++;
this.menudemoList[23] = new MenuDemoData(21, 3, "433:17895697|17895697|17895697|17895697|17895697|17895697|17895697|18177297|17895697|0|0|0|0|0|0|0|0|107367424|35791462|35791394|34|0|17895424|4369|0|0|0|35791360|107374306|107374182|107374182|107374182|18114150|69905|35791394|107374306|107374182|73819750|0|0|35790848|107374306|107374182|107374182|26214|0|0|546|0|0|0|107374306|35791398|0|35791394|546|0|17895696|35791392|546|0|1118464");
this.menudemoTotalNum++;
this.menudemoList[24] = new MenuDemoData(22, 2, "664:17825792|4369|17895680|1118481|0|17895697|17895697|17895697|17895697|4369|17895424|17895697|69905|17895424|273|0|0|17891328|89985297|89478485|89478485|89478485|21|0|35791360|35791394|73821730|71582788|71582788|71582788|40125508|2|69904|0|0|0|35791392|2236962|71582796|71582788|107234372|40265318|546|2236416|0|0|35651584|2236962|35651584|139810|35790848|35791394|35791394|35791394|33554466|35791394|0|0|1118208|0|0|139776|33554432|2|202445056|71582788|71582788|107373636|40265318|0|17825792|17895697|17895697|71583069|89408580|71587157|89474116|71582805|71582788|4|35791394|17825792|17895697|1118481|0|71582796|71582788|71582788|88360004|89478485|89478485|89478485|89478485|89478485|5592405");
this.menudemoTotalNum++;
this.menudemoList[25] = new MenuDemoData(23, 3, "413:0|17895697|17895697|71618833|71582788|71582788|89408580|16777493|4369|0|1118464|0|2228224|0|88866816|89478485|89478485|4543829|17895424|17895697|17|17891328|17895697|17895697|97587473|89478485|89478485|89478485|17913173|89478493|18175317|17895697|17895697|35791377|17891362|17895697|17895697|16777217|17895697|17895697|17895697|17895697|17895697|1118481|0|35651584|35791394|35791394|35791394|107376162|71722598|88499780|89478485|35652693|546|97587472|89478485|22369621|17895697|0");
this.menudemoTotalNum++;
this.menudemoList[26] = new MenuDemoData(24, 2, "770:35791360|35651586|35791394|35791394|115483170|107374182|107374182|107374182|107374182|107374182|71591526|71582788|17896772|17895697|17895697|17895697|1|0|0|0|0|0|71582912|71582788|71582788|107365444|107374182|2236962|0|0|0|35790848|0|35791394|107376162|107374182|107374182|107374182|107374182|35791398|35791394|35791394|35791394|35791394|107405858|35791398|35791394|35791394|35791394|35791394|35791394|0|0|0|0|17825792|17895697|17895697|69905|139264|8738|201326592|1092|35651584|35791394|35791394|139810|0|0|219222288|71582789|71582788|73811012|72696900|68|0|17895697|17895697|17895697|17895697|89478493|89478485|71587157|279620|0|0|17895696|89478609|89478485|349525|0|0|0|0|0|0|0|107374188|34|0|0|0|0|0|0|0|0|0|71582912|89478484|0");
this.menudemoTotalNum++;
this.menudemoList[27] = new MenuDemoData(25, 2, "613:0|0|35651584|35791394|35791394|35791394|35791394|35791394|107376162|107374182|107374182|107374182|107374182|107374182|107374182|107374182|107374182|107374182|107374182|107374182|107374182|107374182|40265318|35791394|2236962|35791360|35782658|0|17895680|17895697|17895697|17895697|17895697|17895697|89478609|89478485|89478485|89478485|89478485|89478485|89478485|17913173|17895697|17895697|17895697|17895697|17895697|17895697|89510161|89478485|97587541|89478485|89478485|89478485|89478485|89510165|89478485|89478485|89478485|18175317|89480465|89478485|89478485|89478485|18175317|71582929|4|0|0|0|17891328|17895697|17895697|17895697|4369|0|0|0|0|17825792|69905|71584768|71582788|107374148|614|4474048|0|0");
this.menudemoTotalNum++;
this.menudemoList[28] = new MenuDemoData(26, 1, "263:17895680|17895697|17895697|17895697|17895697|69905|72089600|71582788|71582788|0|35651584|35791394|546|0|35791392|35791394|71623202|71582788|71583334|89478212|17749|17895697|273|139776|71614464|71582788|89474116|89478213|89478485|107374183|107374182|35792486|17826338|17895697|4369|16777216|33624337|26338");
this.menudemoTotalNum++;
this.menudemoList[29] = new MenuDemoData(27, 3, "773:16777216|17895697|89510161|89478485|17913173|17895697|1|0|0|0|0|33554432|0|17895424|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|97587473|89478485|108384529|107374182|107374182|107374182|107374182|107374182|9830|35791360|34|35782656|546|17895696|17895697|17895697|1|17891328|273|17825792|17|69888|0|1118480|17825792|273|17895424|1|17895680|0|89478476|89478485|89478485|89478485|17913173|69905|0|0|17895696|17895697|17895697|17895697|17|0|35651584|8738|35782656|35791394|35791394|2|17825792|17|0|0|0|35782656|2236962|0|17825792|69905|201326592|71582788|40125508|34|139776|0|0|2236960|35790848|2|71584768|107374180|107374182|107374182|107374182|8806|0|0|0|0|81920000|107374180|1638");
this.menudemoTotalNum++;
this.menudemoList[30] = new MenuDemoData(28, 4, "530:35791394|35791394|35791394|35791394|35791394|35791394|35791394|2|0|17895696|17895697|17895697|4369|16777216|17895697|17895697|17|17895697|17895697|17895697|17895697|17|0|0|4352|0|0|40264896|35791394|2|0|0|0|35651584|35791394|546|34|35791392|0|0|35790848|35791394|35791394|35791394|35791394|35791394|0|89985280|89478485|4373|17895696|0|17895424|17895680|17895697|17895697|17895697|17895697|107405313|107374182|40265318|139810|0|0|35782656|35791394|71582912|33554432|35791394|35791394|35791394|35791394|2236962|17891328|17895697|69905");
this.menudemoTotalNum++;
this.menudemoList[31] = new MenuDemoData(29, 0, "341:17895696|17895697|17895697|17895697|17895697|17895697|17895697|17895773|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|89478493|89478485|89478485|89478485|17913173|107374461|107374182|107374182|107374182|107374182|107374182|107374182|36071014|89985282|89478485|89478485|89478485|89478485|70997|0|0|139776|0|0|201326592|107374182|107374182|139878|0|0|0");
this.menudemoTotalNum++;
this.menudemoList[32] = new MenuDemoData(34, 2, "496:17895697|17895697|17895697|17895697|17895697|89985297|89478485|89478485|89478485|89478485|17913173|17895697|17895697|17895697|89478609|89478485|89478485|89478485|89478485|17913173|17895697|17895697|17895697|219222289|89478485|17896789|89478493|89478485|123032917|107374455|107374182|107374182|52848230|35790865|16777250|17895697|35651584|35791394|35791394|35791394|107880994|107374182|107374182|107374182|107374182|107374182|36071014|33563170|107405858|107374182|107374182|71722598|89408580|17895701|17895697|17895697|17895697|17895697|35791121|35791394|71623202|71582788|89478485|89478485|89478485|17895765|80810257|107374182|107374182|40265318|5632546");
this.menudemoTotalNum++;
this.menudemoList[33] = new MenuDemoData(38, 4, "357:17895696|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|79696145|71582788|107365444|71582788|35791462|139810|0|201326592|71582788|107373636|107374182|107374182|17476|35791360|237117986|107374182|89478758|89478485|89478485|89478485|18175317|273|71582796|71582788|107373636|107374182|107374182|81946214|89478485|89478485|89478485|89478485|17895701|1|0|35791360|0|71614464|88360004|89478485|0");
this.menudemoTotalNum++;
this.menudemoList[34] = new MenuDemoData(42, 1, "413:35790848|35791394|35791394|0|0|0|35790848|34|35791360|2|35790848|34|0|0|0|0|0|0|17895696|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|72159505|107365444|2516582|139776|17825792|17895697|35791633|35791394|35791394|35791394|35791394|17895730|17895697|72089600|71582788|72089668|71582788|35791360|139810|0|0|35651584|35791394|107376162|107880998|107374182|35791394|35791394|0");
this.menudemoTotalNum++;
this.menudemoList[35] = new MenuDemoData(44, 2, "1428:35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|107374190|2516582|71582796|71582788|279620|71582796|71582788|71582788|79692868|71582788|71582788|89478484|4543829|71614464|71582788|71582788|107234372|1126|0|0|0|0|89478492|89478485|22369621|17895697|17895697|17895697|17|35790848|35791394|35791394|35791394|35791394|18031138|17895697|0|69888|35651584|35791394|2236962|0|16777216|17|17891328|1|0|17891328|17895697|17895697|17895697|17895697|33554705|35791394|35791394|35791394|8738|35791394|8738|17895680|33624337|2236962|17895680|17895697|17895697|0|0|33554432|35791394|34|0|0|35782656|17891362|17895697|73208081|71582788|89478212|22369621|35651857|35791394|35791394|35791394|8738|17825792|4369|35782656|2236962|17895680|0|35791392|17895458|17895697|17895697|69905|35782656|35791394|35791394|115483170|107374182|107374182|107374182|107374182|107374182|1126|17895696|17895697|17|17895680|1118481|71584768|107365444|107374182|107374182|107374182|107374182|35791462|0|35791360|35791394|17825792|17895697|17895697|17825792|4369|33554432|546|69905|0|89478492|89478485|72701269|71582788|89478212|72701269|35782656|35791394|35791394|34|17|35791392|0|35791394|35791394|35791394|35791394|35791394|34|0|0|0|33554432|35791394|2|4369|0|1118480|8704|17895697|17895697|17|16917026|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|89480465|89478485|22369621|89480465|89478485|349525|201606220|279620|17484|89478220|71583061|0");
this.menudemoTotalNum++;
this.menudemoList[36] = new MenuDemoData(50, 3, "485:17895696|17895697|17895697|17895697|17895697|17|0|0|35651584|34|8736|71584768|105137220|40265318|107376162|107374182|107374182|107374182|107374182|107376162|107374182|107374182|107374182|35808870|35791394|35791394|35791394|107374306|71582822|89478468|71583061|35791940|35791394|35791394|107376162|107374182|107374182|107374182|35791394|107376162|107374182|107374182|107374182|35791394|0|88391680|89478485|17896789|35651585|35791394|35791394|17895426|17895697|0|0|35791392|34|0|16|0|273|8738|16777216|33624337|205346|0|17895424|35852561|139810|0");
this.menudemoTotalNum++;
this.menudemoList[37] = new MenuDemoData(50, 2, "466:0|219222289|89478485|89478485|4373|17825792|4369|0|0|0|17895697|273|17891328|17895697|273|69888|17895696|35790848|35791394|35791394|35791394|35791394|2236962|35651584|546|105137344|107374182|107374182|107374182|72089668|71582788|4473924|1114112|0|0|17895696|89478609|89478485|1135957|0|0|0|107405856|107374182|35808870|235160652|107374182|107374182|17478|107374306|107374182|35792486|35652130|35791394|107405858|107374182|71591526|107374148|107374182|107374182|38|0|0|0|89510144|89478485|21845");
this.menudemoTotalNum++;
this.menudemoList[38] = new MenuDemoData(49, 4, "592:17895424|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|89478609|89478485|89478485|71583061|0|0|0|17891328|71618833|71582788|107374182|38|17825792|17895697|17895697|17895697|71652701|68|0|0|71584768|107374182|107374182|17478|0|0|35791394|35791394|115483170|71582790|88360004|4473941|35791392|35791394|35791394|35791394|35791394|16917026|17895697|273|0|35791360|34|17895696|17895697|17895697|17895697|1|33554432|35791394|0|35651584|35791394|546|0|17895696|17895697|89478493|89478485|89478485|89478485|17749|35791392|35791394|35791394|2|17891328|1|17825792|72089617|33555524|35791394|2|17825792|35655953|8738");
this.menudemoTotalNum++;
this.menudemoList[39] = new MenuDemoData(47, 2, "585:17895696|17895697|69905|35791360|35791394|17895697|17895697|17895697|17|17825792|273|17825792|4369|79691776|71582788|107365444|38|0|0|33554432|35791394|35791394|35791394|115483170|107374182|107374182|107374182|72098338|22369620|0|69632|0|17895680|17895697|17895697|17895697|89478609|89478485|89478485|18175317|107373777|1638|17895696|69905|0|0|17895424|1|69905|0|69888|17825792|0|69632|71582912|0|0|0|35791392|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|17895699|17895697|17895697|17895697|17895697|201396497|71582788|71582788|40256580|35791394|8738");
this.menudemoTotalNum++;
this.menudemoList[40] = new MenuDemoData(46, 0, "1014:0|0|0|0|0|107234380|107374182|107374182|107374182|35791398|72090146|71722596|107374180|107374182|2516582|0|0|0|1118480|0|71614464|107373636|107374182|107374182|107374182|40265318|35791394|107374190|107374182|38|17825792|1118481|0|0|0|79691776|107373636|107374182|107374182|107374182|107374182|201335334|105137220|107374182|107374182|107374182|107374182|4|17895680|17895697|17895697|201326865|107374180|107374182|107374182|107374182|35792486|107405858|16794692|69905|35790848|2|17895696|17895697|0|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|107374306|40265318|35791394|35791394|35791394|35791394|35791394|107405858|35791462|89478494|71583061|36070980|35791394|35791394|17891330|17895697|17895697|17895697|89985297|89478485|89478485|89478485|71652693|107234372|35791394|35791394|139810|17895697|202445073|71582788|89478212|89478485|89478485|17895701|17895697|17895697|17895697|89480465|71582788|107374182|107374182|6710886|17895424|17895697|273|35791392|2228770|35782656|115483170|89548390|22369621|1|35791360|139810|17895697|17895697|17895697|17895697|17895697|1118481|35791394|35791394|35791394|35791394|35791394|35791394|35791394|2236962");
this.menudemoTotalNum++;
this.menudemoList[41] = new MenuDemoData(52, 1, "343:35782656|35791394|107374306|140902|17891328|1|139264|0|33554432|107880994|107374182|107374182|107374182|107374182|614|0|1048576|0|17891328|72089601|107374182|107374182|107374182|35791394|139810|0|0|0|0|35791394|107374306|4613734|17891328|17|1118464|0|35651584|35791394|107405858|107374182|107374182|107374182|107374182|35792486|107376162|74326630|89478484|1092|1118481|0");
this.menudemoTotalNum++;
this.menudemoList[42] = new MenuDemoData(55, 0, "1084:35782656|35791394|35791394|35791394|35791394|35791394|115483170|107374182|201326630|71582788|71582788|71582788|17895697|17895697|17895697|17895697|17895697|1118481|35791360|35791394|35791394|35791394|35791394|35791394|107374190|107374182|72089602|89474116|17913173|17895697|17895697|17895697|17895697|17895697|33554433|35791394|35791394|2|89480464|71652693|71582788|89478484|89478485|17896789|17895697|17895697|17|0|0|0|0|35790848|35791394|107376162|107374182|107374182|35791394|35791394|35791394|35791394|35791394|35791394|35791394|139810|17895696|17895697|17895697|17895697|17895697|89478609|89478485|17913173|17895697|17895697|17895697|17895697|35782673|35791394|35791394|107880994|107374182|107374182|107374182|107374182|35791398|107374190|35808870|35791394|35791394|17895424|17895697|17895697|17895697|17895697|89480465|89478485|89478485|17913173|273|0|35791394|35791394|35791394|115483170|71583334|71582788|71582788|71582788|71582788|71582788|89478485|38028629|35791394|35791394|139810|0|17895680|17895697|89478609|89478485|89478485|17895765|17895697|17895697|17895697|33624337|35791394|35791394|35791394|237117986|107374182|107374182|107374182|107374182|40265318|35791394|35791394|35791394|35791394|107405858|107374182|107374182|107374182|107374182|279620|139264|0|35790848|107374190|71591526|71582788|71582788|107373636|4482662|1118464");
this.menudemoTotalNum++;
this.menudemoList[43] = new MenuDemoData(56, 2, "697:35791394|35791394|34|0|0|107880992|107374182|107374182|98707046|89478485|89478485|89478485|89478485|89478485|89478485|89478485|17895701|17895697|17895697|89480465|22369621|17895697|17895697|17895697|17895697|17895697|219222289|89478485|89478485|89478485|18175317|17895697|17895697|17895697|1|0|0|0|0|237117440|107374182|107374182|107374182|107374182|107374182|107374182|36071014|36071138|35791394|35791394|35791394|35791394|17825794|17895697|17895697|17895697|17|0|35791394|35791394|35791394|35791394|546|0|17891328|1118481|35791360|34|0|17895424|89510161|89478485|89478485|89478485|89478485|89478485|219222293|89478485|80810325|71582788|0|17895424|17895697|17895697|17895697|1|35791394|35791394|35791394|35791394|35791394|0|0|35791394|35791394|2236962|17895697|17895697|17895697|23825");
this.menudemoTotalNum++;
this.menudemoList[44] = new MenuDemoData(48, 1, "564:35791360|35791394|35791394|35791394|107374306|107374182|107374182|201466470|89478485|89478485|89478485|89478485|89478485|17895701|17895697|17895697|4369|17895697|219222289|89478485|89478485|89480465|107365444|107374182|107374182|35792486|8738|0|0|17825792|69905|17825792|17895697|17895697|107880995|107374182|107374182|40265318|35791394|35791394|35791394|34|0|35791392|8738|0|17891328|17895697|69905|17895424|17895697|22401297|17895697|1|33554432|8738|1118208|0|17895696|17895697|17895697|69905|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|107880994|107374182|107374182|35808870|8738|89510160|21845");
this.menudemoTotalNum++;
this.menudemoList[45] = new MenuDemoData(59, 1, "600:0|0|71582912|71582788|71582788|89478485|4369|17891328|17895697|17895697|17895697|17895697|4369|35651584|35791394|17895680|89480465|89478485|89478485|89478485|89478485|1093|107376162|88360006|89478485|89478485|89478485|35791429|35791394|35791394|16777216|17895697|17895697|1|17825792|4369|17891328|273|17895680|17|1118481|0|17|115483168|107365444|107374182|107374182|107374182|1092|0|0|0|35651584|17895697|1100|0|17895697|17895697|17895697|17895697|17895697|105137344|71582822|89478484|89478485|89478485|18175317|17895697|17895697|17895697|1118481|35791392|35791394|71582798|71582788|71582788|70996|17895697|115483171|107374182|107374182|107374182|107374182|71582790|17892420|131073");
this.menudemoTotalNum++;
this.menudemoList[46] = new MenuDemoData(36, 3, "1089:35791394|35791394|139810|71584768|88360004|72701269|107373636|107374182|9830|0|33554432|2|0|4352|0|0|1118481|0|17895696|17895424|1|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17|0|0|17895424|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|69905|0|17895680|17895697|17895697|0|0|0|0|0|0|0|0|0|0|0|36071020|35791394|35791394|35791394|35791394|2236962|17895680|17895697|17895697|17895697|17895697|17895697|17895697|89478609|89478485|5592405|71582912|72701252|107374180|107374182|36071014|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|107405858|107374182|96469094|17896789|17895697|17895697|17895697|17895697|17895697|17895697|35790865|35791394|35791394|35791394|35791394|35791394|35791394|35791394|107405858|2516582|71582912|17891328|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|4369|0|0|0|0|0|71614464|16777216|17895697|17895697|1|35791392|35791394|35791394|35791394|35791394|35791394|35791394|17900066|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|1|0|0|0|0|0|0|35782656|26222");
this.menudemoTotalNum++;
this.menudemoList[47] = new MenuDemoData(48, 4, "927:35791392|79691778|71582788|89478468|89478485|89478485|17913173|17895697|17895697|4369|89478220|89478485|89478485|89478485|79762773|105137220|107374182|107374182|96469062|89478485|89478485|89478485|22369621|107236625|107374182|81928738|89408580|89478485|18175317|35791360|35791394|35791394|17825794|17895697|51450129|115483170|71582788|72701269|107374182|107374182|40265318|35791394|35791394|35791394|2|71584768|107234372|107374182|107374182|107374182|1094|17895424|17895697|51450129|107374190|73819750|17895424|69905|17825792|17895697|35651601|35791394|17895458|35651857|17965602|97587473|89478485|22369621|69905|0|17895680|1118481|17825792|35651857|2236962|0|0|35790848|105168930|107374182|107374182|35808870|8738|69905|0|35782656|0|17895697|35791361|107405858|35808870|2236962|0|35651584|35791394|0|0|33554432|2236962|17891328|17895697|33558801|35791394|35791394|8738|0|17895697|17895697|17895697|17895697|1|16777216|35790849|2|8736|35782656|16777250|17895697|35790865|115483170|35791462|35791394|35791394|35791394|35791394|139810|0|17895680|17895697|17895697|105644049|90596966|1365");
this.menudemoTotalNum++;
this.menudemoList[48] = new MenuDemoData(38, 0, "802:17895424|89985297|89478485|89478485|89478485|89478485|71582805|4|35790848|546|0|2236928|35782656|35791394|107405858|107374182|107374182|107374182|139814|0|0|17895696|17825792|35655953|107374306|107374182|35791398|546|1118481|0|35782656|35651586|107405858|35791394|35791394|34|0|0|0|17895680|17895697|89985297|89478485|89478485|89478485|89478485|89478485|17895765|273|17825792|0|17825792|4474065|33554432|107880994|22373990|17895697|17|0|17825792|97587473|89478485|89478485|72701269|71582788|35791398|35791394|35791394|81928738|89478485|89478485|22369621|4369|0|0|17895697|17895697|17895697|4369|35791392|35791394|107374306|107374182|107374182|107374182|107374182|107374182|35791398|8738|33554432|35791394|107405858|107374182|71722598|105137220|107374182|36071014|2236962|0|33554432|35791394|17825826|17895697|17895697|35790865|35791394|35791394|35791394|35791394|35791394|2|107367424|107374182|36071014|8738");
this.menudemoTotalNum++;
this.menudemoList[49] = new MenuDemoData(45, 3, "372:35651584|35791394|35791394|107374306|71722598|71582788|4473924|0|17825792|17|17895697|17895697|89985297|17895701|17895697|17895697|17895697|35790865|107405858|107374182|107374182|107374182|107374182|107374182|35791394|79700514|71582788|0|0|0|17895696|0|1118480|17825792|17895697|17895697|219222289|17913173|17895697|17895697|17895697|17895697|17895697|69905|237109248|107374182|35808870|35791394|35791394|35791394|35791394|35791394|35791394|2");
this.menudemoTotalNum++;
this.menudemoList[50] = new MenuDemoData(47, 4, "540:0|79691776|107365444|107374182|2237030|0|0|0|0|0|0|17825792|17895697|17895697|17895697|17895697|17895697|0|35791360|35791394|72089634|89478212|71582805|71582788|71582788|68|0|89985280|89478485|89478485|89478485|89478485|89478485|89478485|17895701|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|1118481|35791360|107405858|107374182|107374182|40265318|0|0|16777216|16777233|17895697|71614481|40265318|35791394|35791394|35791394|139810|4352|35791394|35791394|35791394|35791394|2236962|35791394|8738|33624336|35791394|71722606|107374148|40265318|35791394|35791394|115483170|107374182|6");
this.menudemoTotalNum++;
this.menudemoList[51] = new MenuDemoData(59, 2, "776:0|35651584|107376162|546|0|35651584|35651586|35791394|35791394|4613858|0|0|0|35791394|35791394|107374306|107234406|419430|17825792|17895697|1|0|17825792|69905|35790848|107374306|107374182|107374182|107374182|107374182|107374182|35791398|139810|0|0|0|0|0|0|0|17895424|89985297|17895765|1|0|0|0|17891328|17895697|89510161|273|0|0|0|2236962|17891328|17895697|71618833|71582788|279620|0|1118208|0|0|0|139264|0|35782656|35791394|35791394|89915938|18175317|17|35791394|139810|17895424|17895697|97587473|17895765|17895697|17895697|17895697|17895697|17895697|17895697|17895697|273|0|0|35791360|35791394|35791394|35791394|546|0|0|35791360|107374190|107374182|107374182|38|35791360|0|17895424|17895697|17895697|17895697|17895697|17895697|17895697|1118481");
this.menudemoTotalNum++;
this.menudemoList[52] = new MenuDemoData(61, 1, "260:0|0|0|35790848|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|201466402|72089600|72089604|79691844|201326660|1092|17484|4473932|71582912|201326592|17476|71582912|72089600|201326660|22299716|17895697|17895697|219222289|22369621|17895697|17895697|1");
this.menudemoTotalNum++;
this.menudemoList[53] = new MenuDemoData(65, 3, "401:0|0|17891328|16781585|17895697|17895697|273|17895680|17895697|17895697|0|0|0|0|0|0|0|2|35651584|546|0|0|17895424|17895697|17895697|17895697|89510161|89478485|89478485|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|273|0|0|17895424|17895697|89480465|89478485|89478485|89478485|22369621|17895697|17895697|17895697|17895697|17895697|89510161|89478485|219222357|71582789|71614468|68");
this.menudemoTotalNum++;
this.menudemoList[54] = new MenuDemoData(66, 0, "538:0|0|0|17825792|89510161|89478485|89478485|89478485|277|35791394|35791394|35791394|34|71614464|89408580|89478485|89478485|89478485|18175317|35791394|139810|72089600|107374148|107374182|107374182|107374182|107374182|35791462|107374190|107374182|40265318|107405858|107374182|107374182|40265318|107405858|107374182|40265318|2236962|35782656|107405858|107374182|17891332|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|35655953|35791394|34|0|17895697|17895697|89480465|89478485|89478485|1109|0|35791394|2236962|0|17895680|219222289|89478485|89478485|89478485|4473941|17895697|1118481|0|0");
this.menudemoTotalNum++;
this.menudemoList[55] = new MenuDemoData(67, 4, "805:0|0|201326592|89478485|89478485|97587477|71582788|107374180|107374182|614|17825792|17895697|17895697|35791394|546|0|16777216|89480465|71587157|16778308|17895697|17895697|17895697|17895697|17895697|4369|35790848|35791394|107405858|107374182|107374182|107374182|71722598|0|0|35651584|35791394|0|17895697|17|0|0|0|0|35782656|107374306|107374182|107374182|17825794|17895697|17895697|4369|0|107405824|107374182|107374182|107374182|35791394|17891330|17895697|1118481|0|107397120|107374182|107374182|18022|17895680|1118481|0|0|0|0|0|0|0|0|0|0|0|35651584|107405858|107374182|107374182|17825894|17895697|17895697|273|0|0|35791360|107405858|107374182|107374182|73819750|17895696|17895697|17895697|273|237109248|107374182|107374182|18022|17891328|17895697|273|0|0|33554432|35791394|115483170|107374182|4|0|35791394|107405858|0");
this.menudemoTotalNum++;
this.menudemoList[56] = new MenuDemoData(71, 4, "979:0|0|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|115483170|107374182|107374182|36071014|107374306|107374182|107374182|107374182|107374182|107374182|107374182|107374182|107374182|107374182|36071014|34|17895680|17895697|17895697|17895697|35791395|35791394|35791394|35791394|35791394|35791394|35791394|35791394|139810|17895697|89985297|89478485|89478485|89478485|89478485|89478485|89478485|89478485|236982613|107374182|107374182|107374182|107374182|107374182|107374182|107374182|36071014|8738|35791392|35791394|107880994|107374182|107374182|107374182|35791398|218112546|89478485|89478485|89478485|89478485|89478485|17895765|107373661|107374182|107374182|107374182|40265318|89480226|89478485|68|0|4352|0|0|89985280|89478485|18175317|89480465|89478485|89478485|89478485|4|0|17895680|17895697|35651584|35791394|35791394|107376162|107374182|107374182|107374182|107374182|36071014|107376162|107374182|107374182|107374182|107374182|107374182|35808870|35791394|35791394|107405858|107374182|40265318|89480450|89478485|89478485|89478485|89478485|89478485|89478485|89478485|89478485|89478485|89478485|89478485|89478485|89478485|89478485|89478485|89478485|89478485|89478485|4543829");
this.menudemoTotalNum++;
this.menudemoList[57] = new MenuDemoData(72, 0, "533:0|0|35791394|35791394|35791394|107880994|107374182|107374182|107374182|107374182|102|0|0|107367424|107374182|107374182|107374182|107374182|107374182|107374182|107374182|107374182|107374182|107374182|35791394|107374306|107374182|107374182|115483174|107374182|107374182|107374182|40265318|107405858|107374182|107374182|107374182|107374182|89915938|89478485|89478485|89478485|89478485|89478485|89478485|1109|35791394|34|0|201326592|89478468|1092|0|0|0|0|97587200|89478485|89478485|89478485|89478485|89478485|89478485|89478485|17895765|89510161|89478485|89478485|107374181|107374182|36071014|71582912|4|35790848|35791394|35791394|34");
this.menudemoTotalNum++;
this.menudemoList[58] = new MenuDemoData(79, 4, "440:0|0|0|0|35782656|35791394|35791394|35791394|35791394|107374306|107374182|107374182|107374182|107374182|107374182|107374182|107374182|107374182|107374182|35792486|35791394|107376162|107374182|107374182|35792486|107374190|107374182|107374182|107374182|115483170|107374182|107374182|107374182|107374182|115483170|107374182|107374182|107374182|40265318|107405858|107374182|107374182|107374182|35808870|107374190|107374182|107374182|40265318|237117986|107374182|107374182|107374182|71591526|1092|89478609|89478485|89478485|89478485|89478485|89478485|89478485|89478485|5592405");
this.menudemoTotalNum++;
this.menudemoList[59] = new MenuDemoData(67, 2, "479:0|0|17895680|97587473|89478485|89478485|89478485|89478485|89478485|89478485|17895701|17895697|17895697|17895697|0|0|0|0|0|107236352|107374182|107374182|40265318|8738|0|0|0|0|0|71614464|71582788|107374180|107374182|107374182|6710886|17895697|17895697|69905|35660288|107880994|107374182|107374182|107374182|107374182|107374182|34|0|35791392|35791394|17895680|17895697|35791377|35791394|35791394|35791394|201326626|89478485|89478485|89478485|89478485|89478485|17895701|17825792|16777489|4369|0|35655952|2236962|272|0|0|0");
this.menudemoTotalNum++;
this.menudemoList[60] = new MenuDemoData(68, 3, "699:17891328|17895697|17895697|17895697|89478609|18175317|17895697|1|0|35791360|0|0|4369|71584768|71582788|71582788|68|0|273|0|34|35651584|71614498|71582788|72701268|35782656|35791394|2236962|0|0|0|4352|71582796|68|69632|17895680|17895697|17895697|17895697|219222289|89478485|71582789|71582788|35651584|35791394|139810|17895424|97587473|89478485|71652693|105168900|107374182|71583334|71582788|71582788|35782724|139810|17891328|97587456|97587473|71652693|105137220|35792486|35791394|35791394|35791394|35791394|35791394|107374190|71591526|71582788|40256580|115483170|107374182|107880998|107374182|107374182|107374182|35791394|35791394|107405858|107374182|107374182|107374182|107374182|35808870|35791394|35791394|35791394|71614466|71582788|17476|71582796|71582788|35792486|0|17895696|17895697|17895697|5624081|0|0|0");
this.menudemoTotalNum++;
this.menudemoList[61] = new MenuDemoData(69, 2, "1432:17895680|17895697|17895697|4509969|35782656|8738|0|2236962|0|0|0|4473932|0|0|35782656|139810|0|72089600|68|0|0|35782656|35791394|2|71582796|4|0|35791392|546|0|71582796|0|0|0|35782656|2|72089600|1092|0|0|33554432|139810|0|71582912|68|17895424|0|0|0|0|0|0|0|72089600|71582788|107374182|107374182|107374182|107374182|107374182|35782660|107376162|107374182|107374182|107365446|107374182|107374182|107374182|107374182|16777222|35655953|237117986|107374182|107374182|107374182|35792486|2236962|35782656|35791394|35791394|35791394|35791394|35791394|107374190|107374182|107374182|40265318|139810|0|0|0|0|0|0|0|0|0|71582796|35652676|2|35791392|2236962|0|0|71582912|1118468|0|0|17895696|0|0|0|71582912|71582788|68|0|33554432|8738|201326592|71582788|68|17895680|273|33554432|35791394|35791394|71614464|71582788|89478212|1109|33554432|35791394|35791394|201327138|89474116|71652693|0|139808|35782656|2|0|71582796|71582788|89478212|279621|17895696|1|0|139810|35791360|107376162|71722598|89408580|89478485|283989|0|17895696|17895697|1118481|107234496|107374182|71722598|89478468|33571909|35791394|35791394|35791394|107880994|107374182|2238054|35790848|35791394|35791394|115483170|107374182|107374182|107374182|35791394|33554466|33563170|33554466|35791394|35791394|139810|35651584|35791394|0|17825792|4369|17895696|72732945|71582788|105137220|35808870|35791394|35791394|35791394|35791394|107374190|107374182|35791394|35791394|35791394|35791394|28194");
this.menudemoTotalNum++;
this.menudemoList[62] = new MenuDemoData(67, 0, "711:35790848|35791394|35791394|35791394|35791394|35791394|35791394|2236962|17825792|1|17895680|17895697|17895697|4369|17891328|17895697|0|16777216|17895697|17895697|1|0|279744|35790848|35791394|35791394|2236962|16777216|35782673|35791394|115483170|107374182|4|0|71582796|71582788|89474116|89478485|89478485|349525|0|72089600|89474116|89478485|22369621|0|0|0|17895697|88360012|89478485|89478485|89478485|97587541|18175317|33554705|35791394|2|71614464|71582788|89478484|89478485|89478485|5461|0|107374156|107374182|89478212|107374183|107374182|35808870|35791394|35791394|35791394|107374190|107374182|107374182|201483878|89478485|89478485|4474197|35791360|2|69888|71582912|71582788|88360004|89478485|22369621|17895697|17891329|1136081|33554432|2|1118481|71582912|89408580|89478485|89478485|89478485|97587477|21845");
this.menudemoTotalNum++;
this.menudemoList[63] = new MenuDemoData(66, 2, "1040:0|0|71614464|4|0|8738|0|35791360|115483170|71582790|71582788|68|35790848|35791394|0|97587472|71582788|71582788|107374182|1126|0|17825792|72089600|89478484|17913173|17895697|17895697|17895697|17|0|35791392|35791394|71582798|107374182|107374182|107374182|36071014|107374306|107374182|107374182|107374182|40265318|107374306|107374182|107374182|419430|0|0|71584768|0|139808|0|0|35791394|71582912|107365444|107374182|1126|0|0|0|0|107376162|107374182|107374182|107405862|17476|0|1118480|33554432|35791394|35791394|107405858|71582790|107374148|107374182|107374182|71584770|89478468|89478485|79696213|107374182|107374182|107374182|107376162|107374182|89478470|17895697|33554705|35791394|35782656|17826338|17895697|89985297|89478485|89478485|89478485|89478485|89478485|17895701|17895697|17895697|17895697|0|0|0|0|88391680|89478485|17895765|17895697|17895697|219222289|107373636|6|16777216|33554433|35791394|35791394|71722722|71582788|35792452|35791394|35791394|35791394|35791394|107374306|107374182|107374182|107374182|35808870|35791394|139810|0|0|35651584|35791394|35791394|35791394|20062754|17895697|17895697|1|35782656|35791394|35791394|35791394|34|0|0");
this.menudemoTotalNum++;
this.menudemoList[64] = new MenuDemoData(65, 1, "676:0|33554432|35791394|107374306|107374182|107374182|2238054|0|0|0|71584768|89478485|17896789|17895697|1|17891328|17895697|89985297|89478485|71582789|73819204|71582788|107373636|614|35791360|79700514|71582788|71582788|107374148|73819750|1092|17825792|69905|71614464|71582788|71582788|107374182|73819750|68|16777216|17895697|17895697|89985297|89478485|89478485|22369621|17895697|17895697|17895697|89510161|89478485|89478485|89478485|17913173|4369|0|0|0|0|0|71614464|107374182|107374182|8742|0|0|35791394|546|89474240|89478485|89478485|89478485|89478485|89478485|89985297|89478485|89478485|89478485|105713941|107374182|107374182|107374182|17478|0|17895424|17895697|17895424|17895697|71584769|71582788|35790852|2236962|0|35790848|35791394|35791394|8738");
this.menudemoTotalNum++;
this.menudemoList[65] = new MenuDemoData(62, 3, "723:17825792|17895697|17895697|89480465|89478485|89478485|18175317|69905|0|16777216|17895697|17|0|35791392|88391714|4369|273|16777216|17895697|4369|17825792|17|0|35791394|35791394|35791394|35791394|2236962|0|0|0|35782656|35791394|35791394|35791394|35791394|201326592|89478484|89478485|89478485|89478485|89478485|97588565|89478485|89478485|89478485|17913173|89480465|89478485|89478485|22369621|17895697|17895697|273|17825792|273|72089600|107374148|107374182|107374182|107374182|40265318|35791394|35791394|35791394|35791394|35652130|73851426|89478485|89478485|89478485|89478485|89478485|89478485|89478485|17895697|17895697|17895697|97587473|71587157|71582788|35792452|35791394|8738|0|0|0|35651584|35791394|107374190|107374182|107374182|107374182|107374182|40265318|89645602|89478485|89478485|89478485|89478485|35651589|35791394|35791394|34");
this.menudemoTotalNum++;
this.menudemoList[66] = new MenuDemoData(73, 2, "734:0|0|236978176|36071014|8738|0|0|35790848|35791394|107374190|6|0|17895680|273|35782656|107880994|107374182|6|0|17895424|16777216|69905|35791392|107880994|107374182|107374182|107374182|89924134|89478485|89478485|17895701|17895697|97587473|89478485|89478485|72159509|71582788|17476|17891328|17|33554432|35791394|35791394|40265326|71593506|71582788|71582788|71582788|89478485|89478485|89478485|97587541|18175317|17895697|1|0|0|0|0|0|0|0|35790848|546|35791394|17891330|17895697|17895697|17895697|89480465|89478485|17895697|17895697|17895697|17895697|17895697|4369|17891328|97587473|89478485|1118549|0|35791360|2236962|17895697|17895697|33554433|34|17895680|89985297|89478485|4478293|0|35651584|35791394|0|71582796|89478212|89478485|201396565|107374180|107374182|35792486|34|0");
this.menudemoTotalNum++;
this.menudemoList[67] = new MenuDemoData(76, 4, "1442:0|0|35782656|35791394|35791394|35791394|35791394|35791394|139886|0|17895424|17895697|35791360|35791394|36072994|34|17895424|4369|17895680|1118481|35791360|17891328|17895697|1|71623168|1092|35791392|35791394|35791394|139810|17895680|17|546|79691776|71582788|107234372|71582822|71591526|73819750|17825792|35790849|71623202|71582788|71582788|107374182|107374182|237135462|105137220|107374182|107374182|35792486|35791394|17891330|17895697|35782657|0|0|17895697|219222289|89478485|89478485|18175317|89478609|89478485|71587157|71591524|89478485|89478485|219223381|89478485|89478485|89478485|89478485|22369621|69905|71582912|72701268|89478468|89478485|17896789|89478609|89478485|17895765|17895697|0|17895696|219222289|71582805|35791360|35791394|34|35791360|17895426|17895697|97587473|72701269|71582788|1092|0|17895696|17895697|89985297|89478485|89478485|17895697|17895697|17895697|0|17891328|17895697|89985297|17895697|0|17895680|17895697|17895697|17895697|89510161|89478485|21845|17895424|4369|0|0|0|71584768|71582788|107365444|107374182|35808870|35791394|35791394|107374190|107374182|40265318|35791394|35791394|107880994|35791394|0|4369|0|0|0|35791392|35791394|237117986|139878|17895680|273|17891328|35790865|35791394|2518562|0|0|0|139808|0|35791392|35791394|34|17895696|17895697|17895697|17895697|273|35791394|34|17895697|4369|35791392|35791394|35791394|35791394|35791394|35791394|17826338|17895697|17895697|35787025|35791394|139808|0|0|35790848|17891328|69905|35790848|35791394|34|0|0|0|17825792|17895697|17895697|17895697|17895697|1119697|35651584|35791394|16777250|4369|17891328|89985297|0");
this.menudemoTotalNum++;
this.menudemoList[68] = new MenuDemoData(79, 1, "874:17891328|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|219222289|18175317|89478609|105137220|107374182|107374182|107374182|107405858|71583334|107374180|107374182|107374182|237119078|89417318|17913173|273|17895424|17895697|35782656|35791394|17891874|273|35791360|0|33554432|139810|65536|2236928|17895424|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|97587473|89478485|22369621|17895697|219222289|89478485|89478485|72159509|71582788|71582788|71582788|107374180|35791462|35791394|35791394|546|0|17895696|17895697|17895697|219222289|89478485|89478485|219223381|89478485|89478485|89478485|89478485|18175317|107374545|107374182|107374182|73819750|4|1118481|0|17895680|17895697|219222289|71582788|107374180|4613734|0|17891328|17895697|35782673|35791394|35791394|35791394|115483170|107374182|2516582|8704|17895424|2236417|105139200|107374182|107374182|71583334|0|17895424|0|71584768|71652692|89478468|89478485|237049173|107374182|36071014|546|35791394|35791394|35791394|17825794|17895697|33554433|34|35791392|2236962");
this.menudemoTotalNum++;
this.menudemoList[69] = new MenuDemoData(82, 1, "302:35791392|35791394|8738|17895696|17895697|17895697|17895697|17|0|0|35782656|33554978|35791394|8738|0|33554432|34|0|0|0|2228224|0|0|0|35782656|35791394|35791394|2236962|89474124|105137493|36071014|16777218|35782673|35791394|17895680|273|35791394|35791394|71614466|89478485|36062277|2236962|35795216|2");
this.menudemoTotalNum++;
this.menudemoList[70] = new MenuDemoData(84, 4, "792:35791360|35791394|35791394|35791394|107374190|35808870|34|0|17895696|17895697|17895697|1|35791392|35791394|35791394|35791394|35791394|35791394|35791394|35791394|107374306|107374182|6|71584768|88360004|89478485|89478485|21|0|107397120|107374182|16777220|17895697|273|0|69905|0|0|35791360|115483170|107374182|157286|89478492|89478485|89478485|89478485|89478485|5461|0|35782656|35782656|0|2236928|35782656|35791394|16777762|80810257|71582788|89478484|89478485|17913173|17895697|17895697|17|35791392|35791394|35791394|237117986|107374182|107374182|107374182|35791462|35791394|35791394|35791394|35791394|35791394|0|35790848|35791394|107880994|107374182|107374182|107374182|107374182|107374182|40265318|107880994|107374182|36071014|115483170|107374182|107374182|36071014|107374306|107374182|107374182|107374182|35792486|89478510|89478485|89478485|17913173|17895697|89478609|89478485|89478485|89412949|72701269|35791360|35791394|17904162|17895697|1");
this.menudemoTotalNum++;
this.menudemoList[71] = new MenuDemoData(82, 3, "675:0|35791360|35791394|237117986|71583334|71582788|68|17895696|0|8738|33554432|35791394|35791394|107405858|17510|89474240|89478485|89478485|17895765|17895697|17895697|71584768|105137220|35792486|35791394|201335330|71582788|107373636|36071014|35791394|35791394|35791394|237117986|8806|0|0|0|0|0|0|0|72089600|0|35790848|2|0|0|0|35791394|0|17895680|17895697|219152657|89408581|17895765|17895697|17895697|4369|0|17895696|17895697|17895697|17895697|4369|72089600|107234372|71722598|68|0|69632|35651584|97517570|89478485|89478485|89478485|89478485|17913173|17895697|17895697|17895697|17895697|17895697|97587473|89478485|79696213|71582788|89478484|89478485|89478485|89478485|89478485|17913173|89478493|89478485|89478485|89478485|1365");
this.menudemoTotalNum++;
this.menudemoList[72] = new MenuDemoData(78, 3, "282:0|17895697|69905|71584768|71582788|89478485|17476|1114112|0|71582912|89478212|89478485|22369621|72703249|71582788|107234372|2516582|33554432|35791394|35791394|107374190|79700518|71582788|89408580|89478485|17749|0|107373760|107374182|107374182|107374182|107374182|115484262|107374182|107374182|107374182|107374182|35791394|35791394|0|0");
this.menudemoTotalNum++;
this.menudemoList[73] = new MenuDemoData(77, 3, "662:0|0|17895697|17895697|17895697|17895697|17895697|17895697|36770065|35791394|107374190|1126|17895696|17895697|17895697|17895697|17895697|17895697|1233|0|0|0|17895696|17895697|4509969|0|0|2236962|35782656|35791394|35791394|0|33694240|71623202|89408580|17913173|17895697|17895697|17895697|17895697|17895697|273|0|89480464|219223381|89478485|71582805|107374182|71583334|88360004|71582789|35790950|107374190|35808870|2|17895424|17895697|17895697|89480465|89478485|89478485|89478485|22369621|69905|35791392|35791394|16777218|35721489|139810|35790848|35791394|237117986|71582788|71582788|201614948|73819750|17825860|35790849|35791394|107374190|107374182|35791462|139810|97587456|89478485|89478485|17896789|17895697|273|35791392|34|0|89985296|89478485|21845");
this.menudemoTotalNum++;
this.menudemoList[74] = new MenuDemoData(76, 1, "1479:17895680|17895697|17895697|17895697|17895697|89510161|89478485|89478485|89478485|89985297|89478485|89478485|89478485|17913173|17895697|89985297|219222357|89478485|71652693|17895696|1|201326592|71582788|71582788|89478485|89478485|18175317|89478609|17913173|1118481|33554432|107374190|107374182|107374182|107374182|107374182|107374182|107880998|107374182|107374182|107374182|89448994|89478485|89478485|89478485|89478485|89478485|22369621|17895697|89480465|89478485|89478485|17913173|17895697|4369|16777216|89480465|89478485|17896789|69905|35782656|546|17895697|17895697|69905|0|0|35791360|35791394|35791394|35791394|35791394|35791394|35791394|34|17895697|17895697|17895697|71584785|1092|0|0|0|0|0|107374188|107374182|35791394|139810|0|0|0|17895680|17895697|73208081|4|35791392|35791394|35791394|35791394|35791394|35791394|17891328|17895697|17895697|17895697|17895697|89480465|18175317|89478609|89478485|89478485|89478485|22369621|89478609|89478485|89478485|89478485|17895765|1|0|0|72089600|89478212|89478485|89478485|89478485|89985301|17896789|69905|0|107374306|107374182|107374182|107374182|107374182|26214|0|0|0|89478492|89478485|89478485|89478485|89478485|89478485|17913173|89478493|89478485|89478485|89478485|1118481|17895424|1118481|35791392|35791394|139810|17891328|35791360|35791394|35791394|35791394|35791394|2236962|17895696|17895697|17895697|17895697|17895697|79761681|107374148|107374182|107374182|107374182|107376162|107374182|107374182|107374182|36071014|107374190|107374182|107374182|107374182|107374182|107374182|35791462|107405858|107374182|107374182|107374182|107374182|35791394|17891362|35790865|35791394|107374190|71582788|71582788|107374180|107374182|35792486|35791394|35791394|237117986|107374182|71583334|107234372|107374182|107374182|107374182|107374182|102");
this.menudemoTotalNum++;
this.menudemoList[75] = new MenuDemoData(75, 3, "727:0|0|35791394|115483170|237135462|107374182|107374182|107374182|107374182|107880998|107374182|107374182|107374182|107374182|97722982|89478485|89478485|89478485|89478485|22369621|17|35791392|34|0|35791360|35791394|8738|17895696|17895697|17895697|89478493|71582788|17891328|17|0|16|0|0|35791392|35791394|203563554|88360004|89478485|1118485|35791360|34|17895424|0|17895680|273|201326592|89478468|89478485|22369621|89480465|89478485|89478485|17895701|17895697|1118481|0|35651584|8738|35790848|79691810|71582788|107374148|89474662|89478485|89478485|22369621|17|17891328|0|0|35791392|72089600|89478468|89478485|18175317|89478609|89478485|89478485|89478485|17913173|89478493|89478485|89478485|89478485|219223381|107374182|40265318|2236962|0|0|0|35790848|35791394|34|35790848|35791394|17825792|17895697|17");
this.menudemoTotalNum++;
this.menudemoList[76] = new MenuDemoData(75, 4, "888:35791394|35791394|35791394|2|0|0|17895697|17895697|17895697|17895697|17895697|72089873|35791360|35791394|139810|0|16777216|17895697|17896797|17895697|17|17895424|17895697|17895697|69905|0|107374188|107374182|107374182|107374182|35791462|0|1118481|0|0|0|17895697|17895697|1135965|0|33554432|8738|219222289|87381|17891328|17895697|17895697|17895697|17895697|17895697|89510161|18175317|107367697|71722598|0|17895424|17895697|4369|35790848|35791394|546|17895697|4369|0|0|16777216|273|35791394|35791394|107405858|107374182|107374182|107374182|35792486|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|546|71582796|88360004|279893|71582796|71582788|89474116|89478485|18175317|17895697|273|17895680|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|89478609|89478485|18175317|107373645|107374182|36071014|35791394|35791394|35791394|35791394|107374190|140902|16777216|4369|35651584|35791394|546|0|0|0|279628|35791360|16777218|17895697|1");
this.menudemoTotalNum++;
this.menudemoList[77] = new MenuDemoData(62, 4, "1010:17895697|17895697|17895697|17895697|69905|0|0|0|115482624|107374182|107374182|36071014|107376162|107374182|107374182|107374182|107374182|107374182|8738|0|16777216|17895697|17895697|17895697|17895697|35790848|237117986|107234374|139878|0|35651584|115483170|107374182|107374182|203564646|89478484|17895701|17895697|17895697|17895697|1|35790848|35791394|8738|0|0|201326592|89408580|17913173|0|0|0|107405824|40265318|35791394|2236962|33554432|8738|71582796|107234372|107374182|107374182|107374182|107374182|419430|16777216|17895697|89480465|89478485|89478485|89478485|89478485|89985301|89478485|89478485|89478485|89478485|89478485|18175317|1118481|0|1118464|0|0|17895424|17895697|89985297|89478485|89478485|89478485|89478485|18175317|17895697|17895697|4369|17891328|17895697|1|0|0|0|35791360|35791394|35791394|35791394|35791394|35791394|35791394|0|0|17895424|17895697|17895697|1118481|17891328|17895697|0|0|0|201326592|279620|0|139810|35791360|35791394|35791394|35791394|35791394|35791394|107880994|6710886|0|0|71582796|0|17895696|273|0|16777216|273|17895697|17895697|17895697|17895697|17");
this.menudemoTotalNum++;
this.menudemoList[78] = new MenuDemoData(63, 4, "837:17895424|17895697|17895697|89478493|17895701|17895697|17895697|89510161|89478485|89478485|89478485|89478485|17895701|17895697|89478609|89478485|21|0|0|0|107373644|107374182|107374182|107374182|107374182|17825794|17895697|35787025|35791394|0|273|16777216|17895697|89985297|89478485|89478485|89478485|18175317|1|0|35790848|35791394|17891328|89408589|89478485|71582789|35792452|35791394|35791394|17834530|1118481|35791392|8738|17895424|17895697|89478493|89478485|89478485|4473941|35782656|35791394|35791394|35791394|8738|35651584|35791394|35791394|237117986|614|0|17891328|4369|0|8738|35791392|0|0|71614464|68|0|35791394|0|8738|33554432|35791394|8738|72089600|550|17895424|17895697|17895697|69905|35782656|18031138|17895697|17895697|17895697|35791360|35791394|35791394|35791394|35791394|237117986|71582790|107373636|35791462|35791394|107374190|40265318|35791360|35791394|35791394|35791394|0|2518560|17895696|17895697|17895697|17895697|4369");
this.menudemoTotalNum++;
this.menudemoList[79] = new MenuDemoData(64, 3, "267:35791392|35791394|2|0|35790848|4645410|17895424|17895697|4369|35782656|35791394|35791394|107234496|105277030|35791462|35791394|115483170|107374182|36071014|35791394|546|17895424|71614481|107374148|107374182|107374182|107374182|35808870|107880994|107374182|107374182|105168930|73819750|16777220|17|35651584|16785954|17895697|1");
this.menudemoTotalNum++;
this.menudemoList[80] = new MenuDemoData(90, 1, "456:0|107374272|79691810|17913173|17|0|35791392|35782656|8738|17895696|97587473|89478485|22369621|17895697|0|35791360|35791394|34|35791392|34|17895697|35791394|72089602|89478485|89478485|22369621|17895697|17|35791360|35791394|35791394|2236962|97587456|89478485|89478485|105137237|71722598|89478484|5461|35791394|17895696|97587473|89478485|89478485|71652693|17476|35651584|35791394|8738|35791360|8738|0|17895680|219222289|71587157|71582788|71582788|71582788|71582788|4|35791394|8738|17895680|17895697|17895697|1");
this.menudemoTotalNum++;
this.menudemoList[81] = new MenuDemoData(92, 3, "682:35791360|35791394|35791394|35791394|34|0|35651584|8738|0|17825792|17895697|17895697|17895697|17895697|17895697|17895697|0|0|0|17895680|17895697|1118481|16777216|17|17895680|17895697|17895697|71584769|33554500|35791394|16777762|17895697|17895697|17895697|71684369|107373636|107374182|107374182|2|0|0|201326592|71582788|279620|17|0|16777489|89510161|89478485|89478485|89478485|89478485|89478485|219223381|89478485|89478485|22369621|71589137|107374182|107374182|201467494|71582788|71582788|89478484|22369621|71584769|89474116|89478485|17913173|17895697|17895697|1118481|107365452|107374182|107374182|107374182|73819750|17895424|17|79691776|88360004|89478485|89478485|89478485|113250577|107374182|107374182|107374182|107374182|107374182|107374182|17895766|17895697|17895697|17895697|17895697|17895697|273");
this.menudemoTotalNum++;
this.menudemoList[82] = new MenuDemoData(94, 1, "809:0|0|0|0|35791394|35791394|35791394|35791394|203564654|89474116|89478485|18175317|17|0|35791360|34|35791394|35791394|35791394|35791394|35791394|35791394|115483170|36071014|35791394|17895426|69905|35791392|35791394|35791394|35791394|107374306|107374182|107374182|107374182|35791398|40265326|2|107376160|35791398|139810|0|72089600|71582788|71582788|107365444|107374182|107374182|35808870|107374190|35791398|35791394|107374306|107374182|107374182|40265318|35791394|35791394|35791394|2|0|0|17895680|17895697|17895697|17|0|0|35782656|2|17825792|17895697|17895697|17895697|17895697|17895697|1|0|0|4352|35782656|35791394|34|107373644|35808870|107374190|107374182|35791462|546|0|0|0|17895680|1|35782656|2|0|0|17895424|17895697|17895697|17895697|17895697|17895697|97587473|89478485|89478485|89478485|18175317|17895697|17|69905|69905|35651584|17895682|4369");
this.menudemoTotalNum++;
this.menudemoList[83] = new MenuDemoData(91, 2, "289:17825792|89985297|89478485|71587157|68|33554432|35791394|35791394|17825826|17895697|35791395|17896226|35791409|79692322|71582788|71582788|107234372|107374182|237119078|71582790|68|0|0|0|35782656|0|0|0|17895680|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17");
this.menudemoTotalNum++;
this.menudemoList[84] = new MenuDemoData(97, 4, "488:35790848|35791394|35791394|35791394|107374306|115483238|71582790|279620|0|17891328|17895697|17895697|17895697|17895697|97587473|89478485|219222357|89478485|89478485|89478485|89478485|89478485|17895697|89985297|89478485|89478485|89478485|89478485|17895697|17895697|17895697|17895697|89478609|89478485|89478485|89478485|89478485|89478485|35782657|16785954|17895697|17895697|17895697|17895697|107234513|107374182|71582790|71582788|4|17912908|17895697|17895697|17895697|4369|0|0|16777216|17895697|17895697|17895697|0|0|0|0|0|0|0|113246208|35791462|2");
this.menudemoTotalNum++;
this.menudemoList[85] = new MenuDemoData(98, 3, "478:0|0|35790848|35791394|107376162|40265318|35791394|34|0|35651584|139810|35791392|0|0|35791360|35791394|107376162|107374182|107374182|35791462|107405858|107374182|35792486|35791394|35791394|107376162|107374182|107374182|73819750|18175316|17895697|17895697|17895697|35791121|115483170|107374182|107374182|107374182|107374182|115483238|107374182|107374182|107374182|35791394|35791394|8738|17895696|273|0|0|33624336|107405858|107374182|89478212|107365444|107374182|102|35651584|107376162|107374182|40265318|35791394|546|0|0|17825792|89480465|89478485|85");
this.menudemoTotalNum++;
this.menudemoList[86] = new MenuDemoData(99, 0, "233:35791360|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|0|0|0|17895697|0|0|0|17891328|17|35791392|35791394|237117986|71582790|4|0|16777216|69905|0|0|35791360|2236962|0|0|16777216|1");
this.menudemoTotalNum++;
};
HELPDEMO_WELCOME = 0;
HELPDEMO_PLAYER = 1;
HELPDEMO_OBJECTS = 2;
HELPDEMO_ENEMIES = 3;
HELPDEMO_MOVEMENT = 4;
HELPDEMO_KEYS = 5;
HELPDEMO_RULES = 6;
HELPDEMO_WALLJUMPING = 7;
HELPDEMO_JUMPING1 = 8;
HELPDEMO_JUMPING2 = 9;
HELPDEMO_FALLING1 = 10;
HELPDEMO_FALLING2 = 11;
HELPDEMO_WALLSLIDING1 = 12;
HELPDEMO_WALLSLIDING2 = 13;
HELPDEMO_GOLD = 14;
HELPDEMO_EXIT = 15;
HELPDEMO_DOOR = 16;
HELPDEMO_TRAPDOOR = 17;
HELPDEMO_LOCKEDDOOR = 18;
HELPDEMO_BOUNCEBLOCK = 19;
HELPDEMO_LAUNCHPAD = 20;
HELPDEMO_ONEWAYPLATFORM = 21;
HELPDEMO_THWUMP = 22;
HELPDEMO_FLOORGUARD = 23;
HELPDEMO_ZAPDRONE = 24;
HELPDEMO_LASERDRONE = 25;
HELPDEMO_CHAINGUNDRONE = 26;
HELPDEMO_MINES = 27;
HELPDEMO_GAUSSTURRET = 28;
HELPDEMO_HOMINGLAUNCHER = 29;
NinjaData.prototype.BuildGameData_HelpDemos = function () {
this.helpLevelStr = "000000000000000061111110000000003111100011111100011111111115000111111000150000010100001111110001000000101000011111100050000005010000111111000000000000500001111110000000000000000011111100000000000000000111111000000000000000001111110000000000000000?1111110000000000000000C111111000000000000000?1111111000000000000000C1111111000000000000003111111110000000000000311111111100000000000GK111111111100000000000119006111111000000;<000:=000011111100000011000000000111111000000:=00000000011111100<00000000000000111111001000000000000071111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111";
var _local4 = new Array();
_local4.push("363:0|17895424|17895697|273|33554432|35791394|35791394|17834530|17895697|17895697|17895697|0|35791394|2236962|0|16777216|17|0|0|17895680|17895697|17895697|17895697|17|17825792|17895697|273|17825792|17895697|1|17895424|273|0|35791360|35791394|546|0|0|0|0|71582796|107374148|71591526|71582788|107373636|8742|35791360|0|17825792|17895697|17895697|1118481");
_local4.push("743:0|17895424|17895697|273|35791392|139810|2236416|35651584|35790848|35791394|35782656|35791394|34|0|0|0|0|0|0|17825792|17895697|17|0|0|0|16777216|219222289|71582788|89478484|273|0|0|0|0|35791360|34|16777216|17895697|17895697|0|0|4368|0|35790848|237117986|107374182|107374182|107374182|107374182|107374182|2236966|88360012|89478485|89478485|89478485|89478485|17895697|17895697|1118481|35790848|35791394|546|17895696|17895697|17895697|17895697|273|35791360|35791394|139810|22371600|273|35782656|35791394|17895730|17895697|4369|35791392|35791394|35791394|35791394|139810|35790848|16785954|17895697|17895697|219222289|89478485|89478485|89478485|18175317|17895697|0|35791394|8738|0|89478592|71652693|71582788|5592132|0|35651584|35791394|35791394|35791394|35791394|2");
this.helpdemoList[HELPDEMO_WELCOME] = new HelpDemoData("5^540,60!0^504,156!0^480,156!0^492,144!0^384,348!0^372,360!0^396,336!6^276,300,4,1,0,3!6^132,84,1,1,0,2!12^168,240!12^108,180!12^504,264!12^348,84!12^156,360!2^228,432,0,-1!7^228,168,3!7^348,204,3!3^564,108", _local4);
var _local30 = new Array();
_local30.push("716:17895424|17895697|0|0|4369|17825792|17895697|273|0|0|17891328|1|0|0|0|0|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|89478493|89478485|1398101|71582912|71582788|72089604|105137220|71591526|71582788|71722598|68|2236928|72089600|71582788|71582788|79692868|71582788|71582788|107374180|36071014|35791394|35791394|35791394|35791394|35791394|107374306|35791398|35791394|35791394|35791394|35791394|35791394|139810|0|0|0|0|35782656|2236962|0|0|0|0|0|0|0|0|0|0|0|17895697|17895697|71582813|4|0|107236352|107374182|107374182|107374182|107374182|107374182|79691780|89478468|89478485|89478485|89478485|17895697|17895697|69905|0|0|0|0|0|0|0|0|0");
this.helpdemoList[HELPDEMO_PLAYER] = new HelpDemoData("5^540,60", _local30);
var _local27 = new Array();
_local27.push("966:35791392|34|71582796|107374148|1638|35791394|0|0|0|203563520|71582788|107374148|71582822|107374148|4482662|17895680|17895697|17895697|17895697|89480465|89478485|89478485|89478485|89478485|89478485|69973|0|35791360|107880994|17895684|4369|0|17895424|17895697|69905|0|17895680|4369|0|0|0|0|0|1118480|0|0|0|0|0|0|546|0|0|0|0|35782656|35791394|35791394|139810|0|201326592|35652676|34|0|0|17891328|273|17895424|17|0|0|0|0|0|0|0|0|0|0|17895696|17895697|17895697|17895697|273|35791394|35791394|35791394|35791394|35791394|35791394|139810|16777216|17895697|17895697|17895697|17895697|17895697|17895697|273|35782656|546|0|17895680|1|0|69888|0|0|0|17891328|1|35651584|237117986|71583334|107373636|107374182|107374182|4474470|0|0|107373644|419396|33571916|2236962|16777216|273|0|35791394|107405858|107374182|107374182|107374182|140902|71582796|89474116|17493|0|0|0");
this.helpdemoList[HELPDEMO_OBJECTS] = new HelpDemoData("5^132,252!1^276,300!2^216,432,0,-1!0^84,84!0^108,84!0^132,84!0^156,84!0^144,72!0^120,72!0^96,72!0^108,60!0^132,60!7^216,252,3!7^216,348,3!7^324,180,3!9^36,360,1,0,1,14,0,0,0!9^108,420,0,0,5,12,1,0,0!11^492,156,108,300!9^36,336,1,1,1,11,0,0,-1", _local27);
var _local25 = new Array();
_local25.push("342:0|0|17895424|17895697|17|0|0|0|0|0|0|35791392|35791394|17825792|17895697|1|0|0|17895697|17895697|273|201326592|17476|0|0|17895680|17895697|17895697|17895697|71618833|71582788|72700996|68|71582796|79691844|71582788|79691780|71582788|71582788|1092|71582912|71582788|17476|107367424|35791394|16777250|17895697|1118481|0");
this.helpdemoList[HELPDEMO_ENEMIES] = new HelpDemoData("5^444,276!8^348,252,2!4^84,426,1!6^60,180,1,0,0,1!3^120,144!6^564,60,3,0,1,2!12^228,300!12^228,348!12^288,324!12^492,300!12^540,372!6^84,84,2,0,2,0!10^564,108", _local25);
var _local22 = new Array();
_local22.push("500:0|0|17895696|17895697|17895697|17895697|17895697|0|0|0|0|0|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|2236962|35782656|35791394|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|16777216|17895697|17895697|17895697|17895697|17895697|1|0|0|35791392|35791394|35791394|35791394|35791394|35791394|35791394|2236962|17891328|17895697|17895697|17895697|17895697|4369|0|0|0|0");
this.helpdemoList[HELPDEMO_MOVEMENT] = new HelpDemoData("5^108,372", _local22);
var _local20 = new Array();
_local20.push("930:0|0|0|0|0|0|35651584|35791394|35791394|35791394|35791394|8738|0|0|0|0|0|17891328|17895697|17895697|17895697|17895697|17895697|0|0|0|0|0|0|35791360|35791394|139810|0|0|0|0|0|0|4505600|0|0|0|0|0|35791394|35791394|2236962|0|0|0|0|0|0|71582912|71582788|71582788|71582788|71582788|71582788|71582788|1092|0|0|0|201326592|1092|0|0|0|0|0|201326592|71582788|71582788|71582788|107365444|107374182|107374182|35791398|139810|0|0|0|0|0|72089600|71582788|89478485|89478485|17895765|17895697|17895697|17895697|17895697|4369|0|35791394|35791394|35791394|35791394|107376162|107374182|107374182|107374182|107374182|107374182|107374182|35791394|35791394|35791394|35791394|35791394|35791394|0|71584768|89478484|89478485|89478485|89478485|89478485|89478485|89478485|22369621|17895697|17895697|17895697|17895697|17895697|1|0|0|0|0");
this.helpdemoList[HELPDEMO_KEYS] = new HelpDemoData("5^108,372", _local20);
var _local17 = new Array();
_local17.push("437:0|0|17891328|17895697|1118481|0|0|0|17825792|273|0|0|17895696|17895697|17895697|17895697|17895697|17895697|17895697|17895697|219222289|71582805|71582788|71582788|72089600|71582788|279620|71584768|71582788|201326660|71582788|71582788|71582788|71614464|107374182|107374182|35791462|35791394|2|0|35791394|35791394|35791394|35791394|107880994|107374182|107374182|107374182|107374182|107374182|40265318|35791394|35791394|35791394|2|0|17825792|17895697|17895697|273|16777216|17895697|273");
this.helpdemoList[HELPDEMO_RULES] = new HelpDemoData("5^492,108", _local17);
var _local14 = new Array();
_local14.push("527:0|0|0|0|0|0|0|17825792|17895697|17895697|17895697|1|0|0|0|35790848|35791394|35791394|72229410|71582788|71582788|71582788|1092|71582796|88360004|89478485|89478485|1118549|0|0|0|17825792|4369|0|0|17895424|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|89985297|71582789|71582788|17476|71582912|71582788|17476|71584768|71582788|1092|71582796|4473924|0|0|0|79691776|71582788|71582788|17476|0|79691776|71582788|71582788|71582788|279620|0|0|0|0|0|0");
this.helpdemoList[HELPDEMO_WALLJUMPING] = new HelpDemoData("5^528,420", _local14);
var _local12 = new Array();
_local12.push("707:0|0|0|71614464|68|0|0|0|0|0|0|71584768|71582788|71582788|71582788|71582788|71582788|71582788|279620|0|0|0|0|71582796|71582788|71582788|89478485|71652693|279620|0|0|0|0|0|71584768|4|0|0|0|35791392|35791394|237117986|2254438|0|35790848|35791394|2|0|0|0|17895697|17895697|17895697|17895697|17895697|17895697|17895697|69905|0|0|0|71582796|0|0|0|33554432|35791394|35791394|107405858|107374182|107374182|107374182|107374182|107374182|35791398|35791394|35791394|107376162|107374182|35791398|107374190|35791462|107374306|107374182|40125542|35791394|8738|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0");
this.helpdemoList[HELPDEMO_JUMPING1] = new HelpDemoData("5^180,300", _local12);
var _local9 = new Array();
_local9.push("1125:0|0|35791394|107880994|102|35790848|35791394|35791394|35791394|35791394|35791394|35791394|35791394|33554432|35791394|35791394|35791394|35791394|107374190|35791462|2|0|35782656|35791394|107405858|107374182|9830|0|35790848|35791394|107376162|35808870|2|0|0|0|0|0|0|0|0|0|0|0|0|0|35790848|35791394|35791394|107880994|1094|0|0|0|0|0|0|0|0|71614464|71582788|71582788|71582788|71582788|68|35791360|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|34|0|0|0|79691776|71582788|71582788|71582788|71582788|71582788|279620|0|35791360|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|8738|0|0|79691776|71582788|71582788|71582788|71582788|71582788|0|0|0|0|0|0|89980928|71582805|71582788|71582788|68|0|0|35791394|35791394|35791394|35791394|35791394|237117986|107374182|107374182|35791394|35791394|107405858|40265318|115483170|71722598|17826884|17895697|17895697|17895697|69905|0|0|0|0|0|201326592|89474116|89478485|89478485|89478485|89478485|89478485|89478485|22369621|273|0|0|0|0|0|0");
this.helpdemoList[HELPDEMO_JUMPING2] = new HelpDemoData("5^180,300", _local9);
var _local7 = new Array();
_local7.push("664:0|0|35651584|546|0|33554432|2|0|0|0|0|0|0|0|0|35791360|35791394|35791394|107374190|107374182|35791462|35791394|35791394|71614498|71582788|107374180|107374182|107374182|107374182|8738|0|0|16777216|17895697|17|17895680|0|0|17825792|1|0|0|0|0|0|0|17895424|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|219222289|71583061|71582788|68|71582796|79691844|71582788|17476|71582912|71582788|35651652|107376162|107374182|107374182|8738|0|0|0|35790848|35791394|35791394|35791394|0|0|35790848|0|0|34|0|35651584|546|0|0|0|0|0|0|0|0|0");
this.helpdemoList[HELPDEMO_FALLING1] = new HelpDemoData("5^180,300", _local7);
var _local2 = new Array();
_local2.push("144:0|35791392|35791394|2|35651584|201466402|4473924|0|0|0|0|69888|0|0|0|0|0|0|0|0|0");
_local2.push("153:0|0|0|0|0|0|35790848|115483170|4473926|0|0|0|0|35790848|35791394|35791394|139810|33554432|35791394|35791394|35791394|2236962");
_local2.push("176:35791360|35791394|35791394|107376162|8738|0|0|0|0|0|0|0|17895680|17895697|17895697|17895697|17895697|17895697|17895697|17895697|69905|0|0|0|0|0");
_local2.push("181:0|0|16777216|17895697|1135965|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0");
this.helpdemoList[HELPDEMO_FALLING2] = new HelpDemoData("5^108,84", _local2);
var _local28 = new Array();
_local28.push("307:0|0|17895680|89985297|17895765|1|0|0|0|0|17895424|17|0|0|0|35782656|0|17895697|17895697|17895697|1|0|0|0|0|35791360|35791394|35791394|546|0|17895696|17895697|17895697|1|35651584|8738|0|0|0|0|0|0|0|0");
this.helpdemoList[HELPDEMO_WALLSLIDING1] = new HelpDemoData("5^108,84", _local28);
var _local26 = new Array();
_local26.push("743:0|0|0|35782656|2236962|71584768|107365444|107374182|107374182|35791398|35791394|35791394|35791394|35791394|115483170|107374182|107374182|107374182|237117990|107374182|107374182|107374182|107374182|237118054|107374182|107374182|107374182|107374182|35791394|71582946|71582788|4473924|0|0|0|35651584|35791394|35791394|35791394|35791394|35791394|35791394|8738|0|0|0|0|0|0|0|0|71582796|71582788|71582788|89478468|22369621|17|0|0|35791394|2236962|0|8738|201326592|105137220|107374182|35808870|2236962|35791394|35791394|35791394|115483170|107374182|107374182|35808870|107405858|107374182|107374182|35791398|546|0|0|35791394|35791394|35791394|107374306|157286|0|0|35782656|35791394|546|0|88360128|89478485|89478485|4474197|0|0|0|0|0|0|0|0|0|0");
this.helpdemoList[HELPDEMO_WALLSLIDING2] = new HelpDemoData("5^456,276", _local26);
var _local23 = new Array();
_local23.push("443:0|0|0|0|17895680|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|71614737|71582788|279620|71582912|1092|4473932|72089600|71582788|68|79691776|71582788|71582788|71582788|35782724|546|0|0|35791394|35791394|35791394|35791394|35791394|107374306|35792486|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0");
this.helpdemoList[HELPDEMO_GOLD] = new HelpDemoData("5^396,228!0^252,420!0^228,420!0^204,420!0^180,420!0^156,420!0^144,420!0^132,420!0^120,420!0^132,408!0^144,408!0^36,372!0^36,348!0^36,324!0^36,300!0^36,276!0^84,84!0^108,84!0^132,84!0^156,84", _local23);
var _local21 = new Array();
_local21.push("608:0|0|17895680|17895697|17|33554432|35792494|34|0|35791392|0|201326592|89408580|89478485|89478485|89478485|89478485|89478485|18175317|17895697|17895697|17895697|17|0|0|35790848|35791394|35791394|35791394|107374306|107374182|35792486|0|0|0|35790848|546|0|17891328|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|89985297|71582789|71582788|71614464|71582788|1092|71582912|279620|71582912|17895748|71583185|71582788|71614464|71582788|1092|71582912|71582788|4473924|71614464|71582788|71582788|72089600|71582788|36071012|35791394|546|16777216|273|33554432|35791394|2|0|0|17895696|17895697|17|0|17895680|1118481");
this.helpdemoList[HELPDEMO_EXIT] = new HelpDemoData("5^492,156!11^132,252,48,228", _local21);
var _local18 = new Array();
_local18.push("490:0|35651584|35791394|17484|0|35651584|2|0|17895424|17895697|17895697|17895697|17895697|17895697|4369|0|0|0|35791360|35791394|35791394|35791394|35791394|139810|0|0|0|0|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|97587473|71582805|4473924|71614464|71582788|201326660|71582788|79691780|71582788|71582788|71582788|35791398|8738|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0");
this.helpdemoList[HELPDEMO_DOOR] = new HelpDemoData("5^132,252!9^144,300,0,0,5,12,0,0,0!9^36,360,1,0,1,14,0,0,0!9^36,264,1,0,1,11,0,0,-1", _local18);
var _local15 = new Array();
_local15.push("660:35782656|35791394|35791394|35791394|546|0|0|0|0|17895680|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|72703249|71582788|79691776|71582788|68|71582796|1092|71584768|71582788|279620|0|0|0|0|0|0|0|0|0|0|0|139776|0|0|71582796|107374148|79691780|71582788|201326660|71582788|107234372|18022|71582912|71582788|279620|71584768|33554436|35791394|35791394|35791394|35791394|546|0|0|0|0|17895680|69905|17825792|17895697|33554433|35791394|35791394|35791394|17825826|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|1|35791394|35791394|35791394|35791394|34|33554432|35791394|546|35791360|35791394|0|0|0");
this.helpdemoList[HELPDEMO_TRAPDOOR] = new HelpDemoData("5^132,252!9^36,252,1,1,1,14,0,0,0!9^108,300,0,1,5,12,0,0,0", _local15);
var _local13 = new Array();
_local13.push("755:35791360|35791394|546|35791360|34|0|0|17891328|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|71585041|71582788|71582788|79691780|89408580|72701269|0|17825792|97587473|89478485|89478485|201331029|71582788|279620|35791360|35791394|35791394|35791394|35791394|35791394|115483170|107374182|107374182|35791394|35791394|35791394|2236962|71582796|107374148|35792486|35791394|8738|0|0|17825792|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|72159505|71582788|71582788|4473924|71614464|71582788|71582788|79691844|71582788|71582788|201326660|71582788|71582788|279620|107376162|107374182|35791462|35791394|2|35651584|35791394|35791394|35791394|35791394|2|17895680|17895697|17|0|17891328|4369|0|17825792|17895697|17895697|17895697|1|0|0|0|0|0");
this.helpdemoList[HELPDEMO_LOCKEDDOOR] = new HelpDemoData("5^132,252!9^444,276,1,0,1,14,1,0,0!9^108,84,0,0,5,12,1,0,0", _local13);
var _local10 = new Array();
_local10.push("1014:35782656|35791394|107880994|71582822|68|2236928|0|0|0|17895697|4369|0|0|17895696|0|0|0|0|0|35651584|34|0|0|0|107374156|107374182|107374182|107374182|70|0|0|0|237109248|107374182|107374182|71722598|4|0|17895680|17895697|17895697|17895697|72732945|71582788|88360004|22369621|4369|201326592|107234372|107374182|107374182|35791394|8738|0|0|0|17895424|17895697|17895697|89510161|17895701|17895697|0|35651584|35791394|88362530|89478485|89478485|89478485|4437|17825792|69905|17895697|17895697|17895697|33554705|35791394|35791394|17825826|17895697|273|35790848|35791394|107405858|71583334|17476|139808|35782656|512|71614464|107373636|140902|35651584|35791394|35791394|546|79691776|71582788|71582788|71582788|71582788|5592132|0|0|35782656|35791394|35791394|107374306|107374182|107374182|107374182|4|0|0|105644032|107374182|107374182|68|0|17895680|17895697|17895697|17895697|0|0|0|0|33554432|35791394|35791394|139810|0|0|0|0|0|0|0|0|0|0|0|0|0|0");
this.helpdemoList[HELPDEMO_BOUNCEBLOCK] = new HelpDemoData("5^132,252!1^252,276!1^360,228!1^420,96!1^264,96!1^516,360", _local10);
var _local31 = new Array();
_local31.push("790:35782656|35791394|35791394|34|0|0|16777216|69905|0|0|0|35651584|139810|35782656|139810|0|201326592|71582788|17892420|17895697|0|4369|17891328|4369|35791360|2|2236928|33554432|2236962|0|0|0|16777216|17895697|17895697|17895697|17895697|17895697|35782656|35791394|546|0|0|0|0|35790848|0|17891328|17895697|17895697|219222289|5461|17891328|69905|0|17895697|17895697|17895697|17895697|69905|17825792|17895697|1|0|0|8738|0|69888|0|16777216|0|0|0|0|0|272|0|4368|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|35651584|2|0|33554432|2|0|0|8704|0|0|0");
this.helpdemoList[HELPDEMO_LAUNCHPAD] = new HelpDemoData("5^444,240!2^384,360,-0.707106781186547,-0.707106781186547!2^204,432,0,-1!2^168,264,0.707106781186547,-0.707106781186547!2^540,432,0,-1", _local31);
var _local29 = new Array();
_local29.push("1257:35790848|35791394|35791394|0|0|0|17895697|17895697|4369|0|0|33554432|35791394|35791394|35791394|35791394|17825792|17895697|201330961|71582788|4473924|0|0|0|71614464|71582788|68|0|0|201326592|71582788|71582788|68|0|0|17895424|17895697|69905|0|0|35782656|8738|35790848|35791394|35791394|139810|0|17825792|69905|0|33554432|35791394|35791394|35791394|35791394|8738|17895697|1|71614464|107234372|107374182|107374182|107374182|107374182|107374182|35791394|35791394|35791394|2|17891328|17895697|17895697|17895697|17895697|17895697|17895697|69905|0|0|35791394|35791394|35791394|72229410|107365444|107374182|107374182|107374182|107374182|35792486|35791394|2|17825792|17895697|17895697|17895697|17895697|17895697|33554449|35791394|35791394|35791394|35791394|35791394|35791394|0|273|35791360|35791394|546|35791394|546|35791394|17825826|17895697|17895697|17895697|17895697|17895697|17895697|219222289|71583061|71582788|1092|71582796|17476|71584768|71582788|279620|72089600|71582788|71582788|201326660|107374182|107374182|35791398|35791394|35791394|35791394|35791394|35791394|35791394|107374306|107374182|35791398|35791394|35791394|8738|16777216|17895697|35782656|35791394|546|201396224|71582788|71582788|89474116|279637|0|0|0|0|107374190|107374182|35791462|35791394|35791394|546|17891328|17895697|17895697|17895697|0|0|69904|4368|16777489|4369|0|0|0");
this.helpdemoList[HELPDEMO_ONEWAYPLATFORM] = new HelpDemoData("5^132,84!7^228,156,3!7^228,204,3!7^228,252,3!7^228,300,3!7^516,60,0!7^516,36,0!7^492,120,3!7^204,348,1!7^228,348,1!7^252,348,1!7^276,372,2!7^276,396,2!7^276,420,2", _local29);
var _local3 = new Array();
_local3.push("575:35791392|115483170|88360550|89478485|89478485|108492661|107374182|237118054|107374182|35791394|35791394|35791394|35791394|35791394|35791394|35791394|107374306|107374182|107374182|107374182|35792486|107405858|107374182|71582788|1092|0|0|4369|0|2236416|17825792|17895697|17895697|17895697|17895697|0|33554432|34|0|35651584|35791394|107374190|71591526|0|0|0|0|0|0|0|71584768|89478468|22369621|17895697|17895697|35782673|35791394|35791394|8738|17895697|17895697|0|0|0|35782656|546|17825792|17895697|35791360|201326626|1092|0|2228224|0|17895697|17895697|4369|35791394|546|33554432|546|89478492|5");
_local3.push("339:0|0|35651584|107880994|131074|16777216|17895697|35795217|35791394|35791394|35791394|35791394|35791394|35791394|35791394|107405858|107374182|36071014|35791394|35791394|107880994|71722598|71582788|71582788|33571908|17891362|4369|0|0|17895680|69905|0|4352|35782656|0|35651584|2|0|0|0|0|0|0|0|0|0|0|0|0");
_local3.push("507:0|35791360|34|0|0|0|71614464|21251140|17895697|17895697|17895697|72089873|107374180|107374182|107374182|107374182|139814|0|35651584|35791394|35651584|35791394|0|139810|33554432|2236962|33554432|139810|35782656|8738|35790848|34|0|33554432|546|0|0|35791360|35791394|35791394|35791394|35791394|35791394|107405858|107374182|107374182|35808870|35791394|107880994|35808870|34|35791394|2236962|0|0|0|0|0|0|0|0|17891328|97587473|89478485|89478485|89478485|89478485|71652693|8736|0|4352|0|0");
this.helpdemoList[HELPDEMO_THWUMP] = new HelpDemoData("5^168,300!8^492,228,1!8^324,252,2", _local3);
var _local24 = new Array();
_local24.push("650:35790848|35791394|35791394|18146|2236960|0|0|0|35791360|34|35791360|8738|0|0|0|33554432|2236962|0|16777216|71585041|88360004|17895701|17895697|17895697|17895697|17895697|35790848|35791394|107374306|107374182|107374182|35808870|8738|0|0|0|17895424|17895697|219222289|89478485|17895697|17|0|0|0|17895696|89985297|71582788|71582788|79691780|71582788|1092|71582796|279620|71614464|107365444|4613734|79691776|71582788|279620|0|0|107374156|107374182|40265318|8738|0|0|33554432|35791394|139810|0|139810|35782656|35791394|35791394|17825792|17895697|17895697|17895697|201330961|71582788|71582788|71582788|4473924|0|0|35651584|35791394|35791394|35790850|35651584|2236962");
this.helpdemoList[HELPDEMO_FLOORGUARD] = new HelpDemoData("5^120,240!4^120,306,1!4^252,426,1!4^156,90,1", _local24);
var _local6 = new Array();
_local6.push("171:0|0|17895696|69905|0|35791360|0|16777216|17895697|17895697|219222289|89478485|89478485|89478485|89478485|71587157|71582788|71582788|71582788|71582788|71582788|71582788|89478212|89478485|21");
_local6.push("861:0|0|0|17895696|273|0|0|0|0|0|0|0|0|17895696|17|0|0|0|0|0|0|0|79691776|71582788|71582788|71582788|71582788|71582788|0|0|0|35790848|2|0|4369|0|35791394|34|0|0|0|17895697|17895697|202445073|71582788|89474116|71582789|105137220|107374182|107374182|107374182|4474470|0|35791394|2236962|0|33554432|35791394|35791394|35791394|35791394|35791394|35791394|35791394|34|17895697|0|0|17891328|4369|17891328|1118481|17895696|0|0|0|0|0|0|0|0|0|17895424|4369|35791394|35791394|35791394|8738|0|0|35791360|35791394|2236962|0|0|0|35791360|2|2236960|33554432|2236962|35791360|35791394|2236962|35782656|71582914|107373636|35791398|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|237117986|107374182|89474150|89478485|89478485|89478485|0");
this.helpdemoList[HELPDEMO_ZAPDRONE] = new HelpDemoData("5^540,48!6^492,156,1,0,0,2!6^36,300,0,1,0,3!6^276,156,3,0,0,2", _local6);
var _local19 = new Array();
_local19.push("393:35790848|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|107405858|157286|0|35651584|8738|0|0|0|0|0|0|0|35782656|107376162|107374182|107374182|107374182|107374182|35808870|35791394|35791394|35791394|35791394|107405858|107374182|107374182|35808870|107880994|107374182|107374182|35808870|107376162|107374182|107374182|107374182|35808870|201466402|89474116|89478485|72701269|107374180|89409126|89478485|89478485|5");
this.helpdemoList[HELPDEMO_LASERDRONE] = new HelpDemoData("5^132,252!6^84,84,0,0,1,0", _local19);
var _local16 = new Array();
_local16.push("554:0|0|0|35782656|35791394|237117986|107374182|107374182|107374182|107374182|107374182|71583334|17476|0|0|0|0|17895697|1118481|0|35651584|107374190|107374182|107374182|36071014|35791394|107880994|107374182|107374182|36071014|107376162|107374182|107374182|40265318|72098338|89478212|4474197|71584768|279620|35791392|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|2|0|0|0|0|0|0|115343360|107374182|107374182|35808870|107374190|107374182|107374182|107374182|40265318|8738|71582912|71582788|71582788|89478468|17913173|17895697|17895697|17895697|1118481|17825792|1118481|0|0|0");
this.helpdemoList[HELPDEMO_CHAINGUNDRONE] = new HelpDemoData("5^132,252!6^540,180,1,0,2,3!6^492,396,3,0,2,3!6^36,180,4,0,2,1", _local16);
var _local5 = new Array();
_local5.push("615:17891328|17895697|17895697|72159505|71582788|71582788|72089604|71582788|4473924|71614464|89478468|17895701|17895697|97587473|89478485|89478485|89478485|89478485|17895701|89478609|89478485|89478485|89478485|17896789|72732945|71582788|107373636|107374182|35808870|237117986|2254438|17895696|0|35782656|35791394|35791394|4474082|35651584|8738|0|139810|0|0|0|0|35782656|34|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|273|35791360|35791394|35791394|35791394|35791394|35791394|35791394|115483170|35792486|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|2236962|17825792|17895697|17895697|89480465|89478485|89478485|89478485|89478485|89478485|89478485|89478485|89478485|89478485|1118485");
_local5.push("225:35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|35791394|139810|17891328|17895697|1|17891328|17895697|17895697|89985297|89478485|89478485|89478485|89478485|89478485|273|17825792|16777216|1118481|0|0");
this.helpdemoList[HELPDEMO_MINES] = new HelpDemoData("5^96,408!12^60,228!12^60,180!12^60,132!12^180,288!12^396,288!12^300,276!12^216,360!12^240,180!12^324,72!12^348,168", _local5);
var _local11 = new Array();
_local11.push("259:0|0|35791392|139810|17895680|17895697|17|17891328|89478493|89478485|0|107374190|107374182|107374182|107374182|107374182|107374182|71582788|107234372|107374182|36071014|35791394|35791394|35791394|0|0|0|0|17895680|17895697|17895697|17895697|4475904|0|105168896|107374182|107374182|0");
this.helpdemoList[HELPDEMO_GAUSSTURRET] = new HelpDemoData("5^132,228!3^36,36!3^564,108!3^444,276!3^348,36", _local11);
var _local8 = new Array();
_local8.push("699:0|35651584|2236418|0|0|0|0|35791392|0|0|0|0|0|0|0|0|17895696|17895697|71684369|71582788|107741184|40265318|107374306|107374182|107374182|107374182|107374182|35791394|546|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|17895697|71587281|71582788|72089604|71582788|201327684|71582788|17476|71582912|71582788|79691776|71582788|107234372|35808870|35791394|35791394|35791394|33554432|35791394|35791394|107880994|36071014|2|17895424|17895697|36901137|35791394|35791394|35791394|17825794|17895697|17895697|17895697|17895697|17895697|69905|0|0|0|35791394|546|71582796|107374182|107374182|107374182|107374182|35791394|35791394|35791394|107374306|71582788|35808870|35791394|35791394|71591650|89478212|72701269|107373636|6710886");
this.helpdemoList[HELPDEMO_HOMINGLAUNCHER] = new HelpDemoData("5^132,228!10^492,36", _local8);
};
function NinjaUserData() {
this.shared = SharedObject.getLocal("n_v14b_userdata", "/");
this.shared.onStatus = function (infoObject) {
var _local1 = infoObject.code;
if (_local1 == "SharedObject.Flush.Failed") {
} else if (_local1 == "SharedObject.Flush.Success") {
}
};
var _local4 = _root._url;
if (_local4.substr(0, 4) != "file") {
getURL ("http://www.harveycartel.org/metanet/", _top);
}
this.BuildUserData();
if (!this.shared.data.isImported) {
this.ImportUserData();
}
}
NinjaUserData.prototype.Save = function () {
var _local2 = this.shared.flush(20000000);
};
NinjaUserData.prototype.SetHighQuality = function (qual) {
this.shared.data.highQuality = qual;
this.Save();
};
NinjaUserData.prototype.IncrementKillCount = function (objname) {
this.shared.data.killList[objname] = this.shared.data.killList[objname] + 1;
};
NinjaUserData.prototype.NotifyEpisodeReached = function (num) {
if (num < 10) {
if (this.shared.data.mission0ep < num) {
this.shared.data.mission0ep = num;
this.shared.data.mission0lev = 0;
this.Save();
}
} else if (num < 20) {
if (this.shared.data.mission1ep < num) {
this.shared.data.mission1ep = num;
this.shared.data.mission1lev = 0;
this.Save();
}
} else if (num < 30) {
if (this.shared.data.mission2ep < num) {
this.shared.data.mission2ep = num;
this.shared.data.mission2lev = 0;
this.Save();
}
} else if (num < 40) {
if (this.shared.data.mission3ep < num) {
this.shared.data.mission3ep = num;
this.shared.data.mission3lev = 0;
this.Save();
}
} else if (num < 50) {
if (this.shared.data.mission4ep < num) {
this.shared.data.mission4ep = num;
this.shared.data.mission4lev = 0;
this.Save();
}
} else if (num < 60) {
if (this.shared.data.mission5ep < num) {
this.shared.data.mission5ep = num;
this.shared.data.mission5lev = 0;
this.Save();
}
} else if (num < 70) {
if (this.shared.data.mission6ep < num) {
this.shared.data.mission6ep = num;
this.shared.data.mission6lev = 0;
this.Save();
}
} else if (num < 80) {
if (this.shared.data.mission7ep < num) {
this.shared.data.mission7ep = num;
this.shared.data.mission7lev = 0;
this.Save();
}
} else if (num < 90) {
if (this.shared.data.mission8ep < num) {
this.shared.data.mission8ep = num;
this.shared.data.mission8lev = 0;
this.Save();
}
} else if (num < 100) {
if (this.shared.data.mission9ep < num) {
this.shared.data.mission9ep = num;
this.shared.data.mission9lev = 0;
this.Save();
}
}
};
NinjaUserData.prototype.NotifyEpisodeBeaten = function (num) {
if (num < 10) {
if (this.shared.data.mission0epB < num) {
this.shared.data.mission0epB = num;
this.shared.data.mission0levB = 0;
this.Save();
}
} else if (num < 20) {
if (this.shared.data.mission1epB < num) {
this.shared.data.mission1epB = num;
this.shared.data.mission1levB = 0;
this.Save();
}
} else if (num < 30) {
if (this.shared.data.mission2epB < num) {
this.shared.data.mission2epB = num;
this.shared.data.mission2levB = 0;
this.Save();
}
} else if (num < 40) {
if (this.shared.data.mission3epB < num) {
this.shared.data.mission3epB = num;
this.shared.data.mission3levB = 0;
this.Save();
}
} else if (num < 50) {
if (this.shared.data.mission4epB < num) {
this.shared.data.mission4epB = num;
this.shared.data.mission4levB = 0;
this.Save();
}
} else if (num < 60) {
if (this.shared.data.mission5epB < num) {
this.shared.data.mission5epB = num;
this.shared.data.mission5levB = 0;
this.Save();
}
} else if (num < 70) {
if (this.shared.data.mission6epB < num) {
this.shared.data.mission6epB = num;
this.shared.data.mission6levB = 0;
this.Save();
}
} else if (num < 80) {
if (this.shared.data.mission7epB < num) {
this.shared.data.mission7epB = num;
this.shared.data.mission7levB = 0;
this.Save();
}
} else if (num < 90) {
if (this.shared.data.mission8epB < num) {
this.shared.data.mission8epB = num;
this.shared.data.mission8levB = 0;
this.Save();
}
} else if (num < 100) {
if (this.shared.data.mission9epB < num) {
this.shared.data.mission9epB = num;
this.shared.data.mission9levB = 0;
this.Save();
}
}
};
NinjaUserData.prototype.NotifyLevelReached = function (epNum, levNum) {
if (epNum < 10) {
if (this.shared.data.mission0ep == epNum) {
if (this.shared.data.mission0lev < levNum) {
this.shared.data.mission0lev = levNum;
this.Save();
}
}
} else if (epNum < 20) {
if (this.shared.data.mission1ep == epNum) {
if (this.shared.data.mission1lev < levNum) {
this.shared.data.mission1lev = levNum;
this.Save();
}
}
} else if (epNum < 30) {
if (this.shared.data.mission2ep == epNum) {
if (this.shared.data.mission2lev < levNum) {
this.shared.data.mission2lev = levNum;
this.Save();
}
}
} else if (epNum < 40) {
if (this.shared.data.mission3ep == epNum) {
if (this.shared.data.mission3lev < levNum) {
this.shared.data.mission3lev = levNum;
this.Save();
}
}
} else if (epNum < 50) {
if (this.shared.data.mission4ep == epNum) {
if (this.shared.data.mission4lev < levNum) {
this.shared.data.mission4lev = levNum;
this.Save();
}
}
} else if (epNum < 60) {
if (this.shared.data.mission5ep == epNum) {
if (this.shared.data.mission5lev < levNum) {
this.shared.data.mission5lev = levNum;
this.Save();
}
}
} else if (epNum < 70) {
if (this.shared.data.mission6ep == epNum) {
if (this.shared.data.mission6lev < levNum) {
this.shared.data.mission6lev = levNum;
this.Save();
}
}
} else if (epNum < 80) {
if (this.shared.data.mission7ep == epNum) {
if (this.shared.data.mission7lev < levNum) {
this.shared.data.mission7lev = levNum;
this.Save();
}
}
} else if (epNum < 90) {
if (this.shared.data.mission8ep == epNum) {
if (this.shared.data.mission8lev < levNum) {
this.shared.data.mission8lev = levNum;
this.Save();
}
}
} else if (epNum < 100) {
if (this.shared.data.mission9ep == epNum) {
if (this.shared.data.mission9lev < levNum) {
this.shared.data.mission9lev = levNum;
this.Save();
}
}
}
};
NinjaUserData.prototype.NotifyLevelBeaten = function (epNum, levNum) {
if (epNum < 10) {
if (this.shared.data.mission0epB == epNum) {
if (this.shared.data.mission0levB < levNum) {
this.shared.data.mission0levB = levNum;
this.Save();
}
}
} else if (epNum < 20) {
if (this.shared.data.mission1epB == epNum) {
if (this.shared.data.mission1levB < levNum) {
this.shared.data.mission1levB = levNum;
this.Save();
}
}
} else if (epNum < 30) {
if (this.shared.data.mission2epB == epNum) {
if (this.shared.data.mission2levB < levNum) {
this.shared.data.mission2levB = levNum;
this.Save();
}
}
} else if (epNum < 40) {
if (this.shared.data.mission3epB == epNum) {
if (this.shared.data.mission3levB < levNum) {
this.shared.data.mission3levB = levNum;
this.Save();
}
}
} else if (epNum < 50) {
if (this.shared.data.mission4epB == epNum) {
if (this.shared.data.mission4levB < levNum) {
this.shared.data.mission4levB = levNum;
this.Save();
}
}
} else if (epNum < 60) {
if (this.shared.data.mission5epB == epNum) {
if (this.shared.data.mission5levB < levNum) {
this.shared.data.mission5levB = levNum;
this.Save();
}
}
} else if (epNum < 70) {
if (this.shared.data.mission6epB == epNum) {
if (this.shared.data.mission6levB < levNum) {
this.shared.data.mission6levB = levNum;
this.Save();
}
}
} else if (epNum < 80) {
if (this.shared.data.mission7epB == epNum) {
if (this.shared.data.mission7levB < levNum) {
this.shared.data.mission7levB = levNum;
this.Save();
}
}
} else if (epNum < 90) {
if (this.shared.data.mission8epB == epNum) {
if (this.shared.data.mission8levB < levNum) {
this.shared.data.mission8levB = levNum;
this.Save();
}
}
} else if (epNum < 100) {
if (this.shared.data.mission9epB == epNum) {
if (this.shared.data.mission9levB < levNum) {
this.shared.data.mission9levB = levNum;
this.Save();
}
}
}
};
NinjaUserData.prototype.SetLeftKey = function (k) {
this.shared.data.keyL = k;
this.Save();
game.SetKeyDefs(this.shared.data.keyJ, this.shared.data.keyL, this.shared.data.keyR);
};
NinjaUserData.prototype.SetRightKey = function (k) {
this.shared.data.keyR = k;
this.Save();
game.SetKeyDefs(this.shared.data.keyJ, this.shared.data.keyL, this.shared.data.keyR);
};
NinjaUserData.prototype.SetJumpKey = function (k) {
this.shared.data.keyJ = k;
this.Save();
game.SetKeyDefs(this.shared.data.keyJ, this.shared.data.keyL, this.shared.data.keyR);
};
NinjaUserData.prototype.SetKillKey = function (k) {
this.shared.data.keyK = k;
this.Save();
};
NinjaUserData.prototype.SetPauseKey = function (k) {
this.shared.data.keyP = k;
this.Save();
};
NinjaUserData.prototype.SetBossKey = function (k) {
APP_BOSS_KEY = k;
this.shared.data.keyB = k;
this.Save();
};
NinjaUserData.prototype.SetVol = function (v) {
this.shared.data.vol = v;
this.Save();
};
NinjaUserData.prototype.SetPersBestActive = function (act) {
this.shared.data.persbestActive = act;
this.Save();
};
NinjaUserData.prototype.SetOnlinePath = function (path) {
this.shared.data.onlinePath = path;
this.Save();
};
NinjaUserData.prototype.SetOnlineActive = function (act) {
this.shared.data.onlineActive = act;
this.Save();
};
NinjaUserData.prototype.SetUserAnon = function (isAnon) {
this.shared.data.userAnon = isAnon;
this.Save();
};
NinjaUserData.prototype.SetUserName = function (n) {
this.shared.data.username = n;
this.Save();
};
NinjaUserData.prototype.SetUserPass = function (p) {
this.shared.data.userpass = p;
this.Save();
};
NinjaUserData.prototype.SetUserEmail = function (p) {
this.shared.data.useremail = p;
this.Save();
};
NinjaUserData.prototype.SetSecret = function (secnum, secval) {
this.shared.data.secretList[secnum] = secval;
this.Save();
};
NinjaUserData.prototype.SetPractiseMode = function (isActive) {
this.shared.data.practiseMode = isActive;
this.Save();
};
NinjaUserData.prototype.GetNinjaColor = function () {
if (this.IsNinjaColorCustom()) {
return(this.shared.data.ninjaColorCustom);
}
return(this.shared.data.ninjaColor);
};
NinjaUserData.prototype.GetNinjaColor_Custom = function () {
return(this.shared.data.ninjaColorCustom);
};
NinjaUserData.prototype.IsNinjaColorCustom = function () {
return(this.shared.data.ninjaColorIsCustom);
};
NinjaUserData.prototype.SetNinjaColor = function (col, isCustom) {
if (isCustom) {
this.shared.data.ninjaColorCustom = col;
} else {
this.shared.data.ninjaColor = col;
}
this.shared.data.ninjaColorIsCustom = isCustom;
this.Save();
};
NinjaUserData.prototype.GetNumUnlockedColors = function () {
var _local5 = 0;
var _local2 = 0;
while (_local2 < 10) {
var _local3 = this.GetEpisodeBeaten(_local2);
if ((9 + (_local2 * 10)) <= _local3) {
var _local4 = this.GetLevelBeaten(_local3);
if (_local4 == 4) {
_local5++;
}
}
_local2++;
}
return(_local5);
};
NinjaUserData.prototype.SetCustomFlavourUnlocked = function (bool) {
this.shared.data.customflavunlocked = bool;
this.Save();
};
NinjaUserData.prototype.GetCustomFlavourUnlocked = function (bool) {
return(this.shared.data.customflavunlocked);
};
NinjaUserData.prototype.GetNumBeaten = function () {
return(this.shared.data.hackynumbeaten);
};
NinjaUserData.prototype.SetNumBeaten = function (n) {
this.shared.data.hackynumbeaten = n;
this.Save();
};
NinjaUserData.prototype.GetPractiseMode = function (isActive) {
return(this.shared.data.practiseMode);
};
NinjaUserData.prototype.GetHighQuality = function () {
return(this.shared.data.highQuality);
};
NinjaUserData.prototype.GetSecret = function (secnum) {
return(this.shared.data.secretList[secnum]);
};
NinjaUserData.prototype.GetKillList = function () {
return(this.shared.data.killList);
};
NinjaUserData.prototype.GetLeftKey = function () {
return(this.shared.data.keyL);
};
NinjaUserData.prototype.GetRightKey = function () {
return(this.shared.data.keyR);
};
NinjaUserData.prototype.GetJumpKey = function () {
return(this.shared.data.keyJ);
};
NinjaUserData.prototype.GetKillKey = function () {
return(this.shared.data.keyK);
};
NinjaUserData.prototype.GetPauseKey = function () {
return(this.shared.data.keyP);
};
NinjaUserData.prototype.GetBossKey = function () {
return(this.shared.data.keyB);
};
NinjaUserData.prototype.GetVol = function () {
return(this.shared.data.vol);
};
NinjaUserData.prototype.GetOnlineActive = function () {
return(this.shared.data.onlineActive);
};
NinjaUserData.prototype.GetPersBestActive = function () {
return(this.shared.data.persbestActive);
};
NinjaUserData.prototype.GetOnlinePath = function () {
return(this.shared.data.onlinePath);
};
NinjaUserData.prototype.GetUserName = function () {
return(this.shared.data.username);
};
NinjaUserData.prototype.GetUserPass = function () {
return(this.shared.data.userpass);
};
NinjaUserData.prototype.GetUserEmail = function () {
return(this.shared.data.useremail);
};
NinjaUserData.prototype.IsUserAnon = function () {
return(this.shared.data.userAnon);
};
NinjaUserData.prototype.GetEpisodeReached = function (setNum) {
if (setNum == 0) {
return(this.shared.data.mission0ep);
}
if (setNum == 1) {
return(this.shared.data.mission1ep);
}
if (setNum == 2) {
return(this.shared.data.mission2ep);
}
if (setNum == 3) {
return(this.shared.data.mission3ep);
}
if (setNum == 4) {
return(this.shared.data.mission4ep);
}
if (setNum == 5) {
return(this.shared.data.mission5ep);
}
if (setNum == 6) {
return(this.shared.data.mission6ep);
}
if (setNum == 7) {
return(this.shared.data.mission7ep);
}
if (setNum == 8) {
return(this.shared.data.mission8ep);
}
if (setNum == 9) {
return(this.shared.data.mission9ep);
}
return(0);
};
NinjaUserData.prototype.GetLevelReached = function (epNum) {
if (epNum < 10) {
if (epNum == this.shared.data.mission0ep) {
return(this.shared.data.mission0lev);
}
return(4);
}
if (epNum < 20) {
if (epNum == this.shared.data.mission1ep) {
return(this.shared.data.mission1lev);
}
return(4);
}
if (epNum < 30) {
if (epNum == this.shared.data.mission2ep) {
return(this.shared.data.mission2lev);
}
return(4);
}
if (epNum < 40) {
if (epNum == this.shared.data.mission3ep) {
return(this.shared.data.mission3lev);
}
return(4);
}
if (epNum < 50) {
if (epNum == this.shared.data.mission4ep) {
return(this.shared.data.mission4lev);
}
return(4);
}
if (epNum < 60) {
if (epNum == this.shared.data.mission5ep) {
return(this.shared.data.mission5lev);
}
return(4);
}
if (epNum < 70) {
if (epNum == this.shared.data.mission6ep) {
return(this.shared.data.mission6lev);
}
return(4);
}
if (epNum < 80) {
if (epNum == this.shared.data.mission7ep) {
return(this.shared.data.mission7lev);
}
return(4);
}
if (epNum < 90) {
if (epNum == this.shared.data.mission8ep) {
return(this.shared.data.mission8lev);
}
return(4);
}
if (epNum < 100) {
if (epNum == this.shared.data.mission9ep) {
return(this.shared.data.mission9lev);
}
return(4);
}
return(0);
};
NinjaUserData.prototype.ValidateEpisodeReached = function (num) {
if (num < 10) {
if (num <= this.shared.data.mission0ep) {
return(true);
}
} else if (num < 20) {
if (num <= this.shared.data.mission1ep) {
return(true);
}
} else if (num < 30) {
if (num <= this.shared.data.mission2ep) {
return(true);
}
} else if (num < 40) {
if (num <= this.shared.data.mission3ep) {
return(true);
}
} else if (num < 50) {
if (num <= this.shared.data.mission4ep) {
return(true);
}
} else if (num < 60) {
if (num <= this.shared.data.mission5ep) {
return(true);
}
} else if (num < 70) {
if (num <= this.shared.data.mission6ep) {
return(true);
}
} else if (num < 80) {
if (num <= this.shared.data.mission7ep) {
return(true);
}
} else if (num < 90) {
if (num <= this.shared.data.mission8ep) {
return(true);
}
} else if (num < 100) {
if (num <= this.shared.data.mission9ep) {
return(true);
}
} else {
return(false);
}
};
NinjaUserData.prototype.GetEpisodeBeaten = function (setNum) {
if (setNum == 0) {
return(this.shared.data.mission0epB);
}
if (setNum == 1) {
return(this.shared.data.mission1epB);
}
if (setNum == 2) {
return(this.shared.data.mission2epB);
}
if (setNum == 3) {
return(this.shared.data.mission3epB);
}
if (setNum == 4) {
return(this.shared.data.mission4epB);
}
if (setNum == 5) {
return(this.shared.data.mission5epB);
}
if (setNum == 6) {
return(this.shared.data.mission6epB);
}
if (setNum == 7) {
return(this.shared.data.mission7epB);
}
if (setNum == 8) {
return(this.shared.data.mission8epB);
}
if (setNum == 9) {
return(this.shared.data.mission9epB);
}
return(0);
};
NinjaUserData.prototype.GetLevelBeaten = function (epNum) {
if (epNum < 10) {
if (epNum == this.shared.data.mission0epB) {
return(this.shared.data.mission0levB);
}
if (epNum < this.shared.data.mission0epB) {
return(4);
}
if (this.shared.data.mission0epB < epNum) {
return(-1);
}
} else if (epNum < 20) {
if (epNum == this.shared.data.mission1epB) {
return(this.shared.data.mission1levB);
}
if (epNum < this.shared.data.mission1epB) {
return(4);
}
if (this.shared.data.mission1epB < epNum) {
return(-1);
}
} else if (epNum < 30) {
if (epNum == this.shared.data.mission2epB) {
return(this.shared.data.mission2levB);
}
if (epNum < this.shared.data.mission2epB) {
return(4);
}
if (this.shared.data.mission2epB < epNum) {
return(-1);
}
} else if (epNum < 40) {
if (epNum == this.shared.data.mission3epB) {
return(this.shared.data.mission3levB);
}
if (epNum < this.shared.data.mission3epB) {
return(4);
}
if (this.shared.data.mission3epB < epNum) {
return(-1);
}
} else if (epNum < 50) {
if (epNum == this.shared.data.mission4epB) {
return(this.shared.data.mission4levB);
}
if (epNum < this.shared.data.mission4epB) {
return(4);
}
if (this.shared.data.mission4epB < epNum) {
return(-1);
}
} else if (epNum < 60) {
if (epNum == this.shared.data.mission5epB) {
return(this.shared.data.mission5levB);
}
if (epNum < this.shared.data.mission5epB) {
return(4);
}
if (this.shared.data.mission5epB < epNum) {
return(-1);
}
} else if (epNum < 70) {
if (epNum == this.shared.data.mission6epB) {
return(this.shared.data.mission6levB);
}
if (epNum < this.shared.data.mission6epB) {
return(4);
}
if (this.shared.data.mission6epB < epNum) {
return(-1);
}
} else if (epNum < 80) {
if (epNum == this.shared.data.mission7epB) {
return(this.shared.data.mission7levB);
}
if (epNum < this.shared.data.mission7epB) {
return(4);
}
if (this.shared.data.mission7epB < epNum) {
return(-1);
}
} else if (epNum < 90) {
if (epNum == this.shared.data.mission8epB) {
return(this.shared.data.mission8levB);
}
if (epNum < this.shared.data.mission8epB) {
return(4);
}
if (this.shared.data.mission8epB < epNum) {
return(-1);
}
} else if (epNum < 100) {
if (epNum == this.shared.data.mission9epB) {
return(this.shared.data.mission9levB);
}
if (epNum < this.shared.data.mission9epB) {
return(4);
}
if (this.shared.data.mission9epB < epNum) {
return(-1);
}
} else {
return(0);
}
};
NinjaUserData.prototype.ValidateEpisodeBeaten = function (num) {
if (num < 10) {
if (num <= this.shared.data.mission0epB) {
return(true);
}
} else if (num < 20) {
if (num <= this.shared.data.mission1epB) {
return(true);
}
} else if (num < 30) {
if (num <= this.shared.data.mission2epB) {
return(true);
}
} else if (num < 40) {
if (num <= this.shared.data.mission3epB) {
return(true);
}
} else if (num < 50) {
if (num <= this.shared.data.mission4epB) {
return(true);
}
} else if (num < 60) {
if (num <= this.shared.data.mission5epB) {
return(true);
}
} else if (num < 70) {
if (num <= this.shared.data.mission6epB) {
return(true);
}
} else if (num < 80) {
if (num <= this.shared.data.mission7epB) {
return(true);
}
} else if (num < 90) {
if (num <= this.shared.data.mission8epB) {
return(true);
}
} else if (num < 100) {
if (num <= this.shared.data.mission9epB) {
return(true);
}
} else {
return(false);
}
};
NinjaUserData.prototype.GetPersBest_Custom = function (leveldata) {
var _local2 = this.shared.data.persBestCustom[leveldata];
return(_local2);
};
NinjaUserData.prototype.SetPersBest_Custom = function (leveldata, score, demo) {
var _local2 = new Object();
_local2.score = score;
_local2.demo = demo;
_local2.userN = this.GetUserName();
_local2.userP = this.GetUserPass();
this.shared.data.persBestCustom[leveldata] = _local2;
this.Save();
};
NinjaUserData.prototype.GetPersBest_Episode = function (epNum) {
return(this.shared.data.persBest[epNum]);
};
NinjaUserData.prototype.GetPersBest_Level = function (epNum, levNum) {
return(this.shared.data.persBest[epNum].lev[levNum]);
};
NinjaUserData.prototype.SetPersBest_Episode = function (epNum, score, dList) {
var _local2 = this.shared.data.persBest[epNum].ep;
_local2.fresh = true;
_local2.score = score;
_local2.demo0 = dList[0];
_local2.demo1 = dList[1];
_local2.demo2 = dList[2];
_local2.demo3 = dList[3];
_local2.demo4 = dList[4];
_local2.userN = this.GetUserName();
_local2.userP = this.GetUserPass();
this.Save();
};
NinjaUserData.prototype.SetPersBest_Level = function (epNum, levNum, score, d) {
var _local2 = this.shared.data.persBest[epNum].lev[levNum];
_local2.fresh = true;
_local2.score = score;
_local2.demo = d;
_local2.userN = this.GetUserName();
_local2.userP = this.GetUserPass();
this.Save();
};
NinjaUserData.prototype.Unfresh_Level = function (epNum, levNum) {
this.shared.data.persBest[epNum].lev[levNum].fresh = false;
this.Save();
};
NinjaUserData.prototype.Unfresh_Episode = function (epNum) {
this.shared.data.persBest[epNum].ep.fresh = false;
this.Save();
};
N_USERDATA_PENDING_LEV = new Object();
NinjaUserData.prototype.SubmitPersBest_Level = function (epNum, levNum, score) {
_root.N_USERDATA_PENDING_LEV = new Object();
N_USERDATA_PENDING_LEV.ep = epNum;
N_USERDATA_PENDING_LEV.lev = levNum;
N_USERDATA_PENDING_LEV.score = score;
};
NinjaUserData.prototype.SubmitPersBest_Level_Finish = function (str) {
this.SetPersBest_Level(N_USERDATA_PENDING_LEV.ep, N_USERDATA_PENDING_LEV.lev, N_USERDATA_PENDING_LEV.score, str);
};
NinjaUserData.prototype.BuildUserData = function () {
if (this.shared.data.versionNum == null) {
this.shared.data.versionNum = 1.4;
}
if (this.shared.data.keyL == null) {
this.shared.data.keyL = 37;
}
if (this.shared.data.keyR == null) {
this.shared.data.keyR = 39;
}
if (this.shared.data.keyJ == null) {
this.shared.data.keyJ = 16;
}
if (this.shared.data.keyK == null) {
this.shared.data.keyK = 75;
}
if (this.shared.data.keyP == null) {
this.shared.data.keyP = 80;
}
if (this.shared.data.keyB == null) {
this.shared.data.keyB = 9;
}
if (this.shared.data.vol == null) {
this.shared.data.vol = 99;
}
if (this.shared.data.username == null) {
this.shared.data.username = "anon";
}
if (this.shared.data.userpass == null) {
this.shared.data.userpass = "anon";
}
if (this.shared.data.useremail == null) {
this.shared.data.useremail = "";
}
if (this.shared.data.useremail == "anon") {
this.shared.data.useremail = "";
}
if (this.shared.data.mission0ep == null) {
this.shared.data.mission0ep = 0;
}
if (this.shared.data.mission1ep == null) {
this.shared.data.mission1ep = 10;
}
if (this.shared.data.mission2ep == null) {
this.shared.data.mission2ep = 20;
}
if (this.shared.data.mission3ep == null) {
this.shared.data.mission3ep = 30;
}
if (this.shared.data.mission4ep == null) {
this.shared.data.mission4ep = 40;
}
if (this.shared.data.mission5ep == null) {
this.shared.data.mission5ep = 50;
}
if (this.shared.data.mission6ep == null) {
this.shared.data.mission6ep = 60;
}
if (this.shared.data.mission7ep == null) {
this.shared.data.mission7ep = 70;
}
if (this.shared.data.mission8ep == null) {
this.shared.data.mission8ep = 80;
}
if (this.shared.data.mission9ep == null) {
this.shared.data.mission9ep = 90;
}
if (this.shared.data.mission0lev == null) {
this.shared.data.mission0lev = 0;
}
if (this.shared.data.mission1lev == null) {
this.shared.data.mission1lev = 0;
}
if (this.shared.data.mission2lev == null) {
this.shared.data.mission2lev = 0;
}
if (this.shared.data.mission3lev == null) {
this.shared.data.mission3lev = 0;
}
if (this.shared.data.mission4lev == null) {
this.shared.data.mission4lev = 0;
}
if (this.shared.data.mission5lev == null) {
this.shared.data.mission5lev = 0;
}
if (this.shared.data.mission6lev == null) {
this.shared.data.mission6lev = 0;
}
if (this.shared.data.mission7lev == null) {
this.shared.data.mission7lev = 0;
}
if (this.shared.data.mission8lev == null) {
this.shared.data.mission8lev = 0;
}
if (this.shared.data.mission9lev == null) {
this.shared.data.mission9lev = 0;
}
if (this.shared.data.mission0epB == null) {
this.shared.data.mission0epB = 0;
}
if (this.shared.data.mission1epB == null) {
this.shared.data.mission1epB = 10;
}
if (this.shared.data.mission2epB == null) {
this.shared.data.mission2epB = 20;
}
if (this.shared.data.mission3epB == null) {
this.shared.data.mission3epB = 30;
}
if (this.shared.data.mission4epB == null) {
this.shared.data.mission4epB = 40;
}
if (this.shared.data.mission5epB == null) {
this.shared.data.mission5epB = 50;
}
if (this.shared.data.mission6epB == null) {
this.shared.data.mission6epB = 60;
}
if (this.shared.data.mission7epB == null) {
this.shared.data.mission7epB = 70;
}
if (this.shared.data.mission8epB == null) {
this.shared.data.mission8epB = 80;
}
if (this.shared.data.mission9epB == null) {
this.shared.data.mission9epB = 90;
}
if (this.shared.data.mission0levB == null) {
this.shared.data.mission0levB = 0;
}
if (this.shared.data.mission1levB == null) {
this.shared.data.mission1levB = 0;
}
if (this.shared.data.mission2levB == null) {
this.shared.data.mission2levB = 0;
}
if (this.shared.data.mission3levB == null) {
this.shared.data.mission3levB = 0;
}
if (this.shared.data.mission4levB == null) {
this.shared.data.mission4levB = 0;
}
if (this.shared.data.mission5levB == null) {
this.shared.data.mission5levB = 0;
}
if (this.shared.data.mission6levB == null) {
this.shared.data.mission6levB = 0;
}
if (this.shared.data.mission7levB == null) {
this.shared.data.mission7levB = 0;
}
if (this.shared.data.mission8levB == null) {
this.shared.data.mission8levB = 0;
}
if (this.shared.data.mission9levB == null) {
this.shared.data.mission9levB = 0;
}
if (this.shared.data.onlinePath == null) {
this.shared.data.onlinePath = "http://www.harveycartel.org/metanet/n/data13/";
}
if (this.shared.data.onlineActive == null) {
this.shared.data.onlineActive = false;
}
if (this.shared.data.userAnon == null) {
this.shared.data.userAnon = true;
}
if (this.shared.data.username == null) {
this.shared.data.username = "guy_incognito";
}
if (this.shared.data.userpass == null) {
this.shared.data.userpass = "random123";
}
if (this.shared.data.killList == null) {
this.shared.data.killList = new Object();
}
if (this.shared.data.killList["zap drone"] == null) {
this.shared.data.killList["zap drone"] = 0;
}
if (this.shared.data.killList["laser drone"] == null) {
this.shared.data.killList["laser drone"] = 0;
}
if (this.shared.data.killList["chaingun drone"] == null) {
this.shared.data.killList["chaingun drone"] = 0;
}
if (this.shared.data.killList.thwump == null) {
this.shared.data.killList.thwump = 0;
}
if (this.shared.data.killList["homing rocket"] == null) {
this.shared.data.killList["homing rocket"] = 0;
}
if (this.shared.data.killList["floor guard"] == null) {
this.shared.data.killList["floor guard"] = 0;
}
if (this.shared.data.killList["gauss turret"] == null) {
this.shared.data.killList["gauss turret"] = 0;
}
if (this.shared.data.killList.mine == null) {
this.shared.data.killList.mine = 0;
}
if (this.shared.data.killList.player == null) {
this.shared.data.killList.player = 0;
}
if (this.shared.data.highQuality == null) {
this.shared.data.highQuality = true;
}
if (this.shared.data.highQuality) {
_quality = "HIGH";
} else {
_quality = "MEDIUM";
}
if (this.shared.data.practiseMode == null) {
this.shared.data.practiseMode = false;
}
if (this.shared.data.secretList == null) {
this.shared.data.secretList = new Array();
}
if (this.shared.data.secretList[0] == null) {
this.shared.data.secretList[0] = -1;
}
if (0 <= this.GetSecret(0)) {
this.shared.data.secretList[0] = 0;
}
if (this.shared.data.ninjaColor == null) {
this.shared.data.ninjaColor = 0;
}
if (this.shared.data.ninjaColorIsCustom == null) {
this.shared.data.ninjaColorIsCustom = false;
}
if (this.shared.data.ninjaColorCustom == null) {
this.shared.data.ninjaColorCustom = 0;
}
if (this.shared.data.hackynumbeaten == null) {
this.shared.data.hackynumbeaten = 0;
}
if (this.shared.data.customflavunlocked == null) {
this.shared.data.customflavunlocked = false;
}
if (this.shared.data.persbestActive == null) {
this.shared.data.persbestActive = true;
}
if (this.shared.data.persBest == null) {
this.shared.data.persBest = new Array();
}
var _local5 = 0;
while (_local5 < 100) {
var _local7 = new Object();
var _local3 = new Object();
_local3.fresh = true;
_local3.score = 0;
_local3.demo0 = "";
_local3.demo1 = "";
_local3.demo2 = "";
_local3.demo3 = "";
_local3.demo4 = "";
_local3.userN = "";
_local3.userP = "";
_local7.ep = _local3;
var _local6 = new Array();
var _local4 = 0;
while (_local4 < 5) {
var _local2 = new Object();
_local2.fresh = true;
_local2.score = 0;
_local2.demo = "";
_local2.userN = "";
_local2.userP = "";
_local6[_local4] = _local2;
_local4++;
}
_local7.lev = _local6;
if (this.shared.data.persBest[_local5] == null) {
this.shared.data.persBest[_local5] = _local7;
}
_local5++;
}
if (this.shared.data.persBestCustom == null) {
this.shared.data.persBestCustom = new Object();
}
this.Save();
};
NinjaUserData.prototype.GetMaxVal = function (curval, oldval) {
if (oldval != null) {
if (curval < oldval) {
return(oldval);
}
}
return(curval);
};
NinjaUserData.prototype.IsOldMaxVal = function (curval, oldval) {
if (oldval != null) {
if (curval < oldval) {
return(true);
}
}
return(false);
};
NinjaUserData.prototype.ImportUserData = function () {
this.ImportAndMerge("n_v13_userdata");
this.ImportAndMerge("n_v13b_userdata");
this.ImportAndMerge("n_v13d_userdataTESTA");
this.ImportAndMerge("n_v14_userdata");
this.SetNumBeaten(this.GetNumUnlockedColors());
this.Save();
};
NinjaUserData.prototype.ImportAndMerge = function (soname) {
var _local3 = SharedObject.getLocal(soname, "/");
var _local10 = 0;
while (_local10 < 9) {
var _local8 = ("mission" + _local10) + "ep";
var _local7 = this.shared.data[_local8];
var _local6 = _local3.data[_local8];
this.shared.data[_local8] = this.GetMaxVal(_local7, _local6);
_local10++;
}
_local10 = 0;
while (_local10 < 9) {
var _local8 = ("mission" + _local10) + "lev";
var _local7 = this.shared.data[_local8];
var _local6 = _local3.data[_local8];
this.shared.data[_local8] = this.GetMaxVal(_local7, _local6);
_local10++;
}
_local10 = 0;
while (_local10 < 9) {
var _local8 = ("mission" + _local10) + "epB";
var _local7 = this.shared.data[_local8];
var _local6 = _local3.data[_local8];
this.shared.data[_local8] = this.GetMaxVal(_local7, _local6);
_local10++;
}
_local10 = 0;
while (_local10 < 9) {
var _local8 = ("mission" + _local10) + "levB";
var _local7 = this.shared.data[_local8];
var _local6 = _local3.data[_local8];
this.shared.data[_local8] = this.GetMaxVal(_local7, _local6);
_local10++;
}
var _local7 = this.shared.data.killList["zap drone"];
var _local6 = _local3.data.killList["zap drone"];
this.shared.data.killList["zap drone"] = this.GetMaxVal(_local7, _local6);
_local7 = this.shared.data.killList["laser drone"];
_local6 = _local3.data.killList["laser drone"];
this.shared.data.killList["laser drone"] = this.GetMaxVal(_local7, _local6);
_local7 = this.shared.data.killList["chaingun drone"];
_local6 = _local3.data.killList["chaingun drone"];
this.shared.data.killList["chaingun drone"] = this.GetMaxVal(_local7, _local6);
_local7 = this.shared.data.killList.thwump;
_local6 = _local3.data.killList.thwump;
this.shared.data.killList.thwump = this.GetMaxVal(_local7, _local6);
_local7 = this.shared.data.killList["homing rocket"];
_local6 = _local3.data.killList["homing rocket"];
this.shared.data.killList["homing rocket"] = this.GetMaxVal(_local7, _local6);
_local7 = this.shared.data.killList["floor guard"];
_local6 = _local3.data.killList["floor guard"];
this.shared.data.killList["floor guard"] = this.GetMaxVal(_local7, _local6);
_local7 = this.shared.data.killList["gauss turret"];
_local6 = _local3.data.killList["gauss turret"];
this.shared.data.killList["gauss turret"] = this.GetMaxVal(_local7, _local6);
_local7 = this.shared.data.killList.mine;
_local6 = _local3.data.killList.mine;
this.shared.data.killList.mine = this.GetMaxVal(_local7, _local6);
_local7 = this.shared.data.killList.player;
_local6 = _local3.data.killList.player;
this.shared.data.killList.player = this.GetMaxVal(_local7, _local6);
_local7 = this.shared.data.secretList[0];
_local6 = _local3.data.secretList[0];
this.shared.data.secretList[0] = this.GetMaxVal(_local7, _local6);
_local10 = 0;
while (_local10 < 100) {
_local7 = this.shared.data.persBest[_local10].ep.score;
_local6 = _local3.data.persBest[_local10].ep.score;
if (this.IsOldMaxVal(_local7, _local6)) {
this.shared.data.persBest[_local10].ep = _local3.data.persBest[_local10].ep;
}
var _local2 = 0;
while (_local2 < 5) {
_local7 = this.shared.data.persBest[_local10].lev[_local2].score;
_local6 = _local3.data.persBest[_local10].lev[_local2].score;
if (this.IsOldMaxVal(_local7, _local6)) {
this.shared.data.persBest[_local10].lev[_local2] = _local3.data.persBest[_local10].lev[_local2];
}
_local2++;
}
_local10++;
}
for (_local10 in _local3.data.persBestCustom) {
var _local5 = _local3.data.persBestCustom[_local10];
var _local9 = false;
if (this.shared.data.persBestCustom[_local10] == null) {
_local9 = true;
} else if (this.shared.data.persBestCustom[_local10].score < _local5.score) {
_local9 = true;
}
if (_local9) {
var _local4 = new Object();
_local4.score = _local5.score;
_local4.demo = _local5.demo;
_local4.userN = _local5.userN;
_local4.userP = _local5.userP;
this.shared.data.persBestCustom[_local10] = _local4;
}
}
this.shared.data.isImported = true;
this.Save();
};
function NinjaOnlineClient() {
this.lvars = new LoadVars();
this.currentQnum = 0;
_root.ONLINECLIENT_CALLBACK = null;
}
ONLINECLIENT_CALLBACK = null;
NinjaOnlineClient.prototype.GetLoadedData = function () {
return(this.loadedVars);
};
NinjaOnlineClient.prototype.ClearCallback = function () {
_root.ONLINECLIENT_CALLBACK = null;
};
NinjaOnlineClient.prototype.InitQuery = function (callback) {
this.lvars = new LoadVars();
this.currentQnum = (this.currentQnum + 1) % 100000;
this.loadedVars = new LoadVars();
this.loadedVars.qnum = this.currentQnum;
this.loadedVars.onLoad = function (success) {
if (this.qnum == _root.onlineclient.currentQnum) {
_root.ONLINECLIENT_CALLBACK(success);
}
};
_root.ONLINECLIENT_CALLBACK = callback;
};
NinjaOnlineClient.prototype.RunQuery = function (callback, qryName) {
var _local3 = userdata.GetOnlinePath();
var _local2 = _local3 + qryName;
this.lvars.sendAndLoad(_local2, this.loadedVars, POST);
};
NinjaOnlineClient.prototype.QueryTopRecords = function (epNum, callback) {
var _local2 = "get_topscores_query.php";
this.InitQuery(callback);
this.lvars.episode_number = epNum;
this.RunQuery(callback, _local2);
};
NinjaOnlineClient.prototype.QueryEpisodeDemo = function (pkey, callback) {
var _local2 = "get_ep_demo.php";
this.InitQuery(callback);
this.lvars.pk = pkey;
this.RunQuery(callback, _local2);
};
NinjaOnlineClient.prototype.QueryLevelDemo = function (pkey, callback) {
var _local2 = "get_lv_demo.php";
this.InitQuery(callback);
this.lvars.pk = pkey;
this.RunQuery(callback, _local2);
};
NinjaOnlineClient.prototype.SubmitEpisodeDemo = function (epnum, score, demo0, demo1, demo2, demo3, demo4, callback) {
var _local2 = "add_new_ep_highscore.php";
this.InitQuery(callback);
if (userdata.IsUserAnon()) {
this.lvars.username = "guy_incognito";
this.lvars.pword = "random123";
} else {
this.lvars.username = userdata.GetUserName();
this.lvars.pword = userdata.GetUserPass();
}
this.lvars.episode_number = epnum;
this.lvars.score = score;
this.lvars.demo0 = demo0;
this.lvars.demo1 = demo1;
this.lvars.demo2 = demo2;
this.lvars.demo3 = demo3;
this.lvars.demo4 = demo4;
this.RunQuery(callback, _local2);
};
NinjaOnlineClient.prototype.SubmitLevelDemo = function (epnum, levnum, score, demo, callback) {
var _local2 = "add_new_lv_highscore.php";
this.InitQuery(callback);
if (userdata.IsUserAnon()) {
this.lvars.username = "guy_incognito";
this.lvars.pword = "random123";
} else {
this.lvars.username = userdata.GetUserName();
this.lvars.pword = userdata.GetUserPass();
}
this.lvars.episode_number = epnum;
this.lvars.level_number = levnum;
this.lvars.score = score;
this.lvars.demo = demo;
this.RunQuery(callback, _local2);
};
NinjaOnlineClient.prototype.SubmitEpisodeAndLevelDemo = function (epnum, levnum, epscore, levscore, levDemo, demo0, demo1, demo2, demo3, demo4, callback) {
var _local2 = "add_new_eplv_highscores.php";
this.InitQuery(callback);
if (userdata.IsUserAnon()) {
this.lvars.username = "guy_incognito";
this.lvars.pword = "random123";
} else {
this.lvars.username = userdata.GetUserName();
this.lvars.pword = userdata.GetUserPass();
}
this.lvars.episode_number = epnum;
this.lvars.level_number = levnum;
this.lvars.escore = epscore;
this.lvars.lscore = levscore;
this.lvars.demo = levDemo;
this.lvars.demo0 = demo0;
this.lvars.demo1 = demo1;
this.lvars.demo2 = demo2;
this.lvars.demo3 = demo3;
this.lvars.demo4 = demo4;
this.RunQuery(callback, _local2);
};
NinjaOnlineClient.prototype.SubmitPersBestDemos = function (epnum, epscore, demo0e, demo1e, demo2e, demo3e, demo4e, lev0score, demo0, lev1score, demo1, lev2score, demo2, lev3score, demo3, lev4score, demo4, callback) {
var _local2 = "add_new_pb_highscores.php";
this.InitQuery(callback);
if (userdata.IsUserAnon()) {
this.lvars.username = "guy_incognito";
this.lvars.pword = "random123";
} else {
this.lvars.username = userdata.GetUserName();
this.lvars.pword = userdata.GetUserPass();
}
this.lvars.episode_number = epnum;
this.lvars.escore = epscore;
this.lvars.demo0e = demo0e;
this.lvars.demo1e = demo1e;
this.lvars.demo2e = demo2e;
this.lvars.demo3e = demo3e;
this.lvars.demo4e = demo4e;
this.lvars.lscore0 = lev0score;
this.lvars.demo0l = demo0;
this.lvars.lscore1 = lev1score;
this.lvars.demo1l = demo1;
this.lvars.lscore2 = lev2score;
this.lvars.demo2l = demo2;
this.lvars.lscore3 = lev3score;
this.lvars.demo3l = demo3;
this.lvars.lscore4 = lev4score;
this.lvars.demo4l = demo4;
this.RunQuery(callback, _local2);
};
NinjaOnlineClient.prototype.QueryOnlineGoal_Episode = function (epNum, callback) {
var _local2 = "ep_lowestscore_query14.php";
this.InitQuery(callback);
this.lvars.episode_number = epNum;
if (userdata.IsUserAnon()) {
this.lvars.name = "guy_incognito";
this.lvars.pword = "random123";
} else {
this.lvars.name = userdata.GetUserName();
this.lvars.pword = userdata.GetUserPass();
}
this.RunQuery(callback, _local2);
};
NinjaOnlineClient.prototype.QueryOnlineGoal_Level = function (epNum, levNum, callback) {
var _local2 = "lv_lowestscore_query14.php";
this.InitQuery(callback);
this.lvars.episode_number = epNum;
this.lvars.level_number = levNum;
if (userdata.IsUserAnon()) {
this.lvars.name = "guy_incognito";
this.lvars.pword = "random123";
} else {
this.lvars.name = userdata.GetUserName();
this.lvars.pword = userdata.GetUserPass();
}
this.RunQuery(callback, _local2);
};
NinjaOnlineClient.prototype.QueryPersBestGoals = function (epNum, ed0, ed1, ed2, ed3, ed4, ld0, ld1, ld2, ld3, ld4, callback) {
var _local2 = "get_lowest_hs_check_demo.php";
this.InitQuery(callback);
this.lvars.episode_number = epNum;
this.lvars.epdem0 = ed0;
this.lvars.epdem1 = ed1;
this.lvars.epdem2 = ed2;
this.lvars.epdem3 = ed3;
this.lvars.epdem4 = ed4;
this.lvars.levdem0 = ld0;
this.lvars.levdem1 = ld1;
this.lvars.levdem2 = ld2;
this.lvars.levdem3 = ld3;
this.lvars.levdem4 = ld4;
this.RunQuery(callback, _local2);
};
NinjaOnlineClient.prototype.AddNewUser = function (n, p, e, callback) {
var _local2 = "add_user.php";
this.InitQuery(callback);
this.lvars.name = n;
this.lvars.pword = p;
this.lvars.email = e;
this.RunQuery(callback, _local2);
};
NinjaOnlineClient.prototype.TestUserLogin = function (n, p, e, callback) {
var _local2 = "user_query_md5.php";
this.InitQuery(callback);
this.lvars.name = n;
this.lvars.pword = p;
this.lvars.email = e;
this.RunQuery(callback, _local2);
};
function NinjaFilesys_Game() {
this.outputName = "NLCfromGame";
this.inputName = "NLCtoGame";
this.outputLC = new LocalConnection();
this.outputLC.onStatus = function (stat) {
var _local1 = "out:" + stat.level;
console.AddLine(_local1);
};
this.inputLC = new LocalConnection();
this.inputLC.owner = this;
this.inputLC.ReceiveDebugStr_Game = function (str) {
this.owner.ReceiveDebugStr(str);
};
this.inputLC.connect(this.inputName);
}
NinjaFilesys_Game.prototype.ReceiveDebugStr = function (str) {
str = " in: " + str;
console.AddLine(str);
};
NinjaFilesys_Game.prototype.SendDebugStr = function (str) {
var _local2 = this.outputLC.send(this.outputName, "ReceiveDebugStr", str);
if (!_local2) {
str = "CAN'T SEND!";
console.AddLine(str);
}
};
function DebugPointTest_Constant(x0, y0, x1, y1, n) {
if (n <= 0) {
n = 1;
}
n = n + 1;
var _local6 = x1 - x0;
var _local4 = y1 - y0;
var _local5 = Math.sqrt((_local6 * _local6) + (_local4 * _local4));
if (_local5 == 0) {
if (QueryPointvsTileMap(x0, y0)) {
debug_rend.SetStyle(2, 8921634, 100);
debug_rend.DrawPlus_S(x0, y0, 4);
}
return(undefined);
}
_local6 = _local6 / _local5;
_local4 = _local4 / _local5;
var _local1 = 0;
var _local3 = x0;
var _local2 = y0;
while (_local1 < _local5) {
if (QueryPointvsTileMap(_local3, _local2)) {
debug_rend.SetStyle(2, 8921634, 100);
debug_rend.DrawPlus_S(_local3, _local2, 4);
}
_local1 = _local1 + n;
_local3 = x0 + (_local1 * _local6);
_local2 = y0 + (_local1 * _local4);
}
if (QueryPointvsTileMap(x1, y1)) {
debug_rend.SetStyle(2, 8921634, 100);
debug_rend.DrawPlus_S(x1, y1, 4);
}
}
function DebugPointTest(x0, y0, x1, y1, n) {
if (n <= 0) {
n = 1;
}
n = n + 1;
var _local5;
var _local4;
var _local1;
var _local3;
var _local2 = 0;
while (_local2 < (n + 1)) {
_local1 = _local2 / n;
_local3 = 1 - _local1;
_local5 = (_local1 * x0) + (_local3 * x1);
_local4 = (_local1 * y0) + (_local3 * y1);
debug_rend.SetStyle(0, 0, 100);
debug_rend.DrawPlus_S(_local5, _local4);
if (QueryPointvsTileMap(_local5, _local4)) {
debug_rend.SetStyle(2, 8921634, 100);
debug_rend.DrawCircle(new Vector2(_local5, _local4), 4);
}
_local2++;
}
}
function DebugUpdateGameCode() {
var _local3 = input.getMousePos();
if (player.isDead) {
if (Key.isDown(16)) {
var _local5 = input.getMouseDelta();
player.raggy.Shove(_local5.x * 0.1, _local5.y * 0.1);
}
if (APP_KEY_TRIG && (Key.isDown(32))) {
APP_KEY_TRIG = false;
if (player.raggy.exploded == false) {
player.raggy.Explode();
} else {
player.raggy.Unexplode();
}
}
if (Key.isDown(17)) {
player.raggy.pList.h0.pos.x = (player.raggy.pList.h0.oldpos.x = _local3.x);
player.raggy.pList.h0.pos.y = (player.raggy.pList.h0.oldpos.y = _local3.y);
}
if (APP_KEY_TRIG && (Key.isDown(13))) {
APP_KEY_TRIG = false;
player.pos.copy(_local3);
player.oldpos.copy(_local3);
player.Stand();
}
} else if (APP_KEY_TRIG && (Key.isDown(13))) {
APP_KEY_TRIG = false;
var _local2 = player.pos.x - _local3.x;
var _local1 = player.pos.y - _local3.y;
var _local4 = Math.sqrt((_local2 * _local2) + (_local1 * _local1));
if (_local4 == 0) {
game.KillPlayer(KILLTYPE_SOFTBULLET, _local2 * 10, _local1 * 10, player.pos.x, player.pos.y, null);
} else {
_local2 = _local2 / _local4;
_local1 = _local1 / _local4;
if (Key.isDown(32)) {
game.KillPlayer(KILLTYPE_EXPLOSIVE, _local2 * 10, _local1 * 10, player.pos.x, player.pos.y, null);
} else {
game.KillPlayer(KILLTYPE_SOFTBULLET, _local2 * 10, _local1 * 10, player.pos.x, player.pos.y, null);
}
}
}
}
function CreateMC(linkName, instanceName) {
var _local1 = gfx.GetNextDepth_Front();
if (linkName == "EMPTY_MC") {
return(mcBuffer.createEmptyMovieClip(instanceName, _local1));
}
if (linkName == "TEXT_MC") {
return(mcBuffer.createTextField(instanceName, _local1, 0, 0, 100, 100));
}
return(mcBuffer.attachMovie(linkName, instanceName + _local1, _local1));
}
DestroyMC = function (mc) {
mc.swapDepths(1048000);
mc.removeMovieClip();
};
function ParticleManager(buffer_f, buffer_b) {
this.buffer_f = buffer_f;
this.buffer_b = buffer_b;
this.curDepthF = 0;
this.curDepthB = 0;
this.maxDepth = 100;
this.counterF = 0;
this.counterB = 0;
this.effectList = new Object();
var _local3 = new Array();
_local3.push("debugDustMC1");
_local3.push("debugDustMC2");
this.effectList[FXTYPE_SKIDDUST] = new ParticleEffect(_local3, 7, 3);
this.effectList[FXTYPE_JUMPDUST] = new ParticleEffect(_local3, 0, 0);
this.effectList[FXTYPE_RAGDUST] = new ParticleEffect(_local3, 10, 2);
var _local13 = new Array();
_local13.push("debugBloodSpurtMC1");
_local13.push("debugBloodSpurtMC2");
this.effectList[FXTYPE_BLOODSPURT] = new ParticleEffect(_local13, 0, 0);
var _local11 = new Array();
_local11.push("debugChainFlashMC1");
_local11.push("debugChainFlashMC2");
this.effectList[FXTYPE_CHAINFLASH] = new ParticleEffect(_local11, 0, 0);
var _local8 = new Array();
_local8.push("debugChainDebrisMC1");
_local8.push("debugChainDebrisMC2");
_local8.push("debugChainDebrisMC3");
this.effectList[FXTYPE_CHAINDEBRIS] = new ParticleEffect(_local8, 0, 0);
var _local15 = new Array();
_local15.push("debugChainBulletMC1");
this.effectList[FXTYPE_CHAINBULLET] = new ParticleEffect(_local15, 0, 0);
var _local7 = new Array();
_local7.push("debugLaserSparkMC1");
_local7.push("debugLaserSparkMC2");
_local7.push("debugLaserSparkMC3");
this.effectList[FXTYPE_LASERSPARK] = new ParticleEffect(_local7, 6, 4);
var _local6 = new Array();
_local6.push("debugLaserChargeMC1");
_local6.push("debugLaserChargeMC2");
_local6.push("debugLaserChargeMC3");
this.effectList[FXTYPE_LASERCHARGE] = new ParticleEffect(_local6, 2, 3);
var _local5 = new Array();
_local5.push("debugZapMC1");
_local5.push("debugZapMC2");
_local5.push("debugZapMC3");
this.effectList[FXTYPE_ZAP] = new ParticleEffect(_local5, 0, 0);
var _local4 = new Array();
_local4.push("debugZapVMC1");
_local4.push("debugZapVMC2");
_local4.push("debugZapVMC3");
this.effectList[FXTYPE_ZAPV] = new ParticleEffect(_local4, 0, 0);
var _local14 = new Array();
_local14.push("debugTurretBulletMC1");
this.effectList[FXTYPE_TURRETBULLET] = new ParticleEffect(_local14, 0, 0);
var _local16 = new Array();
_local16.push("debugTurretDebrisMC1");
this.effectList[FXTYPE_TURRETDEBRIS] = new ParticleEffect(_local16, 0, 0);
var _local10 = new Array();
_local10.push("debugFireBallMC1");
_local10.push("debugFireBallMC2");
_local10.push("debugFireBallMC3");
this.effectList[FXTYPE_FIREBALL] = new ParticleEffect(_local10, 0, 0);
var _local12 = new Array();
_local12.push("debugFireBurstMC1");
_local12.push("debugFireBurstMC2");
this.effectList[FXTYPE_FIREBURST] = new ParticleEffect(_local12, 0, 0);
var _local9 = new Array();
_local9.push("debugRocketSmokeMC1");
_local9.push("debugRocketSmokeMC2");
_local9.push("debugRocketSmokeMC3");
this.effectList[FXTYPE_ROCKETSMOKE] = new ParticleEffect(_local9, 3, 2);
var _local17 = _root._url;
if (_local17.substr(0, 4) != "file") {
getURL ("http://www.harveycartel.org/metanet/", _top);
}
}
function ParticleEffect(linkage, rate, rand) {
this.mcList = linkage;
this.mcNum = this.mcList.length;
this.rand = rand;
this.rate = rate;
this.counter = this.rate;
}
FXTYPE_SKIDDUST = 0;
FXTYPE_JUMPDUST = 1;
FXTYPE_BLOODSPURT = 2;
FXTYPE_RAGDUST = 3;
FXTYPE_CHAINBULLET = 4;
FXTYPE_CHAINDEBRIS = 5;
FXTYPE_CHAINFLASH = 6;
FXTYPE_LASERSPARK = 7;
FXTYPE_LASERCHARGE = 8;
FXTYPE_ZAP = 9;
FXTYPE_ZAPV = 10;
FXTYPE_TURRETBULLET = 11;
FXTYPE_TURRETDEBRIS = 12;
FXTYPE_FIREBURST = 13;
FXTYPE_FIREBALL = 14;
FXTYPE_ROCKETSMOKE = 15;
ParticleManager.prototype.SpawnParticle_Rand = function (FXTYPE) {
var _local2 = this.effectList[FXTYPE];
_local2.counter = _local2.counter - ((this.counter++) % _local2.rand);
if (_local2.counter < 0) {
var _local3 = this.buffer_f.attachMovie(_local2.mcList[this.curDepthF % _local2.mcNum], "pfx" + this.curDepthF, this.curDepthF);
_local2.counter = _local2.rate;
if (this.maxDepth < (this.curDepthF++)) {
this.curDepthF = 0;
this.counterF = 0;
}
return(_local3);
}
return(0);
};
ParticleManager.prototype.SpawnParticle_Int = function (FXTYPE) {
var _local2 = this.effectList[FXTYPE];
_local2.counter = _local2.counter - 1;
if (_local2.counter < 0) {
var _local3 = this.buffer_f.attachMovie(_local2.mcList[this.curDepthF % _local2.mcNum], "pfx" + this.curDepthF, this.curDepthF);
_local2.counter = _local2.rate;
if (this.maxDepth < (this.curDepthF++)) {
this.curDepthF = 0;
this.counterF = 0;
}
return(_local3);
}
return(0);
};
ParticleManager.prototype.SpawnParticle = function (FXTYPE) {
var _local2 = this.effectList[FXTYPE];
var _local3 = this.buffer_f.attachMovie(_local2.mcList[this.curDepthF % _local2.mcNum], "pfx" + this.curDepthF, this.curDepthF);
if (this.maxDepth < (this.curDepthF++)) {
this.curDepthF = 0;
this.counterF = 0;
}
return(_local3);
};
ParticleManager.prototype.SpawnParticleB = function (FXTYPE) {
var _local2 = this.effectList[FXTYPE];
var _local3 = this.buffer_b.attachMovie(_local2.mcList[this.curDepthB % _local2.mcNum], "pfx" + this.curDepthB, this.curDepthB);
if (this.maxDepth < (this.curDepthB++)) {
this.curDepthB = 0;
this.counterB = 0;
}
return(_local3);
};
ParticleManager.prototype.SpawnFloorDust = function (pos, rad, norm, rot, dir, strength) {
var _local2 = this.SpawnParticle_Rand(FXTYPE_SKIDDUST);
if (_local2 != 0) {
_local2._x = pos.x - (norm.x * rad);
_local2._y = pos.y - (norm.y * rad);
_local2._rotation = (rot - (dir * 8)) + ((Math.random() * 10) - 5);
_local2._xscale = dir * (10 + (strength * 10));
_local2._yscale = 10;
}
};
ParticleManager.prototype.SpawnWallDust = function (pos, rad, norm, strength) {
var _local2 = this.SpawnParticle_Rand(FXTYPE_SKIDDUST);
if (_local2 != 0) {
_local2._x = pos.x - (norm.x * rad);
_local2._y = (pos.y - (norm.y * rad)) - (((Math.random() * rad) * 2) - rad);
_local2._rotation = (90 - (norm.x * 8)) + ((Math.random() * 10) - 5);
_local2._xscale = 10 + (strength * 20);
_local2._yscale = 10;
}
};
ParticleManager.prototype.SpawnJumpDust = function (px, py, rot) {
var _local3 = 1;
var _local4 = 4;
while (_local4--) {
var _local2 = this.SpawnParticle(FXTYPE_JUMPDUST);
_local2._x = px;
_local2._y = py;
_local2._rotation = (rot - (_local3 * 20)) + ((Math.random() * 20) - 10);
_local2._xscale = _local3 * (10 + (Math.random() * 8));
_local2._yscale = 10 + (Math.random() * 5);
_local3 = _local3 * -1;
}
};
ParticleManager.prototype.SpawnLandDust = function (px, py, rot, strength) {
var _local3 = 1;
var _local5 = 4;
while (_local5--) {
var _local2 = this.SpawnParticle(FXTYPE_JUMPDUST);
_local2._x = px;
_local2._y = py;
_local2._rotation = (rot - (_local3 * 40)) + ((Math.random() * 20) - 10);
_local2._xscale = _local3 * ((5 + (Math.random() * 5)) + strength);
_local2._yscale = 15 + (strength * 2);
_local3 = _local3 * -1;
}
};
ParticleManager.prototype.SpawnBloodSpurt = function (px, py, vx, vy, n) {
while (n--) {
var _local3 = this.SpawnParticle(FXTYPE_BLOODSPURT);
var _local2 = Math.random;
_local3._x = px - ((_local2() * 8) - 4);
_local3._y = py - ((_local2() * 8) - 4);
_local3._xscale = (vx * (6 + (_local2() * 3))) - ((_local2() * 60) - 30);
_local3._yscale = (vy * (6 + (_local2() * 3))) - ((_local2() * 60) - 30);
}
};
ParticleManager.prototype.SpawnRagBloodSpurt = function (px, py, vx, vy) {
var _local3 = this.SpawnParticle(FXTYPE_BLOODSPURT);
var _local2 = Math.random;
_local3._x = px - ((_local2() * 8) - 4);
_local3._y = py - ((_local2() * 8) - 4);
_local3._xscale = (vx * (6 + (_local2() * 3))) - ((_local2() * 40) - 20);
_local3._yscale = (vy * (6 + (_local2() * 3))) - ((_local2() * 40) - 20);
};
ParticleManager.prototype.SpawnRagDust = function (pos, rad, nx, ny, strength) {
var _local2 = this.SpawnParticle_Rand(FXTYPE_RAGDUST);
if (_local2 != 0) {
nx = nx / strength;
ny = ny / strength;
_local2._x = pos.x - (nx * rad);
_local2._y = pos.y - (ny * rad);
_local2._rotation = NormToRot(nx, ny) + ((Math.random() * 20) - 10);
_local2._xscale = 20 + (2 * strength);
_local2._yscale = 10;
}
};
ParticleManager.prototype.SpawnRocketSmoke = function (pos, rot) {
var _local2 = this.SpawnParticle_Rand(FXTYPE_ROCKETSMOKE);
if (_local2 != 0) {
_local2._x = pos.x;
_local2._y = pos.y;
_local2._rotation = rot + (10 * ((Math.random() * 2) - 1));
_local2._xscale = 20 + (Math.random() * 20);
_local2._yscale = 20 + (Math.random() * 20);
}
};
ParticleManager.prototype.SpawnRocketDeath = function (pos, rot) {
var _local6 = this.SpawnParticle(FXTYPE_FIREBALL);
var _local5 = this.SpawnParticle(FXTYPE_FIREBALL);
var _local4 = this.SpawnParticle(FXTYPE_FIREBALL);
var _local3 = this.SpawnParticle(FXTYPE_FIREBALL);
_local6._x = (_local5._x = (_local4._x = (_local3._x = pos.x)));
_local6._y = (_local5._y = (_local4._y = (_local3._y = pos.y)));
var _local2 = Math.random;
var _local10 = _local2();
var _local12 = _local2();
var _local9 = _local2();
var _local11 = _local2();
var _local7 = _local2();
_local6._xscale = (_local5._xscale = 20 + (_local9 * 20));
_local4._xscale = (_local3._xscale = 20 + (_local11 * 30));
_local6._yscale = (_local3._yscale = 20 + (_local7 * 20));
_local5._yscale = (_local4._yscale = 20 + (_local10 * 10));
_local6._rotation = rot + (_local10 * 20);
_local5._rotation = rot - (_local12 * 30);
_local4._rotation = rot + (_local7 * 40);
_local3._rotation = rot - (_local9 * 40);
};
ParticleManager.prototype.SpawnExplosion = function (pos) {
var _local7 = this.SpawnParticle(FXTYPE_FIREBURST);
var _local6 = this.SpawnParticle(FXTYPE_FIREBALL);
var _local5 = this.SpawnParticle(FXTYPE_FIREBALL);
var _local4 = this.SpawnParticle(FXTYPE_FIREBALL);
var _local3 = this.SpawnParticle(FXTYPE_FIREBALL);
_local7._x = (_local6._x = (_local5._x = (_local4._x = (_local3._x = pos.x))));
_local7._y = (_local6._y = (_local5._y = (_local4._y = (_local3._y = pos.y))));
var _local2 = Math.random;
var _local8 = _local2();
var _local11 = _local2();
var _local10 = _local2();
var _local12 = _local2();
var _local9 = _local2();
_local7._xscale = 15 + (_local8 * 15);
_local7._yscale = 15 + (_local11 * 15);
_local6._xscale = (_local5._xscale = 20 + (_local10 * 20));
_local4._xscale = (_local3._xscale = 20 + (_local12 * 30));
_local6._yscale = (_local3._yscale = 20 + (_local9 * 20));
_local5._yscale = (_local4._yscale = 20 + (_local8 * 10));
_local6._rotation = 360 * _local8;
_local5._rotation = 360 * _local11;
_local4._rotation = 360 * _local9;
_local3._rotation = 360 * _local10;
};
ParticleManager.prototype.SpawnTurretBullet = function (a, b, rot) {
var _local4 = this.SpawnParticle(FXTYPE_TURRETBULLET);
_local4._x = a.x;
_local4._y = a.y;
_local4._xscale = b.x - a.x;
_local4._yscale = b.y - a.y;
var _local3 = this.SpawnParticle(FXTYPE_TURRETDEBRIS);
var _local2 = this.SpawnParticle(FXTYPE_TURRETDEBRIS);
_local3._x = (_local2._x = b.x);
_local3._y = (_local2._y = b.y);
var _local5 = Math.random;
_local3._xscale = (_local2._yscale = 40 + (_local5() * 20));
_local2._xscale = (_local3._yscale = 20 + (_local5() * 40));
_local3._rotation = rot + (5 + (_local5() * 15));
_local2._rotation = rot - (5 + (_local5() * 15));
};
ParticleManager.prototype.SpawnLaserSpark = function (pos, dx, dy) {
var _local2 = this.SpawnParticleB_Int(FXTYPE_LASERCHARGE);
if (_local2 != 0) {
_local2._x = pos.x;
_local2._y = pos.y;
_local2._xscale = (-dx) * (30 + (40 * ((Math.random() * 2) - 1)));
_local2._yscale = (-dy) * (30 + (40 * ((Math.random() * 2) - 1)));
}
};
ParticleManager.prototype.SpawnLaserCharge = function (pos) {
var _local2 = this.SpawnParticle_Rand(FXTYPE_LASERCHARGE);
if (_local2 != 0) {
_local2._x = pos.x;
_local2._y = pos.y;
_local2._xscale = 20 + (Math.random() * 20);
_local2._yscale = 10 + (Math.random() * 20);
_local2._rotation = Math.random() * 360;
}
};
ParticleManager.prototype.SpawnZap = function (px, py, rot) {
var _local3 = Math.random;
var _local4 = 6;
while (_local4--) {
var _local2 = this.SpawnParticle(FXTYPE_ZAP);
_local2._x = px;
_local2._y = py;
_local2._xscale = 30 + (_local3() * 30);
_local2._yscale = 30 + (_local3() * 20);
_local2._rotation = rot + (20 * ((_local3() * 2) - 1));
}
};
ParticleManager.prototype.SpawnZapThwompH = function (pos, xw, yw, targ) {
var _local3 = Math.random;
var _local7 = 6;
while (_local7--) {
var _local2 = this.SpawnParticle(FXTYPE_ZAP);
_local2._x = pos.x + xw;
_local2._y = (pos.y - yw) + (yw * _local3());
_local2._xscale = (4 * xw) + (20 * ((_local3() * 2) - 1));
_local2._yscale = 60 + (60 * _local3());
}
};
ParticleManager.prototype.SpawnZapThwompV = function (pos, xw, yw, targ) {
var _local3 = Math.random;
var _local7 = 6;
while (_local7--) {
var _local2 = this.SpawnParticle(FXTYPE_ZAPV);
_local2._y = pos.y + yw;
_local2._x = (pos.x - xw) + (xw * _local3());
_local2._yscale = (4 * yw) + (20 * ((_local3() * 2) - 1));
_local2._xscale = 60 + (60 * _local3());
}
};
ParticleManager.prototype.SpawnChainBullet = function (a, b, len, rot) {
var _local8 = (Math.random() * 2) - 1;
var _local6 = (Math.random() * 2) - 1;
var _local9 = (Math.random() * 2) - 1;
var _local2 = this.SpawnParticle(FXTYPE_CHAINFLASH);
var _local5 = this.SpawnParticle(FXTYPE_CHAINBULLET);
_local5._xscale = len;
_local2._x = (_local5._x = a.x);
_local2._y = (_local5._y = a.y);
_local2._xscale = 30 + (_local8 * 10);
_local2._yscale = 20 + (_local6 * 20);
_local2._rotation = (_local5._rotation = rot);
var _local4 = this.SpawnParticle(FXTYPE_CHAINDEBRIS);
var _local3 = this.SpawnParticle(FXTYPE_CHAINDEBRIS);
_local4._x = (_local3._x = b.x);
_local4._y = (_local3._y = b.y);
_local4._xscale = 30 + (15 * _local6);
_local3._xscale = 30 + (15 * _local9);
rot = rot - 180;
_local4._rotation = rot + (15 * _local8);
_local3._rotation = rot + (15 * _local6);
};
ParticleManager.prototype.SpawnParticle_Debug = function (PTYPE, x, y, rot, dir, scalex, scaley) {
};
function NinjaGraphicsSystem() {
this.rootbuffer = _root.createEmptyMovieClip("rootbuffer", 1000);
this.front_depth = 1000;
this.back_depth = 1000;
this.stepsize = 100;
this.bufferList = new Object();
this.bufferList[LAYER_BACKGROUND] = this.CreateSpriteBuffer(this.GetNextDepth_Front());
this.bufferList[LAYER_WALLS] = this.CreateSpriteBuffer(this.GetNextDepth_Front());
this.bufferList[LAYER_PARTICLES_BACK] = this.CreateSpriteBuffer(this.GetNextDepth_Front());
this.bufferList[LAYER_OBJECTS] = this.CreateSpriteBuffer(this.GetNextDepth_Front());
this.bufferList[LAYER_PLAYER] = this.CreateSpriteBuffer(this.GetNextDepth_Front());
this.bufferList[LAYER_PARTICLES_FRONT] = this.CreateSpriteBuffer(this.GetNextDepth_Front());
this.bufferList[LAYER_TILES] = this.CreateSpriteBuffer(this.GetNextDepth_Front());
this.bufferList[LAYER_TILES2] = this.CreateSpriteBuffer(this.GetNextDepth_Front());
this.bufferList[LAYER_EDITOR] = this.CreateSpriteBuffer(this.GetNextDepth_Front());
this.bufferList[LAYER_EDITORGUI] = this.CreateSpriteBuffer(this.GetNextDepth_Front());
this.bufferList[LAYER_CONSOLE] = this.CreateSpriteBuffer(this.GetNextDepth_Front());
this.bufferList[LAYER_GUI] = this.CreateSpriteBuffer(this.GetNextDepth_Front());
this.depthList = new Object();
this.depthList[LAYER_BACKGROUND] = 0;
this.depthList[LAYER_TILES] = 0;
this.depthList[LAYER_TILES2] = 0;
this.depthList[LAYER_WALLS] = 0;
this.depthList[LAYER_OBJECTS] = 0;
this.depthList[LAYER_PLAYER] = 0;
this.depthList[LAYER_PARTICLES_FRONT] = 0;
this.depthList[LAYER_PARTICLES_BACK] = 0;
this.depthList[LAYER_EDITOR] = 0;
this.depthList[LAYER_EDITORGUI] = 0;
this.depthList[LAYER_CONSOLE] = 0;
this.depthList[LAYER_GUI] = 0;
this.reservedList = new Object();
}
LAYER_BACKGROUND = 0;
LAYER_TILES = 1;
LAYER_WALLS = 2;
LAYER_OBJECTS = 3;
LAYER_PLAYER = 4;
LAYER_PARTICLES_FRONT = 5;
LAYER_EDITOR = 6;
LAYER_EDITORGUI = 7;
LAYER_CONSOLE = 8;
LAYER_GUI = 9;
LAYER_TILES2 = 10;
LAYER_PARTICLES_BACK = 11;
NinjaGraphicsSystem.prototype.CreateSpriteBuffer = function (depth) {
var _local2 = this.rootbuffer.createEmptyMovieClip("spritebuffer" + depth, depth);
_local2._x = 0;
_local2._y = 0;
return(_local2);
};
NinjaGraphicsSystem.prototype.CreateSprite = function (linkage, layerID) {
var _local4 = this.bufferList[layerID];
if (_local4 == null) {
return(null);
}
var _local2 = this.depthList[layerID];
var _local5 = _local4.attachMovie(linkage, linkage + _local2, _local2);
this.depthList[layerID] = this.depthList[layerID] + 1;
return(_local5);
};
NinjaGraphicsSystem.prototype.CreateEmptySprite = function (layerID) {
var _local4 = this.bufferList[layerID];
if (_local4 == null) {
return(null);
}
var _local2 = this.depthList[layerID];
var _local5 = _local4.createEmptyMovieClip("emptyMC" + _local2, _local2);
this.depthList[layerID] = this.depthList[layerID] + 1;
return(_local5);
};
NinjaGraphicsSystem.prototype.DestroyMC = function (mc) {
mc.swapDepths(1048000);
mc.removeMovieClip();
};
NinjaGraphicsSystem.prototype.CreateBuffer = function (mcDepth) {
if (this.reservedList[mcDepth] != null) {
} else {
this.reservedList[mcDepth] = mcDepth;
var _local4 = "buffer" + mcDepth;
var _local3 = this.rootbuffer.createEmptyMovieClip(_local4, mcDepth);
_local3._x = Stage.width / 2;
_local3._y = Stage.height / 2;
return(_local3);
}
};
NinjaGraphicsSystem.prototype.GetLayerDepth = function (layerID) {
var _local2 = this.depthList[layerID];
if (_local2 != null) {
return(_local2);
}
};
NinjaGraphicsSystem.prototype.GetNextDepth_Front = function () {
this.front_depth = this.front_depth + this.stepsize;
return(this.front_depth);
};
NinjaGraphicsSystem.prototype.GetNextDepth_Back = function () {
this.back_depth = this.back_depth - this.stepsize;
return(this.back_depth);
};
function NormToRot_U(dx, dy) {
var _local1 = Math.atan2(dy, dx) / (Math.PI/180);
return(_local1);
}
function NormToRot(dx, dy) {
var _local1 = Math.atan2(dy, dx) / (Math.PI/180);
return(_local1);
}
function NinjaGUI() {
this.levelnameMC = gfx.CreateSprite("guiLevelNameMC", LAYER_GUI);
this.levelnameMC._x = 396;
this.levelnameMC._y = 580;
this.levelnameMC._visible = false;
var _local6 = gfx.GetNextDepth_Front();
this.input_txtbox = _root.attachMovie("inputBox", "inputBox" + _local6, _local6);
this.input_txtbox._x = 450;
this.input_txtbox._y = 50;
this.input_txtbox.tabEnabled = false;
this.input_txtbox.backgroundColor = 16316664 /* 0xF8F8F8 */;
this.input_txtbox._visible = false;
_local6 = gfx.GetNextDepth_Front();
this.input_txtbox2 = _root.attachMovie("inputBox2", "inputBox" + _local6, _local6);
this.input_txtbox2._x = 450;
this.input_txtbox2._y = 200;
this.input_txtbox2.tabEnabled = false;
this.input_txtbox2.backgroundColor = 16316664 /* 0xF8F8F8 */;
this.input_txtbox2._visible = false;
this.timeMC = gfx.CreateSprite("timeIndicator", LAYER_GUI);
this.timeMC._x = APP_TILE_SCALE * 2;
this.timeMC._y = APP_TILE_SCALE;
this.timeMC.bar._xscale = 0;
this.timeMC.txtbox._y = -8;
this.playerDisplayTime = 0;
this.practiseMC = gfx.CreateSprite("practiseText", LAYER_GUI);
this.practiseMC._x = APP_TILE_SCALE * 2;
this.practiseMC._y = 3;
this.practiseMC.txt = "[ Practise Mode Active ]";
this.practiseMC._visible = false;
_local6 = gfx.GetNextDepth_Front();
_root.createTextField("ninjaGUITextField", _local6, 0, 0, 545, 290);
this.textmenuMC = _root.ninjaGUITextField;
this.textmenuMC.multiline = true;
this.textmenuMC.wordWrap = true;
this.textmenuMC.selectable = false;
this.textmenuMC.border = false;
var _local5 = new TextFormat();
_local5.color = 0;
_local5.font = "_typewriter";
_local5.size = 12;
_local5.align = "left";
this.textmenuMC.setNewTextFormat(_local5);
this.textmenuMC._x = 44;
this.textmenuMC._y = 300;
this.menuMC = gfx.CreateSprite("MenuMC", LAYER_GUI);
this.menuMC._x = 0;
this.menuMC._y = 0;
this.menuMC.inity = this.menuMC._y;
this.menuMC.gotoAndStop("blank");
this.menuMC._visible = false;
this.textlineMC = gfx.CreateSprite("guiTextLineMC", LAYER_GUI);
this.textlineMC._x = 44;
this.textlineMC._y = 240;
this.textlineMC._visible = false;
this.numExtraLines = 0;
this.textlineList = new Array();
var _local4 = 0;
while (_local4 < 4) {
var _local3 = gfx.CreateSprite("guiTextLine2MC", LAYER_GUI);
_local3._x = 44;
_local3._y = 540 - (_local4 * 32);
_local3._visible = false;
this.textlineList[_local4] = _local3;
_local4++;
}
this.InitData();
}
NinjaGUI.prototype.SetPlayerTime = function (t) {
this.playerDisplayTime = t;
};
NinjaGUI.prototype.ResetPlayerTime = function () {
this.playerDisplayTime = 0;
};
NinjaGUI.prototype.FillPlayerTime = function (cur, maxT) {
var _local3 = cur - this.playerDisplayTime;
this.playerDisplayTime = this.playerDisplayTime + (0.05 * _local3);
var _local2 = this.playerDisplayTime / (maxT * 2);
this.timeMC.bar._xscale = Math.min(700, 600 * _local2);
this.timeMC.bar.gotoAndStop(Math.max(1, Math.min(101 - Math.floor(100 * _local2), 101)));
this.timeMC.txtbox.txt = this.FormatTime(this.playerDisplayTime);
this.timeMC.txtbox._x = Math.floor(this.timeMC.bar._xscale) + 1;
};
NinjaGUI.prototype.DrawPlayerTime = function (cur, maxT) {
var _local4 = cur / maxT;
var _local2 = 1 - _local4;
_local2 = Math.min(1, Math.max(0.05, _local2 * _local2));
var _local5 = cur - this.playerDisplayTime;
this.playerDisplayTime = this.playerDisplayTime + (_local2 * _local5);
var _local3 = this.playerDisplayTime / (maxT * 2);
this.timeMC.bar._xscale = Math.min(700, 600 * _local3);
this.timeMC.bar.gotoAndStop(Math.max(1, Math.min(101 - Math.floor(100 * _local3), 101)));
this.timeMC.txtbox.txt = this.FormatTime(this.playerDisplayTime);
this.timeMC.txtbox._x = Math.floor(this.timeMC.bar._xscale) + 1;
};
NinjaGUI.prototype.FormatTime = function (ticks) {
var _local1 = ticks * APP_GAMETIME_BASETICKLEN;
var _local3 = Math.floor(_local1 / 1000);
_local1 = Math.floor(_local1 - (_local3 * 1000));
var _local2 = "";
if (_local1 < 100) {
_local2 = _local2 + "0";
if (_local1 < 10) {
_local2 = _local2 + "0";
}
}
var _local4 = ((("" + _local3) + ".") + _local2) + _local1;
return(_local4);
};
NinjaGui.prototype.DrawLevelName = function (str) {
this.levelnameMC._visible = true;
this.levelnameMC.txt = str;
};
NinjaGui.prototype.ShowInGame = function () {
this.levelnameMC._visible = true;
this.timeMC._visible = true;
this.practiseMC._visible = false;
};
NinjaGui.prototype.ShowInGame_Practise = function () {
this.levelnameMC._visible = true;
this.timeMC._visible = false;
this.practiseMC._visible = true;
};
NinjaGui.prototype.HideInGame = function () {
this.playerDisplayTime = 0;
var _local3 = 0;
this.timeMC.bar._xscale = Math.min(700, 600 * _local3);
this.timeMC.bar.gotoAndStop(Math.max(1, Math.min(101 - Math.floor(100 * _local3), 101)));
this.timeMC.txtbox.txt = this.FormatTime(0);
this.timeMC.txtbox._x = Math.floor(this.timeMC.bar._xscale) + 1;
this.levelnameMC._visible = false;
this.timeMC._visible = false;
this.practiseMC._visible = false;
this.numExtraLines = 0;
var _local2 = 0;
while (_local2 < this.textlineList.length) {
this.textlineList[_local2]._visible = false;
_local2++;
}
};
NinjaGUI.prototype.HideAll = function () {
this.menuMC._visible = false;
this.textmenuMC._visible = false;
this.textlineMC._visible = false;
this.HideTxt();
};
NinjaGUI.prototype.ShowAll = function () {
this.menuMC._visible = true;
this.textmenuMC._visible = true;
this.textlineMC._visible = true;
};
NinjaGUI.prototype.HideMenu = function () {
this.menuMC._visible = false;
};
NinjaGUI.prototype.ShowMenu = function () {
this.menuMC._visible = true;
};
NinjaGUI.prototype.HideTextMenu = function () {
this.textmenuMC._visible = false;
this.textlineMC._visible = false;
};
NinjaGUI.prototype.ShowTextMenu = function () {
this.textmenuMC._visible = true;
this.textlineMC._visible = true;
};
NinjaGUI.prototype.DisplayRawText = function (str) {
this.textmenuMC._visible = true;
this.textmenuMC.text = str;
};
NinjaGUI.prototype.DisplayTextBar = function (GUI_ID) {
this.textlineMC._visible = true;
this.textlineMC.txt = this.guiList[GUI_ID];
};
NinjaGUI.prototype.AppendToTextBar = function (str) {
this.textlineMC.txt = this.textlineMC.txt + str;
};
NinjaGUI.prototype.HideNotify = function () {
this.numExtraLines = 0;
var _local2 = 0;
while (_local2 < this.textlineList.length) {
this.textlineList[_local2]._visible = false;
_local2++;
}
};
NinjaGUI.prototype.TextBarNotify = function (num, str) {
this.textlineList[num]._visible = true;
this.textlineList[num].txt = str;
};
NinjaGUI.prototype.Display = function (GUI_ID) {
if (this.guiList[GUI_ID] == null) {
return(undefined);
}
if (GUI_LAST_STRING_INDEX < GUI_ID) {
var _local5 = this.guiList[GUI_ID];
this.DisplayFrame(_local5);
} else {
var _local3 = this.guiList[GUI_ID];
var _local4 = typeof(_local3);
if (_local4 == "string") {
this.DisplayString(_local3);
} else {
this.DisplayList(_local3);
}
}
};
NinjaGUI.prototype.GetCurrentMC = function () {
return(this.menuMC);
};
NinjaGUI.prototype.DisplayFrame = function (frm) {
this.textmenuMC._visible = false;
this.textlineMC._visible = false;
this.menuMC._visible = true;
this.menuMC.gotoAndStop(frm);
};
NinjaGUI.prototype.DisplayString = function (str) {
this.menuMC._visible = false;
this.textmenuMC._visible = false;
this.textlineMC._visible = true;
this.textlineMC.txt = str;
};
NinjaGUI.prototype.DisplayList = function (strList) {
this.menuMC._visible = false;
this.textlineMC._visible = false;
this.textmenuMC._visible = true;
this.textmenuMC.text = "";
var _local2 = 0;
while (_local2 < strList.length) {
this.textmenuMC.text = this.textmenuMC.text + strList[_local2];
this.textmenuMC.text = this.textmenuMC.text + newline;
_local2++;
}
};
TXTBOX_TOP = 0;
TXTBOX_BOTTOM = 1;
NinjaGUI.prototype.GetTxt = function (boxNum) {
this.ShowTxt();
if (boxNum == TXTBOX_TOP) {
return(this.input_txtbox.txt);
}
if (boxNum == TXTBOX_BOTTOM) {
return(this.input_txtbox2.txt);
}
};
NinjaGUI.prototype.SetTxt = function (boxNum, str) {
this.ShowTxt();
if (boxNum == TXTBOX_TOP) {
this.input_txtbox.txt = str;
} else if (boxNum == TXTBOX_BOTTOM) {
this.input_txtbox2.txt = str;
}
};
NinjaGUI.prototype.HideTxt = function () {
this.input_txtbox._visible = (this.input_txtbox2._visible = false);
};
NinjaGUI.prototype.ShowTxt = function () {
this.input_txtbox._visible = (this.input_txtbox2._visible = true);
};
GUI_LOADINGAPP = 0;
GUI_CONFIRMQUIT = 1;
GUI_LOADINGLEVEL = 2;
GUI_PRELEVEL = 3;
GUI_PAUSE = 4;
GUI_RETRYLEVEL = 5;
GUI_POSTLEVEL = 6;
GUI_DEBUGMENU = 7;
GUI_RESETTINGLEVEL = 8;
GUI_TEMP_EDITOR = 9;
GUI_TILE_EDITOR = 10;
GUI_OBJ_EDITOR = 11;
GUI_INGAMEDEMO = 12;
GUI_PASSEDEPISODE = 13;
GUI_RETRYLEVEL_SUICIDE = 14;
GUI_BEATGAME = 15;
GUI_GAMEOVER = 16;
GUI_KEYCONFIG = 17;
GUI_POSTLEVDEMO = 18;
GUI_POSTLEVELTIMETRIAL = 19;
GUI_PRELEVELTIMETRIAL = 20;
GUI_PAUSETIMETRIAL = 21;
GUI_PRELEVELPRACTISE = 22;
GUI_PRELEVELCUSTOM = 23;
GUI_POSTLEVELCUSTOM = 24;
GUI_LAST_STRING_INDEX = 24;
GUI_GOODBYE4 = 25;
GUI_VICTORY1 = 26;
GUI_PLAYMENU = 27;
GUI_CONFIGURE = 28;
GUI_DEFEAT = 29;
GUI_MAINMENU = 30;
GUI_HIGHSCOREMENU = 31;
GUI_CONTINUE = 32;
GUI_HELP = 33;
GUI_TIMETRIALMENU = 34;
GUI_GOODBYE5 = 35;
GUI_GOODBYE6 = 36;
GUI_GOODBYE7 = 37;
GUI_VICTORY2 = 38;
GUI_VICTORY3 = 39;
GUI_VICTORY4 = 40;
GUI_VICTORY5 = 41;
GUI_VICTORY6 = 42;
GUI_VICTORY7 = 43;
GUI_STORY = 44;
GUI_GOODBYE1 = 45;
GUI_CUSTOMMENU = 46;
GUI_GOODBYE2 = 47;
GUI_GOODBYE3 = 48;
NinjaGUI.prototype.InitData = function () {
this.guiList = new Object();
this.guiList[GUI_LOADINGAPP] = "loading app..";
this.guiList[GUI_CONFIRMQUIT] = "really quit? (y/n)";
this.guiList[GUI_LOADINGLEVEL] = "loading level... (please wait)";
this.guiList[GUI_PRELEVEL] = "level loaded.. press [spacebar] to begin, [Q] to quit";
this.guiList[GUI_PAUSE] = "game paused.. [spacebar] or [pause key]: unpause [Q]: quit";
this.guiList[GUI_RETRYLEVEL] = "ouch... press [spacebar] to try again, [R] to watch replay";
this.guiList[GUI_POSTLEVEL] = "level complete! [spacebar] to continue, [R] to watch replay";
this.guiList[GUI_RESETTINGLEVEL] = "resetting level... (please wait)";
this.guiList[GUI_INGAMEDEMO] = "instant replay... press [spacebar] to try again.";
this.guiList[GUI_RETRYLEVEL_SUICIDE] = "harsh, guy! press [spacebar] to try again.";
this.guiList[GUI_BEATGAME] = "you have achieved transcendence!!! ..[spacebar] for main menu";
this.guiList[GUI_GAMEOVER] = "..you ran out of time. GAME OVER. press [spacebar] for main menu";
this.guiList[GUI_PASSEDEPISODE] = "";
this.guiList[GUI_KEYCONFIG] = "press your desired key; [Q] to abort";
this.guiList[GUI_POSTLEVDEMO] = "instant replay... press [spacebar] to continue.";
this.guiList[GUI_POSTLEVELTIMETRIAL] = "level complete! press [spacebar] to retry, [Q] to select new level";
this.guiList[GUI_PRELEVELTIMETRIAL] = "level loaded; press [spacebar] to begin, [Q] to select new level";
this.guiList[GUI_PAUSETIMETRIAL] = "game paused.. [spacebar] or [pause key]: unpause [Q] to select new level";
this.guiList[GUI_PRELEVELPRACTISE] = "level loaded.. [spacebar]: begin, [Q]: quit, [enter]: skip level";
this.guiList[GUI_PRELEVELCUSTOM] = "level loaded.. press [spacebar] to begin, [Q] to select new level";
this.guiList[GUI_POSTLEVELCUSTOM] = "level complete! [spacebar]: retry, [Q]: return to user levels menu";
this.guiList[GUI_HELP] = "help_menu";
this.guiList[GUI_STORY] = "story_menu";
this.guiList[GUI_MAINMENU] = "main_menu";
this.guiList[GUI_CONTINUE] = "continue_menu";
this.guiList[GUI_GOODBYE1] = "credits1";
this.guiList[GUI_GOODBYE2] = "credits2";
this.guiList[GUI_GOODBYE3] = "credits3";
this.guiList[GUI_GOODBYE4] = "credits4";
this.guiList[GUI_GOODBYE5] = "credits5";
this.guiList[GUI_GOODBYE6] = "credits6";
this.guiList[GUI_GOODBYE7] = "credits7";
this.guiList[GUI_VICTORY1] = "beatgame1";
this.guiList[GUI_VICTORY2] = "beatgame2";
this.guiList[GUI_VICTORY3] = "beatgame3";
this.guiList[GUI_VICTORY4] = "beatgame4";
this.guiList[GUI_VICTORY5] = "beatgame5";
this.guiList[GUI_VICTORY6] = "beatgame6";
this.guiList[GUI_VICTORY7] = "beatgame7";
this.guiList[GUI_DEFEAT] = "gameover";
this.guiList[GUI_PLAYMENU] = "play_menu";
this.guiList[GUI_CONFIGURE] = "config_menu";
this.guiList[GUI_HIGHSCOREMENU] = "highscore_menu";
this.guiList[GUI_TIMETRIALMENU] = "timetrial_menu";
this.guiList[GUI_CUSTOMMENU] = "custom_menu";
var _local4 = new Array();
_local4.push("");
_local4.push("**** EDIT MODE ****");
_local4.push("[M]: return to main menu");
_local4.push("[L]: load level (from textbox)");
_local4.push("[S]: save level (to clipboard)");
_local4.push("[J]: load empty map");
_local4.push("[H]: load full map");
_local4.push("[E]: edit level");
_local4.push("[R]: reset objects");
_local4.push("[T]: reset+edit");
_local4.push("[P]: continue playing level");
_local4.push("---");
_local4.push("[1]: begin recording demo");
_local4.push("[2]: stop recording demo");
_local4.push("[Q]: begin demo playback (WARNING: resets objects)");
_local4.push("[W]: end demo playback");
_local4.push("[3]: load demo (from textbox)");
_local4.push("[4]: save demo (to clipboard)");
this.guiList[GUI_DEBUGMENU] = _local4;
var _local2 = new Array();
_local2.push("");
_local2.push("");
_local2.push("");
_local2.push("");
_local2.push("");
_local2.push("");
_local2.push("");
_local2.push("");
_local2.push("");
_local2.push("");
_local2.push("");
_local2.push("");
_local2.push("+++++++++++++< Ned >+++++++++++++++++++++++++++++++");
_local2.push(" [insert] or [numpad 0]: obj editor");
_local2.push(" [delete] or [numpad .]: tile editor");
_local2.push(" [PGDN]: save data (to txtbox)");
_local2.push(" [PGUP]: load data (from txtbox)");
_local2.push("---------------------------------------------------");
_local2.push(" [~] or [|] or [\\]: back to debug menu");
this.guiList[GUI_TEMP_EDITOR] = _local2;
var _local5 = new Array();
_local5.push("");
_local5.push("");
_local5.push("");
_local5.push("");
_local5.push("");
_local5.push("");
_local5.push("");
_local5.push("");
_local5.push("");
_local5.push("");
_local5.push("");
_local5.push("");
_local5.push("");
_local5.push("---(editing tiles)----------------");
_local5.push("[insert] or [numpad 0]: obj editor");
_local5.push(" [home]: edit menu");
this.guiList[GUI_TILE_EDITOR] = _local5;
var _local3 = new Array();
_local3.push("");
_local3.push("");
_local3.push("");
_local3.push("");
_local3.push("");
_local3.push("");
_local3.push("");
_local3.push("");
_local3.push("");
_local3.push("");
_local3.push("");
_local3.push("");
_local3.push("");
_local3.push("");
_local3.push("--(editing objects)------------------");
_local3.push(" [backspace + click]: delete object");
_local3.push("[delete] or [numpad .]: tile editor");
_local3.push(" [home]: edit menu");
this.guiList[GUI_OBJ_EDITOR] = _local3;
};
function ConsoleObject(x, y, w, h) {
this.CONSOLE_KEY = 109;
this.CONSOLE_KEY_WAS_DOWN = false;
this.UP_KEY = 105;
this.DN_KEY = 99;
this.SCROLL_WAS_DOWN = false;
this.SCROLLSPEED = 4;
this.SCROLLCOUNTER = 0;
this.numLines = 16;
this.maxLen = 80;
this.tabs = 0;
this.buffer = new Array();
this.buffer.push("\n====[N]====");
this.txt = "";
this.topLine = 0;
this.botLine = 0;
this.pos = new Vector2(44, 28);
this.dimensions = new Vector2(w, h);
this.curpos = new Vector2(x, y);
var _local4 = gfx.GetNextDepth_Front();
var _local3 = gfx.CreateEmptySprite(LAYER_CONSOLE);
_local3.createTextField("consoleTxtField", 990, this.pos.x, this.pos.y, w, h);
this.mc = _local3.consoleTxtField;
this.mc.multiline = true;
this.mc.wordWrap = true;
this.mc.selectable = false;
this.mc.embedFonts = true;
var _local2 = new TextFormat();
_local2.color = 0;
_local2.font = "n_uni05_53";
_local2.size = 8;
_local2.align = "left";
this.mc.setNewTextFormat(_local2);
this.mc.setTextFormat(_local2);
this.active = true;
}
ConsoleObject.prototype.AnimateIn = function () {
var _local2 = this.pos.x - this.curpos.y;
if (Math.abs(_local2) < 20) {
this.curpos.y = this.pos.y;
this.Animate = null;
} else {
this.curpos.y = this.curpos.y + (_local2 * 0.15);
}
this.mc._y = this.curpos.y;
};
ConsoleObject.prototype.AnimateOut = function () {
var _local2 = (-this.dimensions.y) - this.curpos.y;
if (Math.abs(_local2) < 20) {
this.curpos.y = -this.dimensions.y;
this.Animate = null;
this.mc._visible = false;
} else {
this.curpos.y = this.curpos.y + (_local2 * 0.15);
}
this.mc._y = this.curpos.y;
};
ConsoleObject.prototype.Update = function () {
this.Animate();
if (Key.isDown(this.CONSOLE_KEY)) {
if (!this.CONSOLE_KEY_WAS_DOWN) {
this.CONSOLE_KEY_WAS_DOWN = true;
this.Toggle();
}
} else {
this.CONSOLE_KEY_WAS_DOWN = false;
}
if (this.active) {
var _local2 = 0;
if (Key.isDown(this.UP_KEY)) {
_local2 = _local2 - 1;
} else if (Key.isDown(this.DN_KEY)) {
_local2 = _local2 + 1;
} else {
this.SCROLL_WAS_DOWN = false;
}
if (_local2 != 0) {
if (!this.SCROLL_WAS_DOWN) {
this.SCROLL_WAS_DOWN = true;
this.SCROLLCOUNTER = 0;
this.topline = Math.max(0, Math.min(this.buffer.length - this.numLines, this.topline + _local2));
} else if (this.SCROLLSPEED < (this.SCROLLCOUNTER++)) {
this.SCROLL_WAS_DOWN = false;
}
}
this.Refresh();
}
};
ConsoleObject.prototype.Show = function () {
this.mc._visible = true;
this.active = true;
this.Animate = this.AnimateIn;
};
ConsoleObject.prototype.Hide = function () {
this.active = false;
this.Animate = this.AnimateOut;
};
ConsoleObject.prototype.Toggle = function () {
if (this.active) {
this.Hide();
} else {
this.Show();
}
};
ConsoleObject.prototype.Refresh = function () {
this.txt = "";
var _local2 = this.topLine;
while (_local2 < this.buffer.length) {
this.txt = this.txt + this.buffer[_local2];
_local2++;
}
this.mc.text = this.txt;
};
ConsoleObject.prototype.Clear = function () {
delete this.buffer;
this.buffer = new Array();
this.txt = "====[N]====";
this.mc.text = this.txt;
this.tabs = 0;
this.curLine = 0;
};
ConsoleObject.prototype.AddLine = function (str) {
var _local2 = 0;
while (_local2 < this.tabs) {
str = "\t" + str;
_local2++;
}
str = newline + str;
this.botLine++;
this.topLine = Math.max(this.topLine, this.botLine - this.numLines);
this.buffer.pop();
this.buffer.push(str);
this.buffer.push("\n====[N]====");
};
ConsoleObject.prototype.Append = function (str) {
if ((this.maxLen - (this.tabs * 4)) < (this.buffer[this.buffer.length - 2].length + str.length)) {
this.AddLine(str);
} else {
this.buffer[this.buffer.length - 2] = this.buffer[this.buffer.length - 2] + str;
}
};
ConsoleObject.prototype.StartTab = function () {
};
ConsoleObject.prototype.StopTab = function () {
};
function StartApp() {
_root.onEnterFrame = RunApp;
Key.addListener(_root);
APP_KEY_TRIG = false;
APP_KEY_PRESSED = false;
APP_t0 = getTimer();
APP_FPSBOX = gfx.CreateSprite("fpsBox", LAYER_GUI);
APP_FPSBOX._x = 0;
APP_FPSBOX._y = 580;
}
function RunApp() {
var _local2 = APP_t0;
APP_t0 = getTimer();
var _local1 = APP_t0 - _local2;
APP_FPSBOX.txt = "" + Math.ceil(_local1);
input.Update();
console.Update();
if (Key.isDown(APP_BOSS_KEY)) {
if (!APP_BOSSDOWN) {
StartBossMode();
return(undefined);
}
APP_BOSSDOWN = true;
} else {
APP_BOSSDOWN = false;
}
if (APP_BOSSDELAY) {
APP_BOSSDELAY = false;
App_ResetGameTime();
}
TickApp();
}
function StartBossMode() {
APP_BOSSDOWN = true;
var _local2 = new Sound();
_local2.stop();
_root.onEnterFrame = RunBoss;
gfx.rootbuffer._visible = false;
APP_BOSS_PROMPT = _root.attachMovie("bossPrompt", "bossPrompt", 999);
}
function RunBoss() {
if (Key.isDown(81)) {
fscommand ("quit");
}
if (Key.isDown(APP_BOSS_KEY)) {
if (!APP_BOSSDOWN) {
StopBossMode();
}
APP_BOSSDOWN = true;
} else {
APP_BOSSDOWN = false;
}
}
function StopBossMode() {
APP_BOSSDELAY = true;
_root.onEnterFrame = RunApp;
gfx.rootbuffer._visible = true;
APP_BOSS_PROMPT.removeMovieClip();
}
function CloseApp() {
}
function SetActiveProcess(func) {
TickApp = func;
}
function AppBuildModules() {
CURRENT_APP_BUILD_STEP = -2;
SetActiveProcess(AppBuildingModules);
}
function AppBuildingModules() {
if (CURRENT_APP_BUILD_STEP == -2) {
console = new ConsoleObject(16, 16, 600, 300);
CURRENT_APP_BUILD_STEP++;
console.Clear();
console.AddLine("Building App Modules:");
console.StartTab();
console.AddLine("ConsoleObject built.");
gui = new NinjaGUI();
console.AddLine("NinjaGUI built.");
gui.Display(GUI_LOADINGAPP);
} else if (CURRENT_APP_BUILD_STEP == -1) {
CURRENT_APP_BUILD_STEP++;
filesys = new NinjaFilesys_Game();
} else if (CURRENT_APP_BUILD_STEP == 0) {
tiles = new TileMap(APP_NUM_GRIDCOLS, APP_NUM_GRIDROWS, APP_TILE_SCALE, APP_TILE_SCALE);
CURRENT_APP_BUILD_STEP++;
console.AddLine("TileMap built.");
console.StartTab();
console.AddLine("initing TileMapCells.");
} else if (CURRENT_APP_BUILD_STEP == 1) {
console.Append(".");
if (!tiles.Building()) {
console.StopTab();
CURRENT_APP_BUILD_STEP++;
}
} else if (CURRENT_APP_BUILD_STEP == 2) {
objects = new ObjectManager();
CURRENT_APP_BUILD_STEP++;
console.AddLine("ObjectManager built.");
} else if (CURRENT_APP_BUILD_STEP == 3) {
userdata = new NinjaUserData();
APP_BOSS_KEY = userdata.GetBossKey();
CURRENT_APP_BUILD_STEP++;
console.AddLine("NinjaUserData built.");
} else if (CURRENT_APP_BUILD_STEP == 4) {
game = new NinjaGame();
CURRENT_APP_BUILD_STEP++;
console.AddLine("NinjaGame built.");
} else if (CURRENT_APP_BUILD_STEP == 5) {
CURRENT_APP_BUILD_STEP++;
console.AddLine("NinjaEditor built.");
} else if (CURRENT_APP_BUILD_STEP == 6) {
gamedata = new NinjaData();
CURRENT_APP_BUILD_STEP++;
console.AddLine("NinjaData built.");
} else {
onlineclient = new NinjaOnlineClient();
console.StopTab();
Init_Hacky_GoldSound();
var _local2 = _root._url;
if (_local2.substr(0, 4) != "file") {
getURL ("http://www.harveycartel.org/metanet/", _top);
}
App_LoadMainMenu();
}
}
_root.onKeyDown = function () {
if (!APP_KEY_PRESSED) {
APP_KEY_TRIG = true;
} else {
APP_KEY_TRIG = false;
}
APP_KEY_PRESSED = true;
};
_root.onKeyUp = function () {
APP_KEY_PRESSED = false;
};
APP_BOSS_KEY = 96;
APP_BOSS_PROMPT = null;
APP_BOSS_PAUSEDTHREAD = null;
APP_BOSSDOWN = false;
APP_BOSSDELAY = false;
function App_Spider_BeginProcessing() {
SetActiveProcess(App_Spider_Tick_Processing);
}
function App_Spider_FinishProcessing() {
}
function App_Spider_DumpLog() {
var _local2 = new Date();
APP_SPIDER_LOG = "N spider log: " + _local2.toString();
APP_SPIDER_LOG = APP_SPIDER_LOG + "\n\n";
APP_SPIDER_LOG = APP_SPIDER_LOG + "[valid scores]\n";
APP_SPIDER_LOG = APP_SPIDER_LOG + (("----[episodes]: " + APP_SPIDER_VALIDLIST_EP.length) + newline);
while (APP_SPIDER_VALIDLIST_EP.length != 0) {
var _local1 = APP_SPIDER_VALIDLIST_EP.pop();
APP_SPIDER_LOG = APP_SPIDER_LOG + ((((((((":" + _local1.pkey) + " | ") + _local1.epnum) + " | ") + _local1.levnum) + " | ") + _local1.score) + newline);
}
APP_SPIDER_LOG = APP_SPIDER_LOG + (("------[levels]: " + APP_SPIDER_VALIDLIST_LEV.length) + newline);
while (APP_SPIDER_VALIDLIST_LEV.length != 0) {
var _local1 = APP_SPIDER_VALIDLIST_LEV.pop();
APP_SPIDER_LOG = APP_SPIDER_LOG + ((((((((":" + _local1.pkey) + " | ") + _local1.epnum) + " | ") + _local1.levnum) + " | ") + _local1.score) + newline);
}
APP_SPIDER_LOG = APP_SPIDER_LOG + "[corrupt scores]\n";
APP_SPIDER_LOG = APP_SPIDER_LOG + (("------[episodes]: " + APP_SPIDER_CORRUPTLIST_EP.length) + newline);
while (APP_SPIDER_CORRUPTLIST_EP.length != 0) {
var _local1 = APP_SPIDER_CORRUPTLIST_EP.pop();
APP_SPIDER_LOG = APP_SPIDER_LOG + ((((((((((":" + _local1.pkey) + " | ") + _local1.epnum) + " | ") + _local1.levnum) + " | ") + _local1.score) + " | ") + _local1.badscore) + newline);
}
APP_SPIDER_LOG = APP_SPIDER_LOG + (("--------[levels]: " + APP_SPIDER_CORRUPTLIST_LEV.length) + newline);
while (APP_SPIDER_CORRUPTLIST_LEV.length != 0) {
var _local1 = APP_SPIDER_CORRUPTLIST_LEV.pop();
APP_SPIDER_LOG = APP_SPIDER_LOG + ((((((((((":" + _local1.pkey) + " | ") + _local1.epnum) + " | ") + _local1.levnum) + " | ") + _local1.score) + " | ") + _local1.badscore) + newline);
}
}
function App_Spider_Tick_Processing() {
}
function App_Spider_ProcessEpisode(isValid) {
}
function App_Spider_ProcessLevel(isValid) {
}
function App_Spider_StartTestingEpisode(pkey, epnum, numticks, demo0, demo1, demo2, demo3, demo4) {
game.InitNewGame(false);
APP_SPIDER_PKEY = pkey;
APP_SPIDER_NUMTICKS = numticks;
APP_SPIDER_EPDEMO[0] = demo0;
APP_SPIDER_EPDEMO[1] = demo1;
APP_SPIDER_EPDEMO[2] = demo2;
APP_SPIDER_EPDEMO[3] = demo3;
APP_SPIDER_EPDEMO[4] = demo4;
APP_SPIDER_ISEPISODE = true;
APP_SPIDER_EPNUM = epnum;
APP_SPIDER_LEVNUM = 0;
game.InitNewGame(false);
App_Spider_RunTest();
}
function App_Spider_StartTestingLevel(pkey, epnum, levnum, numticks, demo) {
APP_SPIDER_PKEY = pkey;
APP_SPIDER_NUMTICKS = numticks;
APP_SPIDER_LEVDEMO = demo;
APP_SPIDER_ISEPISODE = false;
APP_SPIDER_EPNUM = epnum;
APP_SPIDER_LEVNUM = levnum;
game.InitNewGame(true);
App_Spider_RunTest();
}
function App_LevelPassedEvent_Spider() {
if (APP_SPIDER_ISEPISODE) {
APP_SPIDER_LEVNUM++;
if (APP_SPIDER_LEVNUM < 5) {
App_Spider_RunTest();
return(undefined);
}
App_Spider_VerifyResult();
SetActiveProcess(App_Spider_Tick_Processing);
return(undefined);
}
App_Spider_VerifyResult();
SetActiveProcess(App_Spider_Tick_Processing);
return(undefined);
}
function App_PlayerDeathEvent_Spider() {
App_Spider_ResultCorrupt(-1);
}
function App_Spider_VerifyResult() {
var _local1 = game.GetPlayerTime();
if (APP_SPIDER_NUMTICKS == _local1) {
App_Spider_ResultValid();
} else {
App_Spider_ResultCorrupt(_local1);
}
}
function App_Spider_ResultValid() {
var _local1 = new Object();
_local1.pkey = APP_SPIDER_PKEY;
_local1.score = APP_SPIDER_NUMTICKS;
_local1.epnum = APP_SPIDER_EPNUM;
_local1.levnum = APP_SPIDER_LEVNUM;
if (APP_SPIDER_ISEPISODE) {
APP_SPIDER_VALIDLIST_EP.push(_local1);
} else {
APP_SPIDER_VALIDLIST_LEV.push(_local1);
}
}
function App_Spider_ResultCorrupt(badTime) {
var _local1 = new Object();
_local1.pkey = APP_SPIDER_PKEY;
_local1.score = APP_SPIDER_NUMTICKS;
_local1.badscore = badTime;
_local1.epnum = APP_SPIDER_EPNUM;
_local1.levnum = APP_SPIDER_LEVNUM;
if (APP_SPIDER_ISEPISODE) {
APP_SPIDER_CORRUPTLIST_EP.push(_local1);
} else {
APP_SPIDER_CORRUPTLIST_LEV.push(_local1);
}
}
function App_Spider_RunTest() {
game.InitNewLevel();
gamedata.LoadEpisodeNum(APP_SPIDER_EPNUM);
App_LoadLevel(APP_SPIDER_LEVNUM, App_Spider_PlayGame_Normal);
}
function App_Spider_PlayGame_Normal() {
gui.HideAll();
gui.HideNotify();
var _local1 = new Sound();
_local1.stop();
_local1.setVolume(0);
game.InitNewLevel();
game.SetDemoFormat(false);
game.StopDemoPlayback();
game.StopRecordingDemo();
game.InitRetryLevel();
game.StopDemoPlayback();
if (APP_SPIDER_ISEPISODE) {
game.LoadDemo(APP_SPIDER_EPDEMO[APP_SPIDER_LEVNUM]);
} else {
game.LoadDemo(APP_SPIDER_LEVDEMO);
}
game.StartDemoPlayback();
App_PlayerDeathEvent = App_PlayerDeathEvent_Spider;
App_LevelPassedEvent = App_LevelPassedEvent_Spider;
SetActiveProcess(App_Spider_Tick_RunningGame);
}
function App_Spider_Tick_RunningGame() {
App_Spider_UpdateGame();
if (game.playerCurTime <= 0) {
game.KillPlayer(KILLTYPE_FALL, 0, 0, player.pos.x, player.pos.y, player);
}
}
function App_UpdateGame() {
var _local2 = APP_SPIDER_GAMETIME_t0;
APP_SPIDER_GAMETIME_t0 = APP_t0;
var _local1 = (APP_SPIDER_GAMETIME_t0 - _local2) + APP_SPIDER_GAMETIME_REMAINDER;
var _local3 = _local1;
if (2000 < _local1) {
_local1 = APP_SPIDER_GAMETIME_TICKLEN;
}
while (APP_SPIDER_GAMETIME_TICKLEN <= _local1) {
_local1 = _local1 - APP_SPIDER_GAMETIME_TICKLEN;
game.Tick();
game.playerCurTime--;
}
APP_SPIDER_GAMETIME_REMAINDER = _local1;
}
APP_SPIDER_PKEY = -1;
APP_SPIDER_NUMTICKS = -1;
APP_SPIDER_EPDEMO = new Array();
var i = 0;
while (i < 5) {
APP_SPIDER_EPDEMO[i] = "";
i++;
}
APP_SPIDER_ISEPISODE = false;
APP_SPIDER_EPNUM = -1;
APP_SPIDER_LEVNUM = -1;
APP_SPIDER_LOG = "";
APP_SPIDER_VALIDLIST_EP = new Array();
APP_SPIDER_CORRUPTLIST_EP = new Array();
APP_SPIDER_VALIDLIST_LEV = new Array();
APP_SPIDER_CORRUPTLIST_LEV = new Array();
APP_SPIDER_GAMETIME_t0 = 0;
APP_SPIDER_GAMETIME_REMAINDER = 0;
function App_LoadMainMenu() {
var _local3 = _root._url;
if (_local3.substr(0, 4) != "file") {
getURL ("http://www.harveycartel.org/metanet/", _top);
}
var _local2 = new Sound();
_local2.stop();
_local2.setVolume(Math.round(userdata.GetVol()));
APP_DEBUG_MODE_ACTIVE = false;
App_StartLoadingMenuDemo();
App_StartMainMenu();
}
function App_StartMainMenu() {
if (APP_GAME_WAS_PLAYED) {
APP_GAME_WAS_PLAYED = false;
App_LoadMainMenu();
}
var _local3 = _root._url;
if (_local3.substr(0, 4) != "file") {
getURL ("http://www.harveycartel.org/metanet/", _top);
}
APP_DEBUG_MODE_ACTIVE = false;
var _local2 = new Sound();
_local2.stop();
_local2.setVolume(Math.round(userdata.GetVol()));
APP_PRE_QUIT = false;
App_PlayerDeathEvent = App_PlayerDeathEvent_Normal;
App_LevelPassedEvent = App_PlayerDeathEvent_Normal;
gui.HideInGame();
gui.Display(GUI_MAINMENU);
App_ResetGameTime();
SetActiveProcess(App_Tick_MainMenu);
}
function GUIEvent_MainMenu_Help() {
console.Show();
game.StopDemoPlayback();
var _local1 = new Sound();
_local1.stop();
App_ResetGameTime();
App_StartHelp();
}
function GUIEvent_MainMenu_Story() {
console.Hide();
App_ResetGameTime();
gui.Display(GUI_STORY);
}
function GUIEvent_MainMenu_Quit() {
console.Hide();
App_ResetGameTime();
App_StartQuit();
}
function GUIEvent_MainMenu_Credits() {
console.Hide();
App_ResetGameTime();
App_StartCredits();
}
function GUIEvent_MainMenu_PlayGame() {
App_ResetGameTime();
App_StartPlayMenu();
}
function GUIEvent_MainMenu_Custom(reload) {
console.Hide();
App_ResetGameTime();
App_StartCustomMenu(reload);
}
function GUIEvent_MainMenu_Configure() {
App_ResetGameTime();
App_StartConfigMenu();
}
function GUIEvent_MainMenu_ContinueGame() {
App_ResetGameTime();
App_StartContinue();
}
function GUIEvent_MainMenu_Highscores() {
console.Hide();
App_ResetGameTime();
App_StartHighscoreMenu(true);
}
function GUIEvent_MainMenu_TimeTrial(newDemo) {
console.Hide();
App_ResetGameTime();
App_StartHighscoreMenu(false);
}
function GUIEvent_MainMenu_Editor() {
game.StopDemoPlayback();
App_StartNewGame_Debug();
}
function App_Tick_MainMenu() {
if (APP_PRE_QUIT) {
if (APP_KEY_TRIG && (Key.isDown(89))) {
APP_KEY_TRIG = false;
App_Quit();
return(undefined);
}
if (APP_KEY_TRIG && (Key.isDown(78))) {
APP_KEY_TRIG = false;
App_StartMainMenu();
}
} else {
if (APP_KEY_TRIG && (Key.isDown(72))) {
APP_KEY_TRIG = false;
GUIEvent_MainMenu_Help();
return(undefined);
}
if (APP_KEY_TRIG && (Key.isDown(83))) {
APP_KEY_TRIG = false;
GUIEvent_MainMenu_Story();
return(undefined);
}
if (APP_KEY_TRIG && (Key.isDown(81))) {
APP_KEY_TRIG = false;
GUIEvent_MainMenu_Quit();
return(undefined);
}
if (APP_KEY_TRIG && (Key.isDown(78))) {
APP_KEY_TRIG = false;
GUIEvent_MainMenu_PlayGame();
return(undefined);
}
if (APP_KEY_TRIG && (Key.isDown(67))) {
APP_KEY_TRIG = false;
GUIEvent_MainMenu_Configure();
return(undefined);
}
if ((APP_KEY_TRIG && (Key.isDown(192))) || (APP_KEY_TRIG && (Key.isDown(220)))) {
APP_KEY_TRIG = false;
GUIEvent_MainMenu_Editor();
return(undefined);
}
if (APP_KEY_TRIG && (Key.isDown(101))) {
APP_KEY_TRIG = false;
GUIEvent_MainMenu_ContinueGame();
return(undefined);
}
if (APP_KEY_TRIG && (Key.isDown(108))) {
APP_KEY_TRIG = false;
GUIEvent_MainMenu_Credits();
return(undefined);
}
if (APP_KEY_TRIG && (Key.isDown(89))) {
APP_KEY_TRIG = false;
GUIEvent_MainMenu_Highscores();
return(undefined);
}
if (APP_KEY_TRIG && (Key.isDown(85))) {
APP_KEY_TRIG = false;
GUIEvent_MainMenu_Custom(true);
return(undefined);
}
}
App_UpdateMainMenu();
}
function App_StartLoadingMenuDemo() {
App_PlayerDeathEvent = App_PlayerDeathEvent_Normal;
App_LevelPassedEvent = App_PlayerDeathEvent_Normal;
App_UpdateMainMenu = App_UpdateMainMenu_LoadDemo;
game.StopDemoPlayback();
game.InitNewGame(false);
var _local1 = gamedata.GetCurrentMenuDemoID();
App_LoadMenuDemo(_local1);
APP_DEBUG_DEATH = true;
gamedata.IncrementCurrentMenuDemo();
console.Show();
}
function App_UpdateMainMenu_LoadDemo() {
if (!App_LoadingMenuDemo()) {
APP_DEBUG_DEATH = true;
console.Hide();
game.InitNewLevel();
game.StartDemoPlayback();
App_UpdateMainMenu = App_UpdateMainMenu_TickDemo;
App_ResetGameTime();
}
}
function App_UpdateMainMenu_TickDemo() {
var _local1 = game.GetDemoTickCount() - game.GetTime();
if ((_local1 < -130) || (player.isDead && (130 < (game.GetTime() - player.timeOfDeath)))) {
var _local2 = new Sound();
_local2.stop();
App_StartLoadingMenuDemo();
return(undefined);
}
App_UpdateGame_Demo(false, false);
}
function App_StartContinue() {
gui.Display(GUI_CONTINUE);
SetActiveProcess(App_TickContinue);
}
function App_TickContinue() {
App_UpdateMainMenu();
}
function App_ReadInputContinueCode() {
var _local2 = gui.GetCurrentMC().continuemenu;
var _local1 = _local2.txt;
App_SubmitContinueCode(_local1);
}
function App_SubmitContinueCode(code) {
if ((code != "xxxx") && (gamedata.LoadEpisode(code))) {
var _local1 = new Sound();
_local1.stop();
userdata.NotifyEpisodeReached(gamedata.curEpisode);
APP_IS_CHEATER = true;
App_StartNewGame();
} else {
gamedata.ResetEpisode();
console.AddLine("Invalid Episode Code.");
App_StartMainMenu();
}
}
function App_StartCredits() {
var _local1 = Math.random();
if (_local1 < 0.142857142857143) {
gui.Display(GUI_GOODBYE4);
} else if (_local1 < 0.285714285714286) {
gui.Display(GUI_GOODBYE3);
} else if (_local1 < 0.428571428571429) {
gui.Display(GUI_GOODBYE2);
} else if (_local1 < 0.571428571428571) {
gui.Display(GUI_GOODBYE1);
} else if (_local1 < 0.714285714285714) {
gui.Display(GUI_GOODBYE5);
} else if (_local1 < 0.857142857142857) {
gui.Display(GUI_GOODBYE6);
} else {
gui.Display(GUI_GOODBYE7);
}
APP_KEY_TRIG = false;
SetActiveProcess(App_TickCredits);
}
function App_TickCredits() {
if (APP_KEY_TRIG) {
APP_KEY_TRIG = false;
App_ResetGameTime();
App_StartMainMenu();
}
}
function App_StartHelp() {
gui.Display(GUI_HELP);
var _local1 = gui.GetCurrentMC().helpmenu;
_local1.keyL._visible = false;
_local1.keyR._visible = false;
_local1.keyJ._visible = false;
APP_DEBUG_DEATH = true;
SetActiveProcess(App_Tick_Help);
App_UpdateHelp = App_UpdateHelp_LoadLevel;
APP_HELPLEVEL_LOADED = false;
App_BeginLoadMenuDemo(gamedata.GetHelpLevelData(), "");
}
function App_UpdateHelp_LoadLevel() {
if (!App_LoadingMenuDemo()) {
APP_HELPLEVEL_LOADED = true;
App_StartHelpDemo(HELPDEMO_WELCOME);
}
}
function App_StartHelpDemo(demoID) {
if (APP_HELPLEVEL_LOADED) {
var _local1 = new Sound();
_local1.stop();
console.Show();
App_LoadHelpDemo(demoID);
App_UpdateHelp = App_UpdateHelp_LoadDemo;
}
}
function App_ContinueHelpDemo() {
console.Show();
var _local1 = new Sound();
_local1.stop();
App_ResetHelpDemo();
App_UpdateHelp = App_UpdateHelp_ResetDemo;
}
function App_PlayHelpDemo(str) {
var _local2 = new Sound();
_local2.stop();
App_PlayerDeathEvent = App_PlayerDeathEvent_Normal;
App_LevelPassedEvent = App_PlayerDeathEvent_Normal;
game.InitNewGame(false);
App_ResetGameTime();
gui.ResetPlayerTime();
game.StopDemoPlayback();
game.LoadDemo(str);
game.StartDemoPlayback();
App_UpdateHelp = App_UpdateHelp_TickDemo;
var _local1 = gui.GetCurrentMC().helpmenu;
_local1.keyL._visible = true;
_local1.keyR._visible = true;
_local1.keyJ._visible = true;
_local1.keyL.gotoAndStop(2);
_local1.keyR.gotoAndStop(2);
_local1.keyJ.gotoAndStop(2);
}
function App_Tick_Help() {
if (Key.isDown(49)) {
App_StartHelpDemo(HELPDEMO_JUMP1);
} else if (Key.isDown(50)) {
App_StartHelpDemo(HELPDEMO_JUMP2);
} else if (Key.isDown(51)) {
App_StartHelpDemo(HELPDEMO_MOVE1);
}
if (APP_KEY_TRIG && (Key.isDown(77))) {
APP_KEY_TRIG = false;
App_LoadMainMenu();
} else {
App_UpdateHelp();
}
}
function App_UpdateHelp_LoadDemo() {
if (!App_LoadingHelpDemo()) {
console.Hide();
App_PlayHelpDemo(gamedata.GetCurrentHelpDemoData());
}
}
function App_UpdateHelp_ResetDemo() {
if (!App_ResettingHelpDemo()) {
console.Hide();
App_PlayHelpDemo(gamedata.GetCurrentHelpDemoData());
}
}
function App_UpdateHelp_TickDemo() {
if ((game.GetDemoTickCount() - game.GetTime()) < -60) {
gamedata.IncrementHelpDemoReel();
App_ContinueHelpDemo();
return(undefined);
}
App_UpdateGame_Demo(false, false);
var _local1 = gui.GetCurrentMC().helpmenu;
var _local2 = player.inputList;
if (_local2[PINPUT_R]) {
_local1.keyR.gotoAndStop(1);
} else {
_local1.keyR.gotoAndStop(2);
}
if (_local2[PINPUT_L]) {
_local1.keyL.gotoAndStop(1);
} else {
_local1.keyL.gotoAndStop(2);
}
if (_local2[PINPUT_J]) {
_local1.keyJ.gotoAndStop(1);
} else {
_local1.keyJ.gotoAndStop(2);
}
}
function App_StartQuit() {
gui.Display(GUI_CONFIRMQUIT);
APP_PRE_QUIT = true;
}
function App_Quit() {
var _local2 = new Sound();
_local2.stop();
var _local1 = Math.random();
if (_local1 < 0.142857142857143) {
gui.Display(GUI_GOODBYE4);
} else if (_local1 < 0.285714285714286) {
gui.Display(GUI_GOODBYE3);
} else if (_local1 < 0.428571428571429) {
gui.Display(GUI_GOODBYE2);
} else if (_local1 < 0.571428571428571) {
gui.Display(GUI_GOODBYE1);
} else if (_local1 < 0.714285714285714) {
gui.Display(GUI_GOODBYE5);
} else if (_local1 < 0.857142857142857) {
gui.Display(GUI_GOODBYE6);
} else {
gui.Display(GUI_GOODBYE7);
}
console.mc._visible = false;
SetActiveProcess(App_TickGoodbye);
}
function App_TickGoodbye() {
if (APP_KEY_TRIG) {
SetActiveProcess(App_Cleanup);
}
}
function App_Cleanup() {
CloseApp();
fscommand ("quit");
}
function App_StartConfigMenu() {
gui.Display(GUI_CONFIGURE);
SetActiveProcess(App_TickConfigure);
var menuMC = gui.GetCurrentMC();
var jbut = eval (menuMC + ".configmenu.jbut");
var lbut = eval (menuMC + ".configmenu.lbut");
var rbut = eval (menuMC + ".configmenu.rbut");
var kbut = eval (menuMC + ".configmenu.kbut");
var pbut = eval (menuMC + ".configmenu.pbut");
var bbut = eval (menuMC + ".configmenu.bbut");
jbut.keyname.text = App_GetKeyName(userdata.GetJumpKey());
lbut.keyname.text = App_GetKeyName(userdata.GetLeftKey());
rbut.keyname.text = App_GetKeyName(userdata.GetRightKey());
kbut.keyname.text = App_GetKeyName(userdata.GetKillKey());
pbut.keyname.text = App_GetKeyName(userdata.GetPauseKey());
bbut.keyname.text = App_GetKeyName(userdata.GetBossKey());
var namebox = eval (menuMC + ".configmenu.namebox");
var passbox = eval (menuMC + ".configmenu.passbox");
passbox.password = true;
var emailbox = eval (menuMC + ".configmenu.emailbox");
if (userdata.IsUserAnon()) {
namebox.text = "";
passbox.text = "";
emailbox.text = "";
} else {
namebox.text = userdata.GetUserName();
passbox.text = userdata.GetUserPass();
emailbox.text = userdata.GetUserEmail();
}
var colList = new Array();
colList[0] = 0;
colList[1] = 15466636 /* 0xEC008C */;
colList[2] = 8551168 /* 0x827B00 */;
colList[3] = 1598085 /* 0x186285 */;
colList[4] = 7820163 /* 0x775383 */;
colList[5] = 6693410 /* 0x662222 */;
colList[6] = 16777215 /* 0xFFFFFF */;
colList[7] = 13408512 /* 0xCC9900 */;
colList[8] = 7960968 /* 0x797988 */;
colList[9] = 12895433 /* 0xC4C4C9 */;
var numcol = userdata.GetNumUnlockedColors();
var curcol = userdata.GetNinjaColor();
var isCustCol = userdata.IsNinjaColorCustom();
var i = 0;
while (i < 10) {
var colbut = eval ((menuMC + ".configmenu.col") + i);
if (i <= numcol) {
colbut._visible = true;
colbut.col = colList[i];
var tempc = new Color(colbut.colpanel);
tempc.setRGB(colList[i]);
colbut.gfx.gotoAndStop(1);
colbut.onRelease = function () {
_root.App_Configure_ColorButtonPressed(this);
};
colbut.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
colbut.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
colbut.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
if ((!isCustCol) && (curcol == colList[i])) {
_root.App_Configure_ColorButtonPressed(colbut);
}
} else {
colbut._visible = false;
}
i++;
}
var customFpanel = eval (menuMC + ".configmenu.customFpanel");
if (userdata.GetCustomFlavourUnlocked()) {
customFpanel._visible = true;
var custbut = eval (menuMC + ".configmenu.customFpanel.colbutton");
custbut.isCustom = true;
custbut.gfx.gotoAndStop(1);
custbut.onRelease = function () {
_root.App_Configure_CustomColorButtonPressed();
};
custbut.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
custbut.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
custbut.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
var ccol = userdata.GetNinjaColor_Custom();
var tempc = new Color(custbut.colpanel);
tempc.setRGB(ccol);
var hex = ccol;
var chanR = (hex >> 16);
var tempH = (hex ^ (chanR << 16));
var chanG = (tempH >> 8);
var chanB = (tempH ^ (chanG << 8));
var sR = eval (menuMC + ".configmenu.customFpanel.slider_r.slide");
var sG = eval (menuMC + ".configmenu.customFpanel.slider_g.slide");
var sB = eval (menuMC + ".configmenu.customFpanel.slider_b.slide");
sR._x = chanR - 128;
sG._x = chanG - 128;
sB._x = chanB - 128;
var hexR = chanR.toString(16);
var hexG = chanG.toString(16);
var hexB = chanB.toString(16);
sR.num.text = "" + hexR.toUpperCase();
sG.num.text = "" + hexG.toUpperCase();
sB.num.text = "" + hexB.toUpperCase();
if (isCustCol) {
App_Configure_CustomColorButtonPressed();
}
} else {
customFpanel._visible = false;
}
var importstat = eval (menuMC + ".configmenu.importStatus");
importstat._visible = false;
var importbut = eval (menuMC + ".configmenu.importButton");
importbut.gotoAndStop(1);
importbut.onRelease = function () {
_root.App_Configure_ImportButtonPressed();
};
importbut.onRollOver = function () {
this.gotoAndStop(2);
};
importbut.onRollOut = function () {
this.gotoAndStop(1);
};
importbut.onReleaseOutside = function () {
this.gotoAndStop(1);
};
var vol = userdata.GetVol();
var slideMC = eval (menuMC + ".configmenu.volslider.slide");
slideMC.init = function () {
var _local3 = _root.userdata.GetVol();
this._x = ((_local3 / 100) * 96) - 48;
this.num.text = "" + _local3;
};
slideMC.init();
var speedMC = eval (menuMC + ".configmenu.speedPanel");
var numColumns = userdata.GetNumUnlockedColors();
if (6 <= numColumns) {
if (APP_CONFIG_OVERCLOCK == null) {
APP_CONFIG_OVERCLOCK = 0;
}
speedMC._visible = true;
speedMC.enabled = true;
App_SpeedSliderMoved(APP_CONFIG_OVERCLOCK, true);
} else {
speedMC._visible = false;
speedMC.enabled = false;
}
var onBut = eval (menuMC + ".configmenu.onlineOnButton");
var offBut = eval (menuMC + ".configmenu.onlineOffButton");
var activeButton = null;
var passiveButton = null;
var toggleState = false;
if (userdata.GetOnlineActive()) {
App_ChangeUser();
toggleState = false;
activeButton = onBut;
passiveButton = offBut;
} else {
onlineclient.ClearCallback();
var onlinestatus = eval (menuMC + ".configmenu.onlinestatus");
onlinestatus.text = "offline";
toggleState = true;
activeButton = offBut;
passiveButton = onBut;
}
activeButton.gotoAndStop(2);
activeButton.onRelease = null;
activeButton.onReleaseOutside = null;
activeButton.onRollOut = null;
activeButton.onRollOver = null;
passiveButton.gotoAndStop(1);
passiveButton.onRelease = function () {
_root.App_Configure_OnlineButtonPressed(toggleState);
};
passiveButton.onRollOver = function () {
this.gotoAndStop(2);
};
passiveButton.onRollOut = function () {
this.gotoAndStop(1);
};
passiveButton.onReleaseOutside = function () {
this.gotoAndStop(1);
};
var mqBut = eval (menuMC + ".configmenu.mqButton");
var hqBut = eval (menuMC + ".configmenu.hqButton");
var activeQButton = null;
var passiveQButton = null;
var qState = false;
if (userdata.GetHighQuality()) {
qState = false;
activeQButton = hqBut;
passiveQButton = mqBut;
} else {
qState = true;
activeQButton = mqBut;
passiveQButton = hqBut;
}
activeQButton.gotoAndStop(2);
activeQButton.onRelease = null;
activeQButton.onRollOut = null;
activeQButton.onRollOver = null;
activeQButton.onReleaseOutside = null;
passiveQButton.gotoAndStop(1);
passiveQButton.onRelease = function () {
_root.App_Configure_QualityButtonPressed(qState);
};
passiveQButton.onRollOver = function () {
this.gotoAndStop(2);
};
passiveQButton.onRollOut = function () {
this.gotoAndStop(1);
};
passiveQButton.onReleaseOutside = function () {
this.gotoAndStop(1);
};
var pOnBut = eval (menuMC + ".configmenu.practiseOnButton");
var pOffBut = eval (menuMC + ".configmenu.practiseOffButton");
var activePButton = null;
var passivePButton = null;
var qState = false;
if (userdata.GetPractiseMode()) {
qState = false;
activePButton = pOnBut;
passivePButton = pOffBut;
} else {
qState = true;
activePButton = pOffBut;
passivePButton = pOnBut;
}
activePButton.gotoAndStop(2);
activePButton.onRelease = null;
activePButton.onRollOut = null;
activePButton.onRollOver = null;
activePButton.onReleaseOutside = null;
passivePButton.gotoAndStop(1);
passivePButton.onRelease = function () {
_root.App_Configure_PractiseButtonPressed(qState);
};
passivePButton.onRollOver = function () {
this.gotoAndStop(2);
};
passivePButton.onRollOut = function () {
this.gotoAndStop(1);
};
passivePButton.onReleaseOutside = function () {
this.gotoAndStop(1);
};
}
function App_TestForSecret0() {
if ((!APP_IS_CHEATER) && (!APP_IS_PRACTISE)) {
var _local1 = userdata.GetNumUnlockedColors();
var _local2 = userdata.GetNumBeaten();
if (_local2 < _local1) {
onlineclient.ClearCallback();
userdata.SetNumBeaten(_local1);
if (_local1 == 10) {
userdata.SetCustomFlavourUnlocked(true);
gui.TextBarNotify(3, "..CUSTOM FLAVOUR UNLOCKED!");
gui.TextBarNotify(2, "kudos -- you've completed N!!");
gui.TextBarNotify(1, "your skills are most impressive.");
gui.TextBarNotify(0, "(see [configure] menu for details)");
} else {
gui.TextBarNotify(1, "..new ninja flavour unlocked!");
gui.TextBarNotify(0, "(see [configure] menu for details)");
if (_local1 == 6) {
onlineclient.ClearCallback();
userdata.SetSecret(0, 0);
gui.TextBarNotify(3, "..OVERCLOCK MODE UNLOCKED!");
gui.TextBarNotify(2, "kudos!!");
}
}
}
}
}
function App_TickConfigure() {
App_UpdateMainMenu();
}
function App_Configure_ImportButtonPressed() {
userdata.ImportUserData();
App_StartConfigMenu();
var menuMC = gui.GetCurrentMC();
var importstat = eval (menuMC + ".configmenu.importStatus");
importstat._visible = true;
}
function App_ColSliderMoved() {
var menuMC = gui.GetCurrentMC();
var sR = eval (menuMC + ".configmenu.customFpanel.slider_r.slide");
var sG = eval (menuMC + ".configmenu.customFpanel.slider_g.slide");
var sB = eval (menuMC + ".configmenu.customFpanel.slider_b.slide");
var valR = Math.min(255, Math.max(0, sR._x + 128));
var valG = Math.min(255, Math.max(0, sG._x + 128));
var valB = Math.min(255, Math.max(0, sB._x + 128));
var hexR = valR.toString(16);
var hexG = valG.toString(16);
var hexB = valB.toString(16);
sR.num.text = "" + hexR.toUpperCase();
sG.num.text = "" + hexG.toUpperCase();
sB.num.text = "" + hexB.toUpperCase();
var hex = (((valR << 16) ^ (valG << 8)) ^ valB);
var but = eval (menuMC + ".configmenu.customFpanel.colbutton");
var tempc = new Color(but.colpanel);
tempc.setRGB(hex);
}
function App_ColSliderReleased(val) {
App_ColSliderMoved(val);
App_Configure_CustomColorButtonPressed();
}
function App_Configure_SetFocusCustomColorButton() {
if (APP_CONFIG_SELECTEDCOLBUTTON != null) {
var colbut = APP_CONFIG_SELECTEDCOLBUTTON;
colbut.gfx.gotoAndStop(1);
colbut.onRelease = function () {
_root.App_Configure_ColorButtonPressed(this);
};
colbut.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
colbut.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
colbut.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
}
var menuMC = gui.GetCurrentMC();
var but = eval (menuMC + ".configmenu.customFpanel.colbutton");
APP_CONFIG_SELECTEDCOLBUTTON = but;
but.gfx.gotoAndStop(3);
but.onRelease = null;
but.onRollOver = null;
but.onRollOut = null;
but.onReleaseOutside = null;
}
function App_Configure_CustomColorButtonPressed() {
App_Configure_SetFocusCustomColorButton();
var menuMC = gui.GetCurrentMC();
var but = eval (menuMC + ".configmenu.customFpanel.colbutton");
var tempc = new Color(but.colpanel);
var hex = tempc.getRGB();
userdata.SetNinjaColor(hex, true);
}
function App_Configure_ColorButtonPressed(but) {
if (APP_CONFIG_SELECTEDCOLBUTTON != null) {
var _local3 = APP_CONFIG_SELECTEDCOLBUTTON;
if (_local3.isCustom) {
_local3.gfx.gotoAndStop(1);
_local3.onRelease = function () {
_root.App_Configure_CustomColorButtonPressed();
};
_local3.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
_local3.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
_local3.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
} else {
_local3.gfx.gotoAndStop(1);
_local3.onRelease = function () {
_root.App_Configure_ColorButtonPressed(this);
};
_local3.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
_local3.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
_local3.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
}
}
APP_CONFIG_SELECTEDCOLBUTTON = but;
but.gfx.gotoAndStop(3);
but.onRelease = null;
but.onRollOver = null;
but.onRollOut = null;
but.onReleaseOutside = null;
userdata.SetNinjaColor(but.col, false);
}
function App_Configure_OnlineButtonPressed(toggleState) {
userdata.SetOnlineActive(toggleState);
var menuMC = gui.GetCurrentMC();
var onBut = eval (menuMC + ".configmenu.onlineOnButton");
var offBut = eval (menuMC + ".configmenu.onlineOffButton");
var activeButton = null;
var passiveButton = null;
var newState = false;
if (toggleState) {
App_ChangeUser();
newState = false;
activeButton = onBut;
passiveButton = offBut;
} else {
onlineclient.ClearCallback();
var onlinestatus = eval (menuMC + ".configmenu.onlinestatus");
onlinestatus.text = "offline";
newState = true;
activeButton = offBut;
passiveButton = onBut;
}
activeButton.gotoAndStop(2);
activeButton.onRelease = null;
activeButton.onReleaseOutside = null;
activeButton.onRollOut = null;
activeButton.onRollOver = null;
passiveButton.gotoAndStop(1);
passiveButton.onRelease = function () {
_root.App_Configure_OnlineButtonPressed(newState);
};
passiveButton.onRollOver = function () {
this.gotoAndStop(2);
};
passiveButton.onRollOut = function () {
this.gotoAndStop(1);
};
passiveButton.onReleaseOutside = function () {
this.gotoAndStop(1);
};
}
function App_Configure_QualityButtonPressed(qState) {
userdata.SetHighQuality(qState);
var menuMC = gui.GetCurrentMC();
var mqBut = eval (menuMC + ".configmenu.mqButton");
var hqBut = eval (menuMC + ".configmenu.hqButton");
var activeQButton = null;
var passiveQButton = null;
var newState = false;
if (qState) {
_quality = "HIGH";
newState = false;
activeQButton = hqBut;
passiveQButton = mqBut;
} else {
_quality = "MEDIUM";
newState = true;
activeQButton = mqBut;
passiveQButton = hqBut;
}
activeQButton.gotoAndStop(2);
activeQButton.onRelease = null;
activeQButton.onReleaseOutside = null;
activeQButton.onRollOut = null;
activeQButton.onRollOver = null;
passiveQButton.gotoAndStop(1);
passiveQButton.onRelease = function () {
_root.App_Configure_QualityButtonPressed(newState);
};
passiveQButton.onRollOver = function () {
this.gotoAndStop(2);
};
passiveQButton.onRollOut = function () {
this.gotoAndStop(1);
};
passiveQButton.onReleaseOutside = function () {
this.gotoAndStop(1);
};
}
function App_Configure_PractiseButtonPressed(qState) {
userdata.SetPractiseMode(qState);
var menuMC = gui.GetCurrentMC();
var pOnBut = eval (menuMC + ".configmenu.practiseOnButton");
var pOffBut = eval (menuMC + ".configmenu.practiseOffButton");
var activePButton = null;
var passivePButton = null;
var newState = false;
if (qState) {
newState = false;
activePButton = pOnBut;
passivePButton = pOffBut;
} else {
newState = true;
activePButton = pOffBut;
passivePButton = pOnBut;
}
activePButton.gotoAndStop(2);
activePButton.onRelease = null;
activePButton.onReleaseOutside = null;
activePButton.onRollOut = null;
activePButton.onRollOver = null;
passivePButton.gotoAndStop(1);
passivePButton.onRelease = function () {
_root.App_Configure_PractiseButtonPressed(newState);
};
passivePButton.onRollOver = function () {
this.gotoAndStop(2);
};
passivePButton.onRollOut = function () {
this.gotoAndStop(1);
};
passivePButton.onReleaseOutside = function () {
this.gotoAndStop(1);
};
}
function App_VolumeSliderMoved(val) {
var vol = Math.round(val);
var s = new Sound();
s.setVolume(vol);
var menuMC = gui.GetCurrentMC();
var slideMC = eval (menuMC + ".configmenu.volslider.slide");
slideMC.num.text = "" + vol;
}
function App_VolumeSliderReleased(val) {
App_VolumeSliderMoved(val);
var _local1 = Math.round(val);
userdata.SetVol(_local1);
}
function App_SpeedSliderMoved(val, isFinal) {
var numColumns = userdata.GetNumUnlockedColors();
if (6 <= numColumns) {
var overclock = Math.round(Math.max(0, Math.min(10, val * 10)));
APP_GAMETIME_TICKLEN = APP_GAMETIME_BASETICKLEN - overclock;
var menuMC = gui.GetCurrentMC();
var speedMC = eval (menuMC + ".configmenu.speedPanel.speedSlider.slide");
speedMC.num.text = "" + overclock;
speedMC._x = ((overclock / 10) * 96) - 48;
if (isFinal) {
APP_CONFIG_OVERCLOCK = val;
}
}
}
function App_AddUser() {
var menuMC = gui.GetCurrentMC();
var namebox = eval (menuMC + ".configmenu.namebox");
var passbox = eval (menuMC + ".configmenu.passbox");
var emailbox = eval (menuMC + ".configmenu.emailbox");
var onlinestatus = eval (menuMC + ".configmenu.onlinestatus");
var n = namebox.text;
var p = passbox.text;
var e = emailbox.text;
if ((n == "") || (n == "guy_incognito")) {
onlinestatus.text = "logged in as anonymous.";
userdata.SetUserAnon(true);
namebox.text = "guy_incognito";
passbox.text = "";
emailbox.text = "";
} else {
onlinestatus.text = "waiting for server response..";
userdata.SetUserAnon(false);
userdata.SetUserName(n);
userdata.SetUserPass(p);
userdata.SetUserEmail(e);
onlineclient.AddNewUser(n, p, e, App_NotifyUserAdded);
}
}
function App_NotifyUserAdded(isValid) {
var menuMC = gui.GetCurrentMC();
var namebox = eval (menuMC + ".configmenu.namebox");
var passbox = eval (menuMC + ".configmenu.passbox");
var emailbox = eval (menuMC + ".configmenu.emailbox");
var onlinestatus = eval (menuMC + ".configmenu.onlinestatus");
var qryData = onlineclient.GetLoadedData();
if (isValid) {
if (qryData.created == 1) {
onlinestatus.text = ("user created: " + qryData.name) + " (login successful)";
namebox.text = qryData.name;
passbox.text = userdata.GetUserPass();
emailbox.text = userdata.GetUserEmail();
userdata.SetUserName(qryData.name);
} else {
var stat = qryData.stat;
onlinestatus.text = "" + stat;
}
} else {
var stat = qryData.stat;
onlinestatus.text = "error: " + stat;
}
}
function App_ChangeUser() {
var menuMC = gui.GetCurrentMC();
var namebox = eval (menuMC + ".configmenu.namebox");
var passbox = eval (menuMC + ".configmenu.passbox");
var emailbox = eval (menuMC + ".configmenu.emailbox");
var onlinestatus = eval (menuMC + ".configmenu.onlinestatus");
var n = namebox.text;
var p = passbox.text;
var e = emailbox.text;
if ((n == "") || (n == "guy_incognito")) {
onlinestatus.text = "logged in as anonymous.";
userdata.SetUserAnon(true);
namebox.text = "guy_incognito";
passbox.text = "";
emailbox.text = "";
} else {
onlinestatus.text = "waiting for server response..";
userdata.SetUserAnon(false);
userdata.SetUserName(n);
userdata.SetUserPass(p);
userdata.SetUserEmail(e);
onlineclient.TestUserLogin(n, p, e, App_NotifyUserLogin);
}
}
function App_NotifyUserLogin(isValid) {
var menuMC = gui.GetCurrentMC();
var namebox = eval (menuMC + ".configmenu.namebox");
var passbox = eval (menuMC + ".configmenu.passbox");
var emailbox = eval (menuMC + ".configmenu.emailbox");
var onlinestatus = eval (menuMC + ".configmenu.onlinestatus");
var qryData = onlineclient.GetLoadedData();
if (isValid) {
if (qryData.created == 0) {
onlinestatus.text = "login successful: " + qryData.name;
namebox.text = qryData.name;
passbox.text = userdata.GetUserPass();
emailbox.text = userdata.GetUserEmail();
} else {
var stat = qryData.stat;
onlinestatus.text = "error: " + stat;
}
} else {
var stat = qryData.stat;
onlinestatus.text = "error: " + stat;
}
}
function App_SubmitKeyConfig(kbut, ktype, kcode) {
APP_KEY_TRIG = false;
gui.HideTextMenu();
Key.removeListener(kbut);
if (kcode == 81) {
} else {
kbut.keyname.text = App_GetKeyName(kcode);
if (ktype == "jump") {
userdata.SetJumpKey(kcode);
} else if (ktype == "left") {
userdata.SetLeftKey(kcode);
} else if (ktype == "right") {
userdata.SetRightKey(kcode);
} else if (ktype == "pause") {
userdata.SetPauseKey(kcode);
} else if (ktype == "kill") {
userdata.SetKillKey(kcode);
} else if (ktype == "boss") {
userdata.SetBossKey(kcode);
}
}
}
function App_FocusKeyConfig(kbut) {
gui.DisplayTextBar(GUI_KEYCONFIG);
Key.addListener(kbut);
}
function App_ResetKeyConfig() {
userdata.SetJumpKey(16);
userdata.SetLeftKey(37);
userdata.SetRightKey(39);
userdata.SetPauseKey(80);
userdata.SetKillKey(75);
userdata.SetBossKey(9);
var menuMC = gui.GetCurrentMC();
var jbut = eval (menuMC + ".configmenu.jbut");
var lbut = eval (menuMC + ".configmenu.lbut");
var rbut = eval (menuMC + ".configmenu.rbut");
var pbut = eval (menuMC + ".configmenu.pbut");
var kbut = eval (menuMC + ".configmenu.kbut");
var bbut = eval (menuMC + ".configmenu.bbut");
jbut.keyname.text = App_GetKeyName(userdata.GetJumpKey());
lbut.keyname.text = App_GetKeyName(userdata.GetLeftKey());
rbut.keyname.text = App_GetKeyName(userdata.GetRightKey());
pbut.keyname.text = App_GetKeyName(userdata.GetPauseKey());
kbut.keyname.text = App_GetKeyName(userdata.GetKillKey());
bbut.keyname.text = App_GetKeyName(userdata.GetBossKey());
}
function App_GetKeyName(kcode) {
var _local1 = "";
if (kcode == 37) {
_local1 = _local1 + "L arrow";
} else if (kcode == 39) {
_local1 = _local1 + "R arrow";
} else if (kcode == 38) {
_local1 = _local1 + "U arrow";
} else if (kcode == 40) {
_local1 = _local1 + "D arrow";
} else if (kcode == 32) {
_local1 = _local1 + "space";
} else if (kcode == 16) {
_local1 = _local1 + "shift";
} else if (kcode == 17) {
_local1 = _local1 + "ctrl";
} else if (kcode == 18) {
_local1 = _local1 + "alt";
} else if (kcode == 13) {
_local1 = _local1 + "enter";
} else if (kcode == 9) {
_local1 = _local1 + "tab";
} else {
_local1 = _local1 + String.fromCharCode(kcode);
}
return(_local1);
}
APP_CONFIG_SELECTEDCOLBUTTON = null;
APP_CONFIG_OVERCLOCK = null;
function App_StartPlayMenu() {
gui.Display(GUI_PLAYMENU);
SetActiveProcess(App_TickPlayMenu);
var ep0 = userdata.GetEpisodeBeaten(0);
var ep1 = userdata.GetEpisodeBeaten(1);
var ep2 = userdata.GetEpisodeBeaten(2);
var ep3 = userdata.GetEpisodeBeaten(3);
var ep4 = userdata.GetEpisodeBeaten(4);
var ep5 = userdata.GetEpisodeBeaten(5);
var ep6 = userdata.GetEpisodeBeaten(6);
var ep7 = userdata.GetEpisodeBeaten(7);
var ep8 = userdata.GetEpisodeBeaten(8);
var ep9 = userdata.GetEpisodeBeaten(9);
var ep0r = userdata.GetEpisodeReached(0);
var ep1r = userdata.GetEpisodeReached(1);
var ep2r = userdata.GetEpisodeReached(2);
var ep3r = userdata.GetEpisodeReached(3);
var ep4r = userdata.GetEpisodeReached(4);
var ep5r = userdata.GetEpisodeReached(5);
var ep6r = userdata.GetEpisodeReached(6);
var ep7r = userdata.GetEpisodeReached(7);
var ep8r = userdata.GetEpisodeReached(8);
var ep9r = userdata.GetEpisodeReached(9);
var menuMC = gui.GetCurrentMC();
var i = 0;
while (i < 10) {
var but = eval (((menuMC + ".playmenu") + ".e") + i);
if (i <= ep0) {
but.gfx.gotoAndStop(1);
but.num.text = "0" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, false);
};
} else if (i <= ep0r) {
but.gfx.gotoAndStop(3);
but.num.text = "0" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(3);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(3);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, true);
};
} else {
but.gfx.gotoAndStop(1);
but.num.text = "";
but.enabled = false;
}
i++;
}
var i = 10;
while (i < 20) {
var but = eval (((menuMC + ".playmenu") + ".e") + i);
if (i <= ep1) {
but.gfx.gotoAndStop(1);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, false);
};
} else if (i <= ep1r) {
but.gfx.gotoAndStop(3);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(3);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(3);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, true);
};
} else {
but.gfx.gotoAndStop(1);
but.num.text = "";
but.enabled = false;
}
i++;
}
var i = 20;
while (i < 30) {
var but = eval (((menuMC + ".playmenu") + ".e") + i);
if (i <= ep2) {
but.gfx.gotoAndStop(1);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, false);
};
} else if (i <= ep2r) {
but.gfx.gotoAndStop(3);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(3);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(3);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, true);
};
} else {
but.gfx.gotoAndStop(1);
but.num.text = "";
but.enabled = false;
}
i++;
}
var i = 30;
while (i < 40) {
var but = eval (((menuMC + ".playmenu") + ".e") + i);
if (i <= ep3) {
but.gfx.gotoAndStop(1);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, false);
};
} else if (i <= ep3r) {
but.gfx.gotoAndStop(3);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(3);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(3);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, true);
};
} else {
but.gfx.gotoAndStop(1);
but.num.text = "";
but.enabled = false;
}
i++;
}
var i = 40;
while (i < 50) {
var but = eval (((menuMC + ".playmenu") + ".e") + i);
if (i <= ep4) {
but.gfx.gotoAndStop(1);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, false);
};
} else if (i <= ep4r) {
but.gfx.gotoAndStop(3);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(3);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(3);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, true);
};
} else {
but.gfx.gotoAndStop(1);
but.num.text = "";
but.enabled = false;
}
i++;
}
var i = 50;
while (i < 60) {
var but = eval (((menuMC + ".playmenu") + ".e") + i);
if (i <= ep5) {
but.gfx.gotoAndStop(1);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, false);
};
} else if (i <= ep5r) {
but.gfx.gotoAndStop(3);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(3);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(3);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, true);
};
} else {
but.gfx.gotoAndStop(1);
but.num.text = "";
but.enabled = false;
}
i++;
}
var i = 60;
while (i < 70) {
var but = eval (((menuMC + ".playmenu") + ".e") + i);
if (i <= ep6) {
but.gfx.gotoAndStop(1);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, false);
};
} else if (i <= ep6r) {
but.gfx.gotoAndStop(3);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(3);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(3);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, true);
};
} else {
but.gfx.gotoAndStop(1);
but.num.text = "";
but.enabled = false;
}
i++;
}
var i = 70;
while (i < 80) {
var but = eval (((menuMC + ".playmenu") + ".e") + i);
if (i <= ep7) {
but.gfx.gotoAndStop(1);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, false);
};
} else if (i <= ep7r) {
but.gfx.gotoAndStop(3);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(3);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(3);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, true);
};
} else {
but.gfx.gotoAndStop(1);
but.num.text = "";
but.enabled = false;
}
i++;
}
var i = 80;
while (i < 90) {
var but = eval (((menuMC + ".playmenu") + ".e") + i);
if (i <= ep8) {
but.gfx.gotoAndStop(1);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, false);
};
} else if (i <= ep8r) {
but.gfx.gotoAndStop(3);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(3);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(3);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, true);
};
} else {
but.gfx.gotoAndStop(1);
but.num.text = "";
but.enabled = false;
}
i++;
}
var i = 90;
while (i < 100) {
var but = eval (((menuMC + ".playmenu") + ".e") + i);
if (i <= ep9) {
but.gfx.gotoAndStop(1);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, false);
};
} else if (i <= ep9r) {
but.gfx.gotoAndStop(3);
but.num.text = "" + i;
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(3);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(3);
};
but.onRelease = function () {
_root.App_PlayEpisodeButtonClicked(this, true);
};
} else {
but.gfx.gotoAndStop(1);
but.num.text = "";
but.enabled = false;
}
i++;
}
}
function App_TickPlayMenu() {
App_UpdateMainMenu();
}
function App_PlayEpisodeButtonClicked(but, isCheater) {
var _local2 = but.num.text;
if (_local2 == "") {
return(undefined);
}
var _local1 = Number(_local2);
if (!userdata.ValidateEpisodeReached(_local1)) {
gamedata.ResetEpisode();
console.AddLine("Access Denied: " + _local1);
return(undefined);
}
if (gamedata.LoadEpisodeNum(_local1)) {
var _local3 = new Sound();
_local3.stop();
APP_IS_PRACTISE = userdata.GetPractiseMode();
APP_IS_CHEATER = isCheater;
App_StartNewGame();
}
}
function App_StartCustomMenu(reload) {
gui.HideInGame();
gui.Display(GUI_CUSTOMMENU);
SetActiveProcess(App_TickCustomMenu);
var menuMC = gui.GetCurrentMC();
var container = eval (menuMC + ".custommenu.container");
container._visible = true;
var butpanel = eval ((menuMC + ".custommenu.container") + ".butpanel");
var busymc = eval ((menuMC + ".custommenu.container") + ".busyMC");
var inbox = eval ((menuMC + ".custommenu.container") + ".replaybox");
var menutoggle = eval ((menuMC + ".custommenu") + ".menutoggle");
menutoggle._visible = false;
var s = new Sound();
s.stop();
if (reload) {
butpanel._visible = false;
busymc._visible = true;
busymc.gotoAndPlay(1);
inbox.text = "";
APP_CUSTOM_LOADDATA = true;
} else {
APP_CUSTOM_LOADDATA = false;
APP_CUSTOM_FINISHEDPARSING = true;
APP_CUSTOM_READYTOPARSE = true;
busymc._visible = false;
busymc.gotoAndStop(1);
butpanel._visible = true;
inbox.text = APP_CUSTOM_REPLAY;
}
}
function App_TickCustomMenu() {
if (APP_CUSTOM_LOADDATA) {
APP_CUSTOM_LOADDATA = false;
App_Custom_LoadLevelList();
} else if ((!APP_CUSTOM_FINISHEDPARSING) && (APP_CUSTOM_READYTOPARSE)) {
App_ContinueParseUserLevels();
} else if (APP_CUSTOM_RUNNINGREPLAY) {
if (!App_TickCustomReplay()) {
var _local1 = new Sound();
_local1.stop();
game.StopDemoPlayback();
App_Custom_LoadReplay();
}
}
}
function App_StartParseUserLevels(str) {
APP_CUSTOM_RECORDS = new Array();
APP_CUSTOM_RAWROWDATA = str.split("$");
APP_CUSTOM_CURRENTPARSEROW = 1;
APP_CUSTOM_READYTOPARSE = true;
}
function App_ContinueParseUserLevels() {
var _local7 = APP_CUSTOM_RAWROWDATA;
var _local10 = APP_CUSTOM_CURRENTPARSEROW;
var _local3 = APP_CUSTOM_RAWROWDATA[APP_CUSTOM_CURRENTPARSEROW];
var _local1 = _local3.split("#");
var _local5 = userdata.GetPersBest_Custom(_local1[3]);
var _local4 = {levname:_local1[0], authname:_local1[1], desc:_local1[2], levdata:_local1[3], pbest:_local5};
APP_CUSTOM_RECORDS.push(_local4);
APP_CUSTOM_CURRENTPARSEROW++;
if (APP_CUSTOM_RAWROWDATA.length <= APP_CUSTOM_CURRENTPARSEROW) {
var _local2 = new Array();
_local2[0] = "desc";
_local2[1] = "authname";
_local2[2] = "levname";
APP_CUSTOM_RECORDS.sortOn(_local2, Array.CASEINSENSITIVE);
APP_CUSTOM_SORT_2 = true;
App_FinishParseUserLevels();
}
}
function App_FinishParseUserLevels() {
APP_CUSTOM_TOPBUT = 0;
var menuMC = gui.GetCurrentMC();
var butpanel = eval ((menuMC + ".custommenu.container") + ".butpanel");
butpanel._visible = true;
butpanel.scroller._y = 0;
var numrecs = APP_CUSTOM_RECORDS.length;
var i = 0;
while (i < APP_CUSTOM_NUMBUTS) {
var but = eval ((menuMC + ".custommenu.container.butpanel.scroller.but") + i);
but._y = i * APP_CUSTOM_BUTSIZE;
but.butnum = i;
var pbut = eval ((menuMC + ".custommenu.container.butpanel.scroller.pbut") + i);
pbut._y = i * APP_CUSTOM_BUTSIZE;
pbut.butnum = i;
if (numrecs <= i) {
but._visible = false;
pbut._visible = false;
} else {
var rec = APP_CUSTOM_RECORDS[i];
but._visible = true;
but.levname.text = rec.levname;
but.authname.text = rec.authname;
but.desc.text = rec.desc;
but.recnum = i;
but.levnum.text = "" + but.recnum;
if (rec.pbest == null) {
pbut._visible = false;
} else {
pbut._visible = true;
pbut.scorebox.text = gui.FormatTime(rec.pbest.score);
pbut.demo = rec.pbest.demo;
pbut.recnum = i;
}
}
i++;
}
var busymc = eval ((menuMC + ".custommenu.container") + ".busyMC");
busymc._visible = false;
busymc.gotoAndStop(1);
APP_CUSTOM_FINISHEDPARSING = true;
}
function App_Custom_SortButtonPressed(num) {
if (APP_CUSTOM_FINISHEDPARSING) {
if (num == 0) {
if (APP_CUSTOM_SORT_0) {
APP_CUSTOM_RECORDS.sortOn("levname", Array.CASEINSENSITIVE | Array.DESCENDING);
APP_CUSTOM_SORT_0 = false;
} else {
APP_CUSTOM_RECORDS.sortOn("levname", Array.CASEINSENSITIVE);
APP_CUSTOM_SORT_0 = true;
}
APP_CUSTOM_SORT_2 = false;
APP_CUSTOM_SORT_1 = false;
App_FinishParseUserLevels();
} else if (num == 1) {
var _local1 = new Array();
_local1[0] = "authname";
_local1[1] = "desc";
_local1[2] = "levname";
if (APP_CUSTOM_SORT_1) {
APP_CUSTOM_RECORDS.sortOn(_local1, Array.CASEINSENSITIVE | Array.DESCENDING);
APP_CUSTOM_SORT_1 = false;
} else {
APP_CUSTOM_RECORDS.sortOn(_local1, Array.CASEINSENSITIVE);
APP_CUSTOM_SORT_1 = true;
}
APP_CUSTOM_SORT_2 = false;
APP_CUSTOM_SORT_0 = false;
App_FinishParseUserLevels();
} else if (num == 2) {
var _local1 = new Array();
_local1[0] = "desc";
_local1[1] = "authname";
_local1[2] = "levname";
if (APP_CUSTOM_SORT_2) {
APP_CUSTOM_RECORDS.sortOn(_local1, Array.CASEINSENSITIVE | Array.DESCENDING);
APP_CUSTOM_SORT_2 = false;
} else {
APP_CUSTOM_RECORDS.sortOn(_local1, Array.CASEINSENSITIVE);
APP_CUSTOM_SORT_2 = true;
}
APP_CUSTOM_SORT_1 = false;
APP_CUSTOM_SORT_0 = false;
App_FinishParseUserLevels();
}
}
}
function App_Custom_LoadLevelList() {
var menuMC = gui.GetCurrentMC();
var butpanel = eval ((menuMC + ".custommenu.container") + ".butpanel");
var busymc = eval ((menuMC + ".custommenu.container") + ".busyMC");
busymc._visible = true;
busymc.gotoAndPlay(1);
butpanel._visible = false;
butpanel.scroller._y = 0;
APP_CUSTOM_FINISHEDPARSING = false;
APP_CUSTOM_READYTOPARSE = false;
APP_CUSTOM_LOADER = new LoadVars();
APP_CUSTOM_LOADER.onLoad = function () {
App_StartParseUserLevels(this.userdata);
};
APP_CUSTOM_LOADER.load("userlevels.txt");
}
function App_Custom_RefreshButtonPressed() {
APP_CUSTOM_LOADDATA = true;
}
function App_Custom_LevelButtonPressed(but) {
var _local2 = but.recnum;
APP_CUSTOM_SELECTEDRECORD = _local2;
APP_CUSTOM_SELECTEDBUTTON = but.butnum;
var _local1 = APP_CUSTOM_RECORDS[_local2];
APP_IS_PRACTISE = userdata.GetPractiseMode();
App_StartNewGame_Custom(_local1.levname, _local1.authname, _local1.levdata, _local1.desc);
}
function App_Custom_RefreshRecordPBest(rec) {
var _local1 = userdata.GetPersBest_Custom(rec.levdata);
rec.pbest = _local1;
}
function App_Custom_RefreshButtonPBest(rec, bnum) {
var menuMC = gui.GetCurrentMC();
var pbut = eval ((menuMC + ".custommenu.container.butpanel.scroller.pbut") + bnum);
var but = eval ((menuMC + ".custommenu.container.butpanel.scroller.but") + bnum);
if (rec.pbest == null) {
pbut._visible = false;
} else {
pbut._visible = true;
pbut.scorebox.text = gui.FormatTime(rec.pbest.score);
pbut.demo = rec.pbest.demo;
pbut.recnum = but.recnum;
}
}
function App_Custom_ScrollButtonPressed(dir) {
if (dir == -1) {
App_Custom_ScrollUp();
} else if (dir == 1) {
App_Custom_ScrollDown();
}
}
function App_Custom_ScrollUp() {
if ((APP_CUSTOM_RECORDS.length < APP_CUSTOM_NUMBUTS) || (!APP_CUSTOM_FINISHEDPARSING)) {
return(undefined);
}
var menuMC = gui.GetCurrentMC();
var bottom = (((APP_CUSTOM_TOPBUT + APP_CUSTOM_NUMBUTS) - 1) % APP_CUSTOM_NUMBUTS);
var topbut = eval ((menuMC + ".custommenu.container.butpanel.scroller.but") + APP_CUSTOM_TOPBUT);
var botbut = eval ((menuMC + ".custommenu.container.butpanel.scroller.but") + bottom);
var botbutP = eval ((menuMC + ".custommenu.container.butpanel.scroller.pbut") + bottom);
var newindex = (((topbut.recnum - 1) + APP_CUSTOM_RECORDS.length) % APP_CUSTOM_RECORDS.length);
if ((0 <= newindex) && (newindex < APP_CUSTOM_RECORDS.length)) {
var scroller = eval (menuMC + ".custommenu.container.butpanel.scroller");
scroller._y = scroller._y + APP_CUSTOM_BUTSIZE;
botbut._y = botbut._y - (APP_CUSTOM_BUTSIZE * APP_CUSTOM_NUMBUTS);
botbutP._y = botbutP._y - (APP_CUSTOM_BUTSIZE * APP_CUSTOM_NUMBUTS);
var rec = APP_CUSTOM_RECORDS[newindex];
botbut._visible = true;
botbut.levname.text = rec.levname;
botbut.authname.text = rec.authname;
botbut.desc.text = rec.desc;
botbut.recnum = newindex;
botbut.levnum.text = "" + botbut.recnum;
botbutP.recnum = newindex;
if (rec.pbest == null) {
botbutP._visible = false;
} else {
botbutP._visible = true;
botbutP.scorebox.text = gui.FormatTime(rec.pbest.score);
botbutP.demo = rec.pbest.demo;
}
APP_CUSTOM_TOPBUT = bottom;
}
}
function App_Custom_ScrollDown() {
if ((APP_CUSTOM_RECORDS.length < APP_CUSTOM_NUMBUTS) || (!APP_CUSTOM_FINISHEDPARSING)) {
return(undefined);
}
var menuMC = gui.GetCurrentMC();
var top = ((APP_CUSTOM_TOPBUT + 1) % APP_CUSTOM_NUMBUTS);
var topbut = eval ((menuMC + ".custommenu.container.butpanel.scroller.but") + APP_CUSTOM_TOPBUT);
var topbutP = eval ((menuMC + ".custommenu.container.butpanel.scroller.pbut") + APP_CUSTOM_TOPBUT);
var newindex = ((topbut.recnum + APP_CUSTOM_NUMBUTS) % APP_CUSTOM_RECORDS.length);
if ((0 <= newindex) && (newindex < APP_CUSTOM_RECORDS.length)) {
var scroller = eval (menuMC + ".custommenu.container.butpanel.scroller");
scroller._y = scroller._y - APP_CUSTOM_BUTSIZE;
topbut._y = topbut._y + (APP_CUSTOM_BUTSIZE * APP_CUSTOM_NUMBUTS);
topbutP._y = topbutP._y + (APP_CUSTOM_BUTSIZE * APP_CUSTOM_NUMBUTS);
var rec = APP_CUSTOM_RECORDS[newindex];
topbut._visible = true;
topbut.levname.text = rec.levname;
topbut.authname.text = rec.authname;
topbut.desc.text = rec.desc;
topbut.recnum = newindex;
topbut.levnum.text = "" + topbut.recnum;
topbutP.recnum = newindex;
if (rec.pbest == null) {
topbutP._visible = false;
} else {
topbutP._visible = true;
topbutP.scorebox.text = gui.FormatTime(rec.pbest.score);
topbutP.demo = rec.pbest.demo;
}
APP_CUSTOM_TOPBUT = top;
}
}
function App_Custom_MenuTogglePressed() {
App_StopCustomReplay();
}
function App_Custom_ReplayButtonPressed() {
var menuMC = gui.GetCurrentMC();
var inbox = eval ((menuMC + ".custommenu.container") + ".replaybox");
var str = inbox.text;
if (str != "") {
if (str.substr(0, 1) == "$") {
App_Custom_StartLoadingReplay(str);
}
}
}
function App_Custom_PBestButtonClicked(but) {
var menuMC = gui.GetCurrentMC();
var inbox = eval ((menuMC + ".custommenu.container") + ".replaybox");
var recbut = eval ((menuMC + ".custommenu.container.butpanel.scroller.but") + bnum);
var recnum = but.recnum;
var rec = APP_CUSTOM_RECORDS[recnum];
if (rec.pbest != null) {
var str = ((((((((("$" + rec.levname) + "#") + rec.authname) + "#") + rec.desc) + "#") + rec.levdata) + "#") + rec.pbest.demo);
inbox.text = str;
App_Custom_StartLoadingReplay(str);
}
}
function App_Custom_StartLoadingReplay(str) {
var _local2 = str.split("$");
var _local1 = _local2[1].split("#");
APP_CUSTOM_LEVELNAME = _local1[0];
APP_CUSTOM_AUTHORNAME = _local1[1];
APP_CUSTOM_DESC = _local1[2];
APP_CUSTOM_LEVELDATA = _local1[3];
APP_CUSTOM_REPLAY_RAWDATA = _local1[4];
APP_CUSTOM_REPLAY = str;
App_Custom_LoadReplay();
}
function App_Custom_LoadReplay() {
APP_CUSTOM_RUNNINGREPLAY = true;
gui.HideInGame();
game.InitNewGame(2);
App_PlayerDeathEvent = App_PlayerDeathEvent_Normal;
App_LevelPassedEvent = App_PlayerDeathEvent_Normal;
game.InitNewLevel();
game.StopDemoPlayback();
game.LoadDemo(APP_CUSTOM_REPLAY_RAWDATA);
game.StartDemoPlayback();
gui.Display(GUI_LOADINGLEVEL);
App_LoadLevel_Raw(APP_CUSTOM_LEVELDATA, App_StartCustomReplay);
console.Show();
}
function App_StopCustomReplay() {
App_StartCustomMenu(false);
APP_CUSTOM_RUNNINGREPLAY = false;
}
function App_StartCustomReplay() {
console.Hide();
game.StartDemoPlayback();
App_ResetGameTime();
gui.Display(GUI_CUSTOMMENU);
gui.ShowInGame();
var str = (((APP_CUSTOM_LEVELNAME + " ( by ") + APP_CUSTOM_AUTHORNAME) + " )");
gui.DrawLevelName(str);
var menuMC = gui.GetCurrentMC();
var container = eval (menuMC + ".custommenu.container");
container._visible = false;
var menutoggle = eval ((menuMC + ".custommenu") + ".menutoggle");
menutoggle._visible = true;
var s = new Sound();
s.setVolume(Math.round(userdata.GetVol()));
SetActiveProcess(App_TickCustomMenu);
}
function App_TickCustomReplay() {
if ((game.GetDemoTickCount() - game.GetTime()) < -80) {
return(false);
}
if (game.GetTime() < game.GetDemoTickCount()) {
App_UpdateGame_Demo(true);
} else {
App_UpdateGame_Demo(false);
}
game.DrawPlayerTime();
return(true);
}
APP_CUSTOM_SORT_0 = false;
APP_CUSTOM_SORT_1 = false;
APP_CUSTOM_SORT_2 = false;
APP_CUSTOM_NUMBUTS = 16;
APP_CUSTOM_TOPBUT = 0;
APP_CUSTOM_BUTSIZE = 24;
APP_CUSTOM_SELECTEDRECORD = 0;
APP_CUSTOM_SELECTEDBUTTON = 0;
APP_CUSTOM_LOADDATA = false;
APP_CUSTOM_READYTOPARSE = false;
APP_CUSTOM_FINISHEDPARSING = false;
APP_CUSTOM_LOADER = null;
APP_CUSTOM_CURRENTPARSEROW = 0;
APP_CUSTOM_RAWROWDATA = null;
APP_CUSTOM_RECORDS = null;
function App_StartHighscoreMenu(isReset) {
gui.HideInGame();
gui.Display(GUI_HIGHSCOREMENU);
SetActiveProcess(App_TickHighscoreMenu);
APP_DEBUG_DEATH = true;
APP_CURRENTHIGHSCOREMODE = APP_HIGHSCOREMODE_MENU;
var menuMC = gui.GetCurrentMC();
var scoreMC = eval (menuMC + ".scoremenu");
scoreMC.recPanel._visible = false;
scoreMC.toggleButton._visible = false;
scoreMC.toggleButton.onRelease = function () {
_root.App_HighscoreMenu_ToggleClicked(this);
};
scoreMC.timetrialButton.state.text = "play level";
scoreMC.timetrialButton._visible = true;
scoreMC.timetrialButton.onRelease = function () {
if ((0 <= APP_HS_CURRENTLEVEL_TT) && (0 <= APP_HS_CURRENTEPISODE_TT)) {
var _local1 = APP_HS_CURRENTEPISODE_TT;
var _local2 = APP_HS_CURRENTLEVEL_TT;
APP_IS_PRACTISE = userdata.GetPractiseMode();
APP_IS_CHEATER = APP_HS_CURRENTLEVEL_TT_CHEATER;
APP_HIGHSCORE_REPLAY_READY = false;
App_StartNewTimeTrial(_local1, _local2);
}
};
scoreMC.submitButton.state.text = "submit";
scoreMC.submitButton._visible = true;
scoreMC.submitButton.onRelease = function () {
_root.App_HighscoreMenu_SubmitClicked(this);
};
var klist = userdata.GetKillList();
var killMC = eval (scoreMC + ".killPanel");
killMC._visible = true;
for (var i in klist) {
var txtbox = killMC[i];
txtbox.text = klist[i];
}
scoreMC.epPanel.pbutE.p = -1;
scoreMC.epPanel.pbut0.p = 0;
scoreMC.epPanel.pbut1.p = 1;
scoreMC.epPanel.pbut2.p = 2;
scoreMC.epPanel.pbut3.p = 3;
scoreMC.epPanel.pbut4.p = 4;
var epReached = new Array();
epReached[0] = userdata.GetEpisodeReached(0);
epReached[1] = userdata.GetEpisodeReached(1);
epReached[2] = userdata.GetEpisodeReached(2);
epReached[3] = userdata.GetEpisodeReached(3);
epReached[4] = userdata.GetEpisodeReached(4);
epReached[5] = userdata.GetEpisodeReached(5);
epReached[6] = userdata.GetEpisodeReached(6);
epReached[7] = userdata.GetEpisodeReached(7);
epReached[8] = userdata.GetEpisodeReached(8);
epReached[9] = userdata.GetEpisodeReached(9);
var epBeaten = new Array();
epBeaten[0] = userdata.GetEpisodeBeaten(0);
epBeaten[1] = userdata.GetEpisodeBeaten(1);
epBeaten[2] = userdata.GetEpisodeBeaten(2);
epBeaten[3] = userdata.GetEpisodeBeaten(3);
epBeaten[4] = userdata.GetEpisodeBeaten(4);
epBeaten[5] = userdata.GetEpisodeBeaten(5);
epBeaten[6] = userdata.GetEpisodeBeaten(6);
epBeaten[7] = userdata.GetEpisodeBeaten(7);
epBeaten[8] = userdata.GetEpisodeBeaten(8);
epBeaten[9] = userdata.GetEpisodeBeaten(9);
var i = 0;
while (i < 100) {
var but = eval (((scoreMC + ".epPanel") + ".e") + i);
if (i < 10) {
but.num.text = "0" + i;
} else {
but.num.text = "" + i;
}
var setnum = Math.floor(i / 10);
var epR = epReached[setnum];
var epB = epBeaten[setnum];
if (i <= epB) {
but.progressType = 1;
} else if (i <= epR) {
but.progressType = 3;
} else {
but.progressType = 4;
}
but.gfx.gotoAndStop(but.progressType);
but.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
but.onRollOut = function () {
this.gfx.gotoAndStop(this.progressType);
};
but.onReleaseOutside = function () {
this.gfx.gotoAndStop(this.progressType);
};
but.onRelease = function () {
_root.App_HighscoreEpisodeButtonClicked(this, true);
};
i++;
}
if (!isReset) {
App_HighscoreEpisodeButtonClicked(APP_HIGHSCORE_CUR_SELECTED, false);
scoreMC.toggleButton._visible = false;
} else {
App_HighscoreEpisodeButtonClicked(null, true);
scoreMC.toggleButton._visible = false;
}
}
function App_TickHighscoreMenu() {
if (APP_CURRENTHIGHSCOREMODE == APP_HIGHSCOREMODE_PLAYING) {
if (APP_HIGHSCORE_REPLAY_READY) {
App_UpdateHighscoreMenu_PlayReplay();
}
}
}
function App_UpdateHighscoreMenu_PlayReplay() {
if (!App_TickHighscoreReplay()) {
var _local1 = new Sound();
_local1.stop();
game.StopDemoPlayback();
App_StartLoadingNextHighscoreReplay();
}
}
function App_HighscoreEpisodeButtonClicked(but, isNew) {
var s = new Sound();
s.stop();
_root.APP_PERSBEST_ONLINE = new Object();
APP_CURRENTHIGHSCOREMODE = APP_HIGHSCOREMODE_MENU;
var menuMC = gui.GetCurrentMC();
var scoreMC = eval (menuMC + ".scoremenu");
scoreMC.epPanel._visible = true;
scoreMC.recPanel._visible = true;
scoreMC.killPanel._visible = true;
scoreMC.toggleButton.state.text = "return to replay";
scoreMC.toggleButton._visible = APP_HIGHSCORE_REPLAY_READY || ((!isNew) && (!isReset));
scoreMC.submitButton._visible = true;
scoreMC.statusbox._visible = true;
var isNull = false;
var num = 0;
if (but == null) {
txt = "--";
isNull = true;
APP_HS_CURRENTEPISODE_TT = -1;
} else {
var txt = but.num.text;
num = Number(txt);
APP_HS_CURRENTEPISODE_TT = num;
}
scoreMC.epPanel.eptitle.text = "episode " + txt;
if (APP_HIGHSCORE_CUR_SELECTED != null) {
APP_HIGHSCORE_CUR_SELECTED.gfx.gotoAndStop(APP_HIGHSCORE_CUR_SELECTED.progressType);
APP_HIGHSCORE_CUR_SELECTED.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
APP_HIGHSCORE_CUR_SELECTED.onRollOut = function () {
this.gfx.gotoAndStop(this.progressType);
};
}
if (!isNull) {
APP_HIGHSCORE_CUR_SELECTED = but;
APP_HIGHSCORE_CUR_SELECTED.gfx.gotoAndStop(2);
APP_HIGHSCORE_CUR_SELECTED.onRollOver = null;
APP_HIGHSCORE_CUR_SELECTED.onRollOut = null;
scoreMC.timetrialButton._visible = false;
}
if (isNull) {
scoreMC.statusbox.msg.text = "please select an episode.";
}
if (isNew && (!isNull)) {
_root.APP_PERSBEST_ONLINE = new Object();
APP_HIGHSCORE_ONLINE_EP = num;
scoreMC.statusbox.msg.text = "";
scoreMC.statusbox.msg.text = scoreMC.statusbox.msg.text + "downloading records..";
onlineclient.QueryTopRecords(num, App_ReceiveOnlineRecords);
}
if (isNull) {
var pbut = eval ((scoreMC + ".epPanel") + ".pbutE");
pbut.gfx.gotoAndStop(4);
pbut.onRollOver = null;
pbut.onRollOut = null;
pbut.onRelease = null;
pbut.onReleaseOutside = null;
var i = 0;
while (i < 5) {
var pbut = eval (((scoreMC + ".epPanel") + ".pbut") + i);
pbut.gfx.gotoAndStop(4);
pbut.onRollOver = null;
pbut.onRollOut = null;
pbut.onRelease = null;
pbut.onReleaseOutside = null;
i++;
}
APP_HIGHSCORE_CUR_PANEL = null;
App_HighscoreMenu_ViewPanel(scoreMC.epPanel.pbutE);
} else if (isNew) {
App_HighscoreMenu_ViewPanel(scoreMC.epPanel.pbutE);
var pbut = eval ((scoreMC + ".epPanel") + ".pbutE");
pbut.progressType = but.progressType;
var tempPT = pbut.progressType;
pbut.gfx.gotoAndStop(tempPT);
pbut.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
pbut.onRollOut = function () {
this.gfx.gotoAndStop(this.progressType);
};
pbut.onRelease = function () {
_root.App_HighscoreMenu_ViewPanel(this);
};
pbut.onReleaseOutside = function () {
this.gfx.gotoAndStop(this.progressType);
};
var levR = userdata.GetLevelReached(APP_HS_CURRENTEPISODE_TT);
var levB = userdata.GetLevelBeaten(APP_HS_CURRENTEPISODE_TT);
var i = 0;
while (i < 5) {
var pbut = eval (((scoreMC + ".epPanel") + ".pbut") + i);
if (but.progressType == 4) {
pbut.progressType = 4;
} else if ((i <= levB) && (but.progressType == 1)) {
pbut.progressType = 1;
} else if (i <= levR) {
pbut.progressType = 3;
} else {
pbut.progressType = 4;
}
var tempPT = pbut.progressType;
pbut.gfx.gotoAndStop(tempPT);
pbut.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
pbut.onRollOut = function () {
this.gfx.gotoAndStop(this.progressType);
};
pbut.onRelease = function () {
_root.App_HighscoreMenu_ViewPanel(this);
};
pbut.onReleaseOutside = function () {
this.gfx.gotoAndStop(this.progressType);
};
i++;
}
} else {
App_HighscoreMenu_ViewPanel(APP_HIGHSCORE_CUR_PANEL);
}
if (isNull || (isNew)) {
var i = 0;
while (i < 20) {
var recordMC = eval ((scoreMC + ".recPanel.epPanel.record_") + i);
recordMC.isOnline = true;
recordMC.isEpisode = true;
recordMC.isLoaded = false;
recordMC.scorebox.text = "---.---";
recordMC.username.text = "------------";
recordMC.gfx._visible = false;
recordMC.enabled = false;
recordMC.onRelease = null;
i++;
}
var i = 0;
while (i < 5) {
var recPanel = ((".recPanel.lev" + i) + "Panel.record_");
var j = 0;
while (j < 20) {
var recordMC = eval ((scoreMC + recPanel) + j);
recordMC.isEpisode = false;
recordMC.isOnline = true;
recordMC.isLoaded = false;
recordMC.scorebox.text = "---.---";
recordMC.username.text = "------------";
recordMC.gfx._visible = false;
recordMC.enabled = false;
recordMC.onRelease = null;
j++;
}
i++;
}
var p0 = eval (scoreMC + ".lev0Panel");
var p1 = eval (scoreMC + ".lev0Panel");
var p2 = eval (scoreMC + ".lev0Panel");
var p3 = eval (scoreMC + ".lev0Panel");
var p4 = eval (scoreMC + ".lev0Panel");
p0._visible = false;
p1._visible = false;
p2._visible = false;
p3._visible = false;
p4._visible = false;
}
var tempShowSubmitButton = false;
var recordMC = eval (scoreMC + ".recPanel.persbestPanel.record_pe");
var epRec = userdata.GetPersBest_Episode(num);
recordMC.isEpisode = true;
if ((((((!isNull) && (epRec.ep.demo0 != "")) && (epRec.ep.demo1 != "")) && (epRec.ep.demo2 != "")) && (epRec.ep.demo3 != "")) && (epRec.ep.demo4 != "")) {
tempShowSubmitButton = true;
recordMC.valid = true;
recordMC.scorebox.text = gui.FormatTime(epRec.ep.score);
recordMC.score = epRec.ep.score;
recordMC.demo0 = epRec.ep.demo0;
recordMC.demo1 = epRec.ep.demo1;
recordMC.demo2 = epRec.ep.demo2;
recordMC.demo3 = epRec.ep.demo3;
recordMC.demo4 = epRec.ep.demo4;
recordMC.ep = num;
recordMC.isOnline = false;
recordMC.isEpisode = true;
recordMC.gfx._visible = true;
recordMC.enabled = true;
recordMC.onRelease = function () {
_root.App_HighscoreRecordButtonClicked(this, true);
};
APP_PERSBEST_ONLINE.ep = new Object();
APP_PERSBEST_ONLINE.ep.epNum = num;
APP_PERSBEST_ONLINE.ep.score = epRec.ep.score;
APP_PERSBEST_ONLINE.ep.demo0 = epRec.ep.demo0;
APP_PERSBEST_ONLINE.ep.demo1 = epRec.ep.demo1;
APP_PERSBEST_ONLINE.ep.demo2 = epRec.ep.demo2;
APP_PERSBEST_ONLINE.ep.demo3 = epRec.ep.demo3;
APP_PERSBEST_ONLINE.ep.demo4 = epRec.ep.demo4;
} else {
APP_PERSBEST_ONLINE.ep = null;
recordMC.onRelease = null;
recordMC.enabled = false;
recordMC.gotoAndStop(1);
recordMC.valid = false;
recordMC.scorebox.text = "---.---";
recordMC.isOnline = false;
}
var i = 0;
while (i < 5) {
var recName = (".recPanel.persbestPanel.record_p0" + i);
var recordMC = eval (scoreMC + recName);
var levRec = userdata.GetPersBest_Level(num, i);
recordMC.isEpisode = false;
if ((!isNull) && (levRec.demo != "")) {
tempShowSubmitButton = true;
recordMC.valid = true;
recordMC.score = levRec.score;
recordMC.scorebox.text = gui.FormatTime(levRec.score);
recordMC.demo = levRec.demo;
recordMC.ep = num;
recordMC.lev = i;
recordMC.isOnline = false;
recordMC.isEpisode = false;
recordMC.gfx._visible = true;
recordMC.enabled = true;
recordMC.onRelease = function () {
_root.App_HighscoreRecordButtonClicked(this, false);
};
APP_PERSBEST_ONLINE["lev" + i] = new Object();
APP_PERSBEST_ONLINE["lev" + i].score = levRec.score;
APP_PERSBEST_ONLINE["lev" + i].demo = levRec.demo;
APP_PERSBEST_ONLINE["lev" + i].epNum = num;
APP_PERSBEST_ONLINE["lev" + i].levNum = i;
} else {
APP_PERSBEST_ONLINE["lev" + i] = null;
recordMC.valid = false;
recordMC.scorebox.text = "---.---";
recordMC.isOnline = false;
recordMC.onRelease = null;
recordMC.enabled = false;
recordMC.gotoAndStop(1);
}
i++;
}
scoreMC.submitButton._visible = tempShowSubmitButton;
}
function App_HighscoreMenu_ViewPanel(but) {
if (APP_HIGHSCORE_CUR_PANEL != null) {
var tempTP = APP_HIGHSCORE_CUR_PANEL.progressType;
APP_HIGHSCORE_CUR_PANEL.gfx.gotoAndStop(tempTP);
APP_HIGHSCORE_CUR_PANEL.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
APP_HIGHSCORE_CUR_PANEL.onRollOut = function () {
this.gfx.gotoAndStop(this.progressType);
};
APP_HIGHSCORE_CUR_PANEL.onReleaseOutside = function () {
this.gfx.gotoAndStop(this.progressType);
};
APP_HIGHSCORE_CUR_PANEL.onRelease = function () {
_root.App_HighscoreMenu_ViewPanel(this);
};
}
APP_HIGHSCORE_CUR_PANEL = but;
APP_HIGHSCORE_CUR_PANEL.onRollOver = null;
APP_HIGHSCORE_CUR_PANEL.onRollOut = null;
APP_HIGHSCORE_CUR_PANEL.onRelease = null;
APP_HIGHSCORE_CUR_PANEL.onReleaseOutside = null;
APP_HIGHSCORE_CUR_PANEL.gfx.gotoAndStop(2);
var p = but.p;
var menuMC = gui.GetCurrentMC();
var scoreMC = eval (menuMC + ".scoremenu");
var ep = eval (scoreMC + ".recPanel.epPanel");
if (p == -1) {
ep._visible = true;
scoreMC.timetrialButton._visible = false;
APP_HS_CURRENTLEVEL_TT = -1;
} else {
ep._visible = false;
APP_HS_CURRENTLEVEL_TT = p;
if (but.progressType == 1) {
scoreMC.timetrialButton._visible = true;
scoreMC.timetrialButton.state.text = "play level " + p;
APP_HS_CURRENTLEVEL_TT_CHEATER = false;
} else if (but.progressType == 3) {
scoreMC.timetrialButton._visible = true;
scoreMC.timetrialButton.state.text = "play level " + p;
APP_HS_CURRENTLEVEL_TT_CHEATER = true;
} else {
scoreMC.timetrialButton._visible = false;
}
}
var i = 0;
while (i < 5) {
var pan = eval (((scoreMC + ".recPanel.lev") + i) + "Panel");
if (i == p) {
pan._visible = true;
} else {
pan._visible = false;
}
i++;
}
}
function App_HighscoreMenu_ToggleClicked(but) {
if (APP_CURRENTHIGHSCOREMODE == APP_HIGHSCOREMODE_MENU) {
App_ShowHighscoreReplay();
} else if (APP_CURRENTHIGHSCOREMODE == APP_HIGHSCOREMODE_PLAYING) {
App_ShowHighscoreMenu();
}
}
function App_ShowHighscoreReplay() {
var s = new Sound();
s.setVolume(Math.round(userdata.GetVol()));
APP_CANCEL_AUTOPLAY = false;
if (APP_HIGHSCORE_REPLAY_READY) {
gui.ShowInGame();
gui.DrawLevelName(gamedata.GetCurrentLevelName());
}
var menuMC = gui.GetCurrentMC();
var scoreMC = eval (menuMC + ".scoremenu");
scoreMC.epPanel._visible = false;
scoreMC.recPanel._visible = false;
scoreMC.killPanel._visible = false;
scoreMC.toggleButton._visible = true;
scoreMC.toggleButton.state.text = "return to menu";
scoreMC.submitButton._visible = false;
scoreMC.timetrialButton._visible = false;
scoreMC.statusbox._visible = false;
APP_CURRENTHIGHSCOREMODE = APP_HIGHSCOREMODE_PLAYING;
App_ResetGameTime();
}
function App_ShowHighscoreMenu() {
var _local1 = new Sound();
_local1.setVolume(0);
gui.HideInGame();
APP_CURRENTHIGHSCOREMODE = APP_HIGHSCOREMODE_MENU;
APP_CANCEL_AUTOPLAY = true;
App_ResetGameTime();
App_HighscoreEpisodeButtonClicked(APP_HIGHSCORE_CUR_SELECTED, false);
}
function App_HighscoreRecordButtonClicked(but, isEpisode) {
_root.APP_REPLAY_DATA = new Object();
APP_CANCEL_AUTOPLAY = false;
if (but.isOnline) {
if (but.isLoaded) {
if (isEpisode) {
var menuMC = gui.GetCurrentMC();
var scoreMC = eval (menuMC + ".scoremenu");
scoreMC.statusbox.msg.text = "downloading replay data..";
onlineclient.QueryEpisodeDemo(but.pkey, App_ReceiveOnlineDemo_Episode);
} else {
var menuMC = gui.GetCurrentMC();
var scoreMC = eval (menuMC + ".scoremenu");
scoreMC.statusbox.msg.text = "downloading replay data..";
onlineclient.QueryLevelDemo(but.pkey, App_ReceiveOnlineDemo_Level);
}
}
} else if (but.valid) {
APP_REPLAY_DATA.isEpisode = isEpisode;
if (isEpisode) {
APP_REPLAY_DATA.ep = but.ep;
APP_REPLAY_DATA.lev = 0;
APP_REPLAY_DATA.demoList = new Array();
APP_REPLAY_DATA.score = but.score;
APP_REPLAY_DATA.demoList[0] = but.demo0;
APP_REPLAY_DATA.demoList[1] = but.demo1;
APP_REPLAY_DATA.demoList[2] = but.demo2;
APP_REPLAY_DATA.demoList[3] = but.demo3;
APP_REPLAY_DATA.demoList[4] = but.demo4;
} else {
APP_REPLAY_DATA.ep = but.ep;
APP_REPLAY_DATA.lev = but.lev;
APP_REPLAY_DATA.demo = but.demo;
APP_REPLAY_DATA.score = but.score;
}
App_StartLoadingNextHighscoreReplay();
}
}
function App_StartLoadingNextHighscoreReplay() {
gui.HideInGame();
var menuMC = gui.GetCurrentMC();
var scoreMC = eval (menuMC + ".scoremenu");
scoreMC.statusbox.msg.text = "loading level..";
var ep;
var lev;
var str;
if (APP_REPLAY_DATA.isEpisode) {
ep = APP_REPLAY_DATA.ep;
lev = APP_REPLAY_DATA.lev;
str = APP_REPLAY_DATA.demoList[lev];
if (APP_REPLAY_DATA.lev == 0) {
game.InitNewGame(0);
gui.SetPlayerTime(game.playerMaxTime);
}
APP_REPLAY_DATA.lev = (APP_REPLAY_DATA.lev + 1) % 5;
} else {
ep = APP_REPLAY_DATA.ep;
lev = APP_REPLAY_DATA.lev;
str = APP_REPLAY_DATA.demo;
game.InitNewGame(1);
gui.SetPlayerTime(game.playerMaxTime);
}
App_PlayerDeathEvent = App_PlayerDeathEvent_Normal;
App_LevelPassedEvent = App_PlayerDeathEvent_Normal;
game.InitNewLevel();
game.StopDemoPlayback();
game.LoadDemo(str);
game.StartDemoPlayback();
gamedata.LoadEpisodeNum(ep);
gamedata.curLevel = lev;
APP_HIGHSCORE_REPLAY_READY = false;
App_LoadLevel(gamedata.GetCurrentLevelID(), App_HighscoreReady);
console.Show();
}
function App_HighscoreReady() {
var menuMC = gui.GetCurrentMC();
var scoreMC = eval (menuMC + ".scoremenu");
scoreMC.statusbox.msg.text = scoreMC.statusbox.msg.text + "done.";
console.Hide();
SetActiveProcess(App_TickHighscoreMenu);
APP_HIGHSCORE_REPLAY_READY = true;
if (!APP_CANCEL_AUTOPLAY) {
App_StartHighscoreReplay();
}
if (APP_CURRENTHIGHSCOREMODE == APP_HIGHSCOREMODE_PLAYING) {
gui.ShowInGame();
gui.DrawLevelName(gamedata.GetCurrentLevelName());
} else if (APP_CURRENTHIGHSCOREMODE == APP_HIGHSCOREMODE_MENU) {
gui.HideInGame();
}
}
function App_StartHighscoreReplay() {
game.StartDemoPlayback();
App_ResetGameTime();
App_ShowHighscoreReplay();
}
function App_TickHighscoreReplay() {
if ((game.GetDemoTickCount() - game.GetTime()) < -80) {
return(false);
}
if (game.GetTime() < game.GetDemoTickCount()) {
App_UpdateGame_Demo(true);
} else {
App_UpdateGame_Demo(false);
}
game.DrawPlayerTime();
return(true);
}
function App_HighscoreMenu_SubmitClicked(but) {
var menuMC = gui.GetCurrentMC();
var scoreMC = eval (menuMC + ".scoremenu");
scoreMC.statusbox.msg.text = "submitting score(s)..";
var epnum = -1;
var escore = -1;
var epdemo0 = "";
var epdemo1 = "";
var epdemo2 = "";
var epdemo3 = "";
var epdemo4 = "";
var levscore0 = -1;
var levscore1 = -1;
var levscore2 = -1;
var levscore3 = -1;
var levscore4 = -1;
var levdemo0 = "";
var levdemo1 = "";
var levdemo2 = "";
var levdemo3 = "";
var levdemo4 = "";
var isGood = false;
if (APP_PERSBEST_ONLINE.ep != null) {
isGood = true;
var temp = APP_PERSBEST_ONLINE.ep;
escore = temp.score;
epdemo0 = temp.demo0;
epdemo1 = temp.demo1;
epdemo2 = temp.demo2;
epdemo3 = temp.demo3;
epdemo4 = temp.demo4;
}
if (APP_PERSBEST_ONLINE.lev0 != null) {
isGood = true;
var temp = APP_PERSBEST_ONLINE.lev0;
levscore0 = temp.score;
levdemo0 = temp.demo;
}
if (APP_PERSBEST_ONLINE.lev1 != null) {
isGood = true;
var temp = APP_PERSBEST_ONLINE.lev1;
levscore1 = temp.score;
levdemo1 = temp.demo;
}
if (APP_PERSBEST_ONLINE.lev2 != null) {
isGood = true;
var temp = APP_PERSBEST_ONLINE.lev2;
levscore2 = temp.score;
levdemo2 = temp.demo;
}
if (APP_PERSBEST_ONLINE.lev3 != null) {
isGood = true;
var temp = APP_PERSBEST_ONLINE.lev3;
levscore3 = temp.score;
levdemo3 = temp.demo;
}
if (APP_PERSBEST_ONLINE.lev4 != null) {
isGood = true;
var temp = APP_PERSBEST_ONLINE.lev4;
levscore4 = temp.score;
levdemo4 = temp.demo;
}
if (isGood) {
epnum = APP_HIGHSCORE_ONLINE_EP;
onlineclient.SubmitPersBestDemos(epnum, escore, epdemo0, epdemo1, epdemo2, epdemo3, epdemo4, levscore0, levdemo0, levscore1, levdemo1, levscore2, levdemo2, levscore3, levdemo3, levscore4, levdemo4, App_NotifyPersbestReceived);
}
}
function App_HighscoreMenu_ContinueSubmit() {
if (APP_SUBMIT_LEV < 5) {
var menuMC = gui.GetCurrentMC();
var scoreMC = eval (menuMC + ".scoremenu");
scoreMC.statusbox.msg.text = scoreMC.statusbox.msg.text + "..";
var temp = APP_PERSBEST_ONLINE["lev" + APP_SUBMIT_LEV];
if (temp != null) {
onlineclient.SubmitLevelDemo(temp.userN, temp.userP, temp.epNum, temp.levNum, temp.score, temp.demo, App_HighscoreMenu_ContinueSubmit);
APP_PERSBEST_ONLINE["lev" + APP_SUBMIT_LEV] = null;
APP_SUBMIT_LEV++;
return;
}
APP_SUBMIT_LEV++;
App_HighscoreMenu_ContinueSubmit();
return(undefined);
}
var menuMC = gui.GetCurrentMC();
var scoreMC = eval (menuMC + ".scoremenu");
scoreMC.statusbox.msg.text = scoreMC.statusbox.msg.text + "done.\n";
App_NotifyPersbestReceived();
}
function App_NotifyPersbestReceived(isValid) {
App_HighscoreEpisodeButtonClicked(APP_HIGHSCORE_CUR_SELECTED, true);
}
function App_ReceiveOnlineDemo_Episode(isValid) {
var menuMC = gui.GetCurrentMC();
var scoreMC = eval (menuMC + ".scoremenu");
scoreMC.statusbox.msg.text = scoreMC.statusbox.msg.text + "done.\n";
var qryData = onlineclient.GetLoadedData();
if (isValid) {
APP_REPLAY_DATA.isEpisode = true;
APP_REPLAY_DATA.ep = qryData.epnum;
APP_REPLAY_DATA.lev = 0;
APP_REPLAY_DATA.demoList = new Array();
APP_REPLAY_DATA.score = qryData.score;
APP_REPLAY_DATA.demoList[0] = qryData.demo0;
APP_REPLAY_DATA.demoList[1] = qryData.demo1;
APP_REPLAY_DATA.demoList[2] = qryData.demo2;
APP_REPLAY_DATA.demoList[3] = qryData.demo3;
APP_REPLAY_DATA.demoList[4] = qryData.demo4;
App_StartLoadingNextHighscoreReplay();
} else {
var stat = qryData.stat;
}
}
function App_ReceiveOnlineDemo_Level(isValid) {
var menuMC = gui.GetCurrentMC();
var scoreMC = eval (menuMC + ".scoremenu");
scoreMC.statusbox.msg.text = scoreMC.statusbox.msg.text + "done.\n";
var qryData = onlineclient.GetLoadedData();
if (isValid) {
APP_REPLAY_DATA.isEpisode = false;
APP_REPLAY_DATA.ep = qryData.epnum;
APP_REPLAY_DATA.lev = qryData.levnum;
APP_REPLAY_DATA.demo = qryData.demo;
APP_REPLAY_DATA.score = qryData.score;
App_StartLoadingNextHighscoreReplay();
} else {
var stat = qryData.stat;
}
}
function App_ReceiveOnlineRecords(isLoaded) {
var menuMC = gui.GetCurrentMC();
var scoreMC = eval (menuMC + ".scoremenu");
var qryData = onlineclient.GetLoadedData();
if (isLoaded) {
var i = 0;
while (i < 20) {
var recordMC = eval ((scoreMC + ".recPanel.epPanel.record_") + i);
var score = qryData["escore" + i];
var username = qryData["ename" + i];
var pkey = qryData["epkey" + i];
recordMC.isOnline = true;
recordMC.isEpisode = true;
recordMC.isLoaded = true;
recordMC.scorebox.text = gui.FormatTime(score);
recordMC.score = score;
recordMC.username.text = username;
recordMC.pkey = pkey;
recordMC.epnum = APP_HIGHSCORE_ONLINE_EP;
recordMC.gfx._visible = true;
recordMC.enabled = true;
recordMC.onRelease = function () {
_root.App_HighscoreRecordButtonClicked(this, true);
};
i++;
}
var j = 0;
while (j < 5) {
var recName = ((".recPanel.lev" + j) + "Panel.record_");
var i = 0;
while (i < 20) {
var recordMC = eval ((scoreMC + recName) + i);
var score = qryData[(("" + j) + "score") + i];
var username = qryData[(("" + j) + "name") + i];
var pkey = qryData[(("" + j) + "pkey") + i];
recordMC.isOnline = true;
recordMC.isEpisode = false;
recordMC.isLoaded = true;
recordMC.scorebox.text = gui.FormatTime(score);
recordMC.score = score;
recordMC.username.text = username;
recordMC.pkey = pkey;
recordMC.epnum = APP_HIGHSCORE_ONLINE_EP;
recordMC.levnum = j;
recordMC.gfx._visible = true;
recordMC.enabled = true;
recordMC.onRelease = function () {
_root.App_HighscoreRecordButtonClicked(this, false);
};
i++;
}
j++;
}
scoreMC.statusbox.msg.text = scoreMC.statusbox.msg.text + "done.\n";
scoreMC.statusbox.msg.text = scoreMC.statusbox.msg.text + "click a highscore to view replay.";
} else {
var stat = qryData.stat;
}
}
APP_HIGHSCORE_CUR_SELECTED = null;
APP_HIGHSCORE_REPLAY_READY = false;
APP_CANCEL_AUTOPLAY = false;
APP_HIGHSCOREMODE_PLAYING = 0;
APP_HIGHSCOREMODE_MENU = 1;
APP_CURRENTHIGHSCOREMODE = APP_HIGHSCOREMODE_MENU;
APP_PERSBEST_ONLINE = new Object();
APP_HS_CURRENTLEVEL_TT = -1;
APP_HS_CURRENTEPISODE_TT = -1;
APP_HS_CURRENTLEVEL_TT_CHEATER = true;
APP_SUBMIT_LEV = 0;
APP_HIGHSCORE_ONLINE_EP = 0;
APP_HIGHSCORE_CUR_PANEL = null;
function App_PostLevelResponse_NextLevel() {
var _local3 = _root._url;
if (_local3.substr(0, 4) != "file") {
getURL ("http://www.harveycartel.org/metanet/", _top);
}
APP_VICTORY = false;
console.Show();
var _local2 = new Sound();
_local2.stop();
gui.HideInGame();
SetActiveProcess(null);
if ((!APP_IS_CHEATER) && (!APP_IS_PRACTISE)) {
userdata.NotifyLevelBeaten(gamedata.curEpisode, gamedata.curLevel);
userdata.NotifyLevelReached(gamedata.curEpisode, gamedata.curLevel);
} else {
userdata.NotifyLevelReached(gamedata.curEpisode, gamedata.curLevel);
}
gui.Display(GUI_LOADINGLEVEL);
App_LoadLevel(gamedata.GetCurrentLevelID(), App_StartPreLevelPause);
}
function App_PostLevelResponse_NextEpisode() {
var _local3 = _root._url;
if (_local3.substr(0, 4) != "file") {
getURL ("http://www.harveycartel.org/metanet/", _top);
}
APP_KEY_TRIG = false;
var _local2 = gamedata.GetNextEpisodeNum();
SetActiveProcess(null);
if (_local2 < 0) {
console.AddLine("journey completed.");
App_StartBeatGame();
} else {
if ((!APP_IS_CHEATER) && (!APP_IS_PRACTISE)) {
userdata.NotifyEpisodeBeaten(_local2);
userdata.NotifyEpisodeReached(_local2);
} else {
userdata.NotifyEpisodeReached(_local2);
}
console.AddLine("episode completed. #: " + (_local2 - 1));
App_StartPassedEpisode(_local2);
}
}
function App_PlayerDeathEvent_Normal() {
objects.IdleObjectsAfterDeath();
}
function App_PlayerDeathEvent_Debug() {
}
function App_PlayerDeathEvent_Demo() {
objects.IdleObjectsAfterDeath();
}
function App_LevelPassedEvent_Normal() {
console.AddLine("level completed.");
objects.IdleObjectsAfterDeath();
var _local2 = game.GetPlayerTime();
var _local3 = game.GetPlayerLevelTime();
var _local5 = game.DumpDemoData(false);
App_ResetGameTime();
var _local4 = gamedata.curLevel;
APP_HACKY_REAL_TIME = _local2;
if ((APP_PERSBEST_ACTIVE && (!APP_IS_CHEATER)) && (!APP_IS_PRACTISE)) {
APP_PERSBEST_EPISBEST = false;
APP_PERSBEST_LEV = APP_PERSBEST_EP.lev[gamedata.curLevel];
APP_PERSBEST_PENDINGLEVNUM = gamedata.curLevel;
if (APP_PERSBEST_LEV.score < _local3) {
APP_PERSBEST_EP_PENDING = true;
userdata.SubmitPersBest_Level(gamedata.curEpisode, gamedata.curLevel, _local3);
App_PersBestEpLevel_DemoReady(_local5);
} else {
App_EpisodeLevel_DemoReady(_local5);
}
}
var _local6 = gamedata.IncrementCurrentLevel();
if (_local6) {
if ((APP_ONLINE_ACTIVE && (APP_ONLINEGOAL_VALID)) && (APP_ONLINEGOAL_LEVLIST[_local4] < _local3)) {
App_OnlineReplaySent_Level = App_OnlineReplaySent_Level_Active;
onlineclient.SubmitLevelDemo(gamedata.curEpisode, _local4, _local3, _local5, App_OnlineReplaySent_Level);
gui.TextBarNotify(2, "[new online highscore] (uploading replay..)");
}
game.InitNewLevel();
App_StartPostLevelPause(APP_POSTLEVEL_NEXTLEV);
} else {
if ((APP_ONLINE_ACTIVE && (APP_ONLINEGOAL_VALID)) && (APP_ONLINEGOAL_LEVLIST[_local4] < _local3)) {
if ((APP_ONLINE_ACTIVE && (APP_ONLINEGOAL_VALID)) && (APP_ONLINEGOAL_EPISODE < _local2)) {
App_OnlineReplaySent_EpisodeAndLevel = App_OnlineReplaySent_EpisodeAndLevel_Active;
onlineclient.SubmitEpisodeAndLevelDemo(gamedata.curEpisode, _local4, _local2, _local3, _local5, APP_PERSBEST_EPDEMOS[0], APP_PERSBEST_EPDEMOS[1], APP_PERSBEST_EPDEMOS[2], APP_PERSBEST_EPDEMOS[3], APP_PERSBEST_EPDEMOS[4], App_OnlineReplaySent_EpisodeAndLevel);
gui.TextBarNotify(2, "[new online highscore] (uploading replay..)");
gui.TextBarNotify(3, "[new online highscore] (uploading replay..)");
} else {
App_OnlineReplaySent_Level = App_OnlineReplaySent_Level_Active;
onlineclient.SubmitLevelDemo(gamedata.curEpisode, _local4, _local3, _local5, App_OnlineReplaySent_Level);
gui.TextBarNotify(2, "[new online highscore] (uploading replay..)");
}
} else if ((APP_ONLINE_ACTIVE && (APP_ONLINEGOAL_VALID)) && (APP_ONLINEGOAL_EPISODE < _local2)) {
App_OnlineReplaySent_Episode = App_OnlineReplaySent_Episode_Active;
onlineclient.SubmitEpisodeDemo(gamedata.curEpisode, _local2, APP_PERSBEST_EPDEMOS[0], APP_PERSBEST_EPDEMOS[1], APP_PERSBEST_EPDEMOS[2], APP_PERSBEST_EPDEMOS[3], APP_PERSBEST_EPDEMOS[4], App_OnlineReplaySent_Episode);
gui.TextBarNotify(3, "[new online highscore] (uploading replay..)");
}
if (APP_PERSBEST_ACTIVE && ((!APP_IS_CHEATER) && (!APP_IS_PRACTISE))) {
if (APP_PERSBEST_EP.ep.score < _local2) {
userdata.SetPersBest_Episode(gamedata.curEpisode, _local2, APP_PERSBEST_EPDEMOS);
if (APP_PERSBEST_EP_PENDING) {
APP_PERSBEST_EPISBEST = true;
APP_PERSBEST_EP_TIME = gui.FormatTime(_local2);
APP_PERSBEST_EP_NUM = gamedata.curEpisode;
} else {
gui.TextBarNotify(1, "[new personal best] Episode " + gamedata.curEpisode);
}
}
}
App_StartPostLevelPause(APP_POSTLEVEL_NEXTEP);
}
}
function App_LevelPassedEvent_TimeTrial() {
console.AddLine("level completed.");
objects.IdleObjectsAfterDeath();
var _local1 = game.GetPlayerTime();
var _local2 = game.DumpDemoData(false);
App_ResetGameTime();
APP_HACKY_REAL_TIME = _local1;
if ((APP_ONLINE_ACTIVE && (APP_ONLINEGOAL_VALID)) && (APP_ONLINEGOAL_LEVEL < _local1)) {
App_OnlineReplaySent_Level = App_OnlineReplaySent_Level_Active;
onlineclient.SubmitLevelDemo(gamedata.curEpisode, gamedata.curLevel, _local1, _local2, App_OnlineReplaySent_Level);
gui.TextBarNotify(2, "[new online highscore] (uploading replay..)");
}
if ((APP_PERSBEST_ACTIVE && (!APP_IS_CHEATER)) && (!APP_IS_PRACTISE)) {
if (APP_PERSBEST_LEV.score < _local1) {
userdata.SubmitPersBest_Level(gamedata.curEpisode, gamedata.curLevel, _local1);
App_PersBestLevel_DemoReady(_local2);
}
}
App_StartFinishedTimeTrial();
}
function App_EpisodeLevel_DemoReady(str) {
App_ResetGameTime();
APP_PERSBEST_EPDEMOS[APP_PERSBEST_PENDINGLEVNUM] = str;
}
function App_PersBestEpLevel_DemoReady(str) {
gui.TextBarNotify(0, (("[new personal best] Episode " + gamedata.curEpisode) + " Level ") + APP_PERSBEST_PENDINGLEVNUM);
App_ResetGameTime();
userdata.SubmitPersBest_Level_Finish(str);
APP_PERSBEST_EPDEMOS[APP_PERSBEST_PENDINGLEVNUM] = str;
if (APP_PERSBEST_EPISBEST) {
gui.TextBarNotify(1, "[new personal best] Episode " + APP_PERSBEST_EP_NUM);
}
APP_PERSBEST_EP_PENDING = (APP_PERSBEST_EPISBEST = false);
}
function App_PersBestLevel_DemoReady(str) {
gui.TextBarNotify(0, (("[new personal best] Episode " + gamedata.curEpisode) + " Level ") + gamedata.curLevel);
App_ResetGameTime();
userdata.SubmitPersBest_Level_Finish(str);
}
function App_OnlineReplaySent_Episode_Active(isValid) {
if (isValid) {
var _local1 = onlineclient.GetLoadedData();
var _local2 = _local1.epnum;
gui.TextBarNotify(3, "[new online highscore] Episode " + _local2);
}
}
function App_OnlineReplaySent_EpisodeAndLevel_Active(isValid) {
if (isValid) {
var _local1 = onlineclient.GetLoadedData();
var _local2 = _local1.epnum;
var _local3 = _local1.levnum;
gui.TextBarNotify(3, "[new online highscore] Episode " + _local2);
gui.TextBarNotify(2, (("[new online highscore] Episode " + _local2) + " Level ") + _local3);
}
}
function App_OnlineReplaySent_Level_Active(isValid) {
if (isValid) {
var _local1 = onlineclient.GetLoadedData();
var _local2 = _local1.epnum;
var _local3 = _local1.levnum;
gui.TextBarNotify(2, (("[new online highscore] Episode " + _local2) + " Level ") + _local3);
}
}
function App_LevelPassedEvent_Debug() {
console.AddLine("level completed.");
}
function App_LevelPassedEvent_Demo() {
objects.IdleObjectsAfterDeath();
}
function App_StartBeatGame() {
var _local1 = Math.random();
if (_local1 < 0.142857142857143) {
gui.Display(GUI_VICTORY1);
} else if (_local1 < 0.285714285714286) {
gui.Display(GUI_VICTORY2);
} else if (_local1 < 0.428571428571429) {
gui.Display(GUI_VICTORY3);
} else if (_local1 < 0.571428571428571) {
gui.Display(GUI_VICTORY4);
} else if (_local1 < 0.714285714285714) {
gui.Display(GUI_VICTORY5);
} else if (_local1 < 0.857142857142857) {
gui.Display(GUI_VICTORY6);
} else {
gui.Display(GUI_VICTORY7);
}
gui.DisplayTextBar(GUI_BEATGAME);
App_TestForSecret0();
SetActiveProcess(App_TickBeatGame);
}
function App_TickBeatGame() {
App_UpdateGame_Demo(false, false);
if (APP_KEY_TRIG && (Key.isDown(32))) {
userdata.Save();
App_LoadMainMenu();
}
}
function App_StartPassedEpisode(num) {
gui.HideAll();
var _local1 = Math.random();
if (_local1 < 0.142857142857143) {
gui.Display(GUI_VICTORY1);
} else if (_local1 < 0.285714285714286) {
gui.Display(GUI_VICTORY2);
} else if (_local1 < 0.428571428571429) {
gui.Display(GUI_VICTORY3);
} else if (_local1 < 0.571428571428571) {
gui.Display(GUI_VICTORY4);
} else if (_local1 < 0.714285714285714) {
gui.Display(GUI_VICTORY5);
} else if (_local1 < 0.857142857142857) {
gui.Display(GUI_VICTORY6);
} else {
gui.Display(GUI_VICTORY7);
}
gui.DisplayTextBar(GUI_PASSEDEPISODE);
var _local2 = num - 1;
gui.AppendToTextBar(("episode [" + _local2) + "] complete!! [spacebar] to continue, [Q] for mainmenu");
gamedata.LoadEpisodeNum(num);
SetActiveProcess(App_TickPassedEpisode);
}
function App_TickPassedEpisode() {
App_UpdateGame_Demo(false, false);
if (APP_KEY_TRIG && (Key.isDown(32))) {
gui.HideInGame();
App_StartNewGame();
} else if (APP_KEY_TRIG && (Key.isDown(81))) {
APP_KEY_TRIG = false;
gui.HideInGame();
userdata.Save();
App_LoadMainMenu();
}
}
function App_StartFinishedTimeTrial() {
var _local2 = _root._url;
if (_local2.substr(0, 4) != "file") {
getURL ("http://www.harveycartel.org/metanet/", _top);
}
gui.HideAll();
gui.DisplayTextBar(GUI_POSTLEVELTIMETRIAL);
SetActiveProcess(App_TickFinishedTimeTrial);
}
function App_TickFinishedTimeTrial() {
if (APP_KEY_TRIG && (Key.isDown(32))) {
APP_KEY_TRIG = false;
gui.HideInGame();
App_ResetObjects(App_StartPreLevelPause);
} else if (APP_KEY_TRIG && (Key.isDown(81))) {
APP_KEY_TRIG = false;
gui.HideInGame();
userdata.Save();
GUIEvent_MainMenu_TimeTrial(true);
} else {
App_UpdateGame_Demo(false, false);
gui.DrawPlayerTime(APP_HACKY_REAL_TIME, game.playerMaxTime);
}
}
function App_StartNewGame() {
console.Show();
APP_GAME_WAS_PLAYED = true;
var _local1 = new Sound();
_local1.stop();
game.InitNewGame(0);
App_PlayerDeathEvent = App_PlayerDeathEvent_Normal;
App_LevelPassedEvent = App_LevelPassedEvent_Normal;
App_PlayGame = App_PlayGame_Normal;
APP_ONLINE_ACTIVE = (userdata.GetOnlineActive() && (!APP_IS_CHEATER)) && (!APP_IS_PRACTISE);
APP_ONLINEGOAL_VALID = false;
APP_ONLINEGOAL_EPISODE = -1;
APP_ONLINEGOAL_LEVLIST = new Array();
APP_ONLINEGOAL_LEVLIST[0] = -1;
APP_ONLINEGOAL_LEVLIST[1] = -1;
APP_ONLINEGOAL_LEVLIST[2] = -1;
APP_ONLINEGOAL_LEVLIST[3] = -1;
APP_ONLINEGOAL_LEVLIST[4] = -1;
if (APP_ONLINE_ACTIVE) {
onlineclient.QueryOnlineGoal_Episode(gamedata.curEpisode, App_ReceiveOnlineGoal_Normal);
}
APP_PERSBEST_ACTIVE = (userdata.GetPersBestActive() && (!APP_IS_CHEATER)) && (!APP_IS_PRACTISE);
if (APP_PERSBEST_ACTIVE) {
APP_PERSBEST_EP = userdata.GetPersBest_Episode(gamedata.curEpisode);
}
APP_KEYDEF_PAUSE = userdata.GetPauseKey();
APP_KEYDEF_KILL = userdata.GetKillKey();
gui.Display(GUI_LOADINGLEVEL);
App_LoadLevel(0, App_StartPreLevelPause);
}
function App_ReceiveOnlineGoal_Normal(isValid) {
console.AddLine("ReceiveOnlineGoal_Normal : " + isValid);
if (isValid) {
var _local1 = onlineclient.GetLoadedData();
APP_ONLINEGOAL_EPISODE = _local1.escore;
APP_ONLINEGOAL_LEVLIST = new Array();
APP_ONLINEGOAL_LEVLIST[0] = _local1.score0;
APP_ONLINEGOAL_LEVLIST[1] = _local1.score1;
APP_ONLINEGOAL_LEVLIST[2] = _local1.score2;
APP_ONLINEGOAL_LEVLIST[3] = _local1.score3;
APP_ONLINEGOAL_LEVLIST[4] = _local1.score4;
console.AddLine("ReceiveOnlineGoal_Normal goal: " + APP_ONLINEGOAL_EPISODE);
APP_ONLINEGOAL_VALID = true;
}
}
function App_StartNewTimeTrial(ep, lev) {
console.Show();
APP_GAME_WAS_PLAYED = true;
var _local1 = new Sound();
_local1.stop();
game.InitNewGame(1);
App_PlayerDeathEvent = App_PlayerDeathEvent_Normal;
App_LevelPassedEvent = App_LevelPassedEvent_TimeTrial;
App_PlayGame = App_PlayGame_TimeTrial;
APP_KEYDEF_PAUSE = userdata.GetPauseKey();
APP_KEYDEF_KILL = userdata.GetKillKey();
APP_ONLINE_ACTIVE = (userdata.GetOnlineActive() && (!APP_IS_CHEATER)) && (!APP_IS_PRACTISE);
APP_ONLINEGOAL_VALID = false;
APP_ONLINEGOAL_LEVEL = -1;
if (APP_ONLINE_ACTIVE) {
onlineclient.QueryOnlineGoal_Level(ep, lev, App_ReceiveOnlineGoal_TimeTrial);
}
APP_PERSBEST_ACTIVE = userdata.GetPersBestActive();
if (APP_PERSBEST_ACTIVE) {
APP_PERSBEST_LEV = userdata.GetPersBest_Level(ep, lev);
}
gamedata.LoadEpisodeNum(ep);
gamedata.curLevel = lev;
gui.Display(GUI_LOADINGLEVEL);
App_LoadLevel(gamedata.GetCurrentLevelID(), App_StartPreLevelPause);
}
function App_ReceiveOnlineGoal_TimeTrial(isValid) {
console.AddLine("ReceiveOnlineGoal_TimeTrial: " + isValid);
if (isValid) {
var _local1 = onlineclient.GetLoadedData();
APP_ONLINEGOAL_LEVEL = _local1.score;
console.AddLine("ReceiveOnlineGoal_TimeTrial goal: " + APP_ONLINEGOAL_LEVEL);
APP_ONLINEGOAL_VALID = true;
}
}
function App_StartPreLevelPause() {
APP_WAITING_TO_RETRY = false;
console.Hide();
if (game.isTimeTrial) {
gui.Display(GUI_PRELEVELTIMETRIAL);
} else if (game.isCustom) {
gui.Display(GUI_PRELEVELCUSTOM);
} else if (APP_IS_PRACTISE) {
gui.Display(GUI_PRELEVELPRACTISE);
} else {
gui.Display(GUI_PRELEVEL);
}
if (APP_IS_PRACTISE) {
gui.ShowInGame_Practise();
} else {
gui.ShowInGame();
}
var _local1 = new Sound();
_local1.setVolume(0);
game.InitRetryLevel();
gui.ResetPlayerTime();
if (game.isCustom) {
var _local2 = ((APP_CUSTOM_LEVELNAME + " ( by ") + APP_CUSTOM_AUTHORNAME) + " )";
gui.DrawLevelName(_local2);
} else {
gui.DrawLevelName(gamedata.GetCurrentLevelName());
}
userdata.Save();
SetActiveProcess(App_Tick_PreLevelPause);
}
function App_Tick_PreLevelPause() {
if (!APP_IS_PRACTISE) {
game.FillPlayerTime();
}
if (APP_KEY_TRIG && (Key.isDown(32))) {
APP_KEY_TRIG = false;
var _local1 = new Sound();
_local1.setVolume(Math.round(userdata.GetVol()));
App_OnlineReplaySent_EpisodeAndLevel = null;
App_OnlineReplaySent_Episode = null;
App_OnlineReplaySent_Level = null;
App_PlayGame();
}
if (Key.isDown(81)) {
if (game.isTimeTrial) {
APP_KEY_TRIG = false;
userdata.Save();
GUIEvent_MainMenu_TimeTrial(true);
} else if (game.isCustom) {
APP_KEY_TRIG = false;
userdata.Save();
GUIEvent_MainMenu_Custom(false);
} else {
APP_KEY_TRIG = false;
gui.HideInGame();
userdata.Save();
App_LoadMainMenu();
}
}
if (((!game.isTimeTrial) && (APP_IS_PRACTISE)) && (!game.isCustom)) {
if (Key.isDown(13)) {
App_ResetGameTime();
App_LevelPassedEvent();
userdata.Save();
App_PostLevelResponse();
}
}
}
function App_PlayGame_Normal() {
gui.HideAll();
gui.HideNotify();
game.SetDemoFormat(false);
game.StopDemoPlayback();
game.StopRecordingDemo();
game.InitRetryLevel();
game.StartRecordingDemo();
App_ResetGameTime();
APP_VOLUNTARY_SUICIDE = false;
APP_DEBUG_DEATH = false;
App_PlayerDeathEvent = App_PlayerDeathEvent_Normal;
App_LevelPassedEvent = App_LevelPassedEvent_Normal;
APP_EPLEV_STARTTIME = game.GetPlayerTime();
SetActiveProcess(App_Tick_RunningGame);
}
function App_PlayGame_TimeTrial() {
gui.HideAll();
gui.HideNotify();
game.SetDemoFormat(false);
game.StopDemoPlayback();
game.StopRecordingDemo();
game.InitRetryLevel();
game.StartRecordingDemo();
App_ResetGameTime();
APP_VOLUNTARY_SUICIDE = false;
APP_DEBUG_DEATH = false;
App_PlayerDeathEvent = App_PlayerDeathEvent_Normal;
App_LevelPassedEvent = App_LevelPassedEvent_TimeTrial;
SetActiveProcess(App_Tick_RunningGame);
}
function App_UnpauseGame() {
gui.HideAll();
App_ResetGameTime();
SetActiveProcess(App_Tick_RunningGame);
}
function App_Tick_RunningGame() {
var _local1 = APP_KEY_TRIG && (!player.isDead);
if ((_local1 && (Key.isDown(APP_KEYDEF_PAUSE))) || (_local1 && (Key.isDown(27)))) {
APP_KEY_TRIG = false;
App_PauseGame();
} else {
if (APP_KEY_TRIG && (Key.isDown(APP_KEYDEF_KILL))) {
APP_KEY_TRIG = false;
APP_VOLUNTARY_SUICIDE = true;
if (Math.random() < 0.3) {
game.KillPlayer(KILLTYPE_EXPLOSIVE, (Math.random() * 10) - 5, (-Math.random()) * 6, player.pos.x, player.pos.y, player);
} else {
game.KillPlayer(KILLTYPE_HARDBULLET, (Math.random() * 10) - 5, (-Math.random()) * 6, player.pos.x, player.pos.y, player);
}
}
if (player.isDead) {
App_UpdateGame_Demo(false, false);
if (APP_KEY_TRIG && (Key.isDown(32))) {
APP_KEY_TRIG = false;
var _local2 = new Sound();
_local2.stop();
App_ResetObjects(App_StartPreLevelPause);
return(undefined);
}
if (APP_WAITING_TO_RETRY) {
if (APP_KEY_TRIG && (Key.isDown(32))) {
APP_KEY_TRIG = false;
var _local2 = new Sound();
_local2.stop();
App_ResetObjects(App_StartPreLevelPause);
} else if (!APP_VOLUNTARY_SUICIDE) {
if (Key.isDown(82)) {
APP_KEY_TRIG = false;
var _local2 = new Sound();
_local2.stop();
APP_REPLAY_DATA = game.DumpDemoData(false);
App_StartInGameDemo();
}
}
} else if (40 < (game.GetTime() - player.timeOfDeath)) {
game.StopRecordingDemo();
App_StartRetryMenu(APP_VOLUNTARY_SUICIDE);
}
} else {
App_UpdateGame();
if (game.playerCurTime <= 0) {
game.KillPlayer(KILLTYPE_FALL, 0, 0, player.pos.x, player.pos.y, player);
}
}
}
}
function App_UpdateGame() {
var _local2 = APP_GAMETIME_t0;
APP_GAMETIME_t0 = APP_t0;
var _local1 = (APP_GAMETIME_t0 - _local2) + APP_GAMETIME_REMAINDER;
_local1 = (_local1 + (APP_GAMETIME_SMOOTHAMT * APP_PREV_MS)) / (1 + APP_GAMETIME_SMOOTHAMT);
APP_PREV_MS = _local1;
var _local3 = _local1;
if (2000 < _local1) {
console.AddLine("resetting clock->too much lag");
_local1 = APP_GAMETIME_TICKLEN;
}
while (APP_GAMETIME_TICKLEN <= _local1) {
_local1 = _local1 - APP_GAMETIME_TICKLEN;
game.Tick();
if (APP_IS_PRACTISE) {
} else {
game.playerCurTime--;
}
}
APP_GAMETIME_REMAINDER = _local1;
if (_local1 < _local3) {
game.Draw();
if (APP_IS_PRACTISE) {
} else {
game.DrawPlayerTime();
}
}
}
function App_UpdateGame_Demo(tickTime, realtime) {
var _local3 = APP_GAMETIME_t0;
APP_GAMETIME_t0 = APP_t0;
var _local1 = (APP_GAMETIME_t0 - _local3) + APP_GAMETIME_REMAINDER;
var _local4 = _local1;
if (2000 < _local1) {
console.AddLine("resetting clock->too much lag");
_local1 = APP_GAMETIME_TICKLEN;
}
while (APP_GAMETIME_TICKLEN <= _local1) {
_local1 = _local1 - APP_GAMETIME_TICKLEN;
game.Tick();
if (tickTime) {
game.playerCurTime--;
}
}
APP_GAMETIME_REMAINDER = _local1;
if (_local1 < _local4) {
game.Draw();
}
}
function App_ResetGameTime() {
APP_GAMETIME_t0 = APP_t0;
APP_GAMETIME_REMAINDER = 0;
APP_PREV_MS = 0;
}
function App_PauseGame() {
gui.Display(GUI_PAUSE);
SetActiveProcess(App_Tick_InGamePause);
}
function App_Tick_InGamePause() {
if ((APP_KEY_TRIG && (Key.isDown(32))) || (APP_KEY_TRIG && (Key.isDown(APP_KEYDEF_PAUSE)))) {
APP_KEY_TRIG = false;
App_UnpauseGame();
} else if (APP_KEY_TRIG && (Key.isDown(81))) {
if (game.isTimeTrial) {
APP_KEY_TRIG = false;
userdata.Save();
GUIEvent_MainMenu_TimeTrial(true);
} else if (game.isCustom) {
APP_KEY_TRIG = false;
var _local1 = new Sound();
_local1.stop();
userdata.Save();
GUIEvent_MainMenu_Custom(false);
} else {
APP_KEY_TRIG = false;
gui.HideInGame();
userdata.Save();
App_LoadMainMenu();
}
} else {
APP_KEY_TRIG = false;
}
}
function App_StartPostLevelPause(POSTLEV_STATE) {
if (POSTLEV_STATE == APP_POSTLEVEL_NEXTLEV) {
gui.Display(GUI_POSTLEVEL);
App_PostLevelResponse = App_PostLevelResponse_NextLevel;
} else if (POSTLEV_STATE == APP_POSTLEVEL_NEXTEP) {
gui.Display(GUI_POSTLEVEL);
App_PostLevelResponse = App_PostLevelResponse_NextEpisode;
}
App_ResetGameTime();
if (game.isCustom) {
APP_CUSTOM_REPLAY_RAWDATA = game.DumpDemoData(false);
}
SetActiveProcess(App_Tick_PostLevelPause);
}
function App_Tick_PostLevelPause() {
if (Key.isDown(32)) {
userdata.Save();
App_PostLevelResponse();
} else if (Key.isDown(82)) {
APP_REPLAY_DATA = game.DumpDemoData(false);
App_Start_PostLevelPause_Demo();
} else {
App_UpdateGame_Demo(false, false);
if (!APP_IS_PRACTISE) {
gui.DrawPlayerTime(APP_HACKY_REAL_TIME, game.playerMaxTime);
}
}
}
function App_Start_PostLevelPause_Demo() {
var _local1 = new Sound();
_local1.stop();
App_PlayerDeathEvent = App_PlayerDeathEvent_Demo;
App_LevelPassedEvent = App_LevelPassedEvent_Demo;
App_ResetGameTime();
game.SetDemoFormat(false);
game.InitRetryLevel();
game.StopDemoPlayback();
game.LoadDemo(APP_REPLAY_DATA);
game.StartDemoPlayback();
App_ResetObjects(App_Tick_PostLevelPause_Demo);
gui.Display(GUI_POSTLEVDEMO);
APP_DEMO_DELAY_COUNTER = 0;
}
function App_Tick_PostLevelPause_Demo() {
if (Key.isDown(32)) {
APP_KEY_TRIG = false;
var _local1 = new Sound();
_local1.stop();
userdata.Save();
App_PostLevelResponse();
} else if ((game.GetDemoTickCount() - game.GetTime()) < -130) {
var _local1 = new Sound();
_local1.stop();
App_Start_PostLevelPause_Demo();
} else if (APP_DEMO_DELAY_AMT < APP_DEMO_DELAY_COUNTER) {
App_UpdateGame_Demo(false, false);
} else {
APP_DEMO_DELAY_COUNTER++;
App_ResetGameTime();
}
}
function App_StartRetryMenu(suicide) {
if (suicide) {
gui.Display(GUI_RETRYLEVEL_SUICIDE);
} else {
gui.Display(GUI_RETRYLEVEL);
}
APP_WAITING_TO_RETRY = true;
}
function App_StartGameOver() {
gui.Display(GUI_DEFEAT);
gui.DisplayTextBar(GUI_GAMEOVER);
SetActiveProcess(App_Tick_GameOver);
}
function App_Tick_GameOver() {
if (Key.isDown(32)) {
userdata.Save();
App_LoadMainMenu();
} else {
App_UpdateGame_Demo(false, false);
}
}
function App_StartInGameDemo() {
App_PlayerDeathEvent = App_PlayerDeathEvent_Demo;
App_LevelPassedEvent = App_LevelPassedEvent_Demo;
App_ResetGameTime();
APP_DEBUG_DEATH = true;
game.SetDemoFormat(false);
game.InitRetryLevel();
game.StopDemoPlayback();
game.LoadDemo(APP_REPLAY_DATA);
game.StartDemoPlayback();
App_ResetObjects(App_TickInGameDemo);
gui.Display(GUI_INGAMEDEMO);
APP_DEMO_DELAY_COUNTER = 0;
}
function App_TickInGameDemo() {
if (Key.isDown(32)) {
APP_KEY_TRIG = false;
var _local1 = new Sound();
_local1.stop();
App_ResetObjects(App_StartPreLevelPause);
} else if ((game.GetDemoTickCount() - game.GetTime()) < -130) {
var _local1 = new Sound();
_local1.stop();
App_StartInGameDemo();
} else if (APP_DEMO_DELAY_AMT < APP_DEMO_DELAY_COUNTER) {
App_UpdateGame_Demo(false, false);
} else {
APP_DEMO_DELAY_COUNTER++;
App_ResetGameTime();
}
}
APP_REPLAY_DATA = "";
APP_VICTORY = false;
APP_DEMO_DELAY_AMT = 20;
APP_DEMO_DELAY_COUNTER = 0;
APP_POSTLEVEL_NEXTLEV = 1;
APP_POSTLEVEL_NEXTEP = 2;
APP_POSTLEVEL_TIMETRIAL = 3;
App_PostLevelResponse = App_PostLevelResponse_NextLevel;
APP_EPLEV_STARTTIME = 0;
APP_PERSBEST_ACTIVE = false;
APP_PERSBEST_PENDINGLEVNUM = 0;
APP_PERSBEST_LEV = null;
APP_PERSBEST_EP = null;
APP_PERSBEST_EPDEMOS = new Array();
APP_PERSBEST_EPDEMOS[0] = "";
APP_PERSBEST_EPDEMOS[1] = "";
APP_PERSBEST_EPDEMOS[2] = "";
APP_PERSBEST_EPDEMOS[3] = "";
APP_PERSBEST_EPDEMOS[4] = "";
APP_PERSBEST_EPISBEST = false;
APP_PERSBEST_EP_TIME = 0;
APP_PERSBEST_EP_NUM = 0;
APP_PERSBEST_EP_PENDING = false;
APP_ONLINE_ACTIVE = false;
APP_ONLINEGOAL_VALID = false;
APP_ONLINEGOAL_EPISODE = 0;
APP_ONLINEGOAL_LEVEL = 0;
APP_ONLINEGOAL_LEVLIST = new Array();
APP_ONLINEGOAL_LEVLIST[0] = 0;
APP_ONLINEGOAL_LEVLIST[1] = 0;
APP_ONLINEGOAL_LEVLIST[2] = 0;
APP_ONLINEGOAL_LEVLIST[3] = 0;
APP_ONLINEGOAL_LEVLIST[4] = 0;
APP_HACKY_REAL_TIME = 0;
APP_BEAT_TIME = 0;
APP_IS_CHEATER = false;
APP_DEBUG_DEATH = false;
APP_IS_PRACTISE = false;
APP_GAME_WAS_PLAYED = false;
APP_GAMETIME_t0 = 0;
APP_GAMETIME_REMAINDER = 0;
APP_PREV_MS = 0;
function App_LevelPassedEvent_Custom() {
console.AddLine("level completed.");
objects.IdleObjectsAfterDeath();
var _local2 = game.GetPlayerTime();
var _local4 = game.DumpDemoData(false);
APP_CUSTOM_REPLAY_RAWDATA = _local4;
APP_CUSTOM_REPLAY = ((((((((("$" + APP_CUSTOM_LEVELNAME) + "#") + APP_CUSTOM_AUTHORNAME) + "#") + APP_CUSTOM_DESC) + "#") + APP_CUSTOM_LEVELDATA) + "#") + APP_CUSTOM_REPLAY_RAWDATA) + "#";
App_ResetGameTime();
APP_HACKY_REAL_TIME = _local2;
var _local3 = false;
var _local1 = APP_CUSTOM_RECORDS[APP_CUSTOM_SELECTEDRECORD];
if ((_local1.pbest == null) || (_local1.pbest.score < _local2)) {
userdata.SetPersBest_Custom(APP_CUSTOM_LEVELDATA, _local2, _local4);
App_Custom_RefreshRecordPBest(_local1);
App_Custom_RefreshButtonPBest(_local1, APP_CUSTOM_SELECTEDBUTTON);
_local3 = true;
}
App_StartFinishedCustom(_local3);
}
function App_StartFinishedCustom(showPB) {
var _local2 = _root._url;
if (_local2.substr(0, 4) != "file") {
getURL ("http://www.harveycartel.org/metanet/", _top);
}
gui.HideAll();
gui.DisplayTextBar(GUI_POSTLEVELCUSTOM);
if (showPB) {
gui.TextBarNotify(0, " [new personal best]");
}
SetActiveProcess(App_TickFinishedCustom);
}
function App_TickFinishedCustom() {
if (APP_KEY_TRIG && (Key.isDown(32))) {
APP_KEY_TRIG = false;
gui.HideInGame();
App_ResetObjects(App_StartPreLevelPause);
} else if (APP_KEY_TRIG && (Key.isDown(81))) {
APP_KEY_TRIG = false;
gui.HideInGame();
userdata.Save();
GUIEvent_MainMenu_Custom(false);
} else {
App_UpdateGame_Demo(false, false);
gui.DrawPlayerTime(APP_HACKY_REAL_TIME, game.playerMaxTime);
}
}
function App_StartNewGame_Custom(levname, authname, levdata, desc) {
console.Show();
APP_GAME_WAS_PLAYED = true;
var _local1 = new Sound();
_local1.stop();
game.InitNewGame(2);
App_PlayerDeathEvent = App_PlayerDeathEvent_Normal;
App_LevelPassedEvent = App_LevelPassedEvent_Custom;
App_PlayGame = App_PlayGame_Custom;
APP_KEYDEF_PAUSE = userdata.GetPauseKey();
APP_KEYDEF_KILL = userdata.GetKillKey();
APP_CUSTOM_LEVELNAME = levname;
APP_CUSTOM_AUTHORNAME = authname;
APP_CUSTOM_DESC = desc;
APP_CUSTOM_LEVELDATA = levdata;
gui.Display(GUI_LOADINGLEVEL);
App_LoadLevel_Raw(levdata, App_StartPreLevelPause);
}
function App_PlayGame_Custom() {
gui.HideAll();
gui.HideNotify();
game.SetDemoFormat(false);
game.StopDemoPlayback();
game.StopRecordingDemo();
game.InitRetryLevel();
game.StartRecordingDemo();
App_ResetGameTime();
APP_VOLUNTARY_SUICIDE = false;
APP_DEBUG_DEATH = false;
App_PlayerDeathEvent = App_PlayerDeathEvent_Normal;
App_LevelPassedEvent = App_LevelPassedEvent_Custom;
SetActiveProcess(App_Tick_RunningGame);
}
APP_CUSTOM_REPLAY_RAWDATA = "";
APP_CUSTOM_REPLAY = "";
APP_CUSTOM_LEVELNAME = "";
APP_CUSTOM_LEVELDATA = "";
APP_CUSTOM_AUTHORNAME = "";
APP_CUSTOM_DESC = "";
function App_StartNewGame_Debug() {
game.InitNewGame();
APP_DEBUG_DEATH = true;
App_LoadDebugMenu();
}
function App_LoadDebugMenu() {
_root.editor = new NinjaEditor();
editor.Init();
App_StartDebugMenu();
}
function App_KillDebugMenu() {
editor.Destroy();
}
function App_StartDebugMenu() {
App_PlayerDeathEvent = App_PlayerDeathEvent_Debug;
App_LevelPassedEvent = App_LevelPassedEvent_Debug;
gui.Display(GUI_DEBUGMENU);
console.Show();
gui.ShowTxt();
gui.SetTxt(TXTBOX_TOP, game.DumpLevelData());
gui.SetTxt(TXTBOX_BOTTOM, game.DumpDemoData(false));
APP_DEBUG_MODE_ACTIVE = true;
APP_DEBUG_DEATH = true;
SetActiveProcess(App_Tick_DebugMenu);
}
function App_Tick_DebugMenu() {
if (APP_KEY_TRIG && (Key.isDown(49))) {
APP_KEY_TRIG = false;
game.StopRecordingDemo();
game.InitNewGame();
game.StartRecordingDemo();
} else if (APP_KEY_TRIG && (Key.isDown(50))) {
APP_KEY_TRIG = false;
game.StopRecordingDemo();
} else if (APP_KEY_TRIG && (Key.isDown(87))) {
APP_KEY_TRIG = false;
game.StopDemoPlayback();
} else if (APP_KEY_TRIG && (Key.isDown(81))) {
APP_KEY_TRIG = false;
game.InitNewGame();
App_ResetObjects(App_StartDemoPlayback_Debug);
} else if (APP_KEY_TRIG && (Key.isDown(51))) {
APP_KEY_TRIG = false;
var _local1 = gui.GetTxt(TXTBOX_BOTTOM);
game.LoadDemo(_local1);
} else if (APP_KEY_TRIG && (Key.isDown(52))) {
APP_KEY_TRIG = false;
var _local1 = game.DumpDemoData(false);
System.setClipboard(_local1);
gui.ShowTxt();
gui.SetTxt(TXTBOX_BOTTOM, _local1);
}
if (APP_KEY_TRIG && (Key.isDown(77))) {
APP_KEY_TRIG = false;
gui.HideTxt();
App_KillDebugMenu();
App_LoadMainMenu();
} else if (APP_KEY_TRIG && (Key.isDown(74))) {
APP_KEY_TRIG = false;
App_LoadLevel_Raw(gamedata.GetBlankMap(), App_StartDebugMenu);
} else if (APP_KEY_TRIG && (Key.isDown(72))) {
APP_KEY_TRIG = false;
App_LoadLevel_Raw(gamedata.GetFullMap(), App_StartDebugMenu);
} else if (APP_KEY_TRIG && (Key.isDown(80))) {
APP_KEY_TRIG = false;
gui.HideTxt();
console.Hide();
App_PlayGame_Debug();
} else if (APP_KEY_TRIG && (Key.isDown(69))) {
APP_KEY_TRIG = false;
gui.HideTxt();
console.Hide();
App_StartEditor();
} else if (APP_KEY_TRIG && (Key.isDown(82))) {
APP_KEY_TRIG = false;
App_ResetObjects(App_StartDebugMenu);
} else if (APP_KEY_TRIG && (Key.isDown(84))) {
APP_KEY_TRIG = false;
gui.HideTxt();
console.Hide();
App_ResetObjects(App_StartEditor);
} else if (APP_KEY_TRIG && (Key.isDown(76))) {
APP_KEY_TRIG = false;
var _local1 = gui.GetTxt(TXTBOX_TOP);
App_LoadLevel_Raw(_local1, App_StartDebugMenu);
} else if (APP_KEY_TRIG && Key.isDown(83)) {
APP_KEY_TRIG = false;
var _local1 = game.DumpLevelData();
System.setClipboard(_local1);
gui.ShowTxt();
gui.SetTxt(TXTBOX_TOP, _local1);
}
}
function App_StartDemoPlayback_Debug() {
game.InitNewGame();
game.StartDemoPlayback();
App_StartDebugMenu();
}
function App_PlayGame_Debug() {
gui.HideAll();
App_ResetGameTime();
SetActiveProcess(App_Tick_RunningGame_Debug);
}
function App_Tick_RunningGame_Debug() {
if (Key.isDown(192) || (Key.isDown(220))) {
APP_KEY_TRIG = false;
App_StartDebugMenu();
return(undefined);
}
if (Key.isToggled(20)) {
if (!APP_DID_TICK_DEBUG) {
App_ResetGameTime();
}
DebugUpdateGameCode();
App_UpdateGame();
APP_DID_TICK_DEBUG = true;
} else if (input.MousePressed()) {
static_rend.Clear();
if (Key.isDown(8)) {
player.raggy.Activate();
player.raggy.MimicMC(0, 0, player.mc, player.facingDir, player.prevframe);
player.mc._visible = false;
player.raggy.Draw();
}
if (Key.isDown(45)) {
player.raggy.Deactivate();
player.mc._visible = true;
}
App_ResetGameTime();
APP_GAMETIME_REMAINDER = APP_GAMETIME_TICKLEN + 1;
DebugUpdateGameCode();
App_UpdateGame();
APP_DID_TICK_DEBUG = true;
} else {
APP_DID_TICK_DEBUG = false;
}
}
function App_StartEditor() {
gui.Display(GUI_TEMP_EDITOR);
SetActiveProcess(App_TickEditor);
editor.Start();
}
function App_TickEditor() {
App_UpdateEditor();
}
function App_UpdateEditor() {
debug_rend.Clear();
static_rend.Clear();
editor.Tick();
}
APP_DEBUG_MODE_ACTIVE = true;
APP_DID_TICK_DEBUG = false;
function App_LoadHelpDemo(demoID) {
gamedata.SetCurrentHelpDemo(demoID);
var _local1 = gamedata.GetHelpDemoObjects();
if (_local1 != null) {
App_BeginLoadHelpDemo(_local1);
}
}
function App_BeginLoadHelpDemo(objStr) {
console.AddLine("Loading Objects");
console.AddLine(".");
game.InitLoadObjects(objStr);
}
function App_LoadingHelpDemo() {
if (!AppLoadingObjects()) {
return(false);
}
return(true);
}
function App_ResetHelpDemo() {
console.AddLine("Resetting Objects");
console.AddLine(".");
game.InitReloadObjects();
}
function App_ResettingHelpDemo() {
if (!AppLoadingObjects()) {
return(false);
}
return(true);
}
function App_LoadMenuDemo(demoID) {
var _local1 = gamedata.GetMenuDemoData(demoID);
game.LoadDemo(_local1);
var _local2 = gamedata.GetMenuDemoLevel(demoID);
if (_local2 != null) {
App_BeginLoadMenuDemo(_local2, _local1);
return(true);
}
return(false);
}
function App_BeginLoadMenuDemo(levStr, demStr) {
console.AddLine("Loading Level:");
console.StartTab();
console.AddLine("Loading Map");
console.AddLine(".");
APP_DONE_LOADING_MAP = false;
game.InitLoadLevel(levStr);
}
function App_LoadingMenuDemo() {
if (!APP_DONE_LOADING_MAP) {
if (!AppLoadingMap()) {
console.AddLine("Loading Objects");
console.AddLine(".");
APP_DONE_LOADING_MAP = true;
}
} else if (!AppLoadingObjects()) {
console.StopTab();
return(false);
}
return(true);
}
function App_LoadLevel(levelID, callback) {
var _local1 = gamedata.GetLevelData(levelID);
if (_local1 != null) {
App_BeginLoadLevel(_local1, callback);
}
}
function App_LoadLevel_Raw(str, callback) {
gui.Display(GUI_LOADINGLEVEL);
var _local1 = "";
if (str.substr(0, 1) == "$") {
var _local2 = str.split("#");
_local1 = _local2[3];
} else {
_local1 = str;
}
App_BeginLoadLevel(_local1, callback);
}
function App_ResetObjects(callback) {
gui.Display(GUI_RESETTINGLEVEL);
App_BeginResetObjects(callback);
}
function App_BeginLoadLevel(levStr, callback) {
LEVEL_LOADED_CALLBACK = callback;
console.AddLine("Loading Level:");
console.StartTab();
console.AddLine("Loading Map");
console.AddLine(".");
APP_DONE_LOADING_MAP = false;
game.InitLoadLevel(levStr);
SetActiveProcess(AppLoadingLevel);
}
function App_BeginResetObjects(callback) {
OBJECTS_LOADED_CALLBACK = callback;
console.AddLine("Resetting Objects");
console.AddLine(".");
game.InitReloadObjects();
SetActiveProcess(AppResettingObjects);
}
function AppResettingObjects() {
if (!AppLoadingObjects()) {
OBJECTS_LOADED_CALLBACK();
}
}
function AppLoadingLevel() {
if (!APP_DONE_LOADING_MAP) {
if (!AppLoadingMap()) {
console.AddLine("Loading Objects");
console.AddLine(".");
APP_DONE_LOADING_MAP = true;
}
} else if (!AppLoadingObjects()) {
console.StopTab();
LEVEL_LOADED_CALLBACK();
}
}
function AppLoadingMap() {
var _local1 = 18;
while (_local1--) {
console.Append(".");
if (!game.LoadingMap()) {
return(false);
}
}
console.Update();
return(true);
}
function AppLoadingObjects() {
var _local1 = 2;
while (_local1--) {
console.Append(".");
if (!game.LoadingObjects()) {
return(false);
}
}
console.Update();
return(true);
}
LEVEL_LOADED_CALLBACK = null;
OBJECTS_LOADED_CALLBACK = null;
DEMO_LOADED_CALLBACK = null;
function InitApp() {
gfx = new NinjaGraphicsSystem();
particles = new ParticleManager(gfx.bufferList[LAYER_PARTICLES_FRONT], gfx.bufferList[LAYER_PARTICLES_BACK]);
mcRend = new VectorRenderer();
mcBuffer = mcRend.buffer;
input = new InputManager();
GRAV = 0.15;
DRAG = 0.999999;
BOUNCE = 0.7;
FRICTION_THRESHOLD = 0.5;
FRICTION_STATIC = 0.3;
FRICTION_DYNAMIC_RATIO = 0.5;
AppBuildModules();
StartApp();
}
fscommand ("allowscale", "false");
fscommand ("showmenu", "false");
APP_GAMETIME_BASETICKLEN = 25;
APP_GAMETIME_TICKLEN = 25;
APP_GAMETIME_SMOOTHAMT = 0;
APP_TILE_SCALE = 12;
APP_NUM_GRIDCOLS = 31;
APP_NUM_GRIDROWS = 23;
InitApp();
Symbol 26 MovieClip Frame 30
gotoAndPlay (1);
Symbol 29 Button
on (release) {
_root.GUIEvent_MainMenu_Help();
}
Symbol 47 MovieClip Frame 30
gotoAndPlay (1);
Symbol 50 Button
on (release) {
_root.GUIEvent_MainMenu_Quit();
}
Symbol 68 MovieClip Frame 30
gotoAndPlay (1);
Symbol 71 Button
on (release) {
_root.GUIEvent_MainMenu_Story();
}
Symbol 76 Button
on (release) {
getURL ("http://www.harveycartel.org/metanet", "_blank");
}
Symbol 95 MovieClip Frame 30
gotoAndPlay (1);
Symbol 98 Button
on (release) {
_root.GUIEvent_MainMenu_Configure();
}
Symbol 104 MovieClip Frame 30
gotoAndPlay (1);
Symbol 107 Button
on (release) {
_root.GUIEvent_MainMenu_Credits();
}
Symbol 117 MovieClip Frame 30
gotoAndPlay (1);
Symbol 120 Button
on (release) {
_root.GUIEvent_MainMenu_PlayGame();
}
Symbol 122 MovieClip Frame 30
gotoAndPlay (1);
Symbol 125 Button
on (release) {
_root.GUIEvent_MainMenu_Highscores();
}
Symbol 131 MovieClip Frame 30
gotoAndPlay (1);
Symbol 133 Button
on (release) {
_root.GUIEvent_MainMenu_Custom(true);
}
Symbol 145 MovieClip Frame 30
gotoAndPlay (1);
Symbol 148 Button
on (release) {
_root.App_StartMainMenu();
}
Symbol 152 MovieClip Frame 1
this.stop();
Symbol 152 MovieClip Frame 2
this.stop();
Symbol 155 MovieClip Frame 1
this.stop();
Symbol 155 MovieClip Frame 2
this.stop();
Symbol 158 MovieClip Frame 1
this.stop();
Symbol 158 MovieClip Frame 2
this.stop();
Symbol 159 Button
on (release) {
_root.App_LoadMainMenu();
}
Symbol 177 Button
on (release) {
this.gotoAndStop("player");
this._parent.helpText.gotoAndStop("player");
_root.App_StartHelpDemo(_root.HELPDEMO_PLAYER);
}
Symbol 180 Button
on (release) {
this.gotoAndStop("objects");
this._parent.helpText.gotoAndStop("objects");
_root.App_StartHelpDemo(_root.HELPDEMO_OBJECTS);
}
Symbol 183 Button
on (release) {
this.gotoAndStop("enemies");
this._parent.helpText.gotoAndStop("enemies");
_root.App_StartHelpDemo(_root.HELPDEMO_ENEMIES);
}
Symbol 186 Button
on (release) {
this._parent.helpText.gotoAndStop("falling1");
_root.App_StartHelpDemo(_root.HELPDEMO_FALLING1);
}
Symbol 188 Button
on (release) {
this._parent.helpText.gotoAndStop("falling2");
_root.App_StartHelpDemo(_root.HELPDEMO_FALLING2);
}
Symbol 190 Button
on (release) {
this._parent.helpText.gotoAndStop("jumping1");
_root.App_StartHelpDemo(_root.HELPDEMO_JUMPING1);
}
Symbol 192 Button
on (release) {
this._parent.helpText.gotoAndStop("jumping2");
_root.App_StartHelpDemo(_root.HELPDEMO_JUMPING2);
}
Symbol 194 Button
on (release) {
this._parent.helpText.gotoAndStop("keys");
_root.App_StartHelpDemo(_root.HELPDEMO_KEYS);
}
Symbol 196 Button
on (release) {
this._parent.helpText.gotoAndStop("movement");
_root.App_StartHelpDemo(_root.HELPDEMO_MOVEMENT);
}
Symbol 198 Button
on (release) {
this._parent.helpText.gotoAndStop("rules");
_root.App_StartHelpDemo(_root.HELPDEMO_RULES);
}
Symbol 203 Button
on (release) {
this._parent.helpText.gotoAndStop("walljumping");
_root.App_StartHelpDemo(_root.HELPDEMO_WALLJUMPING);
}
Symbol 206 Button
on (release) {
this._parent.helpText.gotoAndStop("wallsliding1");
_root.App_StartHelpDemo(_root.HELPDEMO_WALLSLIDING1);
}
Symbol 211 Button
on (release) {
this._parent.helpText.gotoAndStop("wallsliding2");
_root.App_StartHelpDemo(_root.HELPDEMO_WALLSLIDING2);
}
Symbol 215 Button
on (release) {
this._parent.helpText.gotoAndStop("bounceblock");
_root.App_StartHelpDemo(_root.HELPDEMO_BOUNCEBLOCK);
}
Symbol 218 Button
on (release) {
this._parent.helpText.gotoAndStop("lockeddoor");
_root.App_StartHelpDemo(_root.HELPDEMO_LOCKEDDOOR);
}
Symbol 221 Button
on (release) {
this._parent.helpText.gotoAndStop("lockeddoor");
_root.App_StartHelpDemo(_root.HELPDEMO_LOCKEDDOOR);
}
Symbol 226 Button
on (release) {
this._parent.helpText.gotoAndStop("door");
_root.App_StartHelpDemo(_root.HELPDEMO_DOOR);
}
Symbol 229 Button
on (release) {
this._parent.helpText.gotoAndStop("trapdoor");
_root.App_StartHelpDemo(_root.HELPDEMO_TRAPDOOR);
}
Symbol 233 Button
on (release) {
this._parent.helpText.gotoAndStop("exit");
_root.App_StartHelpDemo(_root.HELPDEMO_EXIT);
}
Symbol 236 Button
on (release) {
this._parent.helpText.gotoAndStop("exit");
_root.App_StartHelpDemo(_root.HELPDEMO_EXIT);
}
Symbol 241 Button
on (release) {
this._parent.helpText.gotoAndStop("gold");
_root.App_StartHelpDemo(_root.HELPDEMO_GOLD);
}
Symbol 246 Button
on (release) {
this._parent.helpText.gotoAndStop("launchpad");
_root.App_StartHelpDemo(_root.HELPDEMO_LAUNCHPAD);
}
Symbol 249 Button
on (release) {
this._parent.helpText.gotoAndStop("onewayplatform");
_root.App_StartHelpDemo(_root.HELPDEMO_ONEWAYPLATFORM);
}
Symbol 253 Button
on (release) {
this._parent.helpText.gotoAndStop("chaingundrone");
_root.App_StartHelpDemo(_root.HELPDEMO_CHAINGUNDRONE);
}
Symbol 256 Button
on (release) {
this._parent.helpText.gotoAndStop("laserdrone");
_root.App_StartHelpDemo(_root.HELPDEMO_LASERDRONE);
}
Symbol 259 Button
on (release) {
this._parent.helpText.gotoAndStop("zapdrone");
_root.App_StartHelpDemo(_root.HELPDEMO_ZAPDRONE);
}
Symbol 261 Button
on (release) {
this._parent.helpText.gotoAndStop("floorguard");
_root.App_StartHelpDemo(_root.HELPDEMO_FLOORGUARD);
}
Symbol 266 Button
on (release) {
this._parent.helpText.gotoAndStop("mines");
_root.App_StartHelpDemo(_root.HELPDEMO_MINES);
}
Symbol 269 Button
on (release) {
this._parent.helpText.gotoAndStop("thwump");
_root.App_StartHelpDemo(_root.HELPDEMO_THWUMP);
}
Symbol 273 Button
on (release) {
this._parent.helpText.gotoAndStop("gaussturret");
_root.App_StartHelpDemo(_root.HELPDEMO_GAUSSTURRET);
}
Symbol 277 Button
on (release) {
this._parent.helpText.gotoAndStop("hominglauncher");
_root.App_StartHelpDemo(_root.HELPDEMO_HOMINGLAUNCHER);
}
Symbol 278 MovieClip Frame 1
this.stop();
Symbol 309 MovieClip Frame 1
this.stop();
Symbol 314 Button
on (release) {
_root.App_ReadInputContinueCode();
}
Symbol 319 Button
on (release) {
_root.App_StartMainMenu();
}
Symbol 323 MovieClip Frame 1
this.stop();
Symbol 323 MovieClip Frame 2
this.stop();
Symbol 323 MovieClip Frame 3
this.stop();
Symbol 323 MovieClip Frame 4
this.stop();
Symbol 326 Button
on (release) {
_root.App_StartMainMenu();
}
Symbol 330 MovieClip Frame 1
Symbol 331 MovieClip [highscoreButtonGfx] Frame 1
this.stop();
Symbol 331 MovieClip [highscoreButtonGfx] Frame 2
this.stop();
Symbol 331 MovieClip [highscoreButtonGfx] Frame 3
this.stop();
Symbol 333 MovieClip Frame 1
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
this.onPress = function () {
this.gfx.gotoAndStop(1);
_root.App_Custom_MenuTogglePressed();
};
Symbol 341 Button
on (press) {
getURL ("http://numa.notdot.net", "_blank");
}
Symbol 346 MovieClip Frame 1
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
this.onPress = function () {
this.gfx.gotoAndStop(1);
_root.App_Custom_ReplayButtonPressed();
};
Symbol 351 MovieClip Frame 1
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
this.onRelease = function () {
this.gfx.gotoAndStop(1);
_root.App_Custom_LevelButtonPressed(this);
};
Symbol 353 MovieClip Frame 1
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
this.onRelease = function () {
_root.App_Custom_PBestButtonClicked(this);
};
Symbol 356 MovieClip Frame 1
this.stop();
Symbol 356 MovieClip Frame 2
this.stop();
Symbol 356 MovieClip Frame 3
this.stop();
Symbol 358 MovieClip Frame 1
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
this.onRelease = function () {
this.gfx.gotoAndStop(2);
};
this.onPress = function () {
this.gfx.gotoAndStop(3);
_root.App_Custom_RefreshButtonPressed();
};
Symbol 361 MovieClip Frame 1
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.onEnterFrame = null;
this.gfx.gotoAndStop(1);
};
this.onReleaseOutside = function () {
this.onEnterFrame = null;
this.gfx.gotoAndStop(1);
};
this.onRelease = function () {
this.onEnterFrame = null;
this.gfx.gotoAndStop(2);
};
this.onPress = function () {
this.gfx.gotoAndStop(3);
_root.App_Custom_ScrollButtonPressed(1);
this.delay = 30;
this.onEnterFrame = function () {
this.delay--;
if (this.delay < 0) {
this.delay = 0;
_root.App_Custom_ScrollButtonPressed(1);
}
};
this.onMouseUp = function () {
this.onEnterFrame = null;
};
};
Symbol 364 MovieClip Frame 1
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.onEnterFrame = null;
this.gfx.gotoAndStop(1);
};
this.onReleaseOutside = function () {
this.onEnterFrame = null;
this.gfx.gotoAndStop(1);
};
this.onRelease = function () {
this.onEnterFrame = null;
this.gfx.gotoAndStop(2);
};
this.onPress = function () {
this.gfx.gotoAndStop(3);
_root.App_Custom_ScrollButtonPressed(-1);
this.delay = 30;
this.onEnterFrame = function () {
this.delay--;
if (this.delay < 0) {
this.delay = 0;
_root.App_Custom_ScrollButtonPressed(-1);
}
};
this.onMouseUp = function () {
this.onEnterFrame = null;
};
};
Symbol 371 MovieClip Frame 61
this.gotoAndPlay(1);
Symbol 376 MovieClip Frame 1
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
this.onRelease = function () {
this.gfx.gotoAndStop(2);
};
this.onPress = function () {
this.gfx.gotoAndStop(3);
_root.App_Custom_SortButtonPressed(0);
};
Symbol 378 MovieClip Frame 1
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
this.onRelease = function () {
this.gfx.gotoAndStop(2);
};
this.onPress = function () {
this.gfx.gotoAndStop(3);
_root.App_Custom_SortButtonPressed(1);
};
Symbol 380 MovieClip Frame 1
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
this.onRelease = function () {
this.gfx.gotoAndStop(2);
};
this.onPress = function () {
this.gfx.gotoAndStop(3);
_root.App_Custom_SortButtonPressed(2);
};
Symbol 386 Button
on (release) {
_root.App_StartMainMenu();
}
Symbol 391 MovieClip [HighscoreButton] Frame 1
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
Symbol 425 MovieClip Frame 1
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
this.onRelease = function () {
_root.App_HighscoreRecordButtonClicked(this);
};
Symbol 430 MovieClip Frame 1
this.stop();
Symbol 430 MovieClip Frame 2
this.stop();
Symbol 430 MovieClip Frame 3
this.stop();
Symbol 455 MovieClip Frame 30
gotoAndPlay (1);
Symbol 456 Button
on (release) {
_root.App_LoadMainMenu();
}
Symbol 488 MovieClip Frame 1
this.stop();
Symbol 488 MovieClip Frame 2
this.stop();
Symbol 488 MovieClip Frame 3
this.stop();
Symbol 490 MovieClip Frame 1
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
Symbol 494 MovieClip Frame 1
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onReleaseOutside = function () {
this.gfx.gotoAndStop(1);
};
Symbol 495 MovieClip [HighscoreMenu] Frame 1
this.stop();
Symbol 505 MovieClip Frame 1
this.stop();
Symbol 505 MovieClip Frame 2
this.stop();
Symbol 505 MovieClip Frame 3
this.stop();
Symbol 505 MovieClip Frame 4
this.stop();
Symbol 508 Button
on (release) {
_root.App_AddUser();
}
Symbol 515 Button
on (release) {
_root.App_ChangeUser();
}
Symbol 519 MovieClip Frame 1
this.stop();
Symbol 519 MovieClip Frame 2
this.stop();
Symbol 519 MovieClip Frame 3
this.stop();
Symbol 526 MovieClip Frame 1
this.onRelease = function () {
_root.App_FocusKeyConfig(this);
};
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onKeyDown = function () {
var _local3 = Key.getCode();
_root.App_SubmitKeyConfig(this, "jump", _local3);
};
this.onKeyUp = function () {
};
Symbol 528 MovieClip Frame 1
this.onRelease = function () {
_root.App_FocusKeyConfig(this);
};
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onKeyDown = function () {
var _local3 = Key.getCode();
_root.App_SubmitKeyConfig(this, "left", _local3);
};
this.onKeyUp = function () {
};
Symbol 530 MovieClip Frame 1
this.onRelease = function () {
_root.App_FocusKeyConfig(this);
};
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onKeyDown = function () {
var _local3 = Key.getCode();
_root.App_SubmitKeyConfig(this, "right", _local3);
};
this.onKeyUp = function () {
};
Symbol 532 MovieClip Frame 1
this.onRelease = function () {
_root.App_ResetKeyConfig();
};
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
Symbol 535 MovieClip [kill configButton] Frame 1
this.onRelease = function () {
_root.App_FocusKeyConfig(this);
};
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onKeyDown = function () {
var _local3 = Key.getCode();
_root.App_SubmitKeyConfig(this, "kill", _local3);
};
this.onKeyUp = function () {
};
Symbol 538 MovieClip [pause configButton] Frame 1
this.onRelease = function () {
_root.App_FocusKeyConfig(this);
};
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onKeyDown = function () {
var _local3 = Key.getCode();
_root.App_SubmitKeyConfig(this, "pause", _local3);
};
this.onKeyUp = function () {
};
Instance of Symbol 540 MovieClip "slide" in Symbol 541 MovieClip Frame 1
on (rollOver) {
this.gfx.gotoAndStop(2);
}
on (rollOut) {
this.gfx.gotoAndStop(1);
}
on (press) {
this.gfx.gotoAndStop(2);
this.onEnterFrame = function () {
this._x = Math.max(-48, Math.min(48, this._parent._xmouse));
_root.App_VolumeSliderMoved(((this._x + 48) / 96) * 99);
};
}
on (release) {
this._x = Math.max(-48, Math.min(48, this._parent._xmouse));
_root.App_VolumeSliderReleased(((this._x + 48) / 96) * 99);
this.onEnterFrame = null;
this.gfx.gotoAndStop(1);
}
on (releaseOutside) {
this._x = Math.max(-48, Math.min(48, this._parent._xmouse));
_root.App_VolumeSliderReleased(((this._x + 48) / 96) * 99);
this.onEnterFrame = null;
this.gfx.gotoAndStop(1);
}
Symbol 543 MovieClip Frame 1
this.onRelease = function () {
_root.App_FocusKeyConfig(this);
};
this.onRollOver = function () {
this.gfx.gotoAndStop(2);
};
this.onRollOut = function () {
this.gfx.gotoAndStop(1);
};
this.onKeyDown = function () {
var _local3 = Key.getCode();
_root.APP_BOSSDOWN = true;
_root.App_SubmitKeyConfig(this, "boss", _local3);
};
this.onKeyUp = function () {
};
Instance of Symbol 540 MovieClip "slide" in Symbol 552 MovieClip Frame 1
on (rollOver) {
this.gfx.gotoAndStop(2);
}
on (rollOut) {
this.gfx.gotoAndStop(1);
}
on (press) {
this.gfx.gotoAndStop(2);
this.onEnterFrame = function () {
this._x = Math.max(-48, Math.min(48, this._parent._xmouse));
_root.App_SpeedSliderMoved((this._x + 48) / 96, false);
};
}
on (release) {
this._x = Math.max(-48, Math.min(48, this._parent._xmouse));
_root.App_SpeedSliderMoved((this._x + 48) / 96, true);
this.onEnterFrame = null;
this.gfx.gotoAndStop(1);
}
on (releaseOutside) {
this._x = Math.max(-48, Math.min(48, this._parent._xmouse));
_root.App_SpeedSliderMoved((this._x + 48) / 96, true);
this.onEnterFrame = null;
this.gfx.gotoAndStop(1);
}
Instance of Symbol 561 MovieClip "slide" in Symbol 562 MovieClip Frame 1
on (rollOver) {
this.gfx.gotoAndStop(2);
}
on (rollOut) {
this.gfx.gotoAndStop(1);
}
on (press) {
_root.App_Configure_SetFocusCustomColorButton();
this.gfx.gotoAndStop(2);
this.onEnterFrame = function () {
this._x = Math.max(-128, Math.min(128, this._parent._xmouse));
_root.App_ColSliderMoved();
};
}
on (release) {
this._x = Math.max(-128, Math.min(128, this._parent._xmouse));
_root.App_ColSliderReleased();
this.onEnterFrame = null;
this.gfx.gotoAndStop(1);
}
on (releaseOutside) {
this._x = Math.max(-128, Math.min(128, this._parent._xmouse));
_root.App_ColSliderReleased();
this.onEnterFrame = null;
this.gfx.gotoAndStop(1);
}
Symbol 579 Button
on (release) {
getURL ("http://www.harveycartel.org/metanet", "_blank");
}
Symbol 583 Button
on (release) {
getURL ("mailto:n@harveycartel.org", "_blank");
}
Symbol 602 Button
on (release) {
getURL ("http://www.miniml.com", "_blank");
}
Symbol 608 Button
on (release) {
getURL ("http://www.fontsforflash.com", "_blank");
}
Symbol 615 Button
on (release) {
getURL ("http://www.soldat.pl", "_blank");
}
Symbol 620 Button
on (release) {
getURL ("http://www.thegamespage.com", "_blank");
}
Symbol 626 Button
on (release) {
getURL ("http://www.ne.jp/asahi/miyachi/sep/index.htm", "_blank");
}
Symbol 631 Button
on (release) {
getURL ("http://www.kaisha.cx/~euphoric_rush/", "_blank");
}
Symbol 636 Button
on (release) {
getURL ("http://www.asahi-net.or.jp/~cs8k-cyu", "_blank");
}
Symbol 641 Button
on (release) {
getURL ("http://www.bit-101.com", "_blank");
}
Symbol 646 Button
on (release) {
getURL ("http://www.levitated.net", "_blank");
}
Symbol 654 Button
on (release) {
getURL ("http://www.flipcode.com", "_blank");
}
Symbol 660 Button
on (release) {
getURL ("http://www.ioi.dk/Homepages/thomasj/publications/gdc2001.htm", "_blank");
}
Symbol 665 Button
on (release) {
getURL ("http://chattyfig.figleaf.com", "_blank");
}
Symbol 671 Button
on (release) {
getURL ("http://www.the-underdogs.org", "_blank");
}
Symbol 728 MovieClip [menuMC] Frame 1
this.stop();
Symbol 728 MovieClip [menuMC] Frame 2
this.stop();
Symbol 728 MovieClip [menuMC] Frame 3
this.stop();
Symbol 728 MovieClip [menuMC] Frame 4
this.stop();
Symbol 728 MovieClip [menuMC] Frame 5
this.stop();
Symbol 728 MovieClip [menuMC] Frame 6
this.stop();
Symbol 728 MovieClip [menuMC] Frame 7
this.stop();
Symbol 728 MovieClip [menuMC] Frame 8
this.stop();
Symbol 728 MovieClip [menuMC] Frame 9
this.stop();
Symbol 728 MovieClip [menuMC] Frame 10
this.stop();
Symbol 728 MovieClip [menuMC] Frame 11
this.stop();
Symbol 728 MovieClip [menuMC] Frame 12
this.stop();
Symbol 728 MovieClip [menuMC] Frame 13
this.stop();
Symbol 728 MovieClip [menuMC] Frame 14
this.stop();
Symbol 728 MovieClip [menuMC] Frame 15
this.stop();
Symbol 728 MovieClip [menuMC] Frame 16
this.stop();
Symbol 728 MovieClip [menuMC] Frame 17
this.stop();
Symbol 728 MovieClip [menuMC] Frame 18
this.stop();
Symbol 728 MovieClip [menuMC] Frame 19
this.stop();
Symbol 728 MovieClip [menuMC] Frame 20
this.stop();
Symbol 728 MovieClip [menuMC] Frame 21
this.stop();
Symbol 728 MovieClip [menuMC] Frame 22
this.stop();
Symbol 728 MovieClip [menuMC] Frame 23
this.stop();
Symbol 728 MovieClip [menuMC] Frame 24
this.stop();
Symbol 728 MovieClip [menuMC] Frame 25
this.stop();
Symbol 816 MovieClip [debugDroneMC] Frame 1
this.stop();
Symbol 816 MovieClip [debugDroneMC] Frame 5
this.gotoAndStop("zapdrone_chaseidle");
Symbol 816 MovieClip [debugDroneMC] Frame 28
this.stop();
Symbol 816 MovieClip [debugDroneMC] Frame 51
this.stop();
Symbol 816 MovieClip [debugDroneMC] Frame 54
this.stop();
Symbol 816 MovieClip [debugDroneMC] Frame 56
this.stop();
Symbol 816 MovieClip [debugDroneMC] Frame 58
this.gotoAndStop("chaingundrone_move");
Symbol 819 MovieClip [debugFloorGuardMC] Frame 1
this.stop();
Symbol 830 MovieClip [debugTurretMC] Frame 1
this.stop();
Symbol 830 MovieClip [debugTurretMC] Frame 17
this.stop();
Symbol 830 MovieClip [debugTurretMC] Frame 18
this.stop();
Symbol 830 MovieClip [debugTurretMC] Frame 19
this.stop();
Symbol 830 MovieClip [debugTurretMC] Frame 29
this.stop();
Symbol 839 MovieClip [debugHomingLauncherMC] Frame 1
this.stop();
Symbol 839 MovieClip [debugHomingLauncherMC] Frame 3
this.gotoAndStop("rocket_active");
Symbol 839 MovieClip [debugHomingLauncherMC] Frame 7
this.gotoAndPlay("rocket_activeB");
Symbol 839 MovieClip [debugHomingLauncherMC] Frame 9
this.gotoAndStop("rocket_waiting");
Symbol 848 MovieClip [debugExitMC] Frame 31
this.stop();
Symbol 870 MovieClip [debugTestDoorMC] Frame 1
this.stop();
Symbol 870 MovieClip [debugTestDoorMC] Frame 17
this.stop();
Symbol 870 MovieClip [debugTestDoorMC] Frame 34
this.stop();
Symbol 870 MovieClip [debugTestDoorMC] Frame 35
this.stop();
Symbol 870 MovieClip [debugTestDoorMC] Frame 54
this.stop();
Symbol 870 MovieClip [debugTestDoorMC] Frame 55
this.stop();
Symbol 870 MovieClip [debugTestDoorMC] Frame 74
this.stop();
Symbol 878 MovieClip [debugLaunchPadMC] Frame 1
this.stop();
Symbol 878 MovieClip [debugLaunchPadMC] Frame 20
this.stop();
Symbol 884 MovieClip [debugGoldSoundMC] Frame 1
this.stop();
Symbol 884 MovieClip [debugGoldSoundMC] Frame 27
this.stop();
Symbol 889 MovieClip [debugGoldMC] Frame 1
this.stop();
Symbol 889 MovieClip [debugGoldMC] Frame 30
this._visible = false;
Symbol 898 MovieClip [testNinjaMCm] Frame 11
this.stop();
Symbol 898 MovieClip [testNinjaMCm] Frame 166
this.stop();
Symbol 898 MovieClip [testNinjaMCm] Frame 233
this.stop();
Symbol 898 MovieClip [testNinjaMCm] Frame 312
this.stop();
Symbol 898 MovieClip [testNinjaMCm] Frame 354
this.stop();
Symbol 898 MovieClip [testNinjaMCm] Frame 448
this.stop();
Symbol 898 MovieClip [testNinjaMCm] Frame 506
this.stop();
Symbol 898 MovieClip [testNinjaMCm] Frame 658
this.stop();
Symbol 898 MovieClip [testNinjaMCm] Frame 743
this.stop();
Symbol 898 MovieClip [testNinjaMCm] Frame 797
this.stop();
Symbol 917 MovieClip [debugDustMC2] Frame 31
this.removeMovieClip();
Symbol 922 MovieClip [debugDustMC1] Frame 33
this.removeMovieClip();
Symbol 925 MovieClip [debugBloodSpurtMC2] Frame 32
this.removeMovieClip();
Symbol 929 MovieClip [debugZapVMC3] Frame 15
this.removeMovieClip();
Symbol 933 MovieClip [debugZapMC3] Frame 15
this.removeMovieClip();
Symbol 937 MovieClip [debugZapVMC2] Frame 13
this.removeMovieClip();
Symbol 941 MovieClip [debugZapMC2] Frame 13
this.removeMovieClip();
Symbol 945 MovieClip [debugZapVMC1] Frame 10
this.removeMovieClip();
Symbol 948 MovieClip [debugFireBallMC2] Frame 14
this.removeMovieClip();
Symbol 951 MovieClip [debugFireBallMC3] Frame 11
this.removeMovieClip();
Symbol 958 MovieClip [debugFireBurstMC2] Frame 17
this.removeMovieClip();
Symbol 966 MovieClip [debugFireBurstMC1] Frame 19
this.removeMovieClip();
Symbol 969 MovieClip [debugFireBallMC1] Frame 15
this.removeMovieClip();
Symbol 973 MovieClip [debugZapMC1] Frame 10
this.removeMovieClip();
Symbol 977 MovieClip [debugRocketSmokeMC2] Frame 23
this.removeMovieClip();
Symbol 981 MovieClip [debugRocketSmokeMC3] Frame 27
this.removeMovieClip();
Symbol 985 MovieClip [debugRocketSmokeMC1] Frame 28
this.removeMovieClip();
Symbol 988 MovieClip [debugTurretDebrisMC3] Frame 10
this.removeMovieClip();
Symbol 991 MovieClip [debugTurretDebrisMC2] Frame 14
this.removeMovieClip();
Symbol 994 MovieClip [debugTurretDebrisMC1] Frame 12
this.removeMovieClip();
Symbol 997 MovieClip [debugTurretBulletMC1] Frame 10
this.removeMovieClip();
Symbol 999 MovieClip [debugBloodDripMC1] Frame 19
this.removeMovieClip();
Symbol 1261 MovieClip [debugChainFlashMC2] Frame 9
this.removeMovieClip();
Symbol 1264 MovieClip [debugChainFlashMC1] Frame 7
this.removeMovieClip();
Symbol 1266 MovieClip [debugChainBulletMC1] Frame 7
this.removeMovieClip();
Symbol 1269 MovieClip [debugChainDebrisMC2] Frame 8
this.removeMovieClip();
Symbol 1272 MovieClip [debugChainDebrisMC3] Frame 13
this.removeMovieClip();
Symbol 1274 MovieClip [debugChainDebrisMC1] Frame 10
this.removeMovieClip();
Symbol 1277 MovieClip [debugLaserSparkMC3] Frame 9
this.removeMovieClip();
Symbol 1279 MovieClip [debugLaserSparkMC2] Frame 12
this.removeMovieClip();
Symbol 1282 MovieClip [debugLaserChargeMC3] Frame 15
this.removeMovieClip();
Symbol 1285 MovieClip [debugLaserChargeMC2] Frame 14
this.removeMovieClip();
Symbol 1288 MovieClip [debugLaserChargeMC1] Frame 10
this.removeMovieClip();
Symbol 1290 MovieClip [debugLaserSparkMC1] Frame 10
this.removeMovieClip();
Symbol 1308 MovieClip [playerSoundLoopMC] Frame 1
this.stop();
Symbol 1308 MovieClip [playerSoundLoopMC] Frame 4
this.stop();
Symbol 1308 MovieClip [playerSoundLoopMC] Frame 6
this.gotoAndPlay(1);
Symbol 1308 MovieClip [playerSoundLoopMC] Frame 9
this.stop();
Symbol 1308 MovieClip [playerSoundLoopMC] Frame 11
this.gotoAndPlay(1);
Symbol 1319 MovieClip [playerSoundMC] Frame 1
this.stop();
Symbol 1319 MovieClip [playerSoundMC] Frame 4
this.stop();
Symbol 1319 MovieClip [playerSoundMC] Frame 7
this.stop();
Symbol 1319 MovieClip [playerSoundMC] Frame 10
this.stop();
Symbol 1319 MovieClip [playerSoundMC] Frame 11
this.stop();
Symbol 1319 MovieClip [playerSoundMC] Frame 14
this.stop();
Symbol 1319 MovieClip [playerSoundMC] Frame 15
this.stop();
Symbol 1319 MovieClip [playerSoundMC] Frame 23
this.stop();
Symbol 1319 MovieClip [playerSoundMC] Frame 32
this.stop();
Symbol 1319 MovieClip [playerSoundMC] Frame 37
this.stop();
Symbol 1319 MovieClip [playerSoundMC] Frame 42
this.stop();
Symbol 1319 MovieClip [playerSoundMC] Frame 51
this.stop();
Symbol 1319 MovieClip [playerSoundMC] Frame 59
this.stop();
Symbol 1319 MovieClip [playerSoundMC] Frame 62
this.stop();
Symbol 1319 MovieClip [playerSoundMC] Frame 65
this.stop();
Symbol 1327 MovieClip [ragdollSoundMC] Frame 1
this.stop();
Symbol 1327 MovieClip [ragdollSoundMC] Frame 4
this.stop();
Symbol 1327 MovieClip [ragdollSoundMC] Frame 7
this.stop();
Symbol 1327 MovieClip [ragdollSoundMC] Frame 10
this.stop();
Symbol 1327 MovieClip [ragdollSoundMC] Frame 13
this.stop();
Symbol 1327 MovieClip [ragdollSoundMC] Frame 16
this.stop();
Symbol 1327 MovieClip [ragdollSoundMC] Frame 19
this.stop();
Symbol 1327 MovieClip [ragdollSoundMC] Frame 22
this.stop();
Symbol 1330 MovieClip Frame 1
this.onRelease = function () {
_root.GUIEvent_MainMenu_Story();
};
Symbol 1332 MovieClip Frame 1
this.onRelease = function () {
_root.GUIEvent_MainMenu_Quit();
};
Symbol 1334 MovieClip Frame 1
this.onRelease = function () {
_root.GUIEvent_MainMenu_NewGame();
};
Symbol 1336 MovieClip Frame 1
this.onRelease = function () {
_root.GUIEvent_MainMenu_Help();
};
Symbol 1338 MovieClip Frame 1
this.onRelease = function () {
_root.App_StartMainMenu();
};
Symbol 1340 MovieClip Frame 1
this.onRelease = function () {
_root.App_LoadMainMenu();
};
Symbol 1341 MovieClip [testMenuMC] Frame 1
this.stop();
Symbol 1341 MovieClip [testMenuMC] Frame 2
this.stop();
Symbol 1341 MovieClip [testMenuMC] Frame 3
this.stop();
Symbol 1341 MovieClip [testMenuMC] Frame 4
this.stop();