//a - z 97 - 122
function ungrind(whonumber, rtype)
 { 


// tangle

//  ----A---- -----B---- -C-   ----B---- -C-  -B-C-...
//  new Array( new Array(c,c), new Array(c,c),...  ),
//
//  new #1 Array( #0 new Array(#0,#1), #1 new Array(#0,#1),...  ),
//  new #2 Array( #0 new Array(#0,#1), #1 new Array(#0,#1),...  ),
//  ...
//  );

Tangle = new Array ( 
  new Array( new Array(2, 8), new Array(1, 3), new Array(0, 6), new Array(2, 7), new Array(2, 7), new Array(0, 6), new Array(1, 0), new Array(1, 8), new Array(2, 6), new Array(1, 0), new Array(0, 4), new Array(1, 4) ),
  new Array( new Array(1, 0), new Array(1, 3), new Array(0, 6), new Array(2, 7), new Array(2, 7), new Array(2, 4), new Array(1, 5) ),
  new Array( new Array(0, 4), new Array(1, 3), new Array(1, 4), new Array(2, 6), new Array(2, 2), new Array(2, 8), new Array(0, 4), new Array(2, 6), new Array(3, 6) ),
  new Array( new Array(3, 8), new Array(1, 3), new Array(1, 8), new Array(3, 7), new Array(3, 4), new Array(2, 4), new Array(0, 4), new Array(1, 8) ),
  new Array( new Array(1, 4), new Array(1, 3), new Array(0, 4), new Array(3, 7), new Array(3, 6), new Array(3, 8), new Array(2, 2), new Array(3, 7), new Array(3, 6) ),
  new Array (new Array ( 3, 3 ),  new Array ( 1, 3 ),  new Array ( 0, 8 ),  new Array ( 2, 6 ),  new Array ( 1, 0 ),  new Array ( 3, 4 ),  new Array ( 0, 6 ),  new Array ( 1, 4 ),  new Array ( 1, 4 )),
  new Array( new Array(0, 5), new Array(0, 6), new Array(3, 4), new Array(1, 3), new Array(2, 2), new Array(3, 7), new Array(0, 4), new Array(1, 4), new Array(0, 6), new Array(1, 0) ),
  new Array( new Array(2, 4), new Array(3, 6), new Array(3, 1), new Array(2, 6), new Array(1, 0), new Array(2, 2), new Array(3, 7), new Array(1, 4), new Array(2, 4), new Array(2, 6), new Array(3, 6) ),
  new Array( new Array(0, 6), new Array(1, 2), new Array(0, 6), new Array(3, 6), new Array(1, 4), new Array(1, 3), new Array(3, 6), new Array(2, 6), new Array(1, 4), new Array(2, 4), new Array(3, 1), new Array(1, 7) ),
  new Array( new Array(0, 4), new Array(3, 7), new Array(2, 7), new Array(0, 6), new Array(0, 4), new Array(1, 3), new Array(0, 5), new Array(0, 6), new Array(3, 4) ), // 9
  new Array( new Array(2, 1), new Array(2, 4), new Array(2, 7), new Array(2, 7), new Array(1, 3), new Array(0, 4), new Array(2, 4), new Array(1, 0), new Array(1, 7) ) // 10
);


 Grind = new Array (
 new Array("q", "2", "z", "7", "s", "w", "e", "4", "c", "."),
 new Array("r", "8", "v", "_", "t", "g", "5", "y", "h", "3"),
 new Array("9", "j", "m", "-", "i", "6", "o", "l", "p", "@"),
 new Array("u", "f", "x", "k", "b", "1", "n", "a", "d", "0")
 );


  direct = "";
  rlen = Tangle[whonumber].length;

  chrs = 0;
  for(chrs; chrs < rlen; chrs++) {
   q = Tangle[whonumber][chrs][0];
   m = Tangle[whonumber][chrs][1];
   d = Grind[q][m];
   direct = direct + d;
  }

    altat = Grind[2][9];
    altdotorg = Grind[0][9] + Grind[2][6] + Grind[1][0] + Grind[1][5];
    altedsomain = Grind[1][5] + Grind[0][8] + Grind[2][8] + Grind[3][7] + Grind[1][0] + Grind[1][4] + Grind[0][4];

    dotorg = "&#46&#111&#114&#103";
    atsgn = "&#64";
    edsomain = "gcparts";


    rval = "";
    if(whonumber >= 0 && whonumber < (Tangle.length)) {
      if(rtype == 0) {
        rval = direct+atsgn+edsomain+dotorg;
      } else {
        rval = direct+altat+altedsomain+altdotorg;
      }
    }
    return rval;
 }

