예제 #1
0
        /// <summary>
        /// This is the XBR4x by Hyllian (see http://board.byuu.org/viewtopic.php?f=10&t=2248)
        /// </summary>
        public static void Xbr4X(PixelWorker <sPixel> worker, bool allowAlphaBlending)
        {
            Contract.Assume(worker != null);
            var a1 = worker.SourceM1M2();
            var b1 = worker.SourceP0M2();
            var c1 = worker.SourceP1M2();

            var a0 = worker.SourceM2M1();
            var pa = worker.SourceM1M1();
            var pb = worker.SourceP0M1();
            var pc = worker.SourceP1M1();
            var c4 = worker.SourceP2M1();

            var d0 = worker.SourceM2P0();
            var pd = worker.SourceM1P0();
            var pe = worker.SourceP0P0();
            var pf = worker.SourceP1P0();
            var f4 = worker.SourceP2P0();

            var g0 = worker.SourceM2P1();
            var pg = worker.SourceM1P1();
            var ph = worker.SourceP0P1();
            var pi = worker.SourceP1P1();
            var i4 = worker.SourceP2P1();

            var g5 = worker.SourceM1P2();
            var h5 = worker.SourceP0P2();
            var i5 = worker.SourceP1P2();

            sPixel e1, e2, e3, e4, e5, e6, e7, e8, e9, ea, eb, ec, ed, ee, ef;
            var    e0 = e1 = e2 = e3 = e4 = e5 = e6 = e7 = e8 = e9 = ea = eb = ec = ed = ee = ef = pe;

            _Kernel4Xv2(pe, pi, ph, pf, pg, pc, pd, pb, f4, i4, h5, i5, ref ef, ref ee, ref eb, ref e3, ref e7, ref ea, ref ed, ref ec, allowAlphaBlending);
            _Kernel4Xv2(pe, pc, pf, pb, pi, pa, ph, pd, b1, c1, f4, c4, ref e3, ref e7, ref e2, ref e0, ref e1, ref e6, ref eb, ref ef, allowAlphaBlending);
            _Kernel4Xv2(pe, pa, pb, pd, pc, pg, pf, ph, d0, a0, b1, a1, ref e0, ref e1, ref e4, ref ec, ref e8, ref e5, ref e2, ref e3, allowAlphaBlending);
            _Kernel4Xv2(pe, pg, pd, ph, pa, pi, pb, pf, h5, g5, d0, g0, ref ec, ref e8, ref ed, ref ef, ref ee, ref e9, ref e4, ref e0, allowAlphaBlending);

            worker.TargetP0P0(e0);
            worker.TargetP1P0(e1);
            worker.TargetP2P0(e2);
            worker.TargetP3P0(e3);
            worker.TargetP0P1(e4);
            worker.TargetP1P1(e5);
            worker.TargetP2P1(e6);
            worker.TargetP3P1(e7);
            worker.TargetP0P2(e8);
            worker.TargetP1P2(e9);
            worker.TargetP2P2(ea);
            worker.TargetP3P2(eb);
            worker.TargetP0P3(ec);
            worker.TargetP1P3(ed);
            worker.TargetP2P3(ee);
            worker.TargetP3P3(ef);
        }
예제 #2
0
    /// <summary>
    /// This is the XBR4x by Hyllian (see http://board.byuu.org/viewtopic.php?f=10&t=2248)
    /// </summary>
    public static void Xbr4X(PixelWorker<sPixel> worker, bool allowAlphaBlending) {
      Contract.Assume(worker != null);
      var a1 = worker.SourceM1M2();
      var b1 = worker.SourceP0M2();
      var c1 = worker.SourceP1M2();

      var a0 = worker.SourceM2M1();
      var pa = worker.SourceM1M1();
      var pb = worker.SourceP0M1();
      var pc = worker.SourceP1M1();
      var c4 = worker.SourceP2M1();

      var d0 = worker.SourceM2P0();
      var pd = worker.SourceM1P0();
      var pe = worker.SourceP0P0();
      var pf = worker.SourceP1P0();
      var f4 = worker.SourceP2P0();

      var g0 = worker.SourceM2P1();
      var pg = worker.SourceM1P1();
      var ph = worker.SourceP0P1();
      var pi = worker.SourceP1P1();
      var i4 = worker.SourceP2P1();

      var g5 = worker.SourceM1P2();
      var h5 = worker.SourceP0P2();
      var i5 = worker.SourceP1P2();

      sPixel e1, e2, e3, e4, e5, e6, e7, e8, e9, ea, eb, ec, ed, ee, ef;
      var e0 = e1 = e2 = e3 = e4 = e5 = e6 = e7 = e8 = e9 = ea = eb = ec = ed = ee = ef = pe;

      _Kernel4Xv2(pe, pi, ph, pf, pg, pc, pd, pb, f4, i4, h5, i5, ref ef, ref ee, ref eb, ref e3, ref e7, ref ea, ref ed, ref ec, allowAlphaBlending);
      _Kernel4Xv2(pe, pc, pf, pb, pi, pa, ph, pd, b1, c1, f4, c4, ref e3, ref e7, ref e2, ref e0, ref e1, ref e6, ref eb, ref ef, allowAlphaBlending);
      _Kernel4Xv2(pe, pa, pb, pd, pc, pg, pf, ph, d0, a0, b1, a1, ref e0, ref e1, ref e4, ref ec, ref e8, ref e5, ref e2, ref e3, allowAlphaBlending);
      _Kernel4Xv2(pe, pg, pd, ph, pa, pi, pb, pf, h5, g5, d0, g0, ref ec, ref e8, ref ed, ref ef, ref ee, ref e9, ref e4, ref e0, allowAlphaBlending);

      worker.TargetP0P0(e0);
      worker.TargetP1P0(e1);
      worker.TargetP2P0(e2);
      worker.TargetP3P0(e3);
      worker.TargetP0P1(e4);
      worker.TargetP1P1(e5);
      worker.TargetP2P1(e6);
      worker.TargetP3P1(e7);
      worker.TargetP0P2(e8);
      worker.TargetP1P2(e9);
      worker.TargetP2P2(ea);
      worker.TargetP3P2(eb);
      worker.TargetP0P3(ec);
      worker.TargetP1P3(ed);
      worker.TargetP2P3(ee);
      worker.TargetP3P3(ef);
    }
