<!-- RUBY-BACKUP · part 66 -->
.83,1,0,"ff6060",3],[-22,0,2.486,1,0,"ff6060",3],[-22,0,2.616,1,0,"ff6060",3],[-22,0,2.746,1,0,"ff6060",3],[-22,0,2.876,1,0,"ff6060",3],[-22,0,3.006,1,0,"ff6060",3],[-22,0,3.136,1,0,"ff6060",3],[-22,0,3.266,1,0,"ff6060",3],[-22,0,3.396,1,0,"ff6060",3],[-20,0,2.464,1,0,"ff6060",3],[-20,0,2.594,1,0,"ff6060",3],[-20,0,2.724,1,0,"ff6060",3],[-20,0,2.854,1,0,"ff6060",3],[-20,0,2.984,1,0,"ff6060",3],[-20,0,3.114,1,0,"ff6060",3],[-20,0,3.244,1,0,"ff6060",3],[-20,0,3.374,1,0,"ff6060",3],[-18,0,1.666,1,0,"ff6060",3],[-18,0,1.796,1,0,"ff6060",3],[-18,0,1.926,1,0,"ff6060",3],[-18,0,2.056,1,0,"ff6060",3],[-18,0,2.186,1,0,"ff6060",3],[-18,0,2.316,1,0,"ff6060",3],[-18,0,2.446,1,0,"ff6060",3],[-18,0,2.576,1,0,"ff6060",3],[-18,0,2.706,1,0,"ff6060",3],[-18,0,2.836,1,0,"ff6060",3],[-18,0,2.966,1,0,"ff6060",3],[-18,0,3.096,1,0,"ff6060",3],[-18,0,3.226,1,0,"ff6060",3],[-18,0,3.356,1,0,"ff6060",3],[0,0,1.952,1,0,"ff6060",3],[0,0,2.082,1,0,"ff6060",3],[0,0,2.212,1,0,"ff6060",3],[0,0,2.342,1,0,"ff6060",3],[40,0,1.165,1,0,"ff6060",3],[40,0,1.295,1,0,"ff6060",3],[40,0,1.425,1,0,"ff6060",3],[40,0,1.555,1,0,"ff6060",3],[40,0,1.685,1,0,"ff6060",3],[40,0,1.815,1,0,"ff6060",3],[40,0,1.945,1,0,"ff6060",3],[40,0,2.075,1,0,"ff6060",3],[40,0,2.205,1,0,"ff6060",3],[40,0,2.335,1,0,"ff6060",3],[40,0,2.465,1,0,"ff6060",3],[40,0,2.595,1,0,"ff6060",3],[40,0,2.725,1,0,"ff6060",3],[40,0,2.855,1,0,"ff6060",3],[40,0,2.985,1,0,"ff6060",3],[-41,0,1.711,6,0,"8b4513",4],[-40,4,2.491,2,0,"ffd700",4],[-40,4,2.231,2,0,"ffd700",4],[-40,4,1.971,2,0,"ffd700",4],[-40,4,1.711,2,0,"ffd700",4],[-40,4,1.451,2,0,"ffd700",4],[-21,0,1.564,6,0,"8b4513",4],[-21,4,2.326,2,0,"ffd700",4],[-21,4,1.806,2,0,"ffd700",4],[-21,4,1.546,2,0,"ffd700",4],[-21,4,1.286,2,0,"ffd700",4],[-20,4,2.317,2,0,"ffd700",4],[-20,4,1.797,2,0,"ffd700",4],[-20,4,1.277,2,0,"ffd700",4],[-19,4,2.312,2,0,"ffd700",4],[-19,4,2.052,2,0,"ffd700",4],[-19,4,1.792,2,0,"ffd700",4],[-19,4,1.272,2,0,"ffd700",4],[-3,0,1.362,4,0,"6a4020",4],[-3,0,1.882,4,0,"6a4020",4],[-3,0,2.402,4,0,"6a4020",4],[-1,4,2.478,2,0,"ffd700",4],[-1,4,1.958,2,0,"ffd700",4],[-1,4,1.438,2,0,"ffd700",4],[0,0,2.472,10,1,"8b4513",4],[0,0,1.562,6,0,"8b4513",4],[0,4,2.486,2,0,"ffd700",4],[0,4,1.966,2,0,"ffd700",4],[0,4,1.446,2,0,"ffd700",4],[1,4,2.491,2,0,"ffd700",4],[1,4,2.231,2,0,"ffd700",4],[1,4,1.971,2,0,"ffd700",4],[1,4,1.711,2,0,"ffd700",4],[1,4,1.451,2,0,"ffd700",4],[3,0,1.516,4,0,"6a4020",4],[3,0,2.036,4,0,"6a4020",4],[3,0,2.556,4,0,"6a4020",4],[3,0,3.076,4,0,"ffd700",4],[16,1,1.337,2,0,"ffd700",4],[16,0,1.427,2,0,"ffd700",4],[16,-1,1.515,2,0,"ffd700",4],[17,1,1.34,2,0,"ffd700",4],[17,-1,1.523,2,0,"ffd700",4],[18,0,1.435,2,0,"ffd700",4],[18,1,1.34,2,0,"ffd700",4],[18,-1,1.527,2,0,"ffd700",4],[19,4,1.963,2,0,"ffd700",4],[19,4,1.703,2,0,"ffd700",4],[19,4,1.443,2,0,"ffd700",4],[20,4,1.444,2,0,"ffd700",4],[21,0,1.419,2,0,"ffd700",4],[21,4,1.966,2,0,"ffd700",4],[21,4,1.706,2,0,"ffd700",4],[21,4,1.446,2,0,"ffd700",4],[21,4,1.186,2,0,"ffd700",4],[21,4,0.926,2,0,"ffd700",4],[22,1,1.321,2,0,"ffd700",4],[22,-1,1.489,2,0,"ffd700",4],[23,2,1.23,2,0,"ffd700",4],[23,-2,1.542,2,0,"ffd700",4],[24,1,1.298,2,0,"ffd700",4],[24,-1,1.443,2,0,"ffd700",4],[25,0,1.35,2,0,"ffd700",4],[39,4,2.57,2,0,"ffd700",4],[39,4,2.31,2,0,"ffd700",4],[39,4,2.05,2,0,"ffd700",4],[39,4,1.53,2,0,"ffd700",4],[40,-1,2.021,10,0,"4a4a5a",4],[40,0,1.555,6,0,"8b4513",4],[40,4,2.56,2,0,"ffd700",4],[40,4,2.04,2,0,"ffd700",4],[40,4,1.52,2,0,"ffd700",4],[41,4,2.547,2,0,"ffd700",4],[41,4,2.027,2,0,"ffd700",4],[41,4,1.767,2,0,"ffd700",4],[41,4,1.507,2,0,"ffd700",4],[42,0,2.042,10,0,"5a5a6a",4]];

