Frame 1
stop();
Stage.scaleMode = "exactFit";
Stage.showMenu = false;
_root.ads = true;
function updateEngineSound() {
if (!engineRunning) {
return(false);
}
es = Math.min(80, engineSpeed + 1);
if (_root.dummy) {
_root.engine["engineSound" + es].start(0, 2);
}
_root.engine["engineSound" + es].setVolume(20);
lastES = es;
_global.setTimeout(this, "updateEngineSound", _root.engine["engineSound" + es].duration);
}
function startEngine() {
engineRunning = true;
updateEngineSound();
}
function killEngine() {
engineRunning = false;
}
function addIntObj(n) {
var _local1;
_local1 = 0;
while (_local1 <= maxIntObj) {
if (intObjVis["obj" + _local1].stat == 1) {
intObjVis["obj" + _local1].stat = 2;
intObjVis["obj" + _local1].objNum = n;
intObjVis["obj" + _local1]._visible = true;
intObjVis["obj" + _local1].gotoAndStop(intObj[n].type + 1);
return(undefined);
}
_local1++;
}
if (maxIntObj != 0) {
intObjVis.obj0.duplicateMovieClip("obj" + maxIntObj, maxIntObj + 2);
}
intObjVis["obj" + maxIntObj].stat = 2;
intObjVis["obj" + maxIntObj].objNum = n;
intObjVis["obj" + maxIntObj]._visible = true;
intObjVis["obj" + maxIntObj].gotoAndStop(intObj[n].type + 1);
maxIntObj++;
}
function angleNearZero(a) {
a = a % doublePI;
if (a > Math.PI) {
a = a - doublePI;
}
return(a);
}
lastStuntX = 0;
scroll_x = 0;
scroll_y = 800;
GameState = 0;
level_coins = 0;
score = 0;
ticker = 0;
level_time = 0;
level_score = 0;
gameEndType = 1;
last_truck_grounded = false;
truck_grounded = false;
lastBonusTS = 0;
curCheckpoint = 2;
lostLifeSet = false;
pauseForInfo = false;
pauseUntilEnterKey = false;
showNormalMessagefadeCnt = 0;
game_running = false;
curLevel = 1;
WaitFor = 0;
Invincible = 0;
Lives = 3;
RoofHitCounter = 0;
upsideDown = false;
rollOverMessage._visible = false;
_root.tips = ["Pay attention to the signs, they can be of help.", "When you are in the air point your nose up for more air, or down for less.", "To do a sudden stop do not press the forward or reverse keys when you hit the brakes.", "You will not get bonus stunt points if you land in the water.", "Land on both tires for a bonus.", "When in the air, follow the path of gold bonus crosses.", "Slowing down can be a good thing in certain places.", "Nose down to the bouncy bonus, but pull up at the last moment."];
var recordMoveY = new Array();
var recordBoostX = new Array();
var recPos = 0;
_root.count = 100;
_root.statusArea.health_bar.gotoAndStop(_root.count);
valuework = true;
tmp = false;
rollOverMessage._visible = false;
lastStuntX = 0;
scroll_x = 0;
scroll_y = 800;
GameState = 0;
boostCharge = 0;
boostRelease = 0;
boostDownLast = false;
braking = 1;
score = 0;
ticker = 0;
level_time = 0;
level_score = 0;
level_coins = 0;
gameEndType = 1;
last_truck_grounded = false;
truck_grounded = false;
lastBonusTS = 0;
curCheckpoint = 2;
lostLifeSet = false;
pauseForInfo = false;
pauseUntilEnterKey = false;
showNormalMessagefadeCnt = 0;
game_running = false;
curLevel = 1;
WaitFor = 0;
Invincible = 0;
Lives = 5;
RoofHitCounter = 0;
upsideDown = false;
rollOverMessage._visible = false;
lvlVars = new LoadVars();
halfPI = (Math.PI/2);
doublePI = (Math.PI*2);
LevelEndCntr = 0;
gravity = 0.3;
tireRot = 0;
curEfx = 0;
maxEfx = 20;
soundEfx = ["soundefx-points.wav", "soundefx-start-game.wav", "soundefx-tire_sq1.wav", "soundefx-tire_sq2.wav", "soundefx-water.wav", "soundefx-lose.wav", "soundefx-startover.wav", "soundefx-rollover.wav", "soundefx-coin.wav", "soundefx-bonus.wav", "soundefx-splash.wav", "soundefx-jump-boost.wav", "soundefx-timelow.wav", "soundefx-checkpoint.wav", "soundefx-pnt1.wav", "soundefx-pnt2.wav"];
if (!_global.graphicsOptSet) {
_global.graphicsOptSet = [false, true, true, true, true, true];
}
graphicsOptName = ["High Quality", "Parallax BG", "Medium Quality", "Hill Shading", "Dust", "Ground Covering"];
graphicsQuality = ["low", "medium", "high", "high"];
graphicsAutoDetail = false;
var intObj = new Array();
curIntObj = 0;
maxIntObj = 0;
var GroundHeight2 = new Array();
var GroundHeight = new Array();
var altGroundHeight = new Array();
var altForce = new Array();
var curAltForceObj = 0;
var GroundType = new Array();
var SurfaceTile = new Array();
var SurfaceRot = new Array();
var SurfaceLayer = new Array();
var randomGrass = new Array();
var checkPointTime = [90, 75, 80, 100, 95, 55, 120, 40, 50, 60];
var checkPointName = ["Rolling Hills", "Steady Climb", "Desert Dunes", "Quicksand Land", "Rope Bridge Pass", "Mountain Top Drop", "Stunts For Points", "Stunt-again", "Bouncy Bonus", "Hilltop Bonus", "You've Beat The Game!"];
var layerColors = [7311435, 8168529, 9552985];
sDownLast = 0;
sloMo = false;
sloMoCnt = 0;
KeyRight = 0;
KeyLeft = 0;
KeyForward = 0;
KeyReverse = 0;
screen_center_x = Stage.width / 2;
screen_center_y = Stage.height / 2;
ScrollOffX = 0;
ScrollOffY = 0;
lvlWidth = 600;
objX = new Array();
objY = new Array();
objType = new Array();
lr = 0;
control_rot = 0;
control_rotVel = 0;
boost = 1;
startBonusTime = 0;
startBonusY = 0;
startBonusX = 0;
maxBonusY = 10000;
bonusQueTimer = 15;
flashTheScreen = 0;
fadeInTheScreen = 0;
fadeOutTheScreen = 0;
levelScoreAtBeginning = 0;
start_rot = 0;
last_ob_angle = 0;
ob_angle = 0;
ob_angle_off = 0;
ob_sx = new Array(5);
ob_sy = new Array(5);
ob_sx[0] = 0;
ob_sy[0] = 0;
grounded = [0, 0, 0, 0, 0];
truck2wheelMassRatio = 1.4;
DirectionalDrag = 0.99;
springStiff = 6;
springDamp = 1.4;
RotationalDrag = 0.2;
rotationalDamp = 1.2;
truckAccel = 1;
tireSpacing = 38;
connectionsA = [0, 0, 0, 0];
connectionsB = [1, 2, 3, 4];
connectionDist = [tireSpacing, tireSpacing, tireSpacing, tireSpacing];
connectionDistStiff = [2, 2, 2, 2];
connectionDistDamp = [0.1, 0.1, 0.1, 0.1];
connectionRot = [Math.PI, 0, 3.92699081698724, 5.49778714378214];
connectionRotStiff = [2, 2, 2, 2];
connectionRotDamp = [0.1, 0.1, 0.1, 0.1];
curpoint = 0;
MinHitAt = 0;
HitNum = 0;
rotForBonus = 0;
shockD = Math.sqrt((tireSpacing * tireSpacing) + 900);
shock1R = Math.atan2(-30, -(tireSpacing - 4));
shock2R = Math.atan2(-30, tireSpacing - 4);
var truckLevels = new Array();
if (!edit_enabled) {
truckLevels.push({lvlWidth:6533, GroundHeight:"0?I0?I0?I0C40Em0H90J00KA0Kk0LK0LW0LZ0L\\0L\\ LC0LB0LA0LA0LB0LC0LE0LE0LE0LE0LE0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LD0LE0LG0LI0LK0LO0LN0LN0LN0LN0LN0LN0LN0LO0LO0LP0LQ0LR0LT0LV0LX0LY0LY0LY0LX0LV0LT0LQ0LQ0LQ0LR0LS0LS0LQ0LM0LG0LA0L:0L20Ki0K]0KM0K;0Jh0JW0JL0JH0JI0JL0JN0JM0JH0JB0J=0J:0J;0J?0JD0JH0JK0JM0JN0JS0J\\0Ji0K60K@0KC0K>0K50Jl0Jd0Jh0K50KA0KK0KT0KT0KX0KY0KY0KU0KP0KH0KA0K;0K20Jk0J_0JT0JF0J;0Io0If0I\\0IW0IP0IF0I;0Hl0H`0HN0HF0HB0HA0HB0HK0HG0HD0HB0HA0H>0Gh0G[0GK0GB0G30Fm0Fk0Fk0Fk0G10Fi0G?0G]0H?0Hb0I>0IW0Ij0J60J<0J:0J80J50J20J00J10J30J60J60J30Im0Id0IX0II0I70Hd0HP0H<0Gi0GY0GL0GD0GC0GD0GK0GT0G]0Ga0Gb0G`0G_0G[0GV0GP0GH0G=0G00Fc0FU0FI0F@0F=0F?0FG0FP0F]0Fl0G;0GJ0GZ0Gi0H60HA0HI0HL0HJ0H?0Gk0GV0GB0Fn0Fa0F\\0F_0Fd0G30G?0GH0GN0GQ0GQ0GQ0GP0GO0GN0GM0GL0GL0GK0GJ0GJ0GH0GF0GC0GA0G@0G?0G@0GA0GC0GF0GJ0GM0GP0GS0GU0GW0GY0G[0G]0G_0G`0Ga0Ga0Ga0G_0G]0GZ0GV0GS0GO0GK0GG0GD0GA0G>0G;0G70G40G00Fm0Fh0Fc0F^0FX0FQ0FI0FA0F90F00Eg0E^0EU0EM0EF0E@0E;0E80E60E60E60E80E:0E>0EB0EG0EO0EW0Ea0El0F90FG0FU0Fd0G20G?0GK0GW0Gb0Gl0H50H>0HE0HL0HR0HV0HY0H[0H[0H[0HY0HW0HT0HP0HL0HG0HB0H=0H70H10Gl0Gg0Gd0Gb0Gb0Gd0Gh0Gl0H30H<0HE0HM0HT0HY0H^0Hb0Hf0Hk0I20I80I@0II0IR0I[0Id0Im0J50J<0JB0JF0JJ0JL0JM0JM0JM0JL0JJ0JH0JF0JD0JB0J@0J=0J;0J90J60J30In0Ii0Ib0IZ0IO0IB0I50He0HS0H>0Gh0GQ0G80F_0FF0Em0ET0E<0Dd0DN0D80Cc0CP0C=0Bj0BW0BC0Ao0A[0AL0A?0A80A10@l0@h0@e0@c0@a0@_0@^0AH0B<0C<0D20DU0Dl0E;0EF0EH0EI0EI0EH0EE0E=0Dj0DE0CT0BS0@g0@i0@k0@l0BK0Bm0DI0DE0DI0DT0DY0DU0DY0D>0Cc0CH0C40Bo0Bm0C50CK0Cb0D80DO0De0De0De0D^0D^0D^0DU0DT0DT0DZ0DT0E20EQ0F00FG0FU0F\\0F_0F`0F`0Fe0Fj0Fo0G40G:0G?0GC0GH0GL0GQ0GV0G[0G_0Gd0Gi0Gm0H10H40H70H:0H=0H?0HA0HC0HF0HH0HJ0HM0HP0HW0H_0Hk0I;0IN0Ie0J=0JT0Je0K50KB0KK0KN0KM0KH0KC0Jm0J[0J;0JD0JM0JV0J_0Jh0K10K:0KD0KN0KX0Kb0Kl0L60L@0LK0LU0L_0Lj0M40M?0MI0MT0M`0Mk0N60NB0NO0N[0Nh0O60OC0OR0Oa0P00P@0PP0Pa0Q20QC0QT0Qe0R60RG0RX0Rh0S70SF0ST0Sa0Sn0T90TD0TN0TW0T_0Tg0Tn0U40U;0U?0UC0UG0UI0UJ0UJ0UJ0UJ0UJ0UJ0UJ0UJ0UJ0UJ0UJ0UJ0UJ0UJ0UJ0UJ0UJ0UJ0UJ0UJ0UJ0UJ0UI0UG0UC0U<0U10T_0TA0S]0Rd0R50P_0PF0PC0P=0P:0P?0PD0PI0PM0PR0PV0PZ0P]0P_0Pa0Pc0Pb0P`0P^0P\\0P[0P[0PZ0PY0PY0PX0PU0PR0PO0PN0PN0PO0PN0PL0PI0PH0PF0PC0PA0P@0P@0P@0P@0P@0PA0PA0PB0PB0PC0PD0PE0PE0PF0PG0PG0PG0PG0PG0PG0PF0PF0PF0PE0PF0PF0PF0PG0PH0PH0PI0PI0PI0PI0PI0PH0PG0PF0PF0PE0PD0PC0PB0P@0P?0P>0P<0P;0P90P70P50P30P10Oo0Om0Ok0Oi0Og0Od0Ob0O_0O]0OZ0OW0OU0OR0OP0ON0OL0OJ0OH0OG0OE0OD0OC0OA0O?0O<0O90O60O20Nm0Nh0Nc0N^0NX0NR0NK0NC0N:0Mo0Ma0MR0M@0Ll0LW0LC0L00K_0KO0KA0K40Jj0Ja0JY0JS0JN0JJ0JG0JD0JB0JA0J@0J@0J@0J?0J>0J=0J:0J50In0Ie0IY0IK0I:0Hg0HR0H:0Ga0GH0Fo0FW0F@0Ei0ER0E<0Df0DQ0D<0Ch0CS0C>0Bh0BS0B=0Ai0AU0AC0A20@b0@T0@G0@:0?n0?b0?W0?M0?D0?;0?40>m0>f0>`0>Z0>T0>N0>G0>A0>:0>40=m0=f0=_0=X0=P0=G0=?0=70<o0<g0<_0<W0<N0<E0<:0<00;d0;Y0;M0;A0;70;30:o0:k0:g0:c0:_0:[0:W0:S0:O0:L0:H0:D0:@0:<0:80:40:009l09h09d09a09^09Z09U09Q09K09F09A09;09609108m08i08e08b08_08\\08Z08Y08X08W08X08X08Y08Z08[08\\08]08^08_08`08a08b08c08c08d08c08c08b08a08_08\\08Y08T08O08I08B08907n07a07S07B07106\\06E05l05R05504203<02b02E02601k01]01_01b01i01n02402602802702502202001n01l01l01k01k01k01k01k01k01k01k01k01k01k01k01k01k01j01i01h01h01h01i01i01j01i01g01b01Y01M01G01A01;01701401301201201201201201201100n00b00T00H00A00;00300000000100900P00X01701=02502F02R02]02f02m03203503803903:03:03;03C03C03?03S03V03S03=02]02U02S02T02U02U02V02U02W02S02W02W02W02]02]02]02_02Z02V02Z02b02^02b04O04U04F04D04<03X03002f02c02g03203303102n02k02m02k02m03003303803<03@03C03F03I03L03P03T03W03Y03Z03X03R03J03?03102b02S02E02902001k01j01l02002402802;02<02<02;02902802:02<02A02H02Q02[02h03503B03O03Y03a03g03i03h03d03^03Y03T03Q03O03N03N03O03P03P03O03N03H03C03=03:03803703803903<03?03B03F03J03M03Q03T03W03Z03\\03^03`03b03d03f03h03i03k03l03n04004104304404304104003n03m03k03j03h03l04004504;04B04I04R04[04e04n05705?05E05J05N05Q05S05U05W05Y05\\05_05c05f05k06006506906=06@06<06706105i05i05i05i05i05h05g05g05h05i05k05n06106306606906<06@06F06M06U06`06l07;07K07]08208K08f09<09L09F09<08o08b08U08I08>08407l07g07c07a07a07c07g07n08608A08M08\\08n09E09i0:P0;:0;d0<@0<S0<J0<>0;n0;a0;U0;K0;D0;@0;>0;?0;B0;J0;T0;c0<60<S0=10=T0>70>Z0?80?S0?h0@60@;0@80@20?j0?d0?_0?]0?^0?b0?i0@30@@0@O0@a0A50AJ0A_0B20BB0BN0BW0B\\0B]0B[0BW0BS0BO0BL0BJ0BI0BK0BN0BR0BY0B`0Bi0C20C;0CC0CK0CQ0CV0CX0CX0CW0CS0CO0CI0CD0C?0C;0C80C80C:0C>0CE0CP0C]0Cl0D>0DQ0Df0E<0EQ0Eg0F;0FM0F]0Fk0G60G?0GF0GL0GO0GR0GT0GV0GX0G[0G]0Ga0Ge0Gi0Gm0H20H70H<0HA0HE0HH0HK0HM0HN0HN0HN0HM0HL0HK0HK0HK0HM0HO0HT0HY0H`0Hi0I40I@0IO0I_0Io0J@0JP0Ja0K00K?0KL0KW0Kb0Kj0L20L90L?0LD0LI0LM0LQ0LU0LY0L]0L`0Lc0Lf0Li0Lk0Ll0Ll0Lm0Ll0Ll0Lk0Lj0Li0Lh0Lg0Lf0Le0Le0Le0Le0Lf0Lg0Lh0Lh0Lg0Le0La0L\\0LT0LK0LA0L60Kj0K`0KV0KO0KK0KJ0KM0KU0K_0Km0L=0LO0Lb0M40ME0MT0Ma0Mk0N00N50N90N=0NA0NE0NH0NK0NN0NQ0NT0NW0NY0N\\0N^0Na0Nc0Ne0Nf0Nh0Nj0Nk0Nl0Nm0Nm0Nn0Nn0Nm0Nl0Nk0Ni0Nf0Nc0N^0NY0NS0NL0NC0N:0Mo0Me0Me0Mi0N20NB0NY0O80Oa0PG0Pk0Q40Q60Pf0PS0P>0Oi0OR0OA0Nm0N_0NM0NA0Mo0Mc0MQ0MC0M70Lc0LM0L90Kb0KL0K20J^0JM0JF0J?0J:0J50J30In0Ij0Id0I_0IW0IP0IJ0IE0I?0I:0I30Hn0Hh0Hd0H_0H\\0HY0HW0HT0HP0HM0HI0HE0HB0H?0H=0H;0H70H30H00Gj0Gi0Gd0GX0GL0GG0G@0G>0G?0G@0GC0GC0GF0GG0GJ0GN0GN0GQ0GR0GU0GZ0G^0Gb0Gh0Gj0Gi0Gk0Gg0Go0H=0HU0I>0J?0K_0Mm0Pb0T_0W\\0\\Z0\\Z0\\Z0\\Z0\\Z0\\Z0\\_0\\a0\\d0\\e0\\e0\\d0\\b0\\a0\\`0\\_0\\_0\\_0\\`0\\`0\\a0\\a0\\b0\\b0\\b0\\b0\\c0\\c0\\c0\\c0\\c0\\d0\\e0\\f0\\g0\\h0\\i0\\j0\\k0\\m0\\o0]10]30]50]60]80]90]:0];0]<0]=0]=0]=0]=0]=0]=0];0]80]60]30]10]00\\n0\\m0\\l0\\l0\\k0\\k0\\j0\\l0]30];0]C0]J0]Q0]U0]Y0][0]\\0]]0]\\0]\\0][0][0]Z0]Z0]Z0]d0]l0]l0]h0]b0]\\0]V0]O0]I0]C0]>0]80]30\\n0\\j0\\f0\\b0\\`0\\]0\\\\0\\[0\\[0\\[0\\\\0\\]0\\`0\\b0\\f0\\j0\\n0]30]80]>0]C0]I0]O0]V0]\\0]b0]h0]o0^60^@0^N0^`0_60_N0_e0`90`K0`\\0`l0a<0aJ0aW0af0b70bH0bY0bk0c>0cR0ce0d70dJ0d]0do0eB0eT0ef0f60fE0fT0fb0fn0g70g?0gE0gJ0gN0gQ0gS0gT0gT0gS0gQ0gO0gL0gF0gA0g;0g50fn0fg0f_0fV0fN0fB0f40eb0eL0e70db0dH0cl0cP0c70b^0bA0aa0aC0`i0`M0_o0_P0_30^X0^>0]c0]H0\\o0\\V0\\=0[e0[O0[90Zd0ZN0Z90Yc0YM0Y80Xd0XP0X=0Wn0W`0WU0WL0WD0W=0W80W40W50W60W:0WA0WI0WS0W\\0We0Wl0X20X60X:0X=0X@0XD0XG0XJ0XN0XQ0XU0XX0X\\0X`0Xd0Xh0Xk0Xo0Y30Y:0YD0YN0YZ0Ye0Z00Z=0ZN0Zd0[<0[T0[l0\\B0\\W0]60]U0^10^M0^l0_N0_n0`Q0a50aV0b80bY0c70cP0ce0d:0dO0da0e00e?0eL0eX0eb0ei0f00f50f90f=0f@0fB0fC0fD0fD0fE0fE0fE0fE0fE0fE0fE0fF0fF0fF0fF0fF0fF0fF0fE0fE0fD0fB0fA0f@0f?0f=0f:0f60f10ek0ed0e^0eW0eO0eF0e<0e10dd0dV0dF0d30c]0cD0bj0bO0b60a]0aE0`n0`V0`>0_f0_O0_80^`0^H0]o0]V0]<0\\b0\\G0[l0[Q0[80Z_0ZH0Z10Y[0YD0Xo0XZ0XG0X60We0WV0WH0W;0Vo0Ve0V\\0VT0VM0VG0VB0V?0V<0V:0V90V80V70V70V60V60V60V70V80V90V:0V<0V>0VB0VH0VO0VW0V_0Vg0W10W>0WO0Wc0X70XK0X^0Y10YD0YX0Ym0ZE0Z]0[30[I0[^0\\70\\P0\\j0]C0]^0^;0^U0^n0_D0_W0_j0`?0`U0`j0a>0aP0aa0b00b@0bS0bh0c<0cP0cb0d30dC0dQ0d`0e10eC0eT0ed0f30f@0fL0fW0f`0fg0fn0g70g@0gJ0gS0g[0gb0gi0gn0h30h70h;0h?0hB0hE0hH0hJ0hK0hL0hK0hK0hI0hH0hG0hE0hB0h@0h>0h;0h90h70h20gm0gg0gb0g]0gX0gS0gN0gE0g;0g00ff0f]0fT0fK0fC0f<0f30eg0eW0eG0e80de0dM0d30cZ0cA0bj0bT0b?0aj0aT0a=0`h0`T0`A0`10_a0_S0_E0_70^h0^V0^C0^00]]0]J0]60\\`0\\I0\\20[\\0[E0Zl0ZS0Z:0Yd0YP0Y<0Xi0XX0XG0X70Wh0WZ0WM0WC0W;0W50W00Vm0Vi0Ve0V_0VX0VO0VC0V60Uf0UU0UD0U30Tc0TT0TH0T=0T40Sn0Si0Sf0Sd0Sc0Sc0Sd0Sf0Sh0Sj0Sm0So0T20T60T90T>0TB0TF0TJ0TN0TR0TU0TY0T^0Tc0Tj0U10U80U?0UE0UJ0UN0US0UY0Ua0Um0V:0VI0VW0Vd0W20WC0WX0X10XI0Xb0Y90YP0Yf0Z=0ZW0[30[O0[k0\\I0\\h0]G0]g0^F0^g0_I0_i0`G0`e0aC0ab0b>0bZ0c60cR0cn0dI0de0eA0e\\0f60fO0ff0g=0gQ0gc0h30hB0hN0hY0ha0hg0hl0ho0i20i50i60i70i70i50i20ho0hk0hh0hd0ha0h^0hZ0hV0hO0hG0h>0h60go0gg0ga0gZ0gV0gH0g:0fk0f]0fO0fB0f50ei0e_0eK0e80df0dT0dD0d40ce0cY0cA0bl0bW0bD0al0aT0a:0``0`G0_o0_X0_A0^j0^S0^;0]c0]L0]50\\^0\\F0[n0[S0[60ZX0Z80YW0Y50XR0X00WN0W00VT0V;0Ue0UR0UA0U20Tc0TT0TE0T40Sb0SO0S;0Rf0RP0R:0Qe0QP0Q<0Pi0PZ0PK0P?0P50Om0Og0Oc0O`0O`0Oa0Oc0Og0Ol0P30P;0PD0PN0PX0Pb0Pl0Q70QC0QP0Q^0Ql0R=0RN0Ra0S50SK0Sb0T;0TU0U00UJ0Uc0V<0VW0W30WP0Wn0XJ0[I0]O0_A0`>0`M0aB0aX0aa0a_0a\\0aZ0aU0a]0a_0aa0aH0a00`W0`D0`@0`>0`F0``0a90aR0ak0bD0bX0bk0c<0cL0c[0ci0d80dH0dX0dj0e=0eS0ej0fC0g=0hP0i=0iL0iI0iH0iF0iB0iH0i?0i<0he0hL0hO0hP0hP0hR0h_0i<0iP0i\\0id0ig0ik0j00j70j?0jH0jQ0j[0je0jo0k90kC0kL0kU0k]0kc0ki0kl0kl0kj0ke0k]0kS0kE0k70jf0jU0jC0j00i^0iL0i;0hk0h[0hI0h70gd0gP0g=0fk0fZ0fJ0f;0el0e\\0eI0e50d`0dK0d90cg0cX0cI0c80bd0bN0b70a`0aK0a80`h0`Z0`M0`?0`10__0_K0_60^b0^O0^=0]j0]U0]>0\\f0\\N0\\50[]0[D0Zm0ZX0ZE0Z40Ye0YV0YI0Y=0Y20Xj0Xb0X\\0XW0XR0XO0XL0XI0XG0XF0XE0XD0XC0XB0XB0XB0XB0XC0XD0XF0XI0XL0XP0XV0X\\0Xd0Xm0Y70YC0[j0]Y0_;0_n0`H0`R0`i0a10a40a30a00`g0`^0`M0`:0`10_o0_n0`00`:0`Q0`m0aK0ai0bH0bg0cF0ce0dB0d]0e70eQ0ek0fF0f`0g:0gT0gm0hG0h`0i90iR0ii0j@0jV0ji0k;0kG0kT0k^0kg0kn0l40l80l<0l@0lC0lF0lH0lJ0lL0lN0lP0lQ0lR0lS0lT0lT0lU0lU0lU0lU0lU0lU0lV0lV0lV0lV0lV0lV0lU0lU0lT0lS0lR0lQ0lP0lO0lN0lL0lK0lI0lF0lC0l?0l<0l90l50l20kn0kj0kd0k\\0kR0kF0k:0jm0j`0jS0jE0j70ih0iW0iE0i40hb0hR0hB0h20gc0gS0gC0g30fd0fU0fH0f;0f00ee0e\\0eT0eK0eB0e70dj0d]0dP0dC0d70cl0cc0cY0cP0cF0c:0bn0bb0bV0bK0bB0b:0b40an0ag0a`0aY0aQ0aJ0aE0aA0a>0a<0a;0a:0a80a60a30a00`o0`o0a20a50a:0a?0aC0aF0aH0aI0aI0aI0aI0aI0aL0aZ0aj0b=0bP0b`0bn0c50c;0cA0cF0c[0d20dL0de0e?0eW0en0fD0fT0f]0g20gF0g\\0h20hG0h\\0ho0iJ0ia0j50jE0jV0k00kG0k[0ko0l=0lK0lU0l]0ld0lj0ln0m20m50m70m90m:0m;0m<0m<0m<0m;0m;0m:0m90m70m50m30m10ln0lk0lh0le0lb0l_0l[0lY0lV0lT0lR0lR0lR0lS0lU0lX0l^0lf0m10mA0mY0n20nX0o:0oV0oj10810B10J10O10Q10G1010ol0oj0oj0og0o[0oI0oA0o>0o@0oD0oL0oX0og10710F10R10Z10\\10[10Z10Y10W10V10U10S10R10Q10Q10P10O10O10N10N10M10L10K10J10I10G10D10A10>1091050oo0oj0od0o]0oW0oQ0oK0oE0o@0o:0o50o10nm0nj0ng0ne0nc0nb0nb0nb0nc0ne0ng0nj0nm0o10o50o:0o@0oE0oK0oQ0oW0o^0od0oj10010610<10A10F10J10N10Q10T10V10X10Y10Z10810610;10A11G12<12[12b12m13S14a15h16X16h16e16a17@17V17\\17h17i18218418518618417m17^17S17K17?17516l16b16Z16Y16X16T16G16;15n15b15U15R15N15H15@15514e14R14;13b13H12o12W12C11o11[11G11310a10R10I10F10I10P10V10Y10[10V10M10J10F10@10@10=10T11g13m17B16^17J18019K1:`1;I1;T1;T1;V1;T1;S1;O1;L1;J1;B1:d1:G19i19R19M19K19A18a18B17c17C16d16415R15714c14P14C14=14<14:14313b13I13212f12l13613C13L13P13N13I13B13812g12J11i11I11010Y10D0oo0o\\0oH0o80nk0n^0nP0nB0nA0nZ0oS10]11]12G12g13513C13`14S15Q16D16a17417917817517317417417416[16B15j15W15S15Q15M15B15614j14_14S14`14g14d14_14W14N14D14<14413h13V12e12611\\11T11U11V11[11_12;12n13K13W13@12i12R12A12<12;11i11410>0oH0nS0m]0m70lR0ko0kL0jh0jH0ik0iQ0i;0he0hP0h:0gd0gQ0gB0g80g10fm0fi0fe0f^0fS0fF0f80ei0e]0eU0eP0eO0eT0eb0f>0h^0kJ0lc0mB0mL0me0mn0n20n10n10n10n00n10mn0mn0mi0mA0lZ0l20kT0kL0kK0kI0kG0kD0kB0k?0k=0kL0kh0lR0mD0n60n\\0o20o;0o?0oF0oV0oj10B10U10`10k11611>11:10e10S10E10B1090om0oe0oa0o^0od0on10=10F10E10J10\\11J12m13=13e13m13l13b13\\13c13g13l13l13n13n13o13o14014013_13O13>13112n12m12g12U12C12211`11N11J11C11<11210c10L0oi0oG0nm0nY0nI0n<0n10mm0mm0n00n>0n\\0o90o`0on1000om0oj0of0oe0of0oj0oo10R11>11K11L11I11D11?11:11711611611611110\\0oS0m`0lT0l:0kj0ki0km0lF0mD0oR11m14E15`16515o15i15b15X15C14f14I14115715\\16516516:16;16;16;16;16816616516416315o15m15`15R15E15:15815714o14W14?13g13O13712]12>11[11:10`10J1050og0o]0oW0oP0oE0o:0o40o30nk0nJ0mZ0l@0l^0m@0mf0nR0oI10D11911b12B12_13:13J13K13C13913213113913K13e14U15G16516M16[16d16M16615^15M15H15G15C15814l14a14U14J14Y15@16;16c17317;17=17:16o16`16N16I16T16f17617:17<17:17817617517517517317016g16Y16B15e15V15J15?15514o14j14h14g14g14h14h14h14h14g14h14l14h14h14h14h14h14h14h14h14g14d14a14]14Y14T14P14L14I14F14C14A14?14=14;14:14814614414113o13n13j13e13a13]13Y13T13O13J13E13B13<13713212m12i12b12Z12R12K12E12911n11c11X11N11D11<11410e10W10H10:0om0oa0oW0oE0o40nc0nS0nD0n60mk0mX0mG0m50lf0lW0lK0l80kg0kV0kG0k90jm0ja0jW0jO0jB0j60ik0i`0iV0iN0iF0i?0i50he0hU0hE0h70gj0g^0gT0gK0gD0g>0g70fo0fh0f`0fY0fS0fN0fT0f^0fi0g50g=0gC0gF0gH0gH0gH0gH0gH0gH0gH0gG0gG0gF0gF0gF0gF0gG0gE0gC0gA0g;0g30fl0f_0fL0f60ec0eU0eK0eD0e@0e>0e=0e=0e<0e=0e>0e@0eB0eD0eF0eG0eH0eF0eB0e=0e20de0dW0dI0d;0d00cf0ca0c\\0cX0cR0cL0cF0c@0c:0c40bn0bh0bb0b\\0bW0bQ0bK0bE0b?0b90b30am0ag0aa0a[0aU0aO0aI0a60`c0`I0`70_k0_d0_`0_Y0_@0^i0^[0^>0]`0]O0]70\\b0\\J0[k0[M0[10ZX0Z?0Ym0YT0Y:0Xh0X]0XX0XV0XV0XU0XU0XU0XV0XX0X[0X`0Xf0Xn0Y70YA0YL0YW0Ya0Yl0Z60Z?0ZI0ZR0Z[0Ze0Zn0[80[C0[N0[Y0[d0[o0\\:0\\C0\\M0\\T0\\[0\\b0\\h0\\n0]20]50]70]70]50]00\\h0\\\\0\\L0\\70[]0[@0Zc0ZL0Z30YW0Y:0YN0Ya0Z<0ZP0Z]0Zd0Zg0Zh0Zh0[10[L0[h0\\E0\\_0]30]@0]G0]I0]I0]H0]P0]_0]o0^=0^I0^Q0^V0^X0^X0^Y0^X0^X0^V0^P0^E0^50]^0]C0\\a0\\:0[M0Zd0Z^0ZU0ZZ0ZS0ZK0ZD0Z>0Z<0Z<0Yo0YI0Xb0X<0WU0Vo0Vh0Ve0Ve0V]0VU0VM0VE0V=0V50Um0Ue0U]0UT0UL0UD0U<0U40Tl0Td0T\\0TT0TL0TD0TU0Tn0UE0U\\0Uj0V30V70V70V90V70V40V00Uj0Ua0UU0UG0U90Td0TM0T20SV0S:0R_0RD0Qj0QQ0Q90Pb0PZ0PR0PJ0PB0P:0P20Oj0Ob0OY0OQ0OI0OA0O90O10Ni0Na0NY0NQ0NI0NA0N80N00Mh0M`0MX0MP0MJ0MC0M=0M70M10Lk0Ld0L60KV0K80J_0JJ0J:0In0Ie0I^0IX0IP0ID0I40H`0HF0Gh0GI0Fh0FF0Em0ER0E60Da0DO0D70C\\0C=0B[0B80AR0@i0@@0?Z0?@0>m0>^0>W0>R0>Q0>T0>Y0>a0>l0?80?G0?U0?d0@10@=0@H0@O0@W0@]0@a0@e0@f0@g0@g0@f0@c0@]0@U0@J0@<0?m0?\\0?K0?:0>l0>[0>l0>j0>f0?90?A0?L0?c0@I0A20Al0B50Bf0Bb0Bk0Bh0C50CR0Bn0BY0B^0BC0Ah0AM0A90A40A30@m0@_0@P0@B0@30?e0?d0?b0?`0?]0?Z0?W0?U0?T0?Y0?^0?d0?j0@00@70@?0@H0@Q0@]0@i0A70AG0AY0Al0BA0BU0Bj0C=0CP0C`0D10Cg0C^0CT0CK0CB0C90C10Bh0B_0BV0BL0BE0BA0BE0BJ0BN0BS0BW0B\\0B`0Be0Bi0Bm0C20C60C;0C?0CD0CH0CM0CQ0CV0CZ0C^0Cc0Cg0Cl0D00D50D90D>0DB0DF0DK0DO0DT0DX0D]0Da0Df0Dj0Dn0E30E70E:0E<0E;0E60Di0DS0D60CY0C@0Bk0B^0BW0BU0BU0Bf0CH0Ci0DF0D]0Dj0E50E;0EB0EP0Eh0FA0FZ0G00GC0GU0Ge0H00H:0HE0HO0HZ0Hd0Hn0I90IC0IN0IX0Ib0Im0J70JB0JL0JV0Ja0Jk0K60K@0KK0KU0K_0Kj0L40L?0LI0LT0L^0Lh0M30M=0MH0MR0M]0Mg0N10N<0NF0NQ0N[0Nf0O00O00O00O00O00O30O80OA0OL0OZ0Og0P20P<0PC0PG0P80Of0OR0O;0Nl0Nj0Nf0Na0NZ0NK0N90Ma0MF0Lc0L=0KQ0Jc0J40IE0HW0Gn0GF0Fb0FA0Ef0EL0E50Db0DQ0DE0D:0D10Cj0Cd0C_0C[0CX0CV0CT0CQ0CL0CE0C=0B_0B=0A[0A:0@Z0@;0?]0?@0>c0>I0><0=b0=O0=10<b0<[0<Y0<Z0<`0<[0<U0<F0;^0;@0:o0:j0:j0:c0:W0:=09k09Q09;08^08P08A08207c07T07E07706h06Y06J06;05l05]05O05@05104b04^04W04N04@03n03W03<02d02`02n03;03H03Q03W03Y03[03[03[03[03[03\\03_03a03b03d03e03g03i03j03l03n03o04104204404604704904;04<04>04?04A04C04D04F04H04I04K04L04N04P04Q04S04U04V04X04Y04[04[04[04[04[04[04[04[04[04[04[04[04[04[04[04[04[04o05O06706_07F07b08908D08M08Q08Q08N08H08=08007[07>06[06905X05=04k04b04^04]04\\04[04[04[04[04[04[04[04_04h05>05X06106505i05Z05I05804l04c04[04\\04\\04\\04]04]04^04^04_04`04`04a04a04b04b04d04g04l05505<05Q06006`07a0990:F0<;0?P0BT0Dj0FE0G40GG0GN0GP0GP0GP0GP0GP0GP0GP0GQ0GQ0GQ0GR0GV0GY0Gh0K80NC0Q<0S:0TE0Tj0U90U?0U@0U@0U@0U@0UA0UA0UA0UA0UA0UB0UD0UG0UI0UK0UJ0UG0UA0U90Tm0TV0T;0S^0S=0R^0R?0Qc0QR0QH0QB0Q>0Q=0Q<0Q=0Q=0Q@0QF0RT0U70WI0Y_0[D0\\C0\\e0\\m0];0]A0]C0]F0]G0]H0]I0]I0]G0]E0]?0]70]00\\j0\\f0\\c0\\b0\\a0\\a0\\a0\\`0\\b0^l0`U0b60c20cT0cd0cj0cl0cl0cl0cl0cm0cm0cm0cn0co0co0co0cn0cj0cc0cY0cO0c;0bf0bO0b70aW0a50`L0_`0_20^C0]Z0]=0\\j0\\Z0\\T0\\Q0\\P0\\O0\\O0\\N0\\N0\\M0\\M0\\M0\\M0\\M0\\L0^I0`80ab0bj0cW0co0d:0d?0dN0eH0fB0gA0ga0hK0i70j:0jn0kV0kn0l<0lC0lF0lH0lH0lH0lH0lH0oL11c14415Q16L16k17:17A17C17D17D17C17B17@17>17=17=17>17@17B17D17D17C17@17;17116^16I16515\\15H15:15014j14e15215A15V15k16B16W16i17916]16V16J16K16N16R16U16S16N16F16>16515m15f15^15R15B14o14O13i13@12X12511V11V11U11U11V11V11W11W11X11Y11f12B12Z12o13D13Z13e13o14914B14I14P14V14]14a14e14h14h14h14i14g14f14c14c14c14c14b14_14[14W14T14P14M14J14F14C14@14<14714113j13c13Z13O13D13712i12Z12J12:11h11V11C11010\\10H1040o`0oL0o90nf0nU0nC0n30m`0mM0m:0lh0lW0lF0l60kh0kY0kL0k?0k30jh0j]0jS0jI0j@0j60ik0ib0iX0iO0iG0i?0i80i10hk0hc0h\\0hU0hN0hH0hB0h<0h50go0gh0ga0g[0gU0gN0gF0g?0g70g10fh0f`0fX0fP0fH0fA0f:0f40en0eg0e`0eY0eS0eM0eG0eB0e=0e80e30do0dk0dg0dd0d`0d]0dZ0dV0dS0dP0dM0dK0dH0dF0dD0dB0d@0d>0d<0d;0d:0d[0eY0fS0gM0gh0h?0hF0hJ0hK0hL0hL0hL0hL0hL0hL0hL0hL0hK0hK0hJ0hH0hF0hD0hA0h=0h90h20gj0g^0gP0g:0fa0f>0eN0dM0ci0dF0e>0e^0fE0fe0gC0gZ0gn0h;0hG0hR0h\\0hc0hi0ho0i40i70i90i90i:0i:0i:0i:0i:0i:0i:0i90iD0iR0ig0j@0j[0k70kS0kl0lC0lX0li0m70mC0mM0mU0m]0mc0mh0ml0mn0n00n10n20n20n20n10n00mo0mn0mo0me0mA0lC0jn0jm0jl0jk0jj0ji0jh0je0ja0j^0jW0j@0ij0i`0i^0iZ0iO0i;0hk0h`0h^0hZ0hM0h<0gN0fW0eF0ci0ci0ci0ci0ci0ci0ci0ci0dS0eI0fP0gV0hL0i40iP0id0j40j@0jI0jP0jU0jY0jZ0jY0jV0jR0jM0jE0j=0j40ij0ia0iY0iQ0iK0iG0iD0iC0iB0iB0iA0i@0i>0i:0i20hg0hZ0gk0g40ec0dH0dH0dH0dI0dI0dI0dJ0eF0fE0gC0h20h\\0i=0iV0ik0j90jC0jJ0jM0jP0jQ0jR0jR0jR0jR0jR0jR0jR0jM0jG0j>0io0iU0ho0h?0gK0f90e00dI0dH0dH0dH0dH0dG0dG0e40f?0g=0h90hk0iZ0jF0jj0kL0kh0lC0lZ0m00mC0mT0mc0n10n>0nD0nG0nI0nG0nE0nB0n?0n<0n90n60n30n00mn0mk0mh0me0ma0mY0mL0m=0li0lK0kd0k70jA0iB0hP0h50gW0g@0g70g00fn0fn0g10g50hV0iO0jC0jm0kJ0k^0kl0l80lB0lF0lH0lJ0lK0lK0lK0lK0lK0lJ0lE0l?0ki0kO0jS0iP0iY0iV0iX0iX0iX0iW0iV0iV0iV0iV0iV0iV0iV0iV0iV0iV0iU0iU0iR0iM0i?0hm0h=0gL0gX0hF0i50i`0jJ0jn0kI0ka0l00l=0l@0l>0l80km0k\\0kG0jm0jN0io0iO0i20hY0hE0h40gc0gR0gM0gL0h@0i50i_0j=0j^0k80kE0kP0kS0kU0kU0kV0kV0kV0kV0kV0kU0kS0kI0k=0jT0if0hD0h90h90h=0h=0h=0h=0h=0h=0h=0h=0h:0h40h10h40h:0h=0hS0i=0i\\0in0j<0j@0jA0jC0jC0jD0jE0jE0jE0jE0jE0jE0jE0jE0jE0jE0jD0j@0j:0if0iN0hS0gN0el0d=0d=0d=0d60cm0ca0cT0cF0c80bj0b\\0bM0b>0an0a_0aO0a?0a00``0`Q0`C0`50_g0_Y0_L0_@0_40^h0^\\0^Q0^F0^<0^20]h0]_0]V0]N0]G0]@0]]0^Y0_L0`F0`a0a<0aS0ag0b90bF0bO0bT0bW0bX0bY0bY0bY0bY0bY0bX0bX0bW0bV0bT0bR0bN0bH0b?0b30ad0aR0a?0`h0`G0_]0^o0]_0\\D0\\D0\\D0\\D0\\C0\\C0\\C0\\C0\\B0\\B0\\B0\\B0\\A0\\A0\\A0\\@0\\?0\\>0\\=0\\<0\\:0\\90\\80\\70\\60\\50\\40\\20\\10]K0^X0_L0`80`H0`U0`X0`Z0`Z0`Z0`Z0`Z0`Z0`Z0`Z0`Z0`[0`\\0`^0`a0`e0`j0`j0`k0`k0`k0`f0``0`R0`C0_e0_C0^M0]R0\\Q0[L0[K0[K0[J0[I0[H0[H0[G0[F0[F0[E0[D0[D0[l0\\T0]?0]l0^Z0_I0`70``0a<0aV0ak0b:0bE0bL0bQ0bS0bU0bU0bU0bT0bQ0bO0bM0bJ0bH0bE0bA0b<0b50ai0aV0a90`P0_[0^[0]S0\\G0[90[90[90[90[90[90[90[C0[N0[^0[l0\\40\\90\\M0\\`0]40]F0]h0^G0^c0_A0_Y0`00`@0`Q0``0`m0aA0aR0aa0b30bA0bM0b^0bl0c80cE0cQ0c[0cc0cm0d60dA0dJ0dQ0dX0d\\0dc0dh0dl0e00e30e70e80e90e:0e:0e;0e;0e;0e;0e;0e;0e;0e;0e:0e80e70e60e50e50e50e50e40e30e00dm0dh0d_0dT0dB0cj0cL0bi0bD0a_0a=0`^0`A0_m0_]0_O0_L0_I0_I0_I0_G0_=0_00^f0^]0^Q0^G0^@0^90^40]m0]f0]a0]X0]R0]J0]C0]>0];0];0];0]>0]B0]G0]L0]Q0]W0]a0]j0^20^<0^F0^O0^^0^k0_<0_K0_]0_m0`@0`T0`d0a50aB0aL0aY0ah0b40b?0bM0bY0ba0bk0c30c<0cG0cQ0c[0cd0cn0d60d@0dK0dS0d]0dd0dk0e20e70e;0e=0e?0e@0eA0eE0eJ0eR0e^0ek0f90fE0fQ0f]0fg0g10g;0gE0gN0gU0g[0g_0g`0g`0g]0gV0gN0gA0g20f`0fH0en0eP0e00dO0co0cP0c40b[0bG0b70al0ad0a^0a[0aY0aX0aW0aV0aV0aV0aV0aV0aV0aW0aW0aX0aY0aZ0aY0aX0aW0aW0aW0aW0aW0aW0aW0aW0aW0aW0aW0aW0aW0aW0aX0aY0aZ0a[0a\\0a\\0a]0a]0a]0a]0a]0a]0a]0a]0a]0a]0a]0a]0a]0a]0aZ0a]0aY0a]0a^0a^0b@0b^0c90cM0c^0cj0d20d80d;0d?0dB0dC0dC0dB0d?0d;0d90d40cn0ci0cg0ci0cn0d40d90d;11>11<11711110l10j10l11111411210l10n10m10l10j10f10^10T10I10@1070ol0o^0oO0o?0o00na0nR0nC0n30mb0mQ0m?0ln0l\\0lM0l>0l20kf0k\\0kR0kI0kA0k90k20jl0jg0jb0j^0jZ0j[0j^0jf0jn0k80kA0kI0kN0kO0lK0nQ11811310m10h10f10h10m11311811;11811110c10M1010oS0o30nS0n70m]0mD0lm0lU0l?0ki0kS0k;0ja0jF0ik0iR0i>0i10hh0ha0h\\0hX0hW0hY0h\\0h`0hd0hg0hR11G11E11@11:11511311511:11;11;11510l10f10b10^10\\10]10_10`10a10`10]10Z10V10R10N10J10F10A10<1050on0og0o`0oY0oS0oM0oG0oB0o=0o70o10nk0nb0nW0nK0n>0n00mb0mU0mH0m;0ln0lb0lV0lJ0l?0l30kh0k\\0kQ0kF0k;0k30jm0jg0jc0j_0j[0jY0jV0jU0jT0jS0jT0jT0jU0jW0jY0j[0j^0ja0je14B13l13k13f13_13Z13X13Z13_13f13b13]13W13K13712`12D11g11I10j10J0ol0oM0nn0nO0mn0mM0ll0lJ0ki0kH0jh0jK0j00iW0i@0hl0hY0hG0h70gi0g]0gS0gK0gF0gB0g@0g>0g=0g=0g=0g>0g@0gB0gE0gH0gK11a11_11Z11T11O11M11O11T11Z11_11a11j11d11\\11R11J11C11:11010c10U10B0on0oV0o<0na0nE0mg0mI0lk0lM0ko0kR0k80j`0jK0j90ii0i[0iN0iB0i70hk0h_0hQ0hC0h30gb0gQ0g@0fo0f^0fN0f>0en0e_0eP0eA0e30de0dW0dJ0d=0d60d;0no0o<0o:0o50no0nj0nh0nj0no0o50o:0o<0nn0n_0nU0n>0mh0mT0m?0lj0lU0l>0kf0kQ0k@0k40jk0jd0j\\0jV0jT0jV0jY0j]0ja0jf0jj0jn0k20k50k70k:0k<0k=0k>0k?0k?0k?13012n12i12b12]12\\12]12b12i12n12T12011]11Q11A10e10I1000oY0oF0o20n_0nK0n60ma0mL0m90lf0lS0lB0l10k_0kI0k30jb0jV0jL0jG0jB0j=0j80j60j80j=0jC13812b12a12\\12U12P12N12P12U12\\12?11a11B10a10@0ob0oF0nl0nS0n;0md0mM0m70l`0lF0ki0kJ0jf0jB0i\\0i50hM0gd0g80fL0e_0e40dI0c^0c50bM0af0a?0`X0_o0_H0^a0^;0]W0]50\\U0\\50[X0[;0Z`0ZF0Ym0YU0Y<0Xc0XJ0X20WZ0WE0W10V`0VP0VC0V90V00Uj0Uo0V20V50V60V60V50V40V20V00Uo0Un0Um0Ul0Ul0Uk0Uk0Uk0Ul0Ul0Ul0Ul0Um0Um0Um0Um0Un0Un0Un0Un0Uo0Uo0Uo0Uo0V00V00V00V00V10V10V10V10V20V20V20V20V30V30V30V30V40V40V40V40V40V40V40V40V40V40V40V40V40V40V40V40V40V40V40V40V40V40V40V40V40V40V30V30V30V30V30V30V20V20V20V10V10V10V00Uo0Uo0Un0Un0Un0Um0Un0Uo0V20V60V=0VG0VT0Vf0W:0WR0Wh0X@0Xk0YR0ZC0[F0\\Z0]V0_X0a10cR0eK0hh0iW0jB0jj0kN0kl0lX0mB0ml0nS0o80oY14=14:14414114414:14=14\\15Q16R17O18F19G1:C1;;1;h1<^1=N1>;1>_1?J1?o1@O1A51AW1B61BN1Bk1CJ1Cg1DB1DZ1Dm1ED1EY1El1F<1FP1Fb1G31GA1GS1Ge1H51HC1HU1He1I41IE1IX1Ik1J:1JL1J\\1Ji1K81KD1KS1Ka1Km1L;1LH1LS1La1Lm1M:1MF1MT1M`1Mj1N51N=1NE1NM1NU1N[1Nb1Nh1Nn1O31O71O;1O=1O?1O@1OA1OA1OB1OB1OB1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OC1OB1OJ1OH1OC1O<1O71O61O71O<1OC1OH1OJ1O61O41O61No1No", GroundType:"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAFFFFFFFFFFFFFFFFFFFDDDDDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFAAAFFFFFFFFFFFFFFFFAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFAAAAAAAAAAFFFFFFFFFFFFFFFFFAAAAAAAAFFFFFFFFFFFFFFFFAAAAAAAAAFFFFFFFFFFFFFAAAAAAAAFFFFFFFFFFFFFAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFAAAAAAAAAAFFFFFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFAAAAAAAAAFFFFFFFFFFFFFAAAAAAAAFFFFFFFFFFFFFAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAAAAAAAAAAAABBBBBBBBBBBBAAAAAAAAABBBBBBAAAAABBBBBAAAAABBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEEEEEEEEEEEEEEEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBFFFFFFFFFFFFFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAAAAAAAAAFFFFFFFFAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBAAAAAAAAABBBBBBAAAAABBBBBAAAAABBBBBBBBBBBBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAFFFFFFFFFFFFFFFFFFFEEEEEEEEEEEEEEEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFAAAAFFFFFFFFFFFFFFFFFFFFFAAAAAAAAADDDDDDDAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBBAAAAAABBBBBBBBBBBBBBBBCCCCCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB", objX:"800.304347826089,0,1114.12556408691,29722.9837801686,55077.1168638681,93766.0156072,112655.744845,142304.890376,150652.491754,171774.608696,183069.391304,199875.170657,208432.656274", objY:"1800.33333333333,0,1812,559.843243130268,2924.84009800412,4127.29318283686,4407.47490357629,304,4197.96988877532,2832.03053790764,3181.25881522737,2433.76051139784,6099", objType:"0,0,2,2,2,2,2,2,2,2,2,2,2", intObjDat:"1423;1813;11,1816;10,1303;1781;0,1475;1815;12,1515;1818;10,1595;1797;0,1716;1822;21,1855;1823;10,1950;1806;0,2025;1831;10,2135;1806;0,2229;1828;12,2452;1803;0,2681;1766;0,2847;1668;0,3074;1587;0,3118;1577;0,3161;1590;0,3161;1557;0,3194;1593;0,3221;1560;0,3234;1593;0,3254;1560;0,3274;1593;0,3291;1560;0,3308;1593;0,3331;1560;0,3351;1587;0,3371;1553;0,3384;1613;0,3404;1553;0,3411;1587;0,3441;1610;0,4743;1518;0,4774;1508;0,4809;1508;0,4817;1563;22,4846;1508;0,4884;1508;0,4919;1508;0,5336;1439;0,5357;1499;22,5380;1439;0,5421;1499;0,5433;1458;0,5454;1598;21,5474;1477;0,5487;1511;0,6094;1599;4,6340;1423;0,6373;1403;0,6403;1390;0,6450;1373;0,6490;1353;0,6526;1330;0,6560;1320;0,6587;1519;11,6593;1310;0,6623;1293;0,6653;1280;0,6683;1267;0,6720;1260;0,6756;1250;0,6790;1237;0,6826;1230;0,6863;1220;0,6900;1210;0,6933;1210;0,6973;1207;0,7010;1197;0,7043;1193;0,7076;1193;0,7113;1190;0,7150;1190;0,7153;1120;1,7186;1190;0,7192;1510;10,7220;1190;0,7241;1533;10,7253;1190;0,7293;1190;0,7295;1523;1,7312;1557;10,7326;1190;0,7355;1564;12,7360;1200;0,7393;1207;0,7423;1220;0,7442;1540;10,7456;1230;0,7490;1240;0,7516;1263;0,7553;1270;0,7586;1283;0,7597;1363;1,7616;1300;0,7656;1317;0,7686;1340;0,7720;1360;0,7750;1387;0,7786;1410;0,7816;1423;0,7843;1443;0,7873;1460;0,7896;1483;0,8065;1500;11,8520;1495;10,8584;1502;11,9846;1384;4,10093;1350;10,10181;1355;22,10547;1298;0,10586;1298;0,10623;1298;0,10658;1304;0,10692;1304;0,10709;1372;0,10709;1335;0,10709;1242;0,10725;1306;0,10756;1218;1,10758;1312;0,10787;1328;0,10820;1337;0,10853;1345;0,10890;1349;0,11011;1579;11,11051;1579;12,11493;1522;22,12394;1692;10,12441;1693;11,12580;1688;10,12645;1684;12,12689;1681;11,13553;1277;5,14498;954;1,14583;1359;4,14771;1080;11,14817;1083;21,14823;778;0,14829;695;0,14855;554;0,14863;622;0,14890;460;0,14901;1202;14,14902;579;0,14931;372;0,14965;538;0,14965;406;0,14975;482;0,14981;300;0,15001;1267;2,15006;341;0,15022;438;0,15037;532;0,15047;265;0,15063;315;0,15075;388;0,15078;466;0,15106;268;0,15114;1280;2,15128;507;0,15128;303;0,15150;388;0,15154;573;0,15172;322;0,15185;510;0,15191;366;0,15201;416;0,15216;610;0,15232;444;0,15238;778;0,15248;516;0,15251;646;0,15252;1227;16,15251;716;0,15264;835;0,15273;592;0,15280;926;0,15284;1216;14,15304;667;0,15306;1035;0,15311;776;0,15316;1092;0,15327;1175;0,15329;973;0,15337;856;0,15340;913;0,15353;1035;0,15381;1105;0,15397;1017;0,15412;1196;0,15448;1160;0,15490;1269;0,17024;1565;21,17302;1551;1,17712;1577;0,17746;1580;0,19819;2394;8,20068;2394;9,20210;2394;8,20744;2024;0,20766;1936;0,20803;1833;0,20835;1735;0,20875;1641;0,20894;1569;0,20929;1484;0,20957;1440;0,20979;1387;0,20995;1322;1,21001;1359;0,21029;1330;0,21051;1299;0,21076;1277;0,21108;1268;0,21145;1261;0,21180;1265;0,21211;1283;0,21236;1308;0,21246;1343;0,21261;1374;0,21277;1409;0,21287;1443;0,21296;1478;0,21311;1514;0,21325;1544;0,21331;1577;0,21342;1612;0,21347;1652;0,21353;1684;0,21358;1721;0,21370;1789;0,21469;2093;3,22837;2021;0,25424;1589;0,25483;1555;0,25512;1539;0,25533;1468;0,25554;1522;0,25591;1505;0,25591;1559;0,25646;1493;0,25658;1392;0,25687;1480;0,25733;1463;0,25809;1459;0,25813;1376;0,25863;1459;0,25901;1447;0,25930;1372;0,25942;1430;0,25988;1417;0,26034;1405;0,27575;837;0,27613;833;0,27646;816;0,27688;795;0,27721;778;0,27721;812;0,27780;770;0,27822;770;0,27855;770;0,27888;757;0,27926;745;0,27959;732;0,27997;695;0,29851;563;11,29916;563;12,31385;123;11,31744;122;11,31781;121;10,32831;0;21,33043;111;16,33070;141;16,33706;171;16,33738;164;15,33801;164;10,33815;64;0,33827;114;0,33863;165;10,33877;93;0,33914;165;12,33927;56;0,33965;165;11,33990;85;0,34009;166;10,34040;77;0,34050;167;11,34082;81;0,34087;168;12,34107;27;0,34135;173;14,34157;102;0,34182;173;11,34216;174;14,34250;169;10,34274;93;0,34316;173;15,34349;177;14,34382;176;15,34454;202;0,34458;244;0,34490;238;2,34499;198;0,34512;265;0,34541;185;0,34562;231;0,34587;190;0,34608;215;0,34690;180;16,34737;189;11,34780;195;12,34822;192;10,35539;211;4,35869;68;0,35903;43;0,35949;31;0,35976;139;10,35994;18;0,36030;140;11,36036;6;0,36074;-11;0,36111;-19;0,36153;-28;0,36191;-28;0,36245;-32;0,36299;-40;0,36350;-40;0,36400;-40;0,36454;-40;0,36487;-40;0,36521;-40;0,36579;-32;0,36638;-24;0,36675;-19;0,36721;-7;0,36755;6;0,36788;14;0,36838;22;0,36872;35;0,36922;56;0,36964;73;0,36993;93;0,37026;110;0,37076;127;0,37110;148;0,37139;164;0,38025;257;8,38343;249;6,38596;300;8,39459;377;9,40864;332;0,40868;281;0,40897;373;0,40902;306;0,40918;269;0,40948;382;0,40948;332;0,40952;281;0,40994;365;0,40998;319;0,41276;801;8,41758;574;0,41783;620;0,41812;565;0,41837;624;0,41846;574;0,43956;1306;21,45254;1565;22,45357;1580;21,47534;1711;0,47584;1690;0,47621;1686;0,47663;1682;0,47701;1678;0,47734;1678;0,47776;1678;0,47809;1678;0,47851;1678;0,47861;1928;22,47893;1678;0,47943;1690;0,47981;1699;0,48018;1707;0,48056;1711;0,48098;1728;0,48144;1749;0,48177;1774;0,48215;1799;0,49413;2116;21,51031;1562;11,51566;1486;11,51594;1446;1,51619;1488;10,51651;1458;0,51684;1491;12,51685;1458;0,51722;1458;0,51738;1494;10,51756;1458;0,51789;1458;0,51815;1376;1,51835;1458;0,51864;1502;11,51869;1462;0,51902;1470;0,51927;1503;1,51956;1479;0,51976;1511;21,52010;1509;1,52056;1518;22,52099;1522;1,52129;1534;13,52291;1516;0,52336;1516;0,52407;1520;0,52462;1541;0,52495;1554;0,52529;1566;0,52562;1579;0,52587;1600;0,52625;1621;0,52658;1642;0,52660;2858;9,52708;2858;8,53079;2863;19,53141;2864;18,53381;2836;0,53422;2867;9,53569;2786;0,53656;2795;0,53778;2840;0,53897;2882;17,54106;2891;8,54258;2870;0,54325;2870;0,54387;2870;0,54446;2870;0,54747;2874;7,55775;2878;17,55944;2861;8,56051;2859;19,56173;2865;9,58131;3549;8,58237;3531;19,58413;3491;8,58527;3442;9,59972;2461;0,60045;2461;0,60082;2461;0,60119;2461;0,60151;2470;0,60243;2507;0,61060;2671;0,61139;2692;0,61209;2720;0,61274;2744;0,61305;2768;0,61343;2785;0,61378;2796;0,61416;2806;0,61447;2816;0,61488;2837;0,61519;2861;0,61564;2885;0,61592;2903;0,61630;2920;0,61688;2965;0,61716;2982;0,61730;3318;9,61744;3006;0,61778;3034;0,61802;3058;0,61840;3086;0,61868;3103;0,61930;3158;0,62332;3477;17,62546;3478;19,62853;3476;8,63539;3294;9,63808;3086;8,67133;3457;9,67294;3511;8,67838;3610;19,68219;3595;17,68606;3532;8,68815;3472;8,71527;2157;0,71569;2153;0,71614;2153;0,71655;2153;0,71700;2153;0,71752;2157;0,71790;2160;0,71821;2177;0,71852;2191;0,71883;2205;0,71917;2212;0,71952;2219;0,71990;2222;0,72025;2236;0,73497;3457;8,73961;3651;20,74106;3653;18,74176;3647;19,74479;3603;8,75964;2762;4,76319;2368;0,76405;2299;0,76495;2206;0,76606;2112;0,76709;2033;0,76799;1967;0,76885;1916;0,76958;1867;0,77023;1840;0,77085;1816;0,77179;1778;0,77224;1753;0,77306;1726;0,77403;1722;0,77482;1709;0,77548;1709;0,77617;1709;0,77655;1709;0,77693;1712;0,77734;1712;0,77790;1722;0,77835;1736;0,77879;1743;0,77921;1750;0,77952;1760;0,77993;1767;0,78028;1774;0,78069;1788;0,78114;1809;0,78152;1819;0,78190;1829;0,78221;1843;0,78256;1860;0,78287;1871;0,78346;1909;0,78391;1940;0,78456;1981;0,78560;2047;0,78701;2140;0,78801;2219;0,78933;2313;0,79036;2402;0,79198;2554;0,79340;2699;0,79461;2826;0,79602;2978;0,79727;3113;0,79841;3258;0,79951;3403;0,80024;3503;0,80120;3617;0,80565;3782;17,80773;3833;20,80906;3827;7,81894;3301;8,82150;3141;9,82339;3053;8,84025;2643;0,84074;2664;0,84105;2678;0,84146;2688;0,84181;2712;0,84226;2733;0,84253;2754;0,84281;2781;0,84312;2792;0,84350;2812;0,84378;2837;0,84409;2868;0,84433;2895;0,84460;2913;0,84488;2933;0,84516;2954;0,84550;2978;0,84578;3002;0,84905;3354;9,85033;3459;8,85269;3648;9,85755;3855;20,86980;3859;20,87489;3733;8,87664;3643;9,87765;3592;8,90267;3377;8,91283;3910;8,92179;3875;20,93059;4046;8,93922;4124;8,94393;4066;7,94555;4038;8,95079;4038;7,95389;4095;7,96002;4035;0,96011;4269;17,96058;4025;0,96149;4025;0,96235;4030;0,96301;4035;0,96371;4086;0,96432;4106;0,96477;4147;0,96538;4162;0,96563;4207;0,96629;4227;0,96670;4253;0,96705;4298;0,96750;4339;0,97125;4464;19,97164;4452;18,97400;4369;17,97833;4119;19,97951;4137;18,98075;4122;4,98209;4091;0,98290;4111;0,98346;4131;0,98386;4152;0,98427;4157;0,98472;4167;0,98507;4182;0,98543;4202;0,98588;4227;0,98629;4243;0,98669;4263;0,98705;4278;0,98730;4308;0,98745;4339;0,98770;4359;0,98795;4384;0,98816;4409;0,98861;4435;0,98902;4465;0,98937;4495;0,98957;4526;0,99576;4319;17,99891;4309;18,100035;4214;19,100345;4017;4,100458;3960;0,100513;3949;0,100549;3949;0,100599;3949;0,100640;3949;0,100675;3944;0,100716;3944;0,100766;3949;0,100807;3970;0,100847;3985;0,100872;4010;0,100903;4030;0,100938;4045;0,100963;4066;0,100989;4091;0,101014;4126;0,101039;4147;0,101090;4177;0,101125;4202;0,101155;4232;0,101181;4273;0,101201;4303;0,101231;4323;0,101828;4342;4,101989;4196;19,102128;4051;0,102173;4051;0,102214;4051;0,102249;4056;0,102290;4076;0,102315;4106;0,102345;4121;0,102631;3941;19,102998;3601;18,103380;3469;4,103512;3425;19,103595;3378;0,103661;3373;0,103706;3363;0,103757;3358;0,103817;3358;0,103858;3358;0,103898;3358;0,103939;3358;0,103984;3373;0,104045;3393;0,104095;3419;0,104131;3444;0,104166;3464;0,104196;3484;0,104222;3510;0,104247;3530;0,104287;3555;0,104353;3611;0,104404;3676;0,104449;3762;0,104508;3792;18,104587;3813;19,104639;3873;17,105176;4154;4,105228;4126;8,105390;4083;9,105577;4118;8,105673;4153;7,106907;4033;17,107038;3970;8,107159;3978;7,107745;4180;8,107862;4166;9,108189;3833;5,108245;3853;8,108332;3980;0,108362;4020;0,108367;4061;0,108377;4096;0,108397;4126;0,108397;4172;0,108418;4202;0,108433;4232;0,108448;4263;0,108448;4298;0,108519;4479;3,108872;4167;0,108913;4162;0,108953;4157;0,109009;4162;0,109054;4167;0,109085;4187;0,109673;4228;17,109716;4183;8,109898;4075;8,109958;4062;9,110230;3702;0,110250;3586;0,110255;3656;0,110260;3540;0,110260;3621;0,110281;3697;0,110291;3636;0,110306;3666;0,110306;3540;0,110316;3500;0,110331;3586;0,110331;3459;0,110337;3944;1,110341;3626;0,110351;3702;0,110356;3656;0,110356;3540;0,110361;3813;0,110402;3712;0,110422;3798;0,110437;3767;0,110746;4289;6,110933;4283;0,111009;4293;0,111054;4313;0,111100;4313;0,111135;4313;0,111171;4329;0,111206;4344;0,111338;4408;17,111373;4395;7,111433;4382;6,111479;4334;0,111540;4334;0,111595;4359;0,111626;4374;0,111909;4551;9,111959;4555;8,112146;4549;8,112520;4414;7,112763;4408;6,116498;3489;21,116748;3544;10,116790;3544;11,116828;3544;13,116862;3544;10,116896;3544;13,116957;3543;10,116984;3382;1,116995;3543;11,117052;3542;10,117086;3542;13,117121;3542;10,117170;3542;13,117223;3389;1,117234;3538;11,117683;3405;10,117728;3404;11,117751;3329;1,117789;3406;10,117835;3256;0,117842;3329;1,117888;3412;10,117906;3236;0,117956;3226;0,118007;3241;0,118042;3226;0,118098;3226;0,118148;3226;0,118184;3226;0,118249;3241;0,120173;2597;21,121637;2793;4,121785;2594;0,121866;2554;0,121937;2488;0,121967;2463;0,122003;2438;0,122048;2417;0,122089;2392;0,122134;2367;0,122180;2342;0,122230;2316;0,122271;2296;0,122334;2803;2,122346;2276;0,122387;2266;0,122453;2251;0,122503;2241;0,122549;2235;0,122594;2235;0,122611;2848;2,122634;2235;0,122670;2235;0,122720;2235;0,122756;2246;0,122786;2266;0,122832;2276;0,122867;2286;0,122912;2301;0,122922;2856;2,122943;2321;0,122968;2342;0,123003;2362;0,123051;2776;2,123079;2412;0,123115;2448;0,123236;2544;0,123292;2589;0,127571;929;6,127800;993;4,128149;1079;10,128217;1078;10,128250;1076;11,128826;1042;14,128849;1071;14,128872;814;0,128963;809;0,129008;809;0,129069;809;0,129110;809;0,129165;809;0,129216;809;0,129251;814;0,129281;834;0,129322;839;0,129359;1096;14,129362;855;0,129392;1091;16,129393;875;0,129439;1084;15,131493;1125;1,131530;1127;1,131566;1129;1,131599;1134;1,131639;1137;1,131672;1139;1,131714;1146;1,131747;1153;1,131790;1167;1,132458;1330;4,132714;1189;21,132727;1057;0,132788;996;0,132839;961;0,132874;940;0,132920;920;0,132980;910;0,133036;900;0,133071;890;0,133117;860;0,133208;860;0,133258;855;0,133309;855;0,133349;855;0,133405;875;0,133460;895;0,133496;910;0,133541;930;0,133582;951;0,133612;966;0,133688;1031;0,133753;1072;0,133779;1092;0,133804;1143;0,133819;1178;0,141343;301;22,141444;299;22,141550;299;22,142050;300;22,142166;301;22,142276;303;21,142399;305;22,142524;311;22,142976;753;0,143001;794;0,143017;834;0,143022;880;0,143037;910;0,143057;940;0,143077;986;0,143087;1052;0,143092;1107;0,143092;1148;0,143421;1506;18,143466;1511;19,143499;1518;20,143581;1537;0,143641;1557;0,143677;1572;0,143717;1582;0,143753;1603;0,143783;1628;0,143808;1653;0,143849;1683;0,143874;1709;0,144551;2215;4,144755;2125;18,145031;2189;0,145082;2239;0,145117;2270;0,145148;2300;0,145163;2330;0,145178;2361;0,145193;2411;0,146069;2917;0,146094;2943;0,146124;2963;0,146154;2988;0,146205;3018;0,146225;3044;0,146261;3069;0,146626;3294;4,147001;2831;0,147026;2786;0,147067;2751;0,147082;2715;0,147107;2695;0,147148;2685;0,147183;2665;0,147213;2634;0,147244;2604;0,147279;2584;0,147340;2579;0,147436;2579;0,147466;2604;0,147501;2614;0,147572;2629;0,147618;2695;0,147643;2715;0,148434;3823;0,148474;3823;0,148525;3838;0,148570;3853;0,148616;3863;0,148666;3868;0,148707;3878;0,148752;3903;0,148792;3934;0,148833;3959;0,148873;3989;0,148909;4005;0,148944;4040;0,148979;4070;0,149005;4090;0,149025;4116;0,149045;4156;0,149070;4192;0,149096;4237;0,156746;3192;0,156766;3133;0,156794;3097;0,156846;3075;0,156862;3039;0,156916;3013;0,156927;3051;0,156999;3034;0,157022;3063;0,157057;3070;0,157105;3113;0,157113;3149;0,157133;3176;0,157170;3274;0,157178;3234;0,157194;3371;0,158487;3966;4,158611;3618;0,158621;3550;0,158632;3476;0,158648;3655;0,158658;3582;0,158658;3408;0,158664;3208;0,158669;3292;0,158673;3498;0,158678;3461;0,158690;3097;0,158690;3181;0,158700;3539;0,158700;3255;0,158706;3150;0,158709;3481;0,158711;3339;0,158711;3297;0,158714;3446;0,158719;3075;0,158727;3034;0,158732;3002;0,158732;3381;0,158736;3247;0,158743;3550;0,158748;3134;0,158751;3203;0,158751;3446;0,158754;3355;0,158774;3640;0,158785;3529;0,159860;3450;0,159871;3482;0,159876;3518;0,159918;3571;0,159950;3608;0,159976;3661;0,160003;3687;0,160927;3650;4,161089;3266;0,161112;3240;0,161115;3171;0,161144;3154;0,161161;2960;0,161162;3060;0,161166;3110;0,161176;2924;0,161183;3018;0,161198;2975;0,161205;2871;0,161215;2929;0,161220;2803;0,161236;3034;0,161247;2913;0,161252;2869;0,161260;2756;0,161289;2771;0,161289;2807;0,161311;2737;0,162144;3685;4,162306;3260;0,162312;3302;0,162341;3231;0,162369;3166;0,162398;3108;0,162415;3137;0,162432;3034;0,162443;2981;0,162452;3096;0,162470;3050;0,162477;2965;0,162501;2913;0,162548;2887;0,162570;2823;0,162599;2806;0,162606;2850;0,162619;2779;0,162641;2747;0,162671;2729;0,162700;2695;0,162737;2668;0,162752;2639;0,164045;3550;5,164921;3838;4,165014;3525;0,165024;3474;0,165026;3326;0,165026;3368;0,165029;3280;0,165039;3243;0,165051;3434;0,165051;3194;0,165063;3125;0,165067;3387;0,165083;3250;0,165083;3334;0,165083;3196;0,165083;3159;0,165083;3083;0,165088;3292;0,165083;3029;0,165110;3103;0,165115;3137;0,165120;3266;0,165125;3329;0,165130;3208;0,165141;3160;0,165151;3234;0,165162;3276;0,165816;3397;0,165822;3487;0,165874;3466;0,165890;3397;0,165922;3424;0,165980;3387;0,166001;3455;0,166011;3487;0,166053;3424;0,166085;3403;0,166101;3487;0,166111;3518;0,166148;3634;0,166164;3545;0,166169;3592;0,166364;3746;5,167271;3809;4,167412;3562;0,167423;3528;0,167429;3485;0,167446;3417;0,167449;3451;0,167466;3391;0,167469;3305;0,167486;3334;0,167486;3277;0,167503;3214;0,167517;3325;0,167529;3248;0,167552;3183;0,167560;3228;0,167589;3174;0,167589;3140;0,168637;3728;4,168759;3468;0,168767;3505;0,168773;3539;0,168776;3408;0,168781;3285;0,168781;3342;0,168790;3220;0,168801;3445;0,168807;3377;0,168807;3314;0,168821;3168;0,168824;3254;0,168824;3083;0,168824;2994;0,168827;3217;0,168827;2872;0,168830;3128;0,168858;2932;0,168861;3174;0,168870;3026;0,168873;3134;0,168881;2991;0,168887;3080;0,168896;2903;0,168901;2957;0,168910;2872;0,169542;3074;5,170172;2963;0,170189;3006;0,170206;3037;0,170226;3074;0,170243;3108;0,170995;3208;4,171276;2816;0,171284;2739;0,171287;2682;0,171293;2779;0,171316;2642;0,171319;2730;0,171319;2693;0,171344;2576;0,171347;2630;0,171356;2665;0,171367;2548;0,171373;2496;0,171384;2616;0,171399;2471;0,171410;2565;0,171424;2531;0,171430;2451;0,171438;2491;0,171470;2428;0,171487;2394;0,171510;2362;0,173095;3117;4,173224;2979;0,173235;2944;0,173255;2884;0,173273;2850;0,173287;2813;0,173301;2776;0,173352;2648;0,173375;2582;0,173384;2628;0,173395;2525;0,173427;2591;0,173455;2496;0,173458;2542;0,173461;2425;0,173481;2516;0,173518;2319;0,173535;2414;0,173544;2339;0,173564;2311;0,173578;2388;0,174667;3201;4,174850;2902;0,174887;2782;0,174887;2719;0,174933;2656;0,174959;2585;0,174964;2533;0,174981;2471;0,174993;2422;0,175004;2388;0,175016;2342;0,175041;2257;0,175084;2260;0,175093;2086;0,175121;2003;0,175121;2148;0,175124;1960;0,175141;1917;0,175190;1917;0,177491;3353;4,177757;3007;0,177817;2919;0,177905;2866;0,177925;2818;0,177932;2892;0,177938;2940;0,177938;2765;0,177958;2704;0,178032;2677;0,178066;2751;0,178080;2718;0,178093;2529;0,178093;2677;0,178140;2617;0,178167;2435;0,178194;2462;0,178214;2422;0,178221;2496;0,178228;2361;0,178268;2307;0,178288;2415;0,178322;2314;0,178362;2354;0,178470;2233;0,178510;2186;0,178530;2132;0,179895;3303;0,180037;3336;0,180185;3336;0,180306;3363;0,180467;3384;0,180588;3451;0,180709;3505;0,180743;3518;0,180878;3552;0,181005;3538;0,181145;3508;4,181463;3168;0,181483;3094;0,181503;3148;0,181550;3067;0,181611;3047;0,181644;3020;0,181678;2906;0,181698;2940;0,181752;2919;0,181806;2832;0,181813;2879;0,181853;2818;0,181907;2778;0,181940;2751;0,181940;2711;0,181974;2718;0,182008;2684;0,184284;3368;0,184305;3395;0,184333;3437;0,184336;3903;0,184339;3941;0,184346;3802;0,184350;3602;0,184356;3727;0,184360;3475;0,184377;3868;0,184391;3523;0,184409;3554;0,184415;3664;0,184415;3840;0,184415;3889;0,184422;3744;0,184422;3599;0,184440;3699;0,184441;4174;3,184450;3668;0,184460;3771;0,184481;3868;0,184484;3606;0,184484;3492;0,184488;3644;0,184488;3979;0,184488;3816;0,184495;3903;0,184505;4013;0,184519;4048;0,184529;3882;0,184543;3713;0,184546;3796;0,184554;4037;0,184574;3834;0,184577;3678;0,184578;4013;0,184581;3644;0,184598;3737;0,184598;3985;0,184633;3640;0,184633;3972;0,184640;3865;0,184646;3927;0,184650;3602;0,184671;3899;0,184678;3937;0,184691;3761;0,184695;3868;0,184716;3713;0,184719;3644;0,184726;3823;0,184733;3944;0,184743;3858;0,184778;4160;3,184778;3778;0,184791;3868;0,184802;3699;0,184802;3920;0,184806;3751;0,184829;3802;0,184836;3958;0,184857;3733;0,184857;3661;0,184878;3816;0,184895;3754;0,184898;3851;0,184902;3947;0,184926;3868;0,184933;3930;0,184943;3723;0,184964;3775;0,184971;3820;0,184999;3861;0,185020;3906;0,185030;3944;0,185040;3975;0,186177;3809;0,186219;3830;0,186261;3840;0,186275;4003;0,186278;3882;0,186299;3961;0,186313;3827;0,186316;3899;0,186322;3937;0,186347;3975;0,186351;3885;0,186375;3789;0,186375;3851;0,186381;4165;3,186396;4010;0,186419;4037;0,186420;3941;0,186440;3823;0,186458;3982;0,186461;4041;0,186492;3996;0,186520;3889;0,186527;3827;0,186527;3785;0,186534;3954;0,186554;3920;0,186565;3858;0,186581;3889;0,186585;3744;0,186592;3927;0,186596;3965;0,186617;3878;0,186623;3834;0,186637;3771;0,186644;3713;0,186661;3844;0,186671;3771;0,186703;3716;0,186724;3854;0,186744;3720;0,186775;3816;0,186779;3851;0,186789;3706;0,186824;3733;0,186827;3699;0,186827;3792;0,186837;3827;0,186869;3771;0,186892;3796;0,186927;3827;0,187666;3889;0,187726;3972;0,187755;4124;0,187759;4017;0,187766;3972;0,187766;3858;0,187767;3927;0,187779;4168;3,187791;3885;0,187797;3644;0,187797;3747;0,187811;3796;0,187814;3958;0,187842;3851;0,187847;3754;0,187860;3723;0,187873;3637;0,187883;3602;0,187883;3861;0,187883;3930;0,187885;3682;0,187905;3640;0,187925;3557;0,187935;3692;0,187935;3899;0,187935;3792;0,187959;3837;0,187978;3740;0,187983;3692;0,187990;3640;0,187997;3903;0,188018;3951;0,188025;3809;0,188033;3847;0,188033;3882;0,188045;4030;0,188056;3982;0,188059;3675;0,188068;3951;0,188076;3768;0,188090;4030;0,188095;3989;0,188097;3934;0,188120;4160;3,188126;4044;0,188132;3920;0,188149;3678;0,188159;3985;0,188163;3861;0,188166;3951;0,188166;3768;0,188194;3689;0,188197;3982;0,188204;3775;0,188209;3923;0,188246;3847;0,188263;3682;0,188270;3913;0,188271;3813;0,188287;3958;0,188304;3913;0,188359;3840;0,188359;3947;0,188366;3727;0,188373;3664;0,188391;3799;0,188409;3896;0,188411;3692;0,188415;3771;0,188418;3820;0,188429;3620;0,188429;3947;0,188463;3858;0,188463;3654;0,188463;3913;0,188467;3716;0,188467;3947;0,188477;3685;0,188477;3985;0,188494;4134;3,188503;3747;0,188516;3830;0,188527;3868;0,188534;3920;0,188537;3961;0,188549;3733;0,188549;3654;0,188570;3599;0,188591;3765;0,188598;3896;0,188603;3837;0,188629;3609;0,188629;3816;0,188636;3730;0,188639;3885;0,188646;3768;0,188649;3637;0,188649;3927;0,188660;3830;0,188675;3706;0,188687;3865;0,188687;3899;0,188692;3678;0,188694;3799;0,188705;3626;0,188722;3588;0,188729;3651;0,188736;3806;0,188741;3616;0,188781;3616;0,188789;3585;0,188798;3675;0,188801;3509;0,188812;3747;0,188826;3823;0,188826;3633;0,188838;4069;3,188839;3782;0,188857;3547;0,188860;3878;0,188867;3647;0,188875;3813;0,188881;3727;0,188896;3858;0,188912;3947;0,188922;3820;0,188926;3723;0,188929;3882;0,190308;3765;0,190315;3799;0,190319;3837;0,190336;4199;0,190343;3889;0,190353;4165;0,190374;3927;0,190391;3961;0,190391;4082;0,190402;3813;0,190408;3751;0,190422;4048;0,190422;4137;0,190422;3944;0,190436;4106;0,190436;3985;0,190452;4351;3,190474;3813;0,190498;4055;0,190498;4137;0,190505;3930;0,190505;4089;0,190529;3875;0,190543;3934;0,190547;4006;0,190553;4130;0,192208;3640;0,192212;3765;0,192232;3868;0,192236;3620;0,192243;3830;0,192246;3682;0,192264;3775;0,192277;4013;0,192281;3923;0,192283;4208;3,192291;3747;0,192312;3813;0,192322;3930;0,192339;3844;0,192371;3782;0,192384;3961;0,192388;4048;0,192409;3999;0,192436;4017;0,192447;3851;0,192450;3961;0,192488;3923;0,192498;4013;0,192519;3882;0,192536;3975;0,192536;3854;0,192543;3923;0,192585;3837;0,192615;4212;3,192619;3923;0,192619;3868;0,192623;3820;0,192667;3799;0,192685;3882;0,192705;3916;0,192716;3947;0,192795;3968;0,194216;3454;0,194240;3523;0,194247;3568;0,194251;3775;0,194254;3682;0,194254;3889;0,194268;3727;0,194268;3640;0,194299;3713;0,194303;3785;0,194306;3851;0,194330;3816;0,194351;3744;0,194375;3796;0,194382;4028;3,194382;3609;0,194396;3751;0,194413;3637;0,194417;3782;0,194434;3550;0,194434;3609;0,194437;3661;0,194465;3592;0,194465;3695;0,194486;3478;0,194489;3620;0,194499;3571;0,194503;3668;0,194527;3758;0,194527;3716;0,194530;3796;0,194537;3916;0,194551;3847;0,195776;3834;0,195835;3823;0,195841;3982;0,195848;3913;0,195859;4030;0,195862;3875;0,195890;3906;0,195897;4020;0,195901;4288;3,195904;4058;0,195921;4086;0,195924;3989;0,195948;3813;0,195955;4034;0,195962;3899;0,195976;4175;0,195980;4061;0,195993;3975;0,196011;3920;0,197261;4079;0,197268;3768;0,197271;4048;0,197278;3816;0,197289;3892;0,197320;4034;0,197320;3982;0,197344;3844;0,197354;3965;0,197361;3903;0,197361;3740;0,197371;4274;3,197382;4027;0,197413;3975;0,197420;3941;0,197444;4106;0,197451;3927;0,197461;3837;0,197482;4030;0,197485;3916;0,197541;3892;0,197548;3979;0,197575;4017;0,197579;4079;0,197972;3792;0,198193;3533;0,198324;3347;0,198435;3202;0,199972;2408;0,200014;2408;0,200052;2400;0,200132;2392;0,200162;2404;0,200185;2362;0,200223;2373;0,200238;2408;0,200284;2408;0,200288;2370;0,200333;2408;0,200360;2370;0,200367;2408;0,200394;2370;0,200409;2408;0,200432;2370;0,200447;2408;0,200477;2370;0,200496;2408;0,200523;2370;0,200538;2408;0,200576;2408;0,200588;2377;0,200618;2408;0,200637;2377;0,200656;2408;0,200682;2377;0,200694;2408;0,200743;2408;0,200781;2408;0,200815;2381;0,200838;2408;0,200869;2377;0,200876;2411;0,200914;2377;0,200918;2411;0,200960;2411;0,200982;2381;0,201005;2411;0,201028;2385;0,201055;2411;0,201085;2385;0,201112;2411;0,201150;2411;0,201176;2389;0,201233;2411;0,201271;2385;0,201294;2411;0,201320;2377;0,201328;2411;0,201358;2377;0,201370;2411;0,201396;2377;0,201408;2411;0,201434;2377;0,201442;2411;0,201476;2411;0,201491;2377;0,201514;2411;0,201526;2377;0,201556;2411;0,201560;2377;0,201594;2411;0,201605;2377;0,201636;2411;0,201666;2377;0,201681;2411;0,201704;2377;0,201723;2411;0,201753;2377;0,201772;2411;0,201795;2385;0,201814;2411;0,201833;2385;0,201852;2411;0,201886;2411;0,201913;2381;0,201947;2381;0,201989;2381;0,202004;2411;0,202042;2411;0,202061;2381;0,202084;2411;0,202110;2381;0,202122;2411;0,202171;2411;0,202190;2385;0,202217;2411;0,202243;2385;0,202266;2415;0,202308;2385;0,202312;2419;0,202342;2385;0,202346;2419;0,202395;2419;0,202452;2419;0,202490;2419;0,202524;2419;0,202555;2434;0,202578;2408;0,202608;2438;0,202642;2442;0,202676;2461;0,202781;2411;0,202821;2419;0,202903;2435;0,203009;2525;0,203188;2508;0,203188;2582;0,203228;2614;0,203407;2679;0,203432;2614;0,203570;2695;0,203587;2744;0,203644;2801;0,203733;2891;0,203766;2809;0,203896;2923;0,203928;3005;0,203994;3111;0,204091;3168;0,204148;3119;0,204222;3273;0,204246;3241;0,204295;3322;0,204335;3428;0,204344;3371;0,204368;3477;0,204392;3558;0,204401;3615;0,204425;3689;0,204498;3843;0,204506;3746;0,204563;3941;0,204620;3998;0,204620;4071;0,204686;4185;0,204686;4242;0,204726;4454;0,204742;4307;0,204742;4372;0,204759;4527;0,204767;4144;0,204783;4625;0,204848;4779;0,204856;4682;0,204913;4877;0,204922;5146;0,204930;4942;0,204930;5007;0,204946;5089;0,204987;5211;0,205011;5382;0,205019;5276;0,205027;5422;0,205101;5520;0,205125;5545;0,206205;6066;1,206375;6098;21,206420;6007;1,206605;5948;1,206605;6074;1,206716;5985;1,206731;6015;1,206782;6074;1,206827;6074;1,206871;6099;22,206886;6037;1,206916;6000;1,207012;6059;1,207064;6052;1,207197;6066;1,207212;6099;21,207323;6096;1,207463;6044;1,207493;6099;22,207626;6059;1,207685;6044;1,207685;6089;1,207781;6099;21,207781;6044;1,207959;6044;1,208040;6074;1,208144;6074;1"});
cur_truck_rot = 0;
bed_rot = 0;
bed_rot_vel = 0;
cur_bed_rot = 0;
tot_bed_rot_vel = 0;
var containerCONST = {x1:-60, y1:-40, x2:-9, y2:-9};
var containerAngle = new Array();
var containerDist = new Array();
containerAngle[0] = Math.atan2(containerCONST.y1, containerCONST.x1) + Math.PI;
containerDist[0] = Math.sqrt((containerCONST.y1 * containerCONST.y1) + (containerCONST.x1 * containerCONST.x1));
containerAngle[1] = Math.atan2(containerCONST.y2, containerCONST.x1) + Math.PI;
containerDist[1] = Math.sqrt((containerCONST.y2 * containerCONST.y2) + (containerCONST.x1 * containerCONST.x1));
containerAngle[2] = Math.atan2(containerCONST.y2, containerCONST.x2) + Math.PI;
containerDist[2] = Math.sqrt((containerCONST.y2 * containerCONST.y2) + (containerCONST.x2 * containerCONST.x2));
containerAngle[3] = Math.atan2(containerCONST.y1, containerCONST.x2) + Math.PI;
containerDist[3] = Math.sqrt((containerCONST.y1 * containerCONST.y1) + (containerCONST.x2 * containerCONST.x2));
var container = new Array();
i = 0;
while (i < 4) {
container.push({x:0, y:0});
i++;
}
var bonusQue = new Array();
var points = new Array();
i = 0;
while (i <= 4) {
ob_sx[i + 1] = Math.cos(connectionRot[i]) * connectionDist[i];
ob_sy[i + 1] = Math.sin(connectionRot[i]) * connectionDist[i];
points.push({pos:(Object = {x:0, y:0}), acc:(Object = {x:0, y:0}), vel:(Object = {x:0, y:0}), posNext:(Object = {x:0, y:0}), accNext:(Object = {x:0, y:0}), velNext:(Object = {x:0, y:0}), velCorrection:(Object = {x:0, y:0}), rotPos:0, rotAcc:0, rotVel:0, tempRot:0, tireRot:0, rotPosNext:0, rotAccNext:0, rotVelNext:0, rotNotAbsorbed:0, mass:1, surfaceBounciness:0.8, connectionNum:0, connections:(Array = []), connectionRef:(Array = []), connectionRot:(Array = []), xd:0, yd:0, dist:0, thisNum:i, aDist:0, angle:0, Radius:0, Friction:1, targRot:0, grounded:0, groundAngle:0, groundSurface:(Object = {x:0, y:0})});
i++;
}
}
points[0].Friction = 1.1;
points[0].Radius = 15;
points[1].Radius = 18;
points[2].Radius = 18;
points[1].targRot = Math.PI;
i = 0;
while (i < connectionsA.length) {
points[connectionsA[i]].connections.push(connectionsB[i]);
points[connectionsA[i]].connectionRef.push(i);
points[connectionsA[i]].connectionRot.push((connectionRot[i] + Math.PI) % (Math.PI*2));
points[connectionsA[i]].connectionNum++;
points[connectionsB[i]].connections.push(connectionsA[i]);
points[connectionsB[i]].connectionRef.push(i);
points[connectionsB[i]].connectionRot.push(connectionRot[i]);
points[connectionsB[i]].connectionNum++;
i++;
}
qualities = ["low", "medium", "high", "best"];
thisMS = 0;
lastMS = 0;
FrameRate = 0;
curQuality = 3;
ii = 0;
sloMo = false;
_root.createEmptyMovieClip("engine", 2000);
i = 1;
while (i <= 80) {
_root.engine["engineSound" + i] = new Sound();
_root.engine["engineSound" + i].attachSound(("Mixdown (" + i) + ").wav");
i++;
}
lastES = 1;
engineRunning = false;
engineSpeed = 0;
engineLoad = 0;
curEngineSound = 0;
lrB = 0;
truckPhysics = function (T) {
lrB = (_root.lr * (_root.truckAccel + boostRelease)) * 20;
engineSpeed = Math.abs(Math.round(_root.points[0].tireRot));
engineSpeed = Math.min(65, engineSpeed);
if (sloMo) {
sloMoCnt++;
if (sloMoCnt == 12) {
sloMoCnt = 0;
} else {
return(undefined);
}
}
if (RoofHitCounter) {
RoofHitCounter--;
if (_root.points[0].grounded && (_root.upsideDown)) {
if (_root.count > 0) {
_root.count--;
}
_root.statusArea.health_bar.gotoAndStop(_root.count);
if (statusArea.health_bar._currentframe > 60) {
body.truck1.gotoAndStop(2);
}
}
if ((RoofHitCounter == 1) && (_root.points[0].grounded)) {
statusArea.LivesDisplay.text = "x" + Lives;
level_time = 0;
GameState = 0;
if (Lives < 1) {
_root.playSFX("lose");
gameEndType = 2;
gotoAndStop ("GameOverFR");
}
}
}
if (flashTheScreen > 0) {
flashTheScreen = flashTheScreen - 5;
flashLayer.clear();
if (flashTheScreen > 0) {
flashLayer.beginFill(((flashTheScreen * 65536) + (flashTheScreen * 256)) + flashTheScreen, 100);
flashLayer.moveTo(0, 0);
flashLayer.lineTo(480, 0);
flashLayer.lineTo(480, 384);
flashLayer.lineTo(0, 384);
flashLayer.endFill();
}
}
if (fadeOutTheScreen > 0) {
fadeOutTheScreen = fadeOutTheScreen - 5;
fadeLayer.clear();
if (fadeOutTheScreen > 0) {
fadeLayer.beginFill((((255 - fadeOutTheScreen) * 65536) + ((255 - fadeOutTheScreen) * 256)) + (255 - fadeOutTheScreen), 100);
fadeLayer.moveTo(0, 0);
fadeLayer.lineTo(480, 0);
fadeLayer.lineTo(480, 384);
fadeLayer.lineTo(0, 384);
fadeLayer.endFill();
}
}
rightNow = new Date();
thisMS = rightNow.getTime();
FrameRate = 1000 / (thisMS - lastMS);
lastMS = thisMS;
boostCharge = boostCharge + 0.05;
boostCharge = Math.min(boostCharge, 10);
if (boostCharge == 10) {
boostMeter.chargedMessage._visible = (Math.round(thisMS / 300) % 2) == 1;
} else {
boostMeter.chargedMessage._visible = false;
}
boostMeter.meterMask._width = boostCharge * 10;
ii = 0;
while (ii <= 2) {
with (points[ii]) {
posNext.x = pos.x;
posNext.y = pos.y;
accNext.x = acc.x;
accNext.y = acc.y;
velNext.x = vel.x;
velNext.y = vel.y;
rotPosNext = rotPos;
rotAccNext = 0;
rotVelNext = rotVel;
velCorrection.x = 0;
velCorrection.y = 0;
}
ii++;
}
calculateForces(1);
i = 0;
while (i <= 2) {
with (points[i]) {
vel.x = velNext.x;
vel.y = velNext.y;
pos.x = posNext.x;
pos.y = posNext.y;
acc.x = accNext.x;
acc.y = accNext.y;
rotPos = rotPosNext;
rotAcc = 0;
rotVel = rotVelNext;
}
i++;
}
if (points[0].pos.x < objX[0]) {
i = 0;
while (i <= 2) {
with (points[i]) {
vel.x = 0;
pos.x++;
}
i++;
}
}
xv = points[1].pos.x - points[2].pos.x;
yv = points[1].pos.y - points[2].pos.y;
cur_truck_rot = Math.atan2(yv, xv);
body_bg._rotation = (body._rotation = (cur_truck_rot * 57.2957795) + 180);
};
calculateForces = function (T) {
ii = 0;
while (ii <= 2) {
with (points[ii]) {
accNext.x = 0;
accNext.y = 0;
if (((thisNum == 1) || (thisNum == 2)) && (grounded)) {
accNext.x = (Math.cos(groundAngle) * _root.lr) * (_root.truckAccel + boostRelease);
accNext.y = (Math.sin(groundAngle) * _root.lr) * (_root.truckAccel + boostRelease);
_root.points[0].x = _root.points[0].x + ((Math.cos(groundAngle) * _root.lr) * (_root.truckAccel + boostRelease));
_root.points[0].y = _root.points[0].y + ((Math.sin(groundAngle) * _root.lr) * (_root.truckAccel + boostRelease));
}
boostRelease = boostRelease * 0.95;
boostRelease = Math.max(0, boostRelease);
accNext.y = accNext.y + _root.gravity;
if (_root.points[0].grounded) {
velNext.x = _root.points[0].velNext.x;
velNext.y = _root.points[0].velNext.y;
}
velNext.x = velNext.x + (accNext.x * T);
velNext.y = velNext.y + (accNext.y * T);
if (posNext.y > getGroundHeight2(posNext.x)) {
switch (GroundType[Math.floor(posNext.x / 32)]) {
case 2 :
if (ii == 0) {
velNext.y = velNext.y - _root.gravity;
}
velNext.x = velNext.x * 0.9;
velNext.y = velNext.y * 0.9;
inWaterLast = 0;
break;
case 3 :
if (!inWaterLast) {
_root.playSFX("splash");
k = 0;
while (k < 7) {
createEfx(5, (points[0].pos.x + (Math.random() * 70)) - 34, (GroundHeight2[j] + (Math.random() * 6)) - 3, (points[0].vel.x + (Math.random() * 4)) - 2, ((-points[0].vel.y) + (Math.random() * 4)) - 2);
k++;
}
}
inWaterLast = 1;
if (ii == 0) {
velNext.y = velNext.y - (_root.gravity * 0.9);
} else {
velNext.y = velNext.y - (_root.gravity * 0.8);
}
break;
default :
inWaterLast = 0;
}
}
velNext.x = velNext.x * _root.DirectionalDrag;
velNext.y = velNext.y * _root.DirectionalDrag;
if (grounded) {
TempAngle = Math.atan2(velNext.y, velNext.x) - halfPI;
TempVel = (Math.sin(groundAngle - TempAngle) * Math.sqrt((velNext.x * velNext.x) + (velNext.y * velNext.y))) / Friction;
if (TempVel > ((Math.random() * 50) + 3)) {
createEfx(1, posNext.x + (Math.cos(groundAngle + halfPI) * Radius), posNext.y + (Math.sin(groundAngle + halfPI) * Radius), 0, 0);
}
velNext.x = (Math.cos(groundAngle) * TempVel) * _root.braking;
velNext.y = (Math.sin(groundAngle) * TempVel) * _root.braking;
} else {
TempVel = Math.sqrt((velNext.x * velNext.x) + (velNext.y * velNext.y)) * 0.008;
velNext.x = velNext.x + (Math.cos(_root.points[0].rotPos) * TempVel);
velNext.y = velNext.y + (Math.sin(_root.points[0].rotPos) * TempVel);
}
}
ii++;
}
xd1 = (_root.points[1].posNext.x + _root.points[1].velNext.x) - (_root.points[0].posNext.x + _root.points[0].velNext.x);
yd1 = (_root.points[1].posNext.y + _root.points[1].velNext.y) - (_root.points[0].posNext.y + _root.points[0].velNext.y);
xd2 = (_root.points[2].posNext.x + _root.points[2].velNext.x) - (_root.points[0].posNext.x + _root.points[0].velNext.x);
yd2 = (_root.points[2].posNext.y + _root.points[2].velNext.y) - (_root.points[0].posNext.y + _root.points[0].velNext.y);
_root.points[0].rotAccNext = getRotDist(avgAngle((Math.atan2(yd1, xd1) - Math.PI) - _root.points[1].rotPosNext, Math.atan2(yd2, xd2) - _root.points[2].rotPosNext), _root.points[0].rotPosNext) / _root.rotationalDamp;
_root.points[0].rotVelNext = _root.points[0].rotVelNext + _root.points[0].rotAccNext;
if ((!_root.points[1].grounded) && (!_root.points[2].grounded)) {
_root.points[0].rotVelNext = _root.points[0].rotVelNext + _root.control_rot;
}
_root.points[0].rotPosNext = _root.points[0].rotPosNext + _root.points[0].rotVelNext;
rotForBonus = rotForBonus + _root.points[0].rotVelNext;
_root.points[0].rotPosNext = _root.points[0].rotPosNext % doublePI;
_root.points[0].rotVelNext = _root.points[0].rotVelNext * _root.RotationalDrag;
ii = 1;
while (ii <= 2) {
with (points[ii]) {
xd = (_root.points[0].posNext.x + _root.points[0].velNext.x) + (Math.cos(_root.points[0].rotPosNext - targRot) * tireSpacing);
yd = (_root.points[0].posNext.y + _root.points[0].velNext.y) + (Math.sin(_root.points[0].rotPosNext - targRot) * tireSpacing);
accNext.x = (xd - (posNext.x + velNext.x)) / _root.springStiff;
accNext.y = (yd - (posNext.y + velNext.y)) / _root.springStiff;
}
ii++;
}
xd = (((_root.points[1].posNext.x + _root.points[1].velNext.x) - (Math.cos(_root.points[0].rotPosNext - _root.points[1].targRot) * tireSpacing)) + ((_root.points[2].posNext.x + _root.points[2].velNext.x) - (Math.cos(_root.points[0].rotPosNext - _root.points[2].targRot) * tireSpacing))) / 2;
yd = (((_root.points[1].posNext.y + _root.points[1].velNext.y) - (Math.sin(_root.points[0].rotPosNext - _root.points[1].targRot) * tireSpacing)) + ((_root.points[2].posNext.y + _root.points[2].velNext.y) - (Math.sin(_root.points[0].rotPosNext - _root.points[2].targRot) * tireSpacing))) / 2;
_root.points[0].accNext.x = (xd - (_root.points[0].posNext.x + _root.points[0].velNext.x)) / _root.springStiff;
_root.points[0].accNext.y = (yd - (_root.points[0].posNext.y + _root.points[0].velNext.y)) / _root.springStiff;
i = 1;
while (i <= 2) {
if (_root.points[i].grounded) {
tileNum = Math.floor(_root.points[i].posNext.x / 32);
switch (GroundType[tileNum]) {
case 0 :
break;
case 1 :
if (_root.points[i].velNext.x > (Math.random() * 15)) {
createEfx(1, x + ((Math.random() * 20) - 20), y + ((Math.random() * 8) - 6), (_root.points[0].velNext.x / 2) + ((Math.random() * 4) - 2), ((-_root.points[0].velNext.y) / 2) + ((Math.random() * 4) - 2));
}
_root.points[i].velNext.y = _root.points[i].velNext.y * 0.98;
_root.points[i].velNext.x = _root.points[i].velNext.x * 0.98;
break;
case 2 :
last_truck_grounded = true;
break;
case 3 :
last_truck_grounded = true;
break;
case 4 :
BridgeVel[tileNum - bridgeStart] = BridgeVel[tileNum - bridgeStart] + (_root.points[i].accNext.y * 3);
}
}
i++;
}
ii = 0;
while (ii <= 2) {
with (points[ii]) {
if (thisNum > 0) {
posNext.x = posNext.x + (velNext.x + (accNext.x * _root.truck2wheelMassRatio));
posNext.y = posNext.y + (velNext.y + (accNext.y * _root.truck2wheelMassRatio));
} else {
posNext.x = posNext.x + (velNext.x + (accNext.x * (1 / _root.truck2wheelMassRatio)));
posNext.y = posNext.y + (velNext.y + (accNext.y * (1 / _root.truck2wheelMassRatio)));
}
}
ii++;
}
ii = 1;
while (ii <= 2) {
with (points[ii]) {
xd = posNext.x - _root.points[0].posNext.x;
yd = posNext.y - _root.points[0].posNext.y;
dist = Math.sqrt((xd * xd) + (yd * yd));
if (dist > tireSpacing) {
posNext.x = _root.points[0].posNext.x + (Math.cos(Math.atan2(yd, xd)) * tireSpacing);
posNext.y = _root.points[0].posNext.y + (Math.sin(Math.atan2(yd, xd)) * tireSpacing);
}
if (dist < 5) {
posNext.x = _root.points[0].posNext.x + (Math.cos(Math.atan2(yd, xd)) * 5);
posNext.y = _root.points[0].posNext.y + (Math.sin(Math.atan2(yd, xd)) * 5);
}
}
ii++;
}
i = 1;
while (i <= 2) {
checkGroundhit(i);
i++;
}
_root.upsideDown = (_root.curAltForceObj == 0) && (Math.abs(angleNearZero(_root.points[0].rotPos - _root.points[1].groundAngle)) > 2.5);
if (((!_root.points[1].grounded) && (!_root.points[2].grounded)) || (_root.upsideDown)) {
checkRoofhit();
} else {
_root.points[0].grounded = false;
}
if (_root.points[0].grounded && (_root.upsideDown)) {
ii = 1;
while (ii <= 2) {
with (points[ii]) {
xd = posNext.x - _root.points[0].posNext.x;
yd = posNext.y - _root.points[0].posNext.y;
posNext.x = _root.points[0].posNext.x + (Math.cos(Math.atan2(yd, xd)) * tireSpacing);
posNext.y = _root.points[0].posNext.y + (Math.sin(Math.atan2(yd, xd)) * tireSpacing);
}
ii++;
}
start_rot = rotForBonus;
startBonusTime = thisMS;
startBonusX = _root.points[0].posNext.x;
maxBonusY = 10000;
}
ii = 1;
while (ii <= 2) {
with (points[ii]) {
f = (posNext.x / 32) - Math.floor(posNext.x / 32);
if (altGroundHeight[ii]) {
thisY = altGroundHeight[ii];
} else {
thisY = (GroundHeight[Math.floor(posNext.x / 32)] * (1 - f)) + (GroundHeight[Math.floor(posNext.x / 32) + 1] * f);
}
if (posNext.y > thisY) {
posNext.y = thisY - 1;
_root.playSFX("tire_sq1");
}
}
ii++;
}
checkForBonus();
ii = 0;
while (ii <= 2) {
with (points[ii]) {
velNext.x = (posNext.x - pos.x) + velCorrection.x;
velNext.y = (posNext.y - pos.y) + velCorrection.y;
TempAngle = Math.atan2(velNext.y, velNext.x) - halfPI;
TempVel = Math.sin(groundAngle - TempAngle) * Math.sqrt((velNext.x * velNext.x) + (velNext.y * velNext.y));
tireRot = (TempVel / 69.1150383789754) * 180;
}
ii++;
}
};
simpleCollision = function (x1, y1, x2, y2, w) {
if (Math.sqrt(((x1 - x2) * (x1 - x2)) + ((y1 - y2) * (y1 - y2))) < w) {
return(true);
}
};
checkGroundhit = function (i) {
var _local3;
var _local17;
var _local16;
var _local13;
var _local14;
var _local6;
var _local4;
var _local5;
var _local7;
var _local11;
var _local8;
var _local10;
var _local15;
var _local12;
var _local9;
_local9 = false;
tmp = false;
if (_root.points[i].grounded) {
tmp = true;
_local8 = 10000;
max_angle = 0;
_local11 = 0;
_local3 = Math.floor(Math.min(_root.points[i].posNext.x - 23, _root.points[i].posNext.x + 23) / 32);
while (_local3 <= Math.ceil(Math.max(_root.points[i].posNext.x - 23, _root.points[i].posNext.x + 23) / 32)) {
if (altGroundHeight[i]) {
_local5 = altGroundHeight[i];
_local4 = _local5;
} else {
_local4 = GroundHeight[_local3 - 1];
if (isNaN(_local4)) {
_local4 = 0;
}
_local5 = GroundHeight[_local3];
if (isNaN(_local5)) {
_local5 = 0;
}
}
_local7 = Math.atan2(_local5 - _local4, 32) + halfPI;
xOff = Math.cos(_local7) * _root.points[i].Radius;
yOff = Math.sin(_local7) * _root.points[i].Radius;
_local6 = linesIntersect(_root.points[i].posNext.x, _root.points[i].posNext.y, _root.points[i].posNext.x + xOff, _root.points[i].posNext.y + yOff, (_local3 - 1) * 32, _local4, _local3 * 32, _local5);
if (_local6) {
if (_local6 < _local8) {
max_angle = _local7;
_root.points[i].groundAngle = Math.atan2(_local5 - _local4, 32);
_local8 = _local6;
_local10 = _local3;
_local9 = true;
}
}
_local7 = Math.atan2(_local4 - _root.points[i].posNext.y, (_local3 * 32) - _root.points[i].posNext.x);
xOff = Math.cos(_local7) * _root.points[i].Radius;
yOff = Math.sin(_local7) * _root.points[i].Radius;
_local6 = linesIntersect(_root.points[i].posNext.x, _root.points[i].posNext.y, _root.points[i].posNext.x + xOff, _root.points[i].posNext.y + yOff, (_local3 - 1) * 32, _local4, _local3 * 32, _local5);
if (_local6) {
if (_local6 < _local8) {
max_angle = _local7;
_root.points[i].groundAngle = Math.atan2(_local5 - _local4, 32);
_local8 = _local6;
_local10 = _local3;
_local9 = true;
}
}
_local3++;
}
if (_local9) {
if (altGroundHeight[i]) {
altForce[i] = _root.points[i].velNext.y;
}
_local13 = _root.points[i].posNext.x;
_local14 = _root.points[i].posNext.y;
_root.points[i].posNext.x = _root.points[i].posNext.x - (Math.cos(max_angle) * (_root.points[i].Radius - _local8));
_root.points[i].posNext.y = _root.points[i].posNext.y - (Math.sin(max_angle) * (_root.points[i].Radius - _local8));
_root.points[i].velCorrection.x = _local13 - _root.points[i].posNext.x;
_root.points[i].velCorrection.y = _local14 - _root.points[i].posNext.y;
_root.points[i].grounded = true;
} else {
_root.points[i].HitAt = 0;
_root.points[i].grounded = false;
}
} else {
_local8 = 900;
max_angle = 0;
_local11 = 0;
_local12 = Math.atan2(_root.points[i].posNext.y - _root.points[i].pos.y, _root.points[i].posNext.x - _root.points[i].pos.x);
Tangle = -1;
while (Tangle <= 4.14159265358979) {
_local7 = (Tangle - halfPI) + _local12;
xOff = Math.cos(_local7) * _root.points[i].Radius;
yOff = Math.sin(_local7) * _root.points[i].Radius;
_local3 = Math.floor(Math.min(_root.points[i].pos.x + xOff, _root.points[i].posNext.x + xOff) / 32);
while (_local3 <= Math.ceil(Math.max(_root.points[i].pos.x + xOff, _root.points[i].posNext.x + xOff) / 32)) {
if (altGroundHeight[i]) {
_local5 = altGroundHeight[i];
_local4 = _local5;
} else {
_local4 = GroundHeight[_local3 - 1];
if (isNaN(_local4)) {
_local4 = 0;
}
_local5 = GroundHeight[_local3];
if (isNaN(_local5)) {
_local5 = 0;
}
}
_local6 = linesIntersect(_root.points[i].pos.x + xOff, _root.points[i].pos.y + yOff, _root.points[i].posNext.x + xOff, _root.points[i].posNext.y + yOff, (_local3 - 1) * 32, _local4, _local3 * 32, _local5);
if (_local6) {
if (_local6 < _local8) {
max_angle = _local7;
_root.points[i].groundAngle = Math.atan2(_local5 - _local4, 32);
_local8 = _local6;
_local10 = _local3;
_local9 = true;
}
}
_local3++;
}
_local11++;
if (_local11 > 20) {
break;
}
Tangle = Tangle + 0.523598775598299;
}
if (_local9) {
if (altGroundHeight[i]) {
altForce[i] = _root.points[i].velNext.y;
}
_local13 = _root.points[i].pos.x - _root.points[i].posNext.x;
_local14 = _root.points[i].pos.y - _root.points[i].posNext.y;
_root.points[i].HitAt = _local8 / Math.sqrt((_local13 * _local13) + (_local14 * _local14));
_root.points[i].grounded = true;
} else {
_root.points[i].HitAt = 0;
}
}
return(_local9);
};
checkRoofhit = function () {
var _local2;
var _local6;
var _local9;
var _local13;
var _local14;
var _local5;
var _local3;
var _local4;
var _local7;
var _local12;
var _local8;
var _local11;
var _local16;
var _local15;
var _local10;
_local10 = false;
_local6 = _root.points[0].posNext.x + (Math.cos(_root.points[0].rotPosNext - halfPI) * 35);
_local9 = _root.points[0].posNext.y + (Math.sin(_root.points[0].rotPosNext - halfPI) * 35);
x2 = _root.points[0].pos.x + (Math.cos(_root.points[0].rotPosNext - halfPI) * 35);
y2 = _root.points[0].pos.y + (Math.sin(_root.points[0].rotPosNext - halfPI) * 35);
if (_root.points[0].grounded) {
_root.points[0].grounded = false;
_local8 = 10000;
max_angle = 0;
_local12 = 0;
if (((Math.random() > 0.7) && (_root.upsideDown)) && (graphicsOptSet[4])) {
createEfx(4, (_local6 + (Math.random() * 20)) - 32, _local9, (Math.random() * 4) - 2, (Math.random() * 4) - 4);
}
_local2 = Math.floor(Math.min(_local6 - 23, _local6 + 23) / 32);
while (_local2 <= Math.ceil(Math.max(_local6 - 23, _local6 + 23) / 32)) {
if (altGroundHeight[0]) {
_local4 = altGroundHeight[0];
_local3 = _local4;
} else {
_local3 = GroundHeight[_local2 - 1];
if (isNaN(_local3)) {
_local3 = 0;
}
_local4 = GroundHeight[_local2];
if (isNaN(_local4)) {
_local4 = 0;
}
}
_local7 = Math.atan2(_local4 - _local3, 32) + halfPI;
xOff = Math.cos(_local7) * _root.points[0].Radius;
yOff = Math.sin(_local7) * _root.points[0].Radius;
_local5 = linesIntersect(_local6, _local9, _local6 + xOff, _local9 + yOff, (_local2 - 1) * 32, _local3, _local2 * 32, _local4);
if (_local5) {
if (_local5 < _local8) {
max_angle = _local7;
_root.points[0].groundAngle = Math.atan2(_local4 - _local3, 32);
_local8 = _local5;
_local11 = _local2;
_local10 = true;
}
}
_local7 = Math.atan2(_local3 - _local9, (_local2 * 32) - _local6);
xOff = Math.cos(_local7) * _root.points[0].Radius;
yOff = Math.sin(_local7) * _root.points[0].Radius;
_local5 = linesIntersect(_local6, _local9, _local6 + xOff, _local9 + yOff, (_local2 - 1) * 32, _local3, _local2 * 32, _local4);
if (_local5) {
if (_local5 < _local8) {
max_angle = _local7;
_root.points[0].groundAngle = Math.atan2(_local4 - _local3, 32);
_local8 = _local5;
_local11 = _local2;
_local10 = true;
}
}
_local2++;
}
if (_local10) {
_local13 = _root.points[0].posNext.x;
_local14 = _root.points[0].posNext.y;
_root.points[0].posNext.x = _root.points[0].posNext.x - (Math.cos(max_angle) * (_root.points[0].Radius - _local8));
_root.points[0].posNext.y = _root.points[0].posNext.y - (Math.sin(max_angle) * (_root.points[0].Radius - _local8));
_root.points[0].velCorrection.x = _local13 - _root.points[0].posNext.x;
_root.points[0].velCorrection.y = _local14 - _root.points[0].posNext.y;
_root.points[0].grounded = true;
}
} else {
_local8 = 900;
max_angle = 0;
_local12 = 0;
_local15 = Math.atan2(_local9 - y2, _local6 - x2);
Tangle = 0;
while (Tangle <= Math.PI) {
_local7 = (Tangle - halfPI) + _local15;
xOff = Math.cos(_local7) * _root.points[0].Radius;
yOff = Math.sin(_local7) * _root.points[0].Radius;
_local2 = Math.floor(Math.min(x2 + xOff, _local6 + xOff) / 32);
while (_local2 <= Math.ceil(Math.max(x2 + xOff, _local6 + xOff) / 32)) {
if (altGroundHeight[0]) {
_local4 = altGroundHeight[0];
_local3 = _local4;
} else {
_local3 = GroundHeight[_local2 - 1];
if (isNaN(_local3)) {
_local3 = 0;
}
_local4 = GroundHeight[_local2];
if (isNaN(_local4)) {
_local4 = 0;
}
}
_local5 = linesIntersect(x2 + xOff, y2 + yOff, _local6 + xOff, _local9 + yOff, (_local2 - 1) * 32, _local3, _local2 * 32, _local4);
if (_local5) {
if (_local5 < _local8) {
max_angle = _local7;
_root.points[0].groundAngle = Math.atan2(_local4 - _local3, 32);
_local8 = _local5;
_local11 = _local2;
_local10 = true;
}
}
_local2++;
}
_local12++;
if (_local12 > 20) {
break;
}
Tangle = Tangle + (Math.PI/4);
}
if (_local10) {
flashTheScreen = 40;
_local2 = 0;
while (_local2 < 10) {
createEfx(1, _local6 + ((Math.random() * 20) - 10), _local9 + ((Math.random() * 8) - 6), (_root.points[0].velNext.x / 2) + ((Math.random() * 4) - 2), ((-_root.points[0].velNext.y) / 2) + ((Math.random() * 4) - 2));
_local2++;
}
_local13 = x2 - _local6;
_local14 = y2 - _local9;
_root.points[0].HitAt = _local8 / Math.sqrt((_local13 * _local13) + (_local14 * _local14));
_local5 = Math.sqrt((_root.points[0].vel.x * _root.points[0].vel.x) + (_root.points[0].vel.y * _root.points[0].vel.y));
if (_local5 > 12) {
_root.playSFX("rollover");
} else if (_local5 > (3 + (Math.random() * 3))) {
_root.playSFX("rollover", Math.min(100, 25 + (_local5 * 2)));
}
_local13 = _root.points[0].posNext.x;
_local14 = _root.points[0].posNext.y;
_root.points[0].posNext.x = (_root.points[0].pos.x * (1 - _root.points[0].HitAt)) + (_root.points[0].posNext.x * _root.points[0].HitAt);
_root.points[0].posNext.y = (_root.points[0].pos.y * (1 - _root.points[0].HitAt)) + (_root.points[0].posNext.y * _root.points[0].HitAt);
_root.points[0].velCorrection.x = _local13 - _root.points[0].posNext.x;
_root.points[0].velCorrection.y = _local14 - _root.points[0].posNext.y;
_root.points[0].grounded = true;
if (_root.upsideDown) {
temproof = 129;
frames = _root.statusArea.health_bar._currentframe;
tempval = Math.abs(temproof - (100 - _root.count));
RoofHitCounter = tempval;
}
_root.cracksnd.start(0, 1);
_root.points[0].grounded = true;
}
}
return(_local10);
};
checkForBonus = function () {
truck_grounded = _root.points[1].grounded || (_root.points[2].grounded);
if (last_truck_grounded && (!truck_grounded)) {
start_rot = rotForBonus;
startBonusTime = thisMS;
startBonusX = _root.points[0].posNext.x;
maxBonusY = 10000;
}
if ((!truck_grounded) && (!last_truck_grounded)) {
if (_root.points[0].posNext.y < maxBonusY) {
maxBonusY = _root.points[0].posNext.y;
}
}
bonus = 0;
if (((!last_truck_grounded) && (truck_grounded)) && (_root.points[0].posNext.x > lastStuntX)) {
if ((_root.points[0].posNext.x - startBonusX) > 1600) {
}
if ((_root.points[0].posNext.y - maxBonusY) > 800) {
}
if ((startBonusTime - thisMS) > 5000) {
}
if ((start_rot - rotForBonus) < -15.7) {
} else if ((start_rot - rotForBonus) > 15.7) {
} else if ((start_rot - rotForBonus) < -9.4) {
} else if ((start_rot - rotForBonus) > 9.4) {
} else if ((start_rot - rotForBonus) < -3.1) {
} else if ((start_rot - rotForBonus) > 3) {
}
if ((_root.points[1].grounded && (_root.points[2].grounded)) && (bonus)) {
}
}
last_truck_grounded = truck_grounded;
if (bonusQue.length > 0) {
bonusQueTimer--;
if (bonusQueTimer <= 0) {
thisBonus = bonusQue.pop();
giveBonus(thisBonus.bonusName, thisBonus.bonusPoints);
bonusQueTimer = 15;
}
}
};
linesIntersect = function (x1a, y1a, x2a, y2a, x1b, y1b, x2b, y2b, debug) {
var _local6;
var _local5;
Aa = y2a - y1a;
Ba = x1a - x2a;
Ca = (Aa * x1a) + (Ba * y1a);
Ab = y2b - y1b;
Bb = x1b - x2b;
Cb = (Ab * x1b) + (Bb * y1b);
det = (Aa * Bb) - (Ab * Ba);
if (det == 0) {
return(0);
}
Tx = ((Bb * Ca) - (Ba * Cb)) / det;
Ty = ((Aa * Cb) - (Ab * Ca)) / det;
_local5 = Math.sqrt(((x1a - Tx) * (x1a - Tx)) + ((y1a - Ty) * (y1a - Ty)));
_local6 = Math.sqrt(((x1a - x2a) * (x1a - x2a)) + ((y1a - y2a) * (y1a - y2a)));
if (_local5 > _local6) {
return(false);
}
if (!((((Math.min(x1b, x2b) <= Tx) && (Tx <= Math.max(x1b, x2b))) && (Math.min(y1b, y2b) <= Ty)) && (Ty <= Math.max(y1b, y2b)))) {
return(false);
}
return(_local5);
};
linesIntersect2 = function (x1a, y1a, x2a, y2a, x1b, y1b, x2b, y2b, debug) {
d = Math.atan2(y2a - y1a, x2a - x1a);
var _local14;
var _local15;
var _local8 = y2a - y1a;
var _local11 = x1a - x2a;
var _local17 = (_local8 * x1a) + (_local11 * y1a);
var _local7 = y2b - y1b;
var _local10 = x1b - x2b;
var _local16 = (_local7 * x1b) + (_local10 * y1b);
var _local9 = (_local8 * _local10) - (_local7 * _local11);
if (_local9 == 0) {
return(false);
}
var _local2 = ((_local10 * _local17) - (_local11 * _local16)) / _local9;
var _local1 = ((_local8 * _local16) - (_local7 * _local17)) / _local9;
_local15 = Math.sqrt(((x1a - _local2) * (x1a - _local2)) + ((y1a - _local1) * (y1a - _local1)));
_local14 = Math.sqrt(((x1a - x2a) * (x1a - x2a)) + ((y1a - y2a) * (y1a - y2a)));
if (_local15 > _local14) {
return(false);
}
if (Math.sqrt(((x2a - _local2) * (x2a - _local2)) + ((y2a - _local1) * (y2a - _local1))) > _local14) {
return(false);
}
if (!((((Math.min(x1b, x2b) <= _local2) && (_local2 <= Math.max(x1b, x2b))) && (Math.min(y1b, y2b) <= _local1)) && (_local1 <= Math.max(y1b, y2b)))) {
return(false);
}
return(_local15);
};
underGround = function () {
x = _root.points[0].posNext.x + (Math.cos(_root.points[0].rotPosNext - halfPI) * 62);
y = _root.points[0].posNext.y + (Math.sin(_root.points[0].rotPosNext - halfPI) * 62);
f = (x / 32) - Math.floor(x / 32);
thisY = (GroundHeight[Math.floor(x / 32)] * (1 - f)) + (GroundHeight[Math.floor(x / 32) + 1] * f);
if (y > thisY) {
return(true);
}
};
getRotDist = function (A, B) {
if (A < 0) {
A = A + doublePI;
}
if (B < 0) {
B = B + doublePI;
}
A = A % doublePI;
B = B % doublePI;
d1 = A - B;
d2 = A - (B + doublePI);
d3 = (A + doublePI) - B;
if ((Math.abs(d1) < Math.abs(d2)) && (Math.abs(d1) < Math.abs(d3))) {
return(d1);
}
if (Math.abs(d2) < Math.abs(d3)) {
return(d2);
}
return(d3);
};
avgAngle = function (A, B) {
if (A < 0) {
A = A + doublePI;
}
if (B < 0) {
B = B + doublePI;
}
A = A % doublePI;
B = B % doublePI;
if ((A > Math.PI) && (B < Math.PI)) {
B = B + doublePI;
} else if ((B > Math.PI) && (A < Math.PI)) {
A = A + doublePI;
}
return(((A + B) / 2) % doublePI);
};
debugLine = function (x1, y1, x2, y2, color, alpha) {
if (!alpha) {
alpha = 100;
}
debug_line.lineStyle(1, color, 100, alpha);
debug_line.moveTo(x1 - scroll_x, y1 - scroll_y);
debug_line.lineTo(x2 - scroll_x, y2 - scroll_y);
};
debugLineNoScroll = function (x1, y1, x2, y2, color, alpha) {
if (!alpha) {
alpha = 100;
}
debug_line.lineStyle(1, color, 100, alpha);
debug_line.moveTo(x1, y1);
debug_line.lineTo(x2, y2);
};
_root._quality = graphicsQuality[((_global.graphicsOptSet[0] ? 1 : 0) * 2) + (_global.graphicsOptSet[2] ? 1 : 0)];
avgY = 0;
lsx = 0;
lsy = 0;
LevelEnd._visible = false;
normalMessageMaxDown = 0;
objects_in_truck_ac = 0;
fadeLayer.beginFill(0);
fadeLayer.moveTo(0, 0);
fadeLayer.lineTo(480, 0);
fadeLayer.lineTo(480, 384);
fadeLayer.lineTo(0, 384);
fadeLayer.endFill();
Frame 2
stopAllSounds();
_root.mutbtn = false;
_root.titlesnd = new Sound();
_root.titlesnd.attachSound("title");
_root.gamesnd = new Sound();
_root.gamesnd.attachSound("gamesnd");
_root.dummy = false;
this.onEnterFrame = function () {
if (fadeTitle < 101) {
fadeTitle = fadeTitle - 5;
titleSong.setVolume(fadeTitle);
fade._alpha = 100 - fadeTitle;
if (fadeTitle == 0) {
titleSong.stop();
playSFX(10);
_root.startEngine();
gotoAndPlay ("gameMain");
}
} else if (fade._alpha > 0) {
fade._alpha = fade._alpha - 5;
}
};
_root.titlesnd.stop();
_root.titlesnd.start(0, 999);
_root.titlesnd.setVolume(100);
_root.levelLoaded = false;
sog._visible = false;
fadeTitle = 101;
startGameBut.onRelease = function () {
gotoAndPlay ("Credits");
};
instructionsBut.onRelease = function () {
gotoAndPlay ("Instructions");
};
highscoresBut.onRelease = function () {
gotoAndPlay ("HighScores");
};
optionsBut.onRelease = function () {
gotoAndPlay ("Options");
};
creditsBut.onRelease = function () {
gotoAndPlay ("Credits");
};
if (!titleSong) {
}
if (titleSong.position == 0) {
titleSong.start(0, 999);
}
gotoAndStop (2);
Instance of Symbol 186 MovieClip in Frame 2
onClipEvent (load) {
if (_root.mutbtn == false) {
this.gotoAndStop(1);
} else {
this.gotoAndStop(2);
}
}
Frame 3
stopAllSounds();
continueBut.onRelease = function () {
gotoAndPlay (2);
};
gotoAndStop (3);
sog._visible = false;
_root.titlesnd.stop();
_root.titlesnd.start(0, 999);
Instance of Symbol 186 MovieClip in Frame 3
onClipEvent (load) {
if (_root.mutbtn == false) {
this.gotoAndStop(1);
} else {
this.gotoAndStop(2);
}
}
Frame 4
setOptBut.onRelease = function () {
gotoAndPlay (2);
};
gotoAndStop (4);
Frame 5
_root.clickno = 1;
continueBut.onRelease = function () {
gotoAndPlay (2);
};
fogLink.onRelease = function () {
getURL ("http://www.freeonlinegames.com", "_BLANK");
};
jmLink.onRelease = function () {
getURL ("http://www.simplesolutionweb.com/joshmerritt", "_BLANK");
};
gotoAndStop (5);
_root.titlesnd.stop();
_root.titlesnd.start(0, 999);
sog._visible = false;
Instance of Symbol 186 MovieClip in Frame 5
onClipEvent (load) {
if (_root.mutbtn == false) {
this.gotoAndStop(1);
} else {
this.gotoAndStop(2);
}
}
Frame 6
continueBut.onRelease = function () {
gotoAndPlay (2);
};
gotoAndStop (6);
Frame 7
_root.levelLoaded = false;
_root.titlesnd.stop();
_root.gamesnd.stop();
_root.gamesnd.start(0, 999);
sog_mc._visible = true;
function playSFX(num, vol, posX) {
if (playedSFXThisFrame) {
return(undefined);
}
playedSFXThisFrame = true;
if ((vol != 0) && (!vol)) {
vol = 100;
}
if (posX) {
v1 = Math.max(0, (400 - Math.abs(posX - (points[0].pos.x - 100))) / 4) * (vol / 100);
v2 = Math.max(0, (400 - Math.abs(posX - (points[0].pos.x + 100))) / 4) * (vol / 100);
} else {
v1 = (v2 = vol);
}
_root["sfxSound" + num].setTransform({ll:v1, lr:v1, rr:v2, rl:v2});
_root["sfxSound" + num].start();
}
function getGroundHeight(x, objNum) {
if (altGroundHeight[objNum]) {
return(altGroundHeight[objNum]);
}
if (Math.floor(x / 32) < 0) {
return(0);
}
if (Math.floor(x / 32) >= lvlWidth) {
return(0);
}
gh1 = GroundHeight[Math.floor(x / 32)];
gh2 = GroundHeight[Math.floor(x / 32) + 1];
v = x - (Math.floor(x / 32) * 32);
if (isNaN(gh1) || (isNaN(gh2))) {
return(GroundHeight[0]);
}
return(((gh1 * (32 - v)) + (gh2 * v)) / 32);
}
function getGroundHeight2(x) {
if (Math.floor(x / 32) < 0) {
return(0);
}
if (Math.floor(x / 32) >= lvlWidth) {
return(0);
}
gh1 = GroundHeight2[Math.floor(x / 32)];
gh2 = GroundHeight2[Math.floor(x / 32) + 1];
v = x - (Math.floor(x / 32) * 32);
if (isNaN(gh1) || (isNaN(gh2))) {
return(GroundHeight2[0]);
}
return(((gh1 * (32 - v)) + (gh2 * v)) / 32);
}
function createEfx(n, x, y, vx, vy, xtra) {
curEfx++;
curEfx = curEfx % maxEfx;
efxLayer["Efx" + curEfx].setEfx(n);
efxLayer["Efx" + curEfx].cur_x = x;
efxLayer["Efx" + curEfx].cur_y = y;
efxLayer["Efx" + curEfx]._xscale = (efxLayer["Efx" + curEfx]._yscale = 100);
if (vx || (vy)) {
efxLayer["Efx" + curEfx].vel_x = vx;
efxLayer["Efx" + curEfx].vel_y = vy;
} else {
efxLayer["Efx" + curEfx].vel_x = 0;
efxLayer["Efx" + curEfx].vel_y = 0;
}
efxLayer["Efx" + curEfx].xtra = xtra;
}
function giveBonus(bonusName, bonusPoints) {
if ((thisMS - lastBonusTS) < 500) {
bonusQue.push({bonusName:bonusName, bonusPoints:bonusPoints});
bonusQueTimer = 15;
} else {
level_score = Math.max(0, level_score + bonusPoints);
if (bonusPoints > 0) {
_root.playSFX("bonus");
createEfx(2, Stage.width / 2, Stage.height / 4, 0, -4, (bonusName + " ") + bonusPoints);
} else {
_root.playSFX("fail");
createEfx(3, Stage.width / 2, Stage.height / 4, 0, -4, (bonusName + " ") + bonusPoints);
}
}
lastBonusTS = thisMS;
flashTheScreen = 40;
}
function updateScroll() {
if (edit_enabled) {
return(undefined);
}
give = Stage.width / 6;
ScrollOffX = ScrollOffX - ((ScrollOffX - (points[0].vel.x * 7)) / 32);
ScrollOffY = ScrollOffY - ((ScrollOffY - (points[0].vel.y * 5)) / 32);
screen_center_x = Stage.width / 2;
screen_center_y = (Stage.height / 2) + 40;
scroll_x = (((points[1].pos.x + points[2].pos.x) / 2) - screen_center_x) + ScrollOffX;
scroll_y = (((points[1].pos.y + points[2].pos.y) / 2) - screen_center_y) + ScrollOffY;
lsx = scroll_x;
lsy = scroll_y;
}
function newLevel(lvlWidth) {
var _local3 = new Array(lvlWidth);
var _local2 = new Array(lvlWidth);
var _local4 = new Array(lvlWidth);
i = 1;
while (i <= lvlWidth) {
_local3[i] = 1000;
_local2[i] = 1;
if (Math.random() > 0.2) {
SurfaceTiles[i] = 1;
}
i++;
}
i = 0;
while (i <= 2) {
points[i].velNext.x = (points[i].vel.x = 0);
points[i].velNext.y = (points[i].vel.y = 0);
i++;
}
points[0].rotVel = (points[0].rotVelNext = 0);
}
function loadLevel(levelNumber) {
if (!levelLoaded) {
levelLoaded = true;
levelNumber--;
lvlWidth = truckLevels[levelNumber].lvlWidth;
_root.count = 100;
_root.statusArea.health_bar.gotoAndStop(_root.count);
objX = truckLevels[levelNumber].objX.split(",");
objY = truckLevels[levelNumber].objY.split(",");
objType = truckLevels[levelNumber].objType.split(",");
timer = truckLevels[levelNumber].Time;
newLevel(lvlWidth);
lgh = 0;
avgY = 0;
i = 0;
while (i <= lvlWidth) {
GroundType[i] = (truckLevels[levelNumber].GroundType.charCodeAt(i) % 255) - 65;
GroundHeight[i] = convMD(truckLevels[levelNumber].GroundHeight.substring(i * 3, (i * 3) + 3));
avgY = avgY + GroundHeight[i];
i++;
}
if (objType[0] != 0) {
var _local6 = [50, 0, 100];
objX = _local6.concat(objX);
_local6 = [GroundHeight[0], 0, GroundHeight[0]];
objY = _local6.concat(objY);
_local6 = [0, 0, 2];
objType = _local6.concat(objType);
}
i = 0;
while (i < objX.length) {
objX[i] = Number(objX[i]);
objY[i] = Number(objY[i]);
objType[i] = Number(objType[i]);
initObj(i, objType[i]);
i++;
}
GT2Height = 0;
i = 0;
while (i <= lvlWidth) {
SurfaceRot[i] = Math.atan2(GroundHeight[i + 1] - GroundHeight[i], 32) * 57.2957795;
n = Math.floor((Math.sqrt(1024 + ((GroundHeight[i + 1] - GroundHeight[i]) * (GroundHeight[i + 1] - GroundHeight[i]))) - 32) / 2) + 1;
SurfaceTile[i] = ((GroundType[i] * 5) + 1) + Math.floor(Math.random() * 5);
lgh = GroundHeight[i + 1];
if (((GroundType[i] == 3) && (GroundType[i - 1] != 3)) || ((GroundType[i] == 2) && (GroundType[i - 1] != 2))) {
GT2Height = GroundHeight[i];
}
if ((GroundType[i] == 3) || (GroundType[i] == 2)) {
if ((GroundType[i] == 3) && ((GroundHeight[i] - GT2Height) < 32)) {
SurfaceTile[i] = 31 + Math.floor(Math.random() * 5);
}
GroundHeight2[i] = GT2Height;
if (GroundHeight[i] < GT2Height) {
GroundHeight[i] = GT2Height;
}
} else if (GroundType[i] == 2) {
GroundHeight2[i] = GT2Height;
} else {
GroundHeight2[i] = GroundHeight[i];
}
i++;
}
avgY = avgY / lvlWidth;
}
intObjDat = truckLevels[levelNumber].intObjDat.split(",");
i = 0;
while (i < intObjDat.length) {
t = intObjDat[i].split(";");
intObj.push({type:Number(t[2]), x:Number(t[0]), y:Number(t[1])});
i++;
}
moveTruckTo(objX[0]);
startBonusX = objX[0] + 20;
lastStuntX = 0;
game_running = true;
GameState = 2;
GoText._alpha = 100;
_root.points[0].rotPos = (_root.points[0].rotPosNext = (rotForBonus = (start_rot = 0)));
_root.statusArea.health_bar.gotoAndStop(100);
rightNow = new Date();
startBonusTime = rightNow.getTime() + 3000;
maxBonusY = 10000;
levelScoreAtBeginning = level_score;
fadeInTheScreen = 300;
_root.points[0].grounded = false;
saveLevel("truck3");
}
function updateObjects() {
i = 1;
while (i < objX.length) {
objects["obj" + i]._x = objX[i] - scroll_x;
objects["obj" + i]._y = objY[i] - scroll_y;
i++;
}
}
function initObj(objNum, objType) {
if (objType > 1) {
objects.obj1.duplicateMovieClip("obj" + objNum, objNum + 4);
}
if (objType > 0) {
objects["obj" + objNum].gotoAndStop(objType);
}
}
function convMD(s) {
return(((((s.charCodeAt(0) & 255) - 48) * 4096) + (((s.charCodeAt(1) & 255) - 48) * 64)) + ((s.charCodeAt(2) & 255) - 48));
}
function formatMinSec(s) {
sec = s % 60;
min = (s - sec) / 60;
if (String(sec).length == 1) {
return((min + ":0") + sec);
}
return((min + ":") + sec);
}
function showNormalMessage(m, pauseIt, lostLife) {
engineSpeed = 0;
engineLoad = 0;
if (Math.random() > 0.85) {
m = m + (" " + tips[Math.floor(Math.random() * tips.length)]);
}
m2 = m.split("");
showNormalMessagefadeCnt = 100;
if (pauseIt) {
pauseUntilSpaceBar = true;
normalMessage.messageText.text = normalMessage.messageText.text + " ";
normalMessage.messageText._y = 160 - normalMessage.messageText.textHeight;
normalMessage.messageCPName._y = 90 - normalMessage.messageText.textHeight;
normalMessageMaxDown = (normalMessage.messageText.textHeight - 110) + ((normalMessage.messageCPName.text != "") ? 50 : 0);
}
if (lostLife) {
_root.playSFX("startover");
lostLifeSet = true;
initCheckPoint(99);
_root.count = 100;
_root.statusArea.health_bar.gotoAndStop(_root.count);
}
}
function moveTruckTo(x) {
diffX = x - points[0].pos.x;
diffY = (getGroundHeight(x) - 32) - points[0].pos.y;
i = 0;
while (i <= 2) {
with (points[i]) {
pos.x = pos.x + diffX;
pos.y = pos.y + diffY;
if (i == 1) {
pos.x = points[0].pos.x - tireSpacing;
pos.y = points[0].pos.y;
} else if (i == 2) {
pos.x = points[0].pos.x + tireSpacing;
pos.y = points[0].pos.y;
}
posNext.x = pos.x;
posNext.y = pos.y;
velNext.x = (vel.x = (velNext.y = (vel.y = 0)));
accNext.x = (acc.x = (accNext.y = (acc.y = 0)));
}
i++;
}
last_truck_grounded = truck_grounded;
if (diffX < -100) {
i = 0;
while (i <= maxIntObj) {
intObjVis["obj" + i].stat = 1;
intObjVis["obj" + i]._visible = false;
i++;
}
curIntObj = 0;
maxIntObj = 0;
i = 0;
while (i < intObj.length) {
if ((x - 200) > intObj[i].x) {
curIntObj = i;
}
i++;
}
}
}
trace((((((objects.obj1._x + " ::::: ") + objects.obj1._y) + " ::::: ") + objects._x) + " ::::: ") + objects._y);
objects.obj1._visible = true;
_root.dummy = true;
lastStuntX = 0;
scroll_x = 0;
scroll_y = 800;
GameState = 0;
boostCharge = 0;
boostRelease = 0;
boostDownLast = false;
score = 0;
ticker = 0;
level_time = 0;
level_score = 0;
start_score = 0;
start_coins = 0;
shock1.nitromc._visible = false;
gameEndType = 1;
last_truck_grounded = false;
truck_grounded = false;
lastBonusTS = 0;
curCheckpoint = 2;
lostLifeSet = false;
pauseForInfo = false;
pauseUntilEnterKey = false;
showNormalMessagefadeCnt = 0;
game_running = false;
_root.curLevel = 1;
WaitFor = 0;
Invincible = 0;
Lives = 3;
upsideDown = false;
if (!layerINIT) {
createEmptyMovieClip("phTruckbody", 403);
body.swapDepths(403);
createEmptyMovieClip("phShock1", 404);
shock1.swapDepths(404);
createEmptyMovieClip("phShock2", 405);
shock2.swapDepths(405);
createEmptyMovieClip("phTruckTire1", 406);
tire1.swapDepths(406);
createEmptyMovieClip("phTruckTire2", 407);
tire2.swapDepths(407);
i = 1;
while (i <= maxEfx) {
efxLayer.Efx0.duplicateMovieClip("Efx" + i, i + 410);
i++;
}
createEmptyMovieClip("phGround", 449);
ground2.swapDepths(449);
createEmptyMovieClip("phobjects", 450);
objects.swapDepths(450);
createEmptyMovieClip("phnormalMessage", 451);
normalMessage.swapDepths(451);
createEmptyMovieClip("phcheckPointScore", 452);
checkPointScore.swapDepths(452);
createEmptyMovieClip("phfadeLayer", 454);
fadeLayer.swapDepths(454);
createEmptyMovieClip("phstatusArea", 455);
statusArea.swapDepths(455);
createEmptyMovieClip("debug_line", 1000);
i = 0;
while (i < soundEfx.length) {
sfxName = soundEfx[i].substring(9, soundEfx[i].length - 4);
_root["sfxSound" + sfxName] = new Sound(_root.createEmptyMovieClip("sfx" + i, i + 1002));
_root["sfxSound" + sfxName].attachSound(soundEfx[i]);
i++;
}
}
playedSFXThisFrame = false;
GroundColors = [10053120, 16776960, 10066176, 26367, 16711680];
bridgeNear = false;
bridgeStart = 0;
BridgeVel = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
inGroundType = -1;
ground2StartX = 0;
ground2StartY = 0;
inWaterLast = 0;
this.onEnterFrame = function () {
objects_in_truck_ac = objects_in_truck;
objects_in_truck = 0;
switch (GameState) {
case 0 :
loadLevel(_root.curLevel);
GameState = 2;
_root.lvl = _root.curLevel;
statusArea.lvl_txt.text = _root.lvl;
LevelEnd._visible = false;
GoText._alpha = 0;
statusArea.LivesDisplay.text = "" + Lives;
RoofHitCounter = 0;
rollOverMessage._visible = false;
initCheckPoint(-1);
statusArea.controls._visible = true;
intObjVis.obj0.stat = 1;
break;
case 2 :
playedSFXThisFrame = false;
if (points[0].pos.x > objX[curCheckpoint]) {
moveTruckTo(points[0].pos.x);
startBonusX = points[0].pos.x + 20;
killEngine();
if (curCheckpoint > 3) {
_root.playSFX("checkpoint");
}
initCheckPoint(curCheckpoint - 2);
curCheckpoint++;
_root.lostLifeSet = false;
}
if (fadeInTheScreen > 0) {
fadeInTheScreen = fadeInTheScreen - 5;
fadeLayer.clear();
if (fadeInTheScreen > 0) {
fv = 255 - Math.min(255, fadeInTheScreen);
fadeLayer.beginFill(((fv * 65536) + (fv * 256)) + fv, 100);
fadeLayer.moveTo(0, 0);
fadeLayer.lineTo(480, 0);
fadeLayer.lineTo(480, 384);
fadeLayer.lineTo(0, 384);
fadeLayer.endFill();
fadeLayer._visible = true;
} else {
fadeLayer.beginFill(0);
fadeLayer.moveTo(0, 0);
fadeLayer.lineTo(480, 0);
fadeLayer.lineTo(480, 384);
fadeLayer.lineTo(0, 384);
fadeLayer.endFill();
fadeLayer._visible = false;
}
}
if (pauseUntilSpaceBar || (pauseForInfo)) {
if (!pauseForInfo) {
normalMessage._y = normalMessage._y + ((normalMessageMaxDown - normalMessage._y) / 5);
normalMessage._visible = true;
}
if (!pauseForInfo) {
if (curCheckpoint > 12) {
killEngine();
GameState = 6;
_global.yourScore = level_score;
gotoAndPlay ("SubmitScoreFR");
} else if (lostLifeSet) {
Lives--;
if (Lives < 1) {
_root.playSFX("lose");
gameEndType = 2;
_global.yourScore = level_score;
gotoAndStop ("GameOverFR");
}
statusArea.LivesDisplay.text = "" + Lives;
moveTruckTo(objX[curCheckpoint - 1]);
fadeInTheScreen = 300;
initCheckPoint(curCheckpoint - 3);
} else {
_root.playSFX("start-game");
_root.startEngine();
}
boostCharge = 0;
pauseUntilSpaceBar = false;
}
} else {
if ((showNormalMessagefadeCnt > 0) && (fadeInTheScreen > 0)) {
normalMessage._visible = true;
} else if (showNormalMessagefadeCnt > 0) {
normalMessage._visible = true;
normalMessage._y = (-138 + (showNormalMessagefadeCnt * 1.38)) + normalMessageMaxDown;
showNormalMessagefadeCnt = showNormalMessagefadeCnt - 5;
} else {
normalMessage._visible = false;
normalMessage._y = -138;
}
if (GoText._alpha > 0) {
GoText._alpha = GoText._alpha - 5;
}
if (edit_enabled) {
edit_onEnterFrame();
}
if (!game_running) {
return(undefined);
}
if (((ticker % 30) == 29) && (level_time > 0)) {
level_time = level_time - 1;
if (level_time <= 10) {
_root.playSFX("timelow");
}
}
ticker++;
if ((level_time == 0) && (curCheckpoint > 2)) {
showNormalMessage("", true, true);
}
brakes = 0;
sDownLast = Key.isDown(83);
if (Key.isDown(39)) {
control_rot = 0.022;
bed_rot = 0.2;
} else if (Key.isDown(37)) {
control_rot = -0.022;
bed_rot = -0.2;
} else {
control_rot = 0;
bed_rot = 0;
}
if (Key.isDown(38)) {
lr = 1;
statusArea.controls._visible = false;
} else if (Key.isDown(40)) {
lr = -1;
} else {
lr = 0;
}
if (Key.isDown(90)) {
if (Math.abs(lr)) {
braking = 1;
lr = lr * 0.5;
} else {
braking = 0.5;
}
} else {
braking = 1;
}
if ((Key.isDown(78) && (!boostDownLast)) && (truck_grounded)) {
boostDownLast = true;
shock1.nitromc._visible = true;
_root.shock1.nitromc.gotoAndPlay(2);
boostRelease = boostCharge;
boostCharge = 0;
} else if (!Key.isDown(78)) {
boostDownLast = false;
}
if (Key.isDown(32) && (valuework == true)) {
if (tmp && (!_root.points[0].grounded)) {
gravity = -2;
} else if (_root.points[0].grounded && (_root.upsideDown)) {
gravity = -7;
} else {
gravity = 0.3;
}
} else if (!Key.isDown(32)) {
gravity = 0.3;
}
if (!(edit_enabled && (mouseIsDown))) {
truckPhysics(1);
}
tot_bed_rot_vel = rotVel + bed_rot_vel;
updateObjects();
updateScroll();
if ((points[0].pos.x + 800) > intObj[curIntObj].x) {
addIntObj(curIntObj);
curIntObj++;
}
i = 0;
while (i <= maxIntObj) {
if (intObjVis["obj" + i].stat == 2) {
n = intObjVis["obj" + i].objNum;
if (intObj[n].x < (scroll_x - 500)) {
intObjVis["obj" + i].stat = 1;
intObjVis["obj" + i]._visible = false;
}
if ((i > 0) && (intObjVis["obj" + (i - 1)].stat == 1)) {
intObjVis["obj" + (i - 1)].stat = 2;
intObjVis["obj" + (i - 1)].objNum = n;
intObjVis["obj" + (i - 1)]._visible = true;
intObjVis["obj" + i(i - 1)].gotoAndStop(intObj[n].type + 1);
intObjVis["obj" + (i - 1)].stat = 1;
intObjVis["obj" + (i - 1)]._visible = false;
}
intObjVis["obj" + i]._x = intObj[n].x - scroll_x;
intObjVis["obj" + i]._y = intObj[n].y - scroll_y;
}
i++;
}
if ((intObjVis["obj" + (maxIntObj - 1)].stat == 1) && ((maxIntObj - 1) != 0)) {
intObjVis["obj" + (maxIntObj - 1)].unloadMovie();
maxIntObj--;
}
if ((GroundType[Math.floor(points[0].pos.x / 32)] == 4) && (!bridgeNear)) {
bridgeNear = true;
bridgeStart = Math.floor(points[0].pos.x / 32);
}
if (bridgeNear) {
i = bridgeStart;
while (GroundType[i] == 4) {
BridgeVel[i - bridgeStart] = BridgeVel[i - bridgeStart] - (((GroundHeight[i] - ((GroundHeight[i - 1] + GroundHeight[i + 1]) / 2)) * 0.7) - 0.05);
GroundHeight[i] = GroundHeight[i] + BridgeVel[i - bridgeStart];
BridgeVel[i - bridgeStart] = BridgeVel[i - bridgeStart] * 0.6;
i++;
}
if (Math.floor(points[0].pos.x / 32) > (i + 20)) {
bridgeNear = false;
}
}
specialFound = false;
ground2._y = -(scroll_y / 1.008);
ground2.specialBG2.clear();
firstSpecialTile = 999999999 /* 0x3B9AC9FF */;
i = 0;
while (i < (Math.floor(Stage.width / 32) + 4)) {
if ((ground2["surface" + i].xoff - scroll_x) < -64) {
ground2["surface" + i].xoff = ground2["surface" + i].xoff + ((Math.floor(Stage.width / 32) + 3) * 32);
ground2["surface" + i].tileUpdated = true;
}
if ((ground2["surface" + i].xoff - scroll_x) > ((Math.floor(Stage.width / 32) + 2) * 32)) {
ground2["surface" + i].xoff = ground2["surface" + i].xoff - ((Math.floor(Stage.width / 32) + 3) * 32);
ground2["surface" + i].tileUpdated = true;
}
tileNum = Math.floor(ground2["surface" + i].xoff / 32);
if (ground2["surface" + i].tileUpdated || (GroundType[tileNum] == 4)) {
ground2["surface" + i].tileUpdated = false;
x = (i * 32) - (scroll_x % 32);
last_y = y;
y = getGroundHeight(ground2["surface" + i].xoff);
nextY = getGroundHeight(ground2["surface" + i].xoff + 32) - y;
n = Math.floor(ground2["surface" + i].xoff / 32);
ground2["surface" + i]._y = y;
if (_global.graphicsOptSet[4]) {
ground2["surface" + i].tile._visible = true;
ground2["surface" + i].tile._rotation = Math.atan2(nextY, 32) * 57.2957795;
ground2["surface" + i].tile.gotoAndStop(SurfaceTile[n - 1]);
} else {
ground2["surface" + i].tile._visible = false;
}
bgDraw = ground2["surface" + i].bgDraw;
bgDraw.clear();
if (GroundType[tileNum] != 4) {
bgDraw.beginFill(8932904);
bgDraw.moveTo(0, 0);
bgDraw.lineTo(33, nextY);
bgDraw.lineTo(33, 500);
bgDraw.lineTo(-1, 500);
bgDraw.endFill();
}
if (_global.graphicsOptSet[4] && ((GroundType[tileNum] == 2) || (GroundType[tileNum] == 3))) {
ground2["surface" + i].tile2._visible = true;
thisY = (getGroundHeight2(ground2["surface" + i].xoff) - y) + 1;
nextY2 = (getGroundHeight2(ground2["surface" + i].xoff + 32) - y) + 1;
ground2["surface" + i].tile2._rotation = Math.atan2(nextY2 - thisY, 32) * 57.2957795;
ground2["surface" + i].tile2._y = thisY;
if (SurfaceTile[n - 1] > 30) {
ground2["surface" + i].tile2.gotoAndStop(SurfaceTile[n - 1] + 20);
} else {
ground2["surface" + i].tile2.gotoAndStop(SurfaceTile[n - 1] + 35);
}
} else {
ground2["surface" + i].tile2._visible = false;
}
}
ground2["surface" + i]._x = ground2["surface" + i].xoff - scroll_x;
if (((GroundType[tileNum] == 2) || (GroundType[tileNum] == 3)) && (tileNum < firstSpecialTile)) {
firstSpecialTile = tileNum;
var _local3 = ground2["surface" + i]._x;
var _local4 = ground2["surface" + i].xoff;
}
if ((GroundType[tileNum + 1] == 4) && (GroundType[tileNum] != 4)) {
ground2.specialBG.gotoAndStop(2);
ground2.specialBG._x = ground2["surface" + i]._x + 32;
ground2.specialBG._y = ground2["surface" + i]._y;
specialFound = true;
} else if ((GroundType[tileNum - 1] == 4) && (GroundType[tileNum] != 4)) {
ground2.specialBG.gotoAndStop(3);
ground2.specialBG._x = ground2["surface" + i]._x + 32;
ground2.specialBG._y = ground2["surface" + i]._y;
specialFound = true;
}
i++;
}
if (firstSpecialTile < 999999999) {
switch (GroundType[firstSpecialTile]) {
case 2 :
bgDraw = ground2.specialBG2;
j = firstSpecialTile + 1;
bgDraw.beginFill(13353598, 150);
bgDraw.moveTo(_local3, GroundHeight2[j - 1]);
bgDraw.lineTo(_local3, GroundHeight[j - 1]);
while ((j < (firstSpecialTile + 18)) && (GroundType[j + 1] == 2)) {
bgDraw.lineTo(_local3 + ((j - firstSpecialTile) * 32), GroundHeight[j]);
j++;
}
bgDraw.lineTo(_local3 + (((j - firstSpecialTile) - 1) * 32), GroundHeight2[j]);
bgDraw.endFill();
break;
case 3 :
bgDraw = ground2.specialBG2;
j = firstSpecialTile + 1;
bgDraw.beginFill(3381759, 75);
bgDraw.moveTo(_local3, GroundHeight2[j - 1]);
bgDraw.lineTo(_local3, GroundHeight[j - 1]);
while ((j < (firstSpecialTile + 18)) && (GroundType[j + 1] == 3)) {
bgDraw.lineTo(_local3 + ((j - firstSpecialTile) * 32), GroundHeight[j]);
j++;
}
bgDraw.lineTo(_local3 + (((j - firstSpecialTile) - 1) * 32), GroundHeight2[j]);
bgDraw.endFill();
}
}
if (!specialFound) {
ground2.specialBG.gotoAndStop(1);
}
body_bg._x = (body._x = points[0].pos.x - scroll_x);
body_bg._y = (body._y = points[0].pos.y - scroll_y);
tire1._x = points[2].pos.x - scroll_x;
tire1._y = points[2].pos.y - scroll_y;
thisRot = Math.max(_root.points[1].tireRot, _root.points[2].tireRot);
tire1._rotation = (tire2._rotation = tire2._rotation + thisRot);
tire2._x = points[1].pos.x - scroll_x;
tire2._y = points[1].pos.y - scroll_y;
shock1._x = (points[0].pos.x - scroll_x) + (Math.cos(shock1R + points[0].rotPos) * shockD);
shock1._y = (points[0].pos.y - scroll_y) + (Math.sin(shock1R + points[0].rotPos) * shockD);
xd = shock1._x - (points[1].pos.x - scroll_x);
yd = shock1._y - (points[1].pos.y - scroll_y);
shock1._rotation = points[0].rotPos * 57.296;
shock1.inner._height = Math.sqrt((xd * xd) + (yd * yd));
shock2._x = (points[0].pos.x - scroll_x) + (Math.cos(shock2R + points[0].rotPos) * shockD);
shock2._y = (points[0].pos.y - scroll_y) + (Math.sin(shock2R + points[0].rotPos) * shockD);
xd = shock2._x - (points[2].pos.x - scroll_x);
yd = shock2._y - (points[2].pos.y - scroll_y);
shock2._rotation = points[0].rotPos * 57.296;
shock2.inner._height = Math.sqrt((xd * xd) + (yd * yd));
shocks.clear();
i = 1;
while (i <= 2) {
shocks.lineStyle(4, 3355443, 100);
shocks.moveTo(points[0].pos.x - scroll_x, points[0].pos.y - scroll_y);
shocks.lineTo(points[i].pos.x - scroll_x, points[i].pos.y - scroll_y);
i++;
}
statusArea.Time.text = formatMinSec(level_time);
statusArea.Score.text = level_score;
trace("level_score" + level_score);
trace("statusArea.Score.text" + statusArea.Score.text);
statusArea.CoinsDisp.text = level_coins;
statusArea.boostBar.BoostBarGRPHX._width = boostCharge * 10;
trace("statusArea.boostBar.BoostBarGRPHX._width " + statusArea.boostBar.BoostBarGRPHX._width);
statusArea.boostBar.boostLabel._visible = boostCharge == 10;
}
break;
case 3 :
LevelEnd.pressUpToCont._visible = false;
LevelEnd._visible = true;
LevelEnd.TimeBonus.text = "Time Bonus: " + timeBonus;
statusArea.Score.text = level_score;
WaitFor = 120;
GameState++;
break;
case 4 :
WaitFor--;
if (WaitFor == 0) {
LevelEnd.pressUpToCont._visible = true;
}
break;
case 1 :
GameState = 2;
_root.curLevel++;
level_time = 0;
game_running = false;
}
};
initCheckPoint = function (n) {
if (n == 99) {
level_score = start_score;
level_coins = start_coins;
} else {
start_score = level_score;
start_coins = level_coins;
}
if ((n >= 0) && (n != 99)) {
if (!_root.lostLifeSet) {
if (n >= 1) {
showCheckPointScore(n - 1, level_time);
} else {
showNormalMessage(_root.checkPointName[n], true);
}
}
level_time = _root.checkPointTime[n];
if (level_time == 90) {
statusArea.lvl_txt.text = 1;
}
if (level_time == 75) {
statusArea.lvl_txt.text = 2;
}
if (level_time == 80) {
statusArea.lvl_txt.text = 3;
}
if (level_time == 100) {
statusArea.lvl_txt.text = 4;
}
if (level_time == 95) {
statusArea.lvl_txt.text = 5;
}
if (level_time == 55) {
statusArea.lvl_txt.text = 6;
}
if (level_time == 120) {
statusArea.lvl_txt.text = 7;
}
if (level_time == 40) {
statusArea.lvl_txt.text = 8;
}
if (level_time == 50) {
statusArea.lvl_txt.text = 9;
}
if (level_time == 60) {
statusArea.lvl_txt.text = 10;
}
valuework = true;
_root.lostLifeSet = false;
}
};
showCheckPointScore = function (checkPoint, level_time) {
_root.pauseForInfo = true;
_root.checkPointScore._visible = true;
_root.checkPointScore.checkPoint = checkPoint;
_root.checkPointScore.level_time = level_time;
_root.checkPointScore.addCounter = 10000;
_root.checkPointScore.scoreStart = _root.level_score;
};
gotoAndStop (7);
Instance of Symbol 612 MovieClip "body" in Frame 7
onClipEvent (load) {
_root.shock1.gotoAndStop(_root.clickno);
_root.shock2.gotoAndStop(_root.clickno);
_root.tire1.gotoAndStop(_root.clickno);
_root.tire2.gotoAndStop(_root.clickno);
trace("_root.clickno :" + _root.clickno);
if (_root.clickno == 1) {
this.gotoAndStop(1);
_root.body_bg._visible = true;
} else if (_root.clickno == 2) {
this.gotoAndStop(3);
_root.body_bg._visible = false;
} else if (_root.clickno == 3) {
this.gotoAndStop(5);
_root.body_bg._visible = false;
}
}
Instance of Symbol 645 MovieClip "sog" in Frame 7
on (release) {
getURL ("http://www.startonlinegames.com", "_blank");
}
Frame 8
mcSubmitScore.Score = (yourScore.text = _global.yourScore);
unloadThese = ["ground2", "cargo1", "cargo2", "cargo3", "cargo4", "cargo5", "cargo6", "cargo7", "body_bg", "tire1", "tire2", "wheelShine1", "wheelShine2", "body", "objects", "normalMessage", "checkPointScore", "statusArea", "shock1", "shock2"];
i = 0;
while (i < unloadThese.length) {
this[unloadThese[i]].unloadMovie();
i++;
}
continueBut1.onRelease = function () {
gotoAndPlay (2);
};
mainmenu1.onRelease = function () {
gotoAndPlay (2);
};
gotoAndStop (8);
_root.gamesnd.stop();
_root.titlesnd.stop();
_root.titlesnd.start(0, 999);
Frame 9
stopAllSounds();
btnSubmitScore.Score = (yourScore.text = _global.yourScore);
unloadThese = ["ground2", "cargo1", "cargo2", "cargo3", "cargo4", "cargo5", "cargo6", "cargo7", "body_bg", "tire1", "tire2", "wheelShine1", "wheelShine2", "body", "objects", "normalMessage", "checkPointScore", "statusArea", "shock1", "shock2"];
i = 0;
while (i < unloadThese.length) {
_root[unloadThese[i]].unloadMovie();
i++;
}
continueBut1.onRelease = function () {
gotoAndPlay ("gameMain");
};
mainmenu1.onRelease = function () {
gotoAndPlay (2);
};
gotoAndStop (9);
removeMovieClip(sog);
trace("this" + this);
_root.dummy = false;
_root.titlesnd.stop();
_root.titlesnd.start(0, 999);
Symbol 160 MovieClip Frame 88
stop();
Symbol 171 Button
on (release) {
getURL ("http://www.startonlinegames.com/", "_blank");
}
Symbol 178 Button
on (release) {
gotoAndPlay ("anim");
}
Symbol 179 MovieClip Frame 1
stop();
this.onEnterFrame = function () {
var _local3 = Math.round((_root.getBytesLoaded() / _root.getBytesTotal()) * 100);
bar._width = _local3 * 3.54;
per.text = _local3;
if ((_local3 == 100) && (_root.ads)) {
gotoAndStop ("loaded");
delete this.onEnterFrame;
}
};
Symbol 179 MovieClip Frame 2
stop();
Symbol 179 MovieClip Frame 69
_root.play();
Symbol 183 Button
on (release) {
_root.mutbtn = true;
_root.gamesnd.setVolume(0);
gotoAndStop (2);
}
Symbol 185 Button
on (release) {
_root.mutbtn = false;
_root.gamesnd.setVolume(100);
gotoAndStop (1);
}
Symbol 186 MovieClip Frame 1
stop();
Symbol 186 MovieClip Frame 2
stop();
Symbol 199 Button
on (release) {
getURL ("http://www.startonlinegames.com", "_blank");
}
Symbol 202 Button
on (release) {
getURL ("http://www.startonlinegames.com/download.php", "_blank");
}
Symbol 207 Button
on (release) {
getURL ("http://www.startonlinegames.com", "_blank");
}
Symbol 247 Button
on (release) {
_root.gotoAndPlay("gameMain");
}
Symbol 266 Button
on (release) {
_root.clickno = 1;
trace("clickno" + clickno);
car1._alpha = 40;
car2._alpha = 100;
car3._alpha = 100;
}
Symbol 273 Button
on (release) {
_root.clickno = 2;
trace("clickno" + clickno);
car2._alpha = 40;
car1._alpha = 100;
car3._alpha = 100;
}
Symbol 280 Button
on (release) {
_root.clickno = 3;
trace("clickno" + clickno);
car3._alpha = 40;
car1._alpha = 100;
car2._alpha = 100;
}
Symbol 283 Button
on (release) {
gotoAndPlay ("Instructions");
}
Symbol 290 MovieClip Frame 1
i = 0;
while (i < (Math.floor(Stage.width / 16) + 2)) {
if (i != 0) {
p0.duplicateMovieClip("p" + i, i);
this["p" + i].cacheAsBitmap = true;
}
this["p" + i].xoff = i * 16;
this["p" + i].tileUpdated = true;
i++;
}
y = 0;
last_y = 0;
this.onEnterFrame = function () {
if (!_global.graphicsOptSet[1]) {
return(undefined);
}
_y = ((-_root.scroll_y) / 2);
i = 0;
while (i < (Math.floor(Stage.width / 16) + 2)) {
if ((this["p" + i].xoff - (_root.scroll_x / 2)) < -16) {
this["p" + i].xoff = this["p" + i].xoff + ((Math.floor(Stage.width / 16) + 2) * 16);
this["p" + i].tileUpdated = true;
}
if ((this["p" + i].xoff - (_root.scroll_x / 2)) > ((Math.floor(Stage.width / 16) + 1) * 16)) {
this["p" + i].xoff = this["p" + i].xoff - ((Math.floor(Stage.width / 16) + 2) * 16);
this["p" + i].tileUpdated = true;
}
if (this["p" + i].tileUpdated) {
if (_root.scroll_x) {
this["p" + i].tileUpdated = false;
}
x = (i * 16) - ((_root.scroll_x / 2) % 16);
last_y = y;
y = _root.getGroundHeight(this["p" + i].xoff * 2) / 2;
nextY = (_root.getGroundHeight((this["p" + i].xoff * 2) + 32) / 2) - y;
n = Math.floor(Math.floor((this["p" + i].xoff * 2) / 16));
this["p" + i]._y = y;
bgDraw = this["p" + i];
bgDraw.clear();
bgDraw.beginFill(11446932);
bgDraw.moveTo(0, 0);
bgDraw.lineTo(17, nextY);
bgDraw.lineTo(17, 500);
bgDraw.lineTo(0, 500);
bgDraw.endFill();
}
this["p" + i]._x = this["p" + i].xoff - (_root.scroll_x / 2);
i++;
}
};
Symbol 376 MovieClip Frame 1
stop();
Symbol 378 MovieClip Frame 1
i = 0;
while (i < (Math.floor(Stage.width / 32) + 4)) {
if (i != 0) {
surface0.duplicateMovieClip("surface" + i, i);
}
_root.ground2["surface" + i].cacheAsBitmap = true;
_root.ground2["surface" + i].xoff = i * 32;
_root.ground2["surface" + i].tileUpdated = true;
i++;
}
createEmptyMovieClip("phspecialBG", i + 2);
specialBG.swapDepths(i + 2);
Symbol 489 MovieClip Frame 1
this.onEnterFrame = function () {
if (!_parent._visible) {
return(undefined);
}
xd = _root.points[0].pos.x - _root.intObj[_parent.objNum].x;
yd = _root.points[0].pos.y - _root.intObj[_parent.objNum].y;
if (Math.sqrt((xd * xd) + (yd * yd)) < 60) {
_root.level_score = _root.level_score + 50;
_root.level_coins++;
_root.playSFX("coin");
_parent.stat = 1;
_parent._visible = false;
}
};
Symbol 493 MovieClip Frame 1
action = 0;
fr = 0;
cnt = 0;
xvel = 0;
yvel = 0;
dir = 0;
facing = 0;
this.onEnterFrame = function () {
if (!_parent._visible) {
return(undefined);
}
xd = _root.points[0].pos.x - _root.intObj[_parent.objNum].x;
yd = _root.points[0].pos.y - _root.intObj[_parent.objNum].y;
if (Math.sqrt((xd * xd) + (yd * yd)) < Math.abs(_root.points[0].velNext.x * 15)) {
action = 5;
} else if (action == 5) {
action = 0;
}
gh = _root.getGroundHeight(_root.intObj[_parent.objNum].x);
switch (action) {
case 0 :
cnt++;
if (cnt > 1) {
cnt = 0;
fr = fr ^ 1;
}
anim.gotoAndStop((5 + (fr * 2)) + ((xvel > 0) ? 1 : 0));
dir = dir + ((Math.random() * 1) - 0.5);
if (_root.intObj[_parent.objNum].y > (gh - 40)) {
if (yvel > 0) {
yvel = yvel / 5;
}
}
xvel = ((xvel * 2) + (Math.cos(dir) * 3)) / 3;
yvel = ((yvel * 2) + (Math.sin(dir) * 3)) / 3;
if ((_root.GroundType[Math.floor(_root.intObj[_parent.objNum].x / 32)] == 3) || (_root.GroundType[Math.floor(_root.intObj[_parent.objNum].x / 32)] == 2)) {
if (_root.intObj[_parent.objNum].y > (_root.getGroundHeight2(_root.intObj[_parent.objNum].x + (xvel * 10)) - 6)) {
dir = dir + Math.PI;
yvel = yvel - 3;
}
}
xvel = xvel * 0.98;
yvel = yvel * 0.98;
if (Math.random() > 0.99) {
action = 1;
}
break;
case 1 :
cnt++;
if (cnt > 1) {
cnt = 0;
fr = fr ^ 1;
}
anim.gotoAndStop((5 + (fr * 2)) + ((xvel > 0) ? 1 : 0));
yvel = (yvel + 1) / 2;
if (_root.intObj[_parent.objNum].y >= gh) {
action = 2;
facing = ((xvel > 0) ? 1 : 0);
}
if ((_root.GroundType[Math.floor(_root.intObj[_parent.objNum].x / 32)] == 3) || (_root.GroundType[Math.floor(_root.intObj[_parent.objNum].x / 32)] == 2)) {
action = 0;
}
break;
case 2 :
xvel = 0;
yvel = 0;
_root.intObj[_parent.objNum].y = gh;
anim.gotoAndStop(1 + facing);
if (Math.random() > 0.9) {
action = 3;
cnt = 0;
}
if (Math.random() > 0.9) {
action = 4;
}
if (Math.random() > 0.98) {
action = 0;
}
break;
case 3 :
cnt++;
if (cnt > 3) {
action = 2;
}
anim.gotoAndStop(3 + facing);
break;
case 4 :
yvel = yvel + 1;
if (_root.intObj[_parent.objNum].y > gh) {
_root.intObj[_parent.objNum].y = gh;
yvel = -3;
} else {
xvel = (facing ? 1 : -1);
}
if (Math.random() > 0.9) {
action = 2;
}
if ((_root.GroundType[Math.floor(_root.intObj[_parent.objNum].x / 32)] == 3) || (_root.GroundType[Math.floor(_root.intObj[_parent.objNum].x / 32)] == 2)) {
action = 0;
}
break;
case 5 :
fr = fr ^ 1;
anim.gotoAndStop((5 + (fr * 2)) + ((xvel > 0) ? 1 : 0));
dir = Math.atan2(-yd, -xd);
xvel = (xvel + (Math.cos(dir) * 4)) / 2;
yvel = ((yvel + (Math.sin(dir) * 2)) - 4) / 2;
xvel = xvel * 0.98;
yvel = yvel * 0.98;
}
_root.intObj[_parent.objNum].x = _root.intObj[_parent.objNum].x + xvel;
_root.intObj[_parent.objNum].y = _root.intObj[_parent.objNum].y + yvel;
};
Symbol 494 MovieClip Frame 1
stop();
Symbol 507 MovieClip Frame 1
gotoAndStop (1);
Symbol 507 MovieClip Frame 31
gotoAndStop (1);
Symbol 507 MovieClip Frame 32
the_text.text = _parent.xtra;
Symbol 507 MovieClip Frame 61
_parent._xscale = (_parent._yscale = 100);
gotoAndStop (1);
Symbol 507 MovieClip Frame 62
the_text.text = _parent.xtra;
Symbol 507 MovieClip Frame 91
gotoAndStop (1);
Symbol 507 MovieClip Frame 121
gotoAndStop (1);
Symbol 507 MovieClip Frame 151
gotoAndStop (1);
Symbol 508 MovieClip Frame 1
vel_x = 0;
vel_y = 0;
cur_x = 0;
cur_y = 0;
curEfx = 0;
efxScroll = [0, 1, 0, 0, 1, 1, 1];
setEfx = function (n) {
if (efxScroll[curEfx]) {
this._x = cur_x - _root.scroll_x;
this._y = cur_y - _root.scroll_y;
} else {
this._x = cur_x;
this._y = cur_y;
}
this._visible = false;
this._alpha = 100;
curEfx = n;
efxAnimations.gotoAndPlay(((n - 1) * 30) + 2);
};
this.onEnterFrame = function () {
switch (curEfx) {
case 1 :
cur_y = cur_y - 2;
break;
case 2 :
cur_y = cur_y - 2;
_xscale = (_xscale - 4);
_yscale = (_yscale - 4);
this._alpha = this._alpha - 3;
break;
case 5 :
case 6 :
vel_y = vel_y + 1;
}
vel_x = vel_x * 0.95;
vel_y = vel_y * 0.95;
cur_x = cur_x + vel_x;
cur_y = cur_y + vel_y;
if (efxScroll[curEfx]) {
this._x = cur_x - _root.scroll_x;
this._y = cur_y - _root.scroll_y;
} else {
this._x = cur_x;
this._y = cur_y;
}
this._visible = true;
};
Symbol 519 MovieClip Frame 1
trace("welcome To Testing");
Symbol 526 MovieClip Frame 1
gotoAndStop (1);
this._visible = false;
Symbol 526 MovieClip Frame 32
gotoAndStop (1);
this._visible = false;
Symbol 532 MovieClip Frame 1
stop();
Symbol 534 MovieClip Frame 1
stop();
Symbol 540 MovieClip Frame 1
stop();
Symbol 540 MovieClip Frame 2
stop();
Symbol 540 MovieClip Frame 3
stop();
Symbol 545 MovieClip Frame 1
stop();
Instance of Symbol 554 MovieClip in Symbol 601 MovieClip [explode] Frame 7
onClipEvent (enterFrame) {
if (!_root.ppause) {
play();
} else {
stop();
}
}
Symbol 606 MovieClip Frame 1
stop();
Symbol 611 MovieClip Frame 1
stop();
Symbol 612 MovieClip Frame 1
stop();
Symbol 612 MovieClip Frame 2
stop();
_root.valuework = false;
Symbol 612 MovieClip Frame 3
stop();
Symbol 612 MovieClip Frame 4
stop();
_root.valuework = false;
Symbol 612 MovieClip Frame 5
stop();
Symbol 612 MovieClip Frame 6
stop();
_root.valuework = false;
Symbol 630 MovieClip Frame 1
_root.valuework = false;
stop();
if (_root.initNo == 1) {
_root.initNo = 0;
trace("2 * _root.clickno :" + (2 * _root.clickno));
_root.body.gotoAndStop(2 * _root.clickno);
_root.valuework = false;
}
Symbol 630 MovieClip Frame 100
if (_root.clickno == 1) {
_root.body.gotoAndStop(1);
_root.body_bg._visible = true;
} else if (_root.clickno == 2) {
_root.body.gotoAndStop(3);
_root.body_bg._visible = false;
} else if (_root.clickno == 3) {
_root.body.gotoAndStop(5);
_root.body_bg._visible = false;
}
_root.initNo = 1;
Instance of Symbol 186 MovieClip in Symbol 644 MovieClip Frame 1
onClipEvent (load) {
if (_root.mutbtn == false) {
this.gotoAndStop(1);
} else {
this.gotoAndStop(2);
}
}
Symbol 645 MovieClip Frame 1
this.onEnterFrame = function () {
this.swapDepths(_root.getNextHighestDepth());
};
Symbol 656 Button
on (release) {
getURL ("http://www.startonlinegames.com", "_blank");
}
on (rollOver) {
more_btn._xscale = 90;
more_btn._yscale = 90;
}
on (rollOut) {
more_btn._xscale = 100;
more_btn._yscale = 100;
}
Symbol 667 Button
on (release) {
getURL ("http://www.startonlinegames.com", "_blank");
}
Symbol 673 Button
on (release) {
trace("welcome");
addCounter = 0;
trace("**************************" + addCounter);
if (addCounter == 0) {
_alpha = 0;
_visible = false;
_root.pauseForInfo = false;
_root.statusArea._visible = true;
_root.showNormalMessage(_root.checkPointName[checkPoint + 1], true);
_root.levelimg._visible = false;
}
}
Symbol 674 MovieClip Frame 1
_visible = false;
po = 0;
this.onEnterFrame = function () {
if (!_visible) {
return(undefined);
}
display.text = _root.statusArea.Score.text;
if ((_root.level_score > scoreStart) && (multFact < 0.999999999)) {
_root.playSFX("pnt" + (po + 1));
po = po ^ 1;
}
trace("addCounter" + addCounter);
_root.statusArea._visible = false;
_alpha = Math.min(addCounter * 4, 100);
display._visible = _alpha == 100;
if (addCounter == 0) {
_alpha = 0;
_visible = false;
_root.pauseForInfo = false;
_root.statusArea._visible = true;
_root.showNormalMessage(_root.checkPointName[checkPoint + 1], true);
_root.levelimg._visible = false;
}
};
Symbol 696 Button
on (release) {
getURL ("http://www.startonlinegames.com", "_blank");
}
Symbol 699 Button
on (release) {
getURL ("http://www.startonlinegames.com", "_blank");
}
Symbol 705 Button
on (release) {
getURL ("http://www.startonlinegames.com/play.php?id=4164", "_blank");
}
Symbol 708 Button
on (release) {
getURL ("http://www.startonlinegames.com/play.php?id=4132", "_blank");
}
Symbol 711 Button
on (release) {
getURL ("http://www.startonlinegames.com/play.php?id=3916", "_blank");
}
Symbol 716 Button
on (release) {
getURL ("http://www.startonlinegames.com/play.php?id=4106", "_blank");
}