예제 #3
0
    public static void Hq4xKernel(byte pattern, sPixel c0, sPixel c1, sPixel c2, sPixel c3, sPixel c4, sPixel c5, sPixel c6, sPixel c7, sPixel c8, PixelWorker<sPixel> worker) {
      sPixel e01, e02, e03, e10, e11, e12, e13, e20, e21, e22, e23, e30, e31, e32, e33;
      var e00 = e01 = e02 = e03 = e10 = e11 = e12 = e13 = e20 = e21 = e22 = e23 = e30 = e31 = e32 = e33 = c4;
      switch (pattern) {
        #region HQ4x PATTERNS

        case 0:
        case 1:
        case 4:
        case 5:
        case 32:
        case 33:
        case 36:
        case 37:
        case 128:
        case 129:
        case 132:
        case 133:
        case 160:
        case 161:
        case 164:
        case 165: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
        }
        break;
        case 2:
        case 34:
        case 130:
        case 162: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
        }
        break;
        case 3:
        case 35:
        case 131:
        case 163: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
        }
        break;
        case 6:
        case 38:
        case 134:
        case 166: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
        }
        break;
        case 7:
        case 39:
        case 135:
        case 167: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
        }
        break;
        case 8:
        case 12:
        case 136:
        case 140: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
        }
        break;
        case 9:
        case 13:
        case 137:
        case 141: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
        }
        break;
        case 10:
        case 138: {
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          if (c1.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c0, 5, 3);
            e01 = sPixel.Interpolate(c4, c0, 3, 1);
            e10 = sPixel.Interpolate(c4, c0, 3, 1);
            e11 = sPixel.Interpolate(c4, c0, 7, 1);
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
            e11 = c4;
          }
        }
        break;
        case 11:
        case 139: {
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e11 = c4;
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
        }
        break;
        case 14:
        case 142: {
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          if (c1.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c0, 5, 3);
            e01 = sPixel.Interpolate(c4, c0, 3, 1);
            e02 = sPixel.Interpolate(c4, c5, 7, 1);
            e03 = sPixel.Interpolate(c4, c5, 5, 3);
            e10 = sPixel.Interpolate(c4, c0, 3, 1);
            e11 = sPixel.Interpolate(c4, c0, 7, 1);
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c3, 5, 3);
            e02 = sPixel.Interpolate(c1, c4, 3, 1);
            e03 = sPixel.Interpolate(c4, c1, 3, 1);
            e10 = sPixel.Interpolate(c3, c1, c4, 2, 1, 1);
            e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          }
        }
        break;
        case 15:
        case 143: {
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e02 = sPixel.Interpolate(c4, c5, 7, 1);
            e03 = sPixel.Interpolate(c4, c5, 5, 3);
            e10 = c4;
            e11 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c3, 5, 3);
            e02 = sPixel.Interpolate(c1, c4, 3, 1);
            e03 = sPixel.Interpolate(c4, c1, 3, 1);
            e10 = sPixel.Interpolate(c3, c1, c4, 2, 1, 1);
            e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          }
        }
        break;
        case 16:
        case 17:
        case 48:
        case 49: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 18:
        case 50: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c1.IsNotLike(c5)) {
            e02 = sPixel.Interpolate(c4, c2, 3, 1);
            e03 = sPixel.Interpolate(c4, c2, 5, 3);
            e12 = sPixel.Interpolate(c4, c2, 7, 1);
            e13 = sPixel.Interpolate(c4, c2, 3, 1);
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e12 = c4;
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 19:
        case 51: {
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c1.IsNotLike(c5)) {
            e00 = sPixel.Interpolate(c4, c3, 5, 3);
            e01 = sPixel.Interpolate(c4, c3, 7, 1);
            e02 = sPixel.Interpolate(c4, c2, 3, 1);
            e03 = sPixel.Interpolate(c4, c2, 5, 3);
            e12 = sPixel.Interpolate(c4, c2, 7, 1);
            e13 = sPixel.Interpolate(c4, c2, 3, 1);
          } else {
            e00 = sPixel.Interpolate(c4, c1, 3, 1);
            e01 = sPixel.Interpolate(c1, c4, 3, 1);
            e02 = sPixel.Interpolate(c1, c5, 5, 3);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
            e13 = sPixel.Interpolate(c5, c1, c4, 2, 1, 1);
          }
        }
        break;
        case 20:
        case 21:
        case 52:
        case 53: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 22:
        case 54: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = c4;
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 23:
        case 55: {
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c1.IsNotLike(c5)) {
            e00 = sPixel.Interpolate(c4, c3, 5, 3);
            e01 = sPixel.Interpolate(c4, c3, 7, 1);
            e02 = c4;
            e03 = c4;
            e12 = c4;
            e13 = c4;
          } else {
            e00 = sPixel.Interpolate(c4, c1, 3, 1);
            e01 = sPixel.Interpolate(c1, c4, 3, 1);
            e02 = sPixel.Interpolate(c1, c5, 5, 3);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
            e13 = sPixel.Interpolate(c5, c1, c4, 2, 1, 1);
          }
        }
        break;
        case 24: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 25: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 26:
        case 31: {
          e11 = c4;
          e12 = c4;
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 27: {
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e11 = c4;
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
        }
        break;
        case 28: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 29: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 30: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = c4;
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 40:
        case 44:
        case 168:
        case 172: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
        }
        break;
        case 41:
        case 45:
        case 169:
        case 173: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
        }
        break;
        case 42:
        case 170: {
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          if (c1.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c0, 5, 3);
            e01 = sPixel.Interpolate(c4, c0, 3, 1);
            e10 = sPixel.Interpolate(c4, c0, 3, 1);
            e11 = sPixel.Interpolate(c4, c0, 7, 1);
            e20 = sPixel.Interpolate(c4, c7, 7, 1);
            e30 = sPixel.Interpolate(c4, c7, 5, 3);
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c3, c4, 2, 1, 1);
            e10 = sPixel.Interpolate(c3, c1, 5, 3);
            e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
            e20 = sPixel.Interpolate(c3, c4, 3, 1);
            e30 = sPixel.Interpolate(c4, c3, 3, 1);
          }
        }
        break;
        case 43:
        case 171: {
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
            e11 = c4;
            e20 = sPixel.Interpolate(c4, c7, 7, 1);
            e30 = sPixel.Interpolate(c4, c7, 5, 3);
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c3, c4, 2, 1, 1);
            e10 = sPixel.Interpolate(c3, c1, 5, 3);
            e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
            e20 = sPixel.Interpolate(c3, c4, 3, 1);
            e30 = sPixel.Interpolate(c4, c3, 3, 1);
          }
        }
        break;
        case 46:
        case 174: {
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          if (c1.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c0, 5, 3);
            e01 = sPixel.Interpolate(c4, c0, 3, 1);
            e10 = sPixel.Interpolate(c4, c0, 3, 1);
            e11 = sPixel.Interpolate(c4, c0, 7, 1);
          } else {
            e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
            e01 = sPixel.Interpolate(c4, c1, 3, 1);
            e10 = sPixel.Interpolate(c4, c3, 3, 1);
            e11 = c4;
          }
        }
        break;
        case 47:
        case 175: {
          e01 = c4;
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e10 = c4;
          e11 = c4;
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
          e23 = sPixel.Interpolate(c4, c5, c7, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, c5, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          e00 = (c1.IsNotLike(c3)) ? (c4) : (sPixel.Interpolate(c4, c1, c3, 2, 1, 1));
        }
        break;
        case 56: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 57: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 58: {
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c1.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c0, 5, 3);
            e01 = sPixel.Interpolate(c4, c0, 3, 1);
            e10 = sPixel.Interpolate(c4, c0, 3, 1);
            e11 = sPixel.Interpolate(c4, c0, 7, 1);
          } else {
            e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
            e01 = sPixel.Interpolate(c4, c1, 3, 1);
            e10 = sPixel.Interpolate(c4, c3, 3, 1);
            e11 = c4;
          }
          if (c1.IsNotLike(c5)) {
            e02 = sPixel.Interpolate(c4, c2, 3, 1);
            e03 = sPixel.Interpolate(c4, c2, 5, 3);
            e12 = sPixel.Interpolate(c4, c2, 7, 1);
            e13 = sPixel.Interpolate(c4, c2, 3, 1);
          } else {
            e02 = sPixel.Interpolate(c4, c1, 3, 1);
            e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
            e12 = c4;
            e13 = sPixel.Interpolate(c4, c5, 3, 1);
          }
        }
        break;
        case 59: {
          e11 = c4;
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
          if (c1.IsNotLike(c5)) {
            e02 = sPixel.Interpolate(c4, c2, 3, 1);
            e03 = sPixel.Interpolate(c4, c2, 5, 3);
            e12 = sPixel.Interpolate(c4, c2, 7, 1);
            e13 = sPixel.Interpolate(c4, c2, 3, 1);
          } else {
            e02 = sPixel.Interpolate(c4, c1, 3, 1);
            e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
            e12 = c4;
            e13 = sPixel.Interpolate(c4, c5, 3, 1);
          }
        }
        break;
        case 60: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 61: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 62: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = c4;
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 63: {
          e01 = c4;
          e10 = c4;
          e11 = c4;
          e12 = c4;
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, c8, 5, 2, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          e00 = (c1.IsNotLike(c3)) ? (c4) : (sPixel.Interpolate(c4, c1, c3, 2, 1, 1));
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 64:
        case 65:
        case 68:
        case 69: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 66: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 67: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 70: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 71: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 72:
        case 76: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = sPixel.Interpolate(c4, c6, 3, 1);
            e21 = sPixel.Interpolate(c4, c6, 7, 1);
            e30 = sPixel.Interpolate(c4, c6, 5, 3);
            e31 = sPixel.Interpolate(c4, c6, 3, 1);
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e21 = c4;
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
        }
        break;
        case 73:
        case 77: {
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c7.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c1, 5, 3);
            e10 = sPixel.Interpolate(c4, c1, 7, 1);
            e20 = sPixel.Interpolate(c4, c6, 3, 1);
            e21 = sPixel.Interpolate(c4, c6, 7, 1);
            e30 = sPixel.Interpolate(c4, c6, 5, 3);
            e31 = sPixel.Interpolate(c4, c6, 3, 1);
          } else {
            e00 = sPixel.Interpolate(c4, c3, 3, 1);
            e10 = sPixel.Interpolate(c3, c4, 3, 1);
            e20 = sPixel.Interpolate(c3, c7, 5, 3);
            e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c7, c3, c4, 2, 1, 1);
          }
        }
        break;
        case 74:
        case 107: {
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e11 = c4;
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e21 = c4;
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
        }
        break;
        case 75: {
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e11 = c4;
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
        }
        break;
        case 78: {
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = sPixel.Interpolate(c4, c6, 3, 1);
            e21 = sPixel.Interpolate(c4, c6, 7, 1);
            e30 = sPixel.Interpolate(c4, c6, 5, 3);
            e31 = sPixel.Interpolate(c4, c6, 3, 1);
          } else {
            e20 = sPixel.Interpolate(c4, c3, 3, 1);
            e21 = c4;
            e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 3, 1);
          }
          if (c1.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c0, 5, 3);
            e01 = sPixel.Interpolate(c4, c0, 3, 1);
            e10 = sPixel.Interpolate(c4, c0, 3, 1);
            e11 = sPixel.Interpolate(c4, c0, 7, 1);
          } else {
            e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
            e01 = sPixel.Interpolate(c4, c1, 3, 1);
            e10 = sPixel.Interpolate(c4, c3, 3, 1);
            e11 = c4;
          }
        }
        break;
        case 79: {
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e11 = c4;
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = sPixel.Interpolate(c4, c6, 3, 1);
            e21 = sPixel.Interpolate(c4, c6, 7, 1);
            e30 = sPixel.Interpolate(c4, c6, 5, 3);
            e31 = sPixel.Interpolate(c4, c6, 3, 1);
          } else {
            e20 = sPixel.Interpolate(c4, c3, 3, 1);
            e21 = c4;
            e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 3, 1);
          }
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
        }
        break;
        case 80:
        case 81: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          if (c7.IsNotLike(c5)) {
            e22 = sPixel.Interpolate(c4, c8, 7, 1);
            e23 = sPixel.Interpolate(c4, c8, 3, 1);
            e32 = sPixel.Interpolate(c4, c8, 3, 1);
            e33 = sPixel.Interpolate(c4, c8, 5, 3);
          } else {
            e22 = c4;
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
        }
        break;
        case 82:
        case 214: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = c4;
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = c4;
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 83: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          if (c7.IsNotLike(c5)) {
            e22 = sPixel.Interpolate(c4, c8, 7, 1);
            e23 = sPixel.Interpolate(c4, c8, 3, 1);
            e32 = sPixel.Interpolate(c4, c8, 3, 1);
            e33 = sPixel.Interpolate(c4, c8, 5, 3);
          } else {
            e22 = c4;
            e23 = sPixel.Interpolate(c4, c5, 3, 1);
            e32 = sPixel.Interpolate(c4, c7, 3, 1);
            e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          }
          if (c1.IsNotLike(c5)) {
            e02 = sPixel.Interpolate(c4, c2, 3, 1);
            e03 = sPixel.Interpolate(c4, c2, 5, 3);
            e12 = sPixel.Interpolate(c4, c2, 7, 1);
            e13 = sPixel.Interpolate(c4, c2, 3, 1);
          } else {
            e02 = sPixel.Interpolate(c4, c1, 3, 1);
            e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
            e12 = c4;
            e13 = sPixel.Interpolate(c4, c5, 3, 1);
          }
        }
        break;
        case 84:
        case 85: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          if (c7.IsNotLike(c5)) {
            e03 = sPixel.Interpolate(c4, c1, 5, 3);
            e13 = sPixel.Interpolate(c4, c1, 7, 1);
            e22 = sPixel.Interpolate(c4, c8, 7, 1);
            e23 = sPixel.Interpolate(c4, c8, 3, 1);
            e32 = sPixel.Interpolate(c4, c8, 3, 1);
            e33 = sPixel.Interpolate(c4, c8, 5, 3);
          } else {
            e03 = sPixel.Interpolate(c4, c5, 3, 1);
            e13 = sPixel.Interpolate(c5, c4, 3, 1);
            e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
            e23 = sPixel.Interpolate(c5, c7, 5, 3);
            e32 = sPixel.Interpolate(c7, c4, c5, 2, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
        }
        break;
        case 86: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = c4;
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 87: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e12 = c4;
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          if (c7.IsNotLike(c5)) {
            e22 = sPixel.Interpolate(c4, c8, 7, 1);
            e23 = sPixel.Interpolate(c4, c8, 3, 1);
            e32 = sPixel.Interpolate(c4, c8, 3, 1);
            e33 = sPixel.Interpolate(c4, c8, 5, 3);
          } else {
            e22 = c4;
            e23 = sPixel.Interpolate(c4, c5, 3, 1);
            e32 = sPixel.Interpolate(c4, c7, 3, 1);
            e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          }
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 88:
        case 248: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e21 = c4;
          e22 = c4;
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
        }
        break;
        case 89: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          if (c7.IsNotLike(c3)) {
            e20 = sPixel.Interpolate(c4, c6, 3, 1);
            e21 = sPixel.Interpolate(c4, c6, 7, 1);
            e30 = sPixel.Interpolate(c4, c6, 5, 3);
            e31 = sPixel.Interpolate(c4, c6, 3, 1);
          } else {
            e20 = sPixel.Interpolate(c4, c3, 3, 1);
            e21 = c4;
            e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 3, 1);
          }
          if (c7.IsNotLike(c5)) {
            e22 = sPixel.Interpolate(c4, c8, 7, 1);
            e23 = sPixel.Interpolate(c4, c8, 3, 1);
            e32 = sPixel.Interpolate(c4, c8, 3, 1);
            e33 = sPixel.Interpolate(c4, c8, 5, 3);
          } else {
            e22 = c4;
            e23 = sPixel.Interpolate(c4, c5, 3, 1);
            e32 = sPixel.Interpolate(c4, c7, 3, 1);
            e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          }
        }
        break;
        case 90: {
          if (c7.IsNotLike(c3)) {
            e20 = sPixel.Interpolate(c4, c6, 3, 1);
            e21 = sPixel.Interpolate(c4, c6, 7, 1);
            e30 = sPixel.Interpolate(c4, c6, 5, 3);
            e31 = sPixel.Interpolate(c4, c6, 3, 1);
          } else {
            e20 = sPixel.Interpolate(c4, c3, 3, 1);
            e21 = c4;
            e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 3, 1);
          }
          if (c7.IsNotLike(c5)) {
            e22 = sPixel.Interpolate(c4, c8, 7, 1);
            e23 = sPixel.Interpolate(c4, c8, 3, 1);
            e32 = sPixel.Interpolate(c4, c8, 3, 1);
            e33 = sPixel.Interpolate(c4, c8, 5, 3);
          } else {
            e22 = c4;
            e23 = sPixel.Interpolate(c4, c5, 3, 1);
            e32 = sPixel.Interpolate(c4, c7, 3, 1);
            e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          }
          if (c1.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c0, 5, 3);
            e01 = sPixel.Interpolate(c4, c0, 3, 1);
            e10 = sPixel.Interpolate(c4, c0, 3, 1);
            e11 = sPixel.Interpolate(c4, c0, 7, 1);
          } else {
            e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
            e01 = sPixel.Interpolate(c4, c1, 3, 1);
            e10 = sPixel.Interpolate(c4, c3, 3, 1);
            e11 = c4;
          }
          if (c1.IsNotLike(c5)) {
            e02 = sPixel.Interpolate(c4, c2, 3, 1);
            e03 = sPixel.Interpolate(c4, c2, 5, 3);
            e12 = sPixel.Interpolate(c4, c2, 7, 1);
            e13 = sPixel.Interpolate(c4, c2, 3, 1);
          } else {
            e02 = sPixel.Interpolate(c4, c1, 3, 1);
            e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
            e12 = c4;
            e13 = sPixel.Interpolate(c4, c5, 3, 1);
          }
        }
        break;
        case 91: {
          e11 = c4;
          if (c7.IsNotLike(c3)) {
            e20 = sPixel.Interpolate(c4, c6, 3, 1);
            e21 = sPixel.Interpolate(c4, c6, 7, 1);
            e30 = sPixel.Interpolate(c4, c6, 5, 3);
            e31 = sPixel.Interpolate(c4, c6, 3, 1);
          } else {
            e20 = sPixel.Interpolate(c4, c3, 3, 1);
            e21 = c4;
            e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 3, 1);
          }
          if (c7.IsNotLike(c5)) {
            e22 = sPixel.Interpolate(c4, c8, 7, 1);
            e23 = sPixel.Interpolate(c4, c8, 3, 1);
            e32 = sPixel.Interpolate(c4, c8, 3, 1);
            e33 = sPixel.Interpolate(c4, c8, 5, 3);
          } else {
            e22 = c4;
            e23 = sPixel.Interpolate(c4, c5, 3, 1);
            e32 = sPixel.Interpolate(c4, c7, 3, 1);
            e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          }
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
          if (c1.IsNotLike(c5)) {
            e02 = sPixel.Interpolate(c4, c2, 3, 1);
            e03 = sPixel.Interpolate(c4, c2, 5, 3);
            e12 = sPixel.Interpolate(c4, c2, 7, 1);
            e13 = sPixel.Interpolate(c4, c2, 3, 1);
          } else {
            e02 = sPixel.Interpolate(c4, c1, 3, 1);
            e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
            e12 = c4;
            e13 = sPixel.Interpolate(c4, c5, 3, 1);
          }
        }
        break;
        case 92: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          if (c7.IsNotLike(c3)) {
            e20 = sPixel.Interpolate(c4, c6, 3, 1);
            e21 = sPixel.Interpolate(c4, c6, 7, 1);
            e30 = sPixel.Interpolate(c4, c6, 5, 3);
            e31 = sPixel.Interpolate(c4, c6, 3, 1);
          } else {
            e20 = sPixel.Interpolate(c4, c3, 3, 1);
            e21 = c4;
            e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 3, 1);
          }
          if (c7.IsNotLike(c5)) {
            e22 = sPixel.Interpolate(c4, c8, 7, 1);
            e23 = sPixel.Interpolate(c4, c8, 3, 1);
            e32 = sPixel.Interpolate(c4, c8, 3, 1);
            e33 = sPixel.Interpolate(c4, c8, 5, 3);
          } else {
            e22 = c4;
            e23 = sPixel.Interpolate(c4, c5, 3, 1);
            e32 = sPixel.Interpolate(c4, c7, 3, 1);
            e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          }
        }
        break;
        case 93: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          if (c7.IsNotLike(c3)) {
            e20 = sPixel.Interpolate(c4, c6, 3, 1);
            e21 = sPixel.Interpolate(c4, c6, 7, 1);
            e30 = sPixel.Interpolate(c4, c6, 5, 3);
            e31 = sPixel.Interpolate(c4, c6, 3, 1);
          } else {
            e20 = sPixel.Interpolate(c4, c3, 3, 1);
            e21 = c4;
            e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 3, 1);
          }
          if (c7.IsNotLike(c5)) {
            e22 = sPixel.Interpolate(c4, c8, 7, 1);
            e23 = sPixel.Interpolate(c4, c8, 3, 1);
            e32 = sPixel.Interpolate(c4, c8, 3, 1);
            e33 = sPixel.Interpolate(c4, c8, 5, 3);
          } else {
            e22 = c4;
            e23 = sPixel.Interpolate(c4, c5, 3, 1);
            e32 = sPixel.Interpolate(c4, c7, 3, 1);
            e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          }
        }
        break;
        case 94: {
          e12 = c4;
          if (c7.IsNotLike(c3)) {
            e20 = sPixel.Interpolate(c4, c6, 3, 1);
            e21 = sPixel.Interpolate(c4, c6, 7, 1);
            e30 = sPixel.Interpolate(c4, c6, 5, 3);
            e31 = sPixel.Interpolate(c4, c6, 3, 1);
          } else {
            e20 = sPixel.Interpolate(c4, c3, 3, 1);
            e21 = c4;
            e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 3, 1);
          }
          if (c7.IsNotLike(c5)) {
            e22 = sPixel.Interpolate(c4, c8, 7, 1);
            e23 = sPixel.Interpolate(c4, c8, 3, 1);
            e32 = sPixel.Interpolate(c4, c8, 3, 1);
            e33 = sPixel.Interpolate(c4, c8, 5, 3);
          } else {
            e22 = c4;
            e23 = sPixel.Interpolate(c4, c5, 3, 1);
            e32 = sPixel.Interpolate(c4, c7, 3, 1);
            e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          }
          if (c1.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c0, 5, 3);
            e01 = sPixel.Interpolate(c4, c0, 3, 1);
            e10 = sPixel.Interpolate(c4, c0, 3, 1);
            e11 = sPixel.Interpolate(c4, c0, 7, 1);
          } else {
            e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
            e01 = sPixel.Interpolate(c4, c1, 3, 1);
            e10 = sPixel.Interpolate(c4, c3, 3, 1);
            e11 = c4;
          }
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 95: {
          e11 = c4;
          e12 = c4;
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 96:
        case 97:
        case 100:
        case 101: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 98: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 99: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 102: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 103: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
        }
        break;
        case 104:
        case 108: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e21 = c4;
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
        }
        break;
        case 105:
        case 109: {
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c7.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c1, 5, 3);
            e10 = sPixel.Interpolate(c4, c1, 7, 1);
            e20 = c4;
            e21 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e00 = sPixel.Interpolate(c4, c3, 3, 1);
            e10 = sPixel.Interpolate(c3, c4, 3, 1);
            e20 = sPixel.Interpolate(c3, c7, 5, 3);
            e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c7, c3, c4, 2, 1, 1);
          }
        }
        break;
        case 106: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e21 = c4;
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
        }
        break;
        case 110: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e21 = c4;
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
        }
        break;
        case 111: {
          e01 = c4;
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e10 = c4;
          e11 = c4;
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e21 = c4;
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, c8, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
          e00 = (c1.IsNotLike(c3)) ? (c4) : (sPixel.Interpolate(c4, c1, c3, 2, 1, 1));
        }
        break;
        case 112:
        case 113: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          if (c7.IsNotLike(c5)) {
            e22 = sPixel.Interpolate(c4, c8, 7, 1);
            e23 = sPixel.Interpolate(c4, c8, 3, 1);
            e30 = sPixel.Interpolate(c4, c3, 5, 3);
            e31 = sPixel.Interpolate(c4, c3, 7, 1);
            e32 = sPixel.Interpolate(c4, c8, 3, 1);
            e33 = sPixel.Interpolate(c4, c8, 5, 3);
          } else {
            e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
            e23 = sPixel.Interpolate(c5, c4, c7, 2, 1, 1);
            e30 = sPixel.Interpolate(c4, c7, 3, 1);
            e31 = sPixel.Interpolate(c7, c4, 3, 1);
            e32 = sPixel.Interpolate(c7, c5, 5, 3);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
        }
        break;
        case 114: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          if (c7.IsNotLike(c5)) {
            e22 = sPixel.Interpolate(c4, c8, 7, 1);
            e23 = sPixel.Interpolate(c4, c8, 3, 1);
            e32 = sPixel.Interpolate(c4, c8, 3, 1);
            e33 = sPixel.Interpolate(c4, c8, 5, 3);
          } else {
            e22 = c4;
            e23 = sPixel.Interpolate(c4, c5, 3, 1);
            e32 = sPixel.Interpolate(c4, c7, 3, 1);
            e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          }
          if (c1.IsNotLike(c5)) {
            e02 = sPixel.Interpolate(c4, c2, 3, 1);
            e03 = sPixel.Interpolate(c4, c2, 5, 3);
            e12 = sPixel.Interpolate(c4, c2, 7, 1);
            e13 = sPixel.Interpolate(c4, c2, 3, 1);
          } else {
            e02 = sPixel.Interpolate(c4, c1, 3, 1);
            e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
            e12 = c4;
            e13 = sPixel.Interpolate(c4, c5, 3, 1);
          }
        }
        break;
        case 115: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          if (c7.IsNotLike(c5)) {
            e22 = sPixel.Interpolate(c4, c8, 7, 1);
            e23 = sPixel.Interpolate(c4, c8, 3, 1);
            e32 = sPixel.Interpolate(c4, c8, 3, 1);
            e33 = sPixel.Interpolate(c4, c8, 5, 3);
          } else {
            e22 = c4;
            e23 = sPixel.Interpolate(c4, c5, 3, 1);
            e32 = sPixel.Interpolate(c4, c7, 3, 1);
            e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          }
          if (c1.IsNotLike(c5)) {
            e02 = sPixel.Interpolate(c4, c2, 3, 1);
            e03 = sPixel.Interpolate(c4, c2, 5, 3);
            e12 = sPixel.Interpolate(c4, c2, 7, 1);
            e13 = sPixel.Interpolate(c4, c2, 3, 1);
          } else {
            e02 = sPixel.Interpolate(c4, c1, 3, 1);
            e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
            e12 = c4;
            e13 = sPixel.Interpolate(c4, c5, 3, 1);
          }
        }
        break;
        case 116:
        case 117: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          if (c7.IsNotLike(c5)) {
            e22 = sPixel.Interpolate(c4, c8, 7, 1);
            e23 = sPixel.Interpolate(c4, c8, 3, 1);
            e32 = sPixel.Interpolate(c4, c8, 3, 1);
            e33 = sPixel.Interpolate(c4, c8, 5, 3);
          } else {
            e22 = c4;
            e23 = sPixel.Interpolate(c4, c5, 3, 1);
            e32 = sPixel.Interpolate(c4, c7, 3, 1);
            e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          }
        }
        break;
        case 118: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = c4;
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 119: {
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c1.IsNotLike(c5)) {
            e00 = sPixel.Interpolate(c4, c3, 5, 3);
            e01 = sPixel.Interpolate(c4, c3, 7, 1);
            e02 = c4;
            e03 = c4;
            e12 = c4;
            e13 = c4;
          } else {
            e00 = sPixel.Interpolate(c4, c1, 3, 1);
            e01 = sPixel.Interpolate(c1, c4, 3, 1);
            e02 = sPixel.Interpolate(c1, c5, 5, 3);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
            e13 = sPixel.Interpolate(c5, c1, c4, 2, 1, 1);
          }
        }
        break;
        case 120: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e21 = c4;
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
        }
        break;
        case 121: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e21 = c4;
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
          if (c7.IsNotLike(c5)) {
            e22 = sPixel.Interpolate(c4, c8, 7, 1);
            e23 = sPixel.Interpolate(c4, c8, 3, 1);
            e32 = sPixel.Interpolate(c4, c8, 3, 1);
            e33 = sPixel.Interpolate(c4, c8, 5, 3);
          } else {
            e22 = c4;
            e23 = sPixel.Interpolate(c4, c5, 3, 1);
            e32 = sPixel.Interpolate(c4, c7, 3, 1);
            e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          }
        }
        break;
        case 122: {
          e21 = c4;
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
          if (c7.IsNotLike(c5)) {
            e22 = sPixel.Interpolate(c4, c8, 7, 1);
            e23 = sPixel.Interpolate(c4, c8, 3, 1);
            e32 = sPixel.Interpolate(c4, c8, 3, 1);
            e33 = sPixel.Interpolate(c4, c8, 5, 3);
          } else {
            e22 = c4;
            e23 = sPixel.Interpolate(c4, c5, 3, 1);
            e32 = sPixel.Interpolate(c4, c7, 3, 1);
            e33 = sPixel.Interpolate(c4, c5, c7, 2, 1, 1);
          }
          if (c1.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c0, 5, 3);
            e01 = sPixel.Interpolate(c4, c0, 3, 1);
            e10 = sPixel.Interpolate(c4, c0, 3, 1);
            e11 = sPixel.Interpolate(c4, c0, 7, 1);
          } else {
            e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
            e01 = sPixel.Interpolate(c4, c1, 3, 1);
            e10 = sPixel.Interpolate(c4, c3, 3, 1);
            e11 = c4;
          }
          if (c1.IsNotLike(c5)) {
            e02 = sPixel.Interpolate(c4, c2, 3, 1);
            e03 = sPixel.Interpolate(c4, c2, 5, 3);
            e12 = sPixel.Interpolate(c4, c2, 7, 1);
            e13 = sPixel.Interpolate(c4, c2, 3, 1);
          } else {
            e02 = sPixel.Interpolate(c4, c1, 3, 1);
            e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
            e12 = c4;
            e13 = sPixel.Interpolate(c4, c5, 3, 1);
          }
        }
        break;
        case 123: {
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e11 = c4;
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e21 = c4;
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
        }
        break;
        case 124: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e21 = c4;
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
        }
        break;
        case 125: {
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c7.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c1, 5, 3);
            e10 = sPixel.Interpolate(c4, c1, 7, 1);
            e20 = c4;
            e21 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e00 = sPixel.Interpolate(c4, c3, 3, 1);
            e10 = sPixel.Interpolate(c3, c4, 3, 1);
            e20 = sPixel.Interpolate(c3, c7, 5, 3);
            e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c7, c3, c4, 2, 1, 1);
          }
        }
        break;
        case 126: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = c4;
          e21 = c4;
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 127: {
          e01 = c4;
          e10 = c4;
          e11 = c4;
          e12 = c4;
          e21 = c4;
          e22 = sPixel.Interpolate(c4, c8, 7, 1);
          e23 = sPixel.Interpolate(c4, c8, 3, 1);
          e32 = sPixel.Interpolate(c4, c8, 3, 1);
          e33 = sPixel.Interpolate(c4, c8, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
          e00 = (c1.IsNotLike(c3)) ? (c4) : (sPixel.Interpolate(c4, c1, c3, 2, 1, 1));
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 144:
        case 145:
        case 176:
        case 177: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
        }
        break;
        case 146:
        case 178: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          if (c1.IsNotLike(c5)) {
            e02 = sPixel.Interpolate(c4, c2, 3, 1);
            e03 = sPixel.Interpolate(c4, c2, 5, 3);
            e12 = sPixel.Interpolate(c4, c2, 7, 1);
            e13 = sPixel.Interpolate(c4, c2, 3, 1);
            e23 = sPixel.Interpolate(c4, c7, 7, 1);
            e33 = sPixel.Interpolate(c4, c7, 5, 3);
          } else {
            e02 = sPixel.Interpolate(c1, c4, c5, 2, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
            e13 = sPixel.Interpolate(c5, c1, 5, 3);
            e23 = sPixel.Interpolate(c5, c4, 3, 1);
            e33 = sPixel.Interpolate(c4, c5, 3, 1);
          }
        }
        break;
        case 147:
        case 179: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
          if (c1.IsNotLike(c5)) {
            e02 = sPixel.Interpolate(c4, c2, 3, 1);
            e03 = sPixel.Interpolate(c4, c2, 5, 3);
            e12 = sPixel.Interpolate(c4, c2, 7, 1);
            e13 = sPixel.Interpolate(c4, c2, 3, 1);
          } else {
            e02 = sPixel.Interpolate(c4, c1, 3, 1);
            e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
            e12 = c4;
            e13 = sPixel.Interpolate(c4, c5, 3, 1);
          }
        }
        break;
        case 148:
        case 149:
        case 180:
        case 181: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
        }
        break;
        case 150:
        case 182: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e12 = c4;
            e13 = c4;
            e23 = sPixel.Interpolate(c4, c7, 7, 1);
            e33 = sPixel.Interpolate(c4, c7, 5, 3);
          } else {
            e02 = sPixel.Interpolate(c1, c4, c5, 2, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
            e13 = sPixel.Interpolate(c5, c1, 5, 3);
            e23 = sPixel.Interpolate(c5, c4, 3, 1);
            e33 = sPixel.Interpolate(c4, c5, 3, 1);
          }
        }
        break;
        case 151:
        case 183: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e02 = c4;
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e12 = c4;
          e13 = c4;
          e20 = sPixel.Interpolate(c4, c3, c7, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
          e31 = sPixel.Interpolate(c4, c7, c3, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
          e03 = (c1.IsNotLike(c5)) ? (c4) : (sPixel.Interpolate(c4, c1, c5, 2, 1, 1));
        }
        break;
        case 152: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
        }
        break;
        case 153: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
        }
        break;
        case 154: {
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
          if (c1.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c0, 5, 3);
            e01 = sPixel.Interpolate(c4, c0, 3, 1);
            e10 = sPixel.Interpolate(c4, c0, 3, 1);
            e11 = sPixel.Interpolate(c4, c0, 7, 1);
          } else {
            e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
            e01 = sPixel.Interpolate(c4, c1, 3, 1);
            e10 = sPixel.Interpolate(c4, c3, 3, 1);
            e11 = c4;
          }
          if (c1.IsNotLike(c5)) {
            e02 = sPixel.Interpolate(c4, c2, 3, 1);
            e03 = sPixel.Interpolate(c4, c2, 5, 3);
            e12 = sPixel.Interpolate(c4, c2, 7, 1);
            e13 = sPixel.Interpolate(c4, c2, 3, 1);
          } else {
            e02 = sPixel.Interpolate(c4, c1, 3, 1);
            e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
            e12 = c4;
            e13 = sPixel.Interpolate(c4, c5, 3, 1);
          }
        }
        break;
        case 155: {
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e11 = c4;
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
        }
        break;
        case 156: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
        }
        break;
        case 157: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
        }
        break;
        case 158: {
          e12 = c4;
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
          if (c1.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c0, 5, 3);
            e01 = sPixel.Interpolate(c4, c0, 3, 1);
            e10 = sPixel.Interpolate(c4, c0, 3, 1);
            e11 = sPixel.Interpolate(c4, c0, 7, 1);
          } else {
            e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
            e01 = sPixel.Interpolate(c4, c1, 3, 1);
            e10 = sPixel.Interpolate(c4, c3, 3, 1);
            e11 = c4;
          }
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 159: {
          e02 = c4;
          e11 = c4;
          e12 = c4;
          e13 = c4;
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, c6, 5, 2, 1);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
          e03 = (c1.IsNotLike(c5)) ? (c4) : (sPixel.Interpolate(c4, c1, c5, 2, 1, 1));
        }
        break;
        case 184: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
        }
        break;
        case 185: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
        }
        break;
        case 186: {
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
          if (c1.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c0, 5, 3);
            e01 = sPixel.Interpolate(c4, c0, 3, 1);
            e10 = sPixel.Interpolate(c4, c0, 3, 1);
            e11 = sPixel.Interpolate(c4, c0, 7, 1);
          } else {
            e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
            e01 = sPixel.Interpolate(c4, c1, 3, 1);
            e10 = sPixel.Interpolate(c4, c3, 3, 1);
            e11 = c4;
          }
          if (c1.IsNotLike(c5)) {
            e02 = sPixel.Interpolate(c4, c2, 3, 1);
            e03 = sPixel.Interpolate(c4, c2, 5, 3);
            e12 = sPixel.Interpolate(c4, c2, 7, 1);
            e13 = sPixel.Interpolate(c4, c2, 3, 1);
          } else {
            e02 = sPixel.Interpolate(c4, c1, 3, 1);
            e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
            e12 = c4;
            e13 = sPixel.Interpolate(c4, c5, 3, 1);
          }
        }
        break;
        case 187: {
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
            e11 = c4;
            e20 = sPixel.Interpolate(c4, c7, 7, 1);
            e30 = sPixel.Interpolate(c4, c7, 5, 3);
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c3, c4, 2, 1, 1);
            e10 = sPixel.Interpolate(c3, c1, 5, 3);
            e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
            e20 = sPixel.Interpolate(c3, c4, 3, 1);
            e30 = sPixel.Interpolate(c4, c3, 3, 1);
          }
        }
        break;
        case 188: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
        }
        break;
        case 189: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
        }
        break;
        case 190: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e12 = c4;
            e13 = c4;
            e23 = sPixel.Interpolate(c4, c7, 7, 1);
            e33 = sPixel.Interpolate(c4, c7, 5, 3);
          } else {
            e02 = sPixel.Interpolate(c1, c4, c5, 2, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
            e13 = sPixel.Interpolate(c5, c1, 5, 3);
            e23 = sPixel.Interpolate(c5, c4, 3, 1);
            e33 = sPixel.Interpolate(c4, c5, 3, 1);
          }
        }
        break;
        case 191: {
          e01 = c4;
          e02 = c4;
          e10 = c4;
          e11 = c4;
          e12 = c4;
          e13 = c4;
          e20 = sPixel.Interpolate(c4, c7, 7, 1);
          e21 = sPixel.Interpolate(c4, c7, 7, 1);
          e22 = sPixel.Interpolate(c4, c7, 7, 1);
          e23 = sPixel.Interpolate(c4, c7, 7, 1);
          e30 = sPixel.Interpolate(c4, c7, 5, 3);
          e31 = sPixel.Interpolate(c4, c7, 5, 3);
          e32 = sPixel.Interpolate(c4, c7, 5, 3);
          e33 = sPixel.Interpolate(c4, c7, 5, 3);
          e00 = (c1.IsNotLike(c3)) ? (c4) : (sPixel.Interpolate(c4, c1, c3, 2, 1, 1));
          e03 = (c1.IsNotLike(c5)) ? (c4) : (sPixel.Interpolate(c4, c1, c5, 2, 1, 1));
        }
        break;
        case 192:
        case 193:
        case 196:
        case 197: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
        }
        break;
        case 194: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
        }
        break;
        case 195: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
        }
        break;
        case 198: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
        }
        break;
        case 199: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
        }
        break;
        case 200:
        case 204: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = sPixel.Interpolate(c4, c6, 3, 1);
            e21 = sPixel.Interpolate(c4, c6, 7, 1);
            e30 = sPixel.Interpolate(c4, c6, 5, 3);
            e31 = sPixel.Interpolate(c4, c6, 3, 1);
            e32 = sPixel.Interpolate(c4, c5, 7, 1);
            e33 = sPixel.Interpolate(c4, c5, 5, 3);
          } else {
            e20 = sPixel.Interpolate(c3, c4, c7, 2, 1, 1);
            e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c7, c3, 5, 3);
            e32 = sPixel.Interpolate(c7, c4, 3, 1);
            e33 = sPixel.Interpolate(c4, c7, 3, 1);
          }
        }
        break;
        case 201:
        case 205: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = sPixel.Interpolate(c4, c6, 3, 1);
            e21 = sPixel.Interpolate(c4, c6, 7, 1);
            e30 = sPixel.Interpolate(c4, c6, 5, 3);
            e31 = sPixel.Interpolate(c4, c6, 3, 1);
          } else {
            e20 = sPixel.Interpolate(c4, c3, 3, 1);
            e21 = c4;
            e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 3, 1);
          }
        }
        break;
        case 202: {
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = sPixel.Interpolate(c4, c6, 3, 1);
            e21 = sPixel.Interpolate(c4, c6, 7, 1);
            e30 = sPixel.Interpolate(c4, c6, 5, 3);
            e31 = sPixel.Interpolate(c4, c6, 3, 1);
          } else {
            e20 = sPixel.Interpolate(c4, c3, 3, 1);
            e21 = c4;
            e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 3, 1);
          }
          if (c1.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c0, 5, 3);
            e01 = sPixel.Interpolate(c4, c0, 3, 1);
            e10 = sPixel.Interpolate(c4, c0, 3, 1);
            e11 = sPixel.Interpolate(c4, c0, 7, 1);
          } else {
            e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
            e01 = sPixel.Interpolate(c4, c1, 3, 1);
            e10 = sPixel.Interpolate(c4, c3, 3, 1);
            e11 = c4;
          }
        }
        break;
        case 203: {
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e11 = c4;
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
        }
        break;
        case 206: {
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = sPixel.Interpolate(c4, c6, 3, 1);
            e21 = sPixel.Interpolate(c4, c6, 7, 1);
            e30 = sPixel.Interpolate(c4, c6, 5, 3);
            e31 = sPixel.Interpolate(c4, c6, 3, 1);
          } else {
            e20 = sPixel.Interpolate(c4, c3, 3, 1);
            e21 = c4;
            e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 3, 1);
          }
          if (c1.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c0, 5, 3);
            e01 = sPixel.Interpolate(c4, c0, 3, 1);
            e10 = sPixel.Interpolate(c4, c0, 3, 1);
            e11 = sPixel.Interpolate(c4, c0, 7, 1);
          } else {
            e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
            e01 = sPixel.Interpolate(c4, c1, 3, 1);
            e10 = sPixel.Interpolate(c4, c3, 3, 1);
            e11 = c4;
          }
        }
        break;
        case 207: {
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e02 = sPixel.Interpolate(c4, c5, 7, 1);
            e03 = sPixel.Interpolate(c4, c5, 5, 3);
            e10 = c4;
            e11 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c3, 5, 3);
            e02 = sPixel.Interpolate(c1, c4, 3, 1);
            e03 = sPixel.Interpolate(c4, c1, 3, 1);
            e10 = sPixel.Interpolate(c3, c1, c4, 2, 1, 1);
            e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          }
        }
        break;
        case 208:
        case 209: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = c4;
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
        }
        break;
        case 210: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = c4;
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
        }
        break;
        case 211: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = c4;
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
        }
        break;
        case 212:
        case 213: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          if (c7.IsNotLike(c5)) {
            e03 = sPixel.Interpolate(c4, c1, 5, 3);
            e13 = sPixel.Interpolate(c4, c1, 7, 1);
            e22 = c4;
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e03 = sPixel.Interpolate(c4, c5, 3, 1);
            e13 = sPixel.Interpolate(c5, c4, 3, 1);
            e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
            e23 = sPixel.Interpolate(c5, c7, 5, 3);
            e32 = sPixel.Interpolate(c7, c4, c5, 2, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
        }
        break;
        case 215: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e02 = c4;
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e12 = c4;
          e13 = c4;
          e20 = sPixel.Interpolate(c4, c3, c6, 5, 2, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = c4;
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
          e03 = (c1.IsNotLike(c5)) ? (c4) : (sPixel.Interpolate(c4, c1, c5, 2, 1, 1));
        }
        break;
        case 216: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = c4;
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
        }
        break;
        case 217: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = c4;
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
        }
        break;
        case 218: {
          e22 = c4;
          if (c7.IsNotLike(c3)) {
            e20 = sPixel.Interpolate(c4, c6, 3, 1);
            e21 = sPixel.Interpolate(c4, c6, 7, 1);
            e30 = sPixel.Interpolate(c4, c6, 5, 3);
            e31 = sPixel.Interpolate(c4, c6, 3, 1);
          } else {
            e20 = sPixel.Interpolate(c4, c3, 3, 1);
            e21 = c4;
            e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 3, 1);
          }
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
          if (c1.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c0, 5, 3);
            e01 = sPixel.Interpolate(c4, c0, 3, 1);
            e10 = sPixel.Interpolate(c4, c0, 3, 1);
            e11 = sPixel.Interpolate(c4, c0, 7, 1);
          } else {
            e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
            e01 = sPixel.Interpolate(c4, c1, 3, 1);
            e10 = sPixel.Interpolate(c4, c3, 3, 1);
            e11 = c4;
          }
          if (c1.IsNotLike(c5)) {
            e02 = sPixel.Interpolate(c4, c2, 3, 1);
            e03 = sPixel.Interpolate(c4, c2, 5, 3);
            e12 = sPixel.Interpolate(c4, c2, 7, 1);
            e13 = sPixel.Interpolate(c4, c2, 3, 1);
          } else {
            e02 = sPixel.Interpolate(c4, c1, 3, 1);
            e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
            e12 = c4;
            e13 = sPixel.Interpolate(c4, c5, 3, 1);
          }
        }
        break;
        case 219: {
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e11 = c4;
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = c4;
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
        }
        break;
        case 220: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e22 = c4;
          if (c7.IsNotLike(c3)) {
            e20 = sPixel.Interpolate(c4, c6, 3, 1);
            e21 = sPixel.Interpolate(c4, c6, 7, 1);
            e30 = sPixel.Interpolate(c4, c6, 5, 3);
            e31 = sPixel.Interpolate(c4, c6, 3, 1);
          } else {
            e20 = sPixel.Interpolate(c4, c3, 3, 1);
            e21 = c4;
            e30 = sPixel.Interpolate(c4, c3, c7, 2, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 3, 1);
          }
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
        }
        break;
        case 221: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          if (c7.IsNotLike(c5)) {
            e03 = sPixel.Interpolate(c4, c1, 5, 3);
            e13 = sPixel.Interpolate(c4, c1, 7, 1);
            e22 = c4;
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e03 = sPixel.Interpolate(c4, c5, 3, 1);
            e13 = sPixel.Interpolate(c5, c4, 3, 1);
            e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
            e23 = sPixel.Interpolate(c5, c7, 5, 3);
            e32 = sPixel.Interpolate(c7, c4, c5, 2, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
        }
        break;
        case 222: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = c4;
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = c4;
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 223: {
          e02 = c4;
          e11 = c4;
          e12 = c4;
          e13 = c4;
          e20 = sPixel.Interpolate(c4, c6, 3, 1);
          e21 = sPixel.Interpolate(c4, c6, 7, 1);
          e22 = c4;
          e30 = sPixel.Interpolate(c4, c6, 5, 3);
          e31 = sPixel.Interpolate(c4, c6, 3, 1);
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
          e03 = (c1.IsNotLike(c5)) ? (c4) : (sPixel.Interpolate(c4, c1, c5, 2, 1, 1));
        }
        break;
        case 224:
        case 225:
        case 228:
        case 229: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
        }
        break;
        case 226: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
        }
        break;
        case 227: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
        }
        break;
        case 230: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
        }
        break;
        case 231: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
        }
        break;
        case 232:
        case 236: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e21 = c4;
            e30 = c4;
            e31 = c4;
            e32 = sPixel.Interpolate(c4, c5, 7, 1);
            e33 = sPixel.Interpolate(c4, c5, 5, 3);
          } else {
            e20 = sPixel.Interpolate(c3, c4, c7, 2, 1, 1);
            e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c7, c3, 5, 3);
            e32 = sPixel.Interpolate(c7, c4, 3, 1);
            e33 = sPixel.Interpolate(c4, c7, 3, 1);
          }
        }
        break;
        case 233:
        case 237: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, c5, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, c5, 6, 1, 1);
          e13 = sPixel.Interpolate(c4, c5, c1, 5, 2, 1);
          e20 = c4;
          e21 = c4;
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e31 = c4;
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
          e30 = (c7.IsNotLike(c3)) ? (c4) : (sPixel.Interpolate(c4, c3, c7, 2, 1, 1));
        }
        break;
        case 234: {
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e21 = c4;
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
          if (c1.IsNotLike(c3)) {
            e00 = sPixel.Interpolate(c4, c0, 5, 3);
            e01 = sPixel.Interpolate(c4, c0, 3, 1);
            e10 = sPixel.Interpolate(c4, c0, 3, 1);
            e11 = sPixel.Interpolate(c4, c0, 7, 1);
          } else {
            e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
            e01 = sPixel.Interpolate(c4, c1, 3, 1);
            e10 = sPixel.Interpolate(c4, c3, 3, 1);
            e11 = c4;
          }
        }
        break;
        case 235: {
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e11 = c4;
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, c2, 5, 2, 1);
          e20 = c4;
          e21 = c4;
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e31 = c4;
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
          e30 = (c7.IsNotLike(c3)) ? (c4) : (sPixel.Interpolate(c4, c3, c7, 2, 1, 1));
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
        }
        break;
        case 238: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e21 = c4;
            e30 = c4;
            e31 = c4;
            e32 = sPixel.Interpolate(c4, c5, 7, 1);
            e33 = sPixel.Interpolate(c4, c5, 5, 3);
          } else {
            e20 = sPixel.Interpolate(c3, c4, c7, 2, 1, 1);
            e21 = sPixel.Interpolate(c4, c3, c7, 6, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c7, c3, 5, 3);
            e32 = sPixel.Interpolate(c7, c4, 3, 1);
            e33 = sPixel.Interpolate(c4, c7, 3, 1);
          }
        }
        break;
        case 239: {
          e01 = c4;
          e02 = sPixel.Interpolate(c4, c5, 7, 1);
          e03 = sPixel.Interpolate(c4, c5, 5, 3);
          e10 = c4;
          e11 = c4;
          e12 = sPixel.Interpolate(c4, c5, 7, 1);
          e13 = sPixel.Interpolate(c4, c5, 5, 3);
          e20 = c4;
          e21 = c4;
          e22 = sPixel.Interpolate(c4, c5, 7, 1);
          e23 = sPixel.Interpolate(c4, c5, 5, 3);
          e31 = c4;
          e32 = sPixel.Interpolate(c4, c5, 7, 1);
          e33 = sPixel.Interpolate(c4, c5, 5, 3);
          e30 = (c7.IsNotLike(c3)) ? (c4) : (sPixel.Interpolate(c4, c3, c7, 2, 1, 1));
          e00 = (c1.IsNotLike(c3)) ? (c4) : (sPixel.Interpolate(c4, c1, c3, 2, 1, 1));
        }
        break;
        case 240:
        case 241: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          if (c7.IsNotLike(c5)) {
            e22 = c4;
            e23 = c4;
            e30 = sPixel.Interpolate(c4, c3, 5, 3);
            e31 = sPixel.Interpolate(c4, c3, 7, 1);
            e32 = c4;
            e33 = c4;
          } else {
            e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
            e23 = sPixel.Interpolate(c5, c4, c7, 2, 1, 1);
            e30 = sPixel.Interpolate(c4, c7, 3, 1);
            e31 = sPixel.Interpolate(c7, c4, 3, 1);
            e32 = sPixel.Interpolate(c7, c5, 5, 3);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
        }
        break;
        case 242: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e22 = c4;
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
          if (c1.IsNotLike(c5)) {
            e02 = sPixel.Interpolate(c4, c2, 3, 1);
            e03 = sPixel.Interpolate(c4, c2, 5, 3);
            e12 = sPixel.Interpolate(c4, c2, 7, 1);
            e13 = sPixel.Interpolate(c4, c2, 3, 1);
          } else {
            e02 = sPixel.Interpolate(c4, c1, 3, 1);
            e03 = sPixel.Interpolate(c4, c1, c5, 2, 1, 1);
            e12 = c4;
            e13 = sPixel.Interpolate(c4, c5, 3, 1);
          }
        }
        break;
        case 243: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          if (c7.IsNotLike(c5)) {
            e22 = c4;
            e23 = c4;
            e30 = sPixel.Interpolate(c4, c3, 5, 3);
            e31 = sPixel.Interpolate(c4, c3, 7, 1);
            e32 = c4;
            e33 = c4;
          } else {
            e22 = sPixel.Interpolate(c4, c5, c7, 6, 1, 1);
            e23 = sPixel.Interpolate(c5, c4, c7, 2, 1, 1);
            e30 = sPixel.Interpolate(c4, c7, 3, 1);
            e31 = sPixel.Interpolate(c7, c4, 3, 1);
            e32 = sPixel.Interpolate(c7, c5, 5, 3);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
        }
        break;
        case 244:
        case 245: {
          e00 = sPixel.Interpolate(c4, c1, c3, 2, 1, 1);
          e01 = sPixel.Interpolate(c4, c1, c3, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c3, c1, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c1, c3, 6, 1, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e22 = c4;
          e23 = c4;
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          e32 = c4;
          e33 = (c7.IsNotLike(c5)) ? (c4) : (sPixel.Interpolate(c4, c5, c7, 2, 1, 1));
        }
        break;
        case 246: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e10 = sPixel.Interpolate(c4, c3, c0, 5, 2, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = c4;
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e22 = c4;
          e23 = c4;
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          e32 = c4;
          e33 = (c7.IsNotLike(c5)) ? (c4) : (sPixel.Interpolate(c4, c5, c7, 2, 1, 1));
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 247: {
          e00 = sPixel.Interpolate(c4, c3, 5, 3);
          e01 = sPixel.Interpolate(c4, c3, 7, 1);
          e02 = c4;
          e10 = sPixel.Interpolate(c4, c3, 5, 3);
          e11 = sPixel.Interpolate(c4, c3, 7, 1);
          e12 = c4;
          e13 = c4;
          e20 = sPixel.Interpolate(c4, c3, 5, 3);
          e21 = sPixel.Interpolate(c4, c3, 7, 1);
          e22 = c4;
          e23 = c4;
          e30 = sPixel.Interpolate(c4, c3, 5, 3);
          e31 = sPixel.Interpolate(c4, c3, 7, 1);
          e32 = c4;
          e33 = (c7.IsNotLike(c5)) ? (c4) : (sPixel.Interpolate(c4, c5, c7, 2, 1, 1));
          e03 = (c1.IsNotLike(c5)) ? (c4) : (sPixel.Interpolate(c4, c1, c5, 2, 1, 1));
        }
        break;
        case 249: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, c2, 5, 2, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = c4;
          e21 = c4;
          e22 = c4;
          e31 = c4;
          e30 = (c7.IsNotLike(c3)) ? (c4) : (sPixel.Interpolate(c4, c3, c7, 2, 1, 1));
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
        }
        break;
        case 250: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e21 = c4;
          e22 = c4;
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
        }
        break;
        case 251: {
          e02 = sPixel.Interpolate(c4, c2, 3, 1);
          e03 = sPixel.Interpolate(c4, c2, 5, 3);
          e11 = c4;
          e12 = sPixel.Interpolate(c4, c2, 7, 1);
          e13 = sPixel.Interpolate(c4, c2, 3, 1);
          e20 = c4;
          e21 = c4;
          e22 = c4;
          e31 = c4;
          e30 = (c7.IsNotLike(c3)) ? (c4) : (sPixel.Interpolate(c4, c3, c7, 2, 1, 1));
          if (c7.IsNotLike(c5)) {
            e23 = c4;
            e32 = c4;
            e33 = c4;
          } else {
            e23 = sPixel.Interpolate(c4, c5, 1, 1);
            e32 = sPixel.Interpolate(c4, c7, 1, 1);
            e33 = sPixel.Interpolate(c5, c7, 1, 1);
          }
          if (c1.IsNotLike(c3)) {
            e00 = c4;
            e01 = c4;
            e10 = c4;
          } else {
            e00 = sPixel.Interpolate(c1, c3, 1, 1);
            e01 = sPixel.Interpolate(c1, c4, 1, 1);
            e10 = sPixel.Interpolate(c3, c4, 1, 1);
          }
        }
        break;
        case 252: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, c0, 5, 2, 1);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e21 = c4;
          e22 = c4;
          e23 = c4;
          e32 = c4;
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
          e33 = (c7.IsNotLike(c5)) ? (c4) : (sPixel.Interpolate(c4, c5, c7, 2, 1, 1));
        }
        break;
        case 253: {
          e00 = sPixel.Interpolate(c4, c1, 5, 3);
          e01 = sPixel.Interpolate(c4, c1, 5, 3);
          e02 = sPixel.Interpolate(c4, c1, 5, 3);
          e03 = sPixel.Interpolate(c4, c1, 5, 3);
          e10 = sPixel.Interpolate(c4, c1, 7, 1);
          e11 = sPixel.Interpolate(c4, c1, 7, 1);
          e12 = sPixel.Interpolate(c4, c1, 7, 1);
          e13 = sPixel.Interpolate(c4, c1, 7, 1);
          e20 = c4;
          e21 = c4;
          e22 = c4;
          e23 = c4;
          e31 = c4;
          e32 = c4;
          e30 = (c7.IsNotLike(c3)) ? (c4) : (sPixel.Interpolate(c4, c3, c7, 2, 1, 1));
          e33 = (c7.IsNotLike(c5)) ? (c4) : (sPixel.Interpolate(c4, c5, c7, 2, 1, 1));
        }
        break;
        case 254: {
          e00 = sPixel.Interpolate(c4, c0, 5, 3);
          e01 = sPixel.Interpolate(c4, c0, 3, 1);
          e10 = sPixel.Interpolate(c4, c0, 3, 1);
          e11 = sPixel.Interpolate(c4, c0, 7, 1);
          e12 = c4;
          e21 = c4;
          e22 = c4;
          e23 = c4;
          e32 = c4;
          if (c7.IsNotLike(c3)) {
            e20 = c4;
            e30 = c4;
            e31 = c4;
          } else {
            e20 = sPixel.Interpolate(c3, c4, 1, 1);
            e30 = sPixel.Interpolate(c3, c7, 1, 1);
            e31 = sPixel.Interpolate(c4, c7, 1, 1);
          }
          e33 = (c7.IsNotLike(c5)) ? (c4) : (sPixel.Interpolate(c4, c5, c7, 2, 1, 1));
          if (c1.IsNotLike(c5)) {
            e02 = c4;
            e03 = c4;
            e13 = c4;
          } else {
            e02 = sPixel.Interpolate(c1, c4, 1, 1);
            e03 = sPixel.Interpolate(c1, c5, 1, 1);
            e13 = sPixel.Interpolate(c4, c5, 1, 1);
          }
        }
        break;
        case 255: {
          e01 = c4;
          e02 = c4;
          e10 = c4;
          e11 = c4;
          e12 = c4;
          e13 = c4;
          e20 = c4;
          e21 = c4;
          e22 = c4;
          e23 = c4;
          e31 = c4;
          e32 = c4;
          e30 = (c7.IsNotLike(c3)) ? (c4) : (sPixel.Interpolate(c4, c3, c7, 2, 1, 1));
          e33 = (c7.IsNotLike(c5)) ? (c4) : (sPixel.Interpolate(c4, c5, c7, 2, 1, 1));
          e00 = (c1.IsNotLike(c3)) ? (c4) : (sPixel.Interpolate(c4, c1, c3, 2, 1, 1));
          e03 = (c1.IsNotLike(c5)) ? (c4) : (sPixel.Interpolate(c4, c1, c5, 2, 1, 1));
        }
        break;
        #endregion
      }
      worker.TargetP0P0(e00);
      worker.TargetP1P0(e01);
      worker.TargetP2P0(e02);
      worker.TargetP3P0(e03);
      worker.TargetP0P1(e10);
      worker.TargetP1P1(e11);
      worker.TargetP2P1(e12);
      worker.TargetP3P1(e13);
      worker.TargetP0P2(e20);
      worker.TargetP1P2(e21);
      worker.TargetP2P2(e22);
      worker.TargetP3P2(e23);
      worker.TargetP0P3(e30);
      worker.TargetP1P3(e31);
      worker.TargetP2P3(e32);
      worker.TargetP3P3(e33);
    }