var labGroup = null;
var risers = [];
var RISE_DUR = 0.5, RISE_DEPTH = 2.5, PHASE_GAP = 0.3, WITHIN_GAP = 0.012;

function status(m){ try{ codeStatus(m); }catch(e){} }

function groundAt(wx, wz){
  try{ if(typeof fortifiedGroundY==='function') return fortifiedGroundY(wx, wz); }catch(e){}
  return 0.3;
}

function buildLab(){
  try{
    clearLab();
    var px = 0, pz = 0;
    if(typeof mePos!=='undefined' && mePos){ px = mePos.x; pz = mePos.z; }
    var fwd = new T.Vector3(0,0,1);
    if(typeof camera!=='undefined' && camera){
      camera.getWorldDirection(fwd); fwd.y = 0;
      if(fwd.lengthSq() < 1e-6) fwd.set(0,0,1);
      fwd.normalize();
    }
    var right = new T.Vector3(fwd.z, 0, -fwd.x);
    var cx = px + fwd.x*14, cz = pz + fwd.z*14;

    labGroup = new T.Group();
    var now = performance.now()/1000;
    var perPhase = [0,0,0,0,0];

    for(var i=0; i<LAB.length; i++){
      var d = LAB[i];
      var ph = d[6], idx = perPhase[ph]++;
      var wx = cx + d[0]*right.x + d[1]*fwd.x;
      var wz = cz + d[0]*right.z + d[1]*fwd.z;
      var targetY = groundAt(wx, wz) + d[2];

      var g = new T.Group();
      var k1 = 1;
      try{ if(typeof legalK1==='function') k1 = legalK1(SHAPES[d[4]]); }catch(e){}
      var geo = null;
      try{ if(typeof shapeGeo==='function') geo = shapeGeo(SHAPES[d[4]], 0.13); }catch(e){}
      if(!geo) geo = new T.BoxGeometry(0.13,