anchor.diff:    }
   
     const Blender();
  -}+}
  
positive.code: 
  class Blender {
    int fSoftlight(int a, int b) {
      /*
  				http://en.wikipedia.org/wiki/Blend_modes#Soft_Light
  				2ab+a^2 (1-2b), if b<0.5
  				2a(1-b) +sqrt(a)(2b-1), otherwise
  			*/
      int b2 = b << 1;
      if (b < 128) return (a * (b2 + (a * (255 - b2) >> 8))) >> 8;
      else return (a * (511 - b2) + (math.sqrt(a << 8) * (b2 - 255))).toInt() >> 8;
    }
  
    int fOverlay(int a, int b) {
      return a < 128
      ? (a * b) >> 7
      : // (2*a*b)>>8 :
      255 - (((255 - b) * (255 - a)) >> 7);
    }
  
    int fDodge(int a, int b) {
  
negative.code:           break;
          case BlendMode.MULTIPLY:
            dst[px] = ((sRA * dRA + sRA * (1 - dA) + dRA * (1 - sA)) * demultiply)
                .toInt();
            dst[px + 1] = ((sGA * dGA + sGA * (1 - dA) + dGA * (1 - sA)) *
                demultiply).toInt();
            dst[px + 2] = ((sBA * dBA + sBA * (1 - dA) + dBA * (1 - sA)) *
                demultiply).toInt();
            break;
          case BlendMode.DIFFERENCE:
            dst[px] = ((sRA + dRA - 2 * math.min(sRA * dA, dRA * sA)) *
                demultiply).toInt();
            dst[px + 1] = ((sGA + dGA - 2 * math.min(sGA * dA, dGA * sA)) *
                demultiply).toInt();
            dst[px + 2] = ((sBA + dBA - 2 * math.min(sBA * dA, dBA * sA)) *
                demultiply).toInt();
            break;
  
          // ******* Slightly different from Photoshop, where alpha is concerned
          case BlendMode.SRC_IN:
            dA2 = sA * dA;
            demultiply = 255 / dA2;
  