Bug 548612. qcms: Reduce size of output lookup tables. r=bgirard
authorJeff Muizelaar <jmuizelaar@mozilla.com>
Fri, 04 Jun 2010 14:48:30 -0400
changeset 43096 b2a130aa75bac0128c039ccde90b7b015c9eb667
parent 43095 db50c47cb0bd5762347a6c916cfc10a9a46a792c
child 43097 3a48588b558b27af03e33ae8fb28e98db5c40404
push id13615
push userjmuizelaar@mozilla.com
push dateFri, 04 Jun 2010 18:51:42 +0000
treeherdermozilla-central@b2a130aa75ba [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbgirard
bugs548612
milestone1.9.3a5pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 548612. qcms: Reduce size of output lookup tables. r=bgirard We currently use a larger output lookup table than we probably need. Switch to a common define for the table size and lower it. The should also give a small improvement to startup time because we have fewer lookup table entries to compute.
gfx/qcms/qcmsint.h
gfx/qcms/transform-sse1.c
gfx/qcms/transform-sse2.c
gfx/qcms/transform.c
modules/libpr0n/test/reftest/pngsuite-ancillary/ccwn2c08.html
modules/libpr0n/test/reftest/pngsuite-ancillary/ccwn3p08.html
--- a/gfx/qcms/qcmsint.h
+++ b/gfx/qcms/qcmsint.h
@@ -1,18 +1,25 @@
 #include "qcms.h"
 #include "qcmstypes.h"
 
-/* used as a 16bit lookup table for the output transformation.
+/* used as a lookup table for the output transformation.
  * we refcount them so we only need to have one around per output
  * profile, instead of duplicating them per transform */
 struct precache_output
 {
 	int ref_count;
-	uint8_t data[65535];
+	/* We previously used a count of 65536 here but that seems like more
+	 * precision than we actually need.  By reducing the size we can
+	 * improve startup performance and reduce memory usage. ColorSync on
+	 * 10.5 uses 4097 which is perhaps because they use a fixed point
+	 * representation where 1. is represented by 0x1000. */
+#define PRECACHE_OUTPUT_SIZE 8192
+#define PRECACHE_OUTPUT_MAX (PRECACHE_OUTPUT_SIZE-1)
+	uint8_t data[PRECACHE_OUTPUT_SIZE];
 };
 
 #ifdef _MSC_VER
 #define ALIGN __declspec(align(16))
 #else
 #define ALIGN __attribute__(( aligned (16) ))
 #endif
 
--- a/gfx/qcms/transform-sse1.c
+++ b/gfx/qcms/transform-sse1.c
@@ -1,15 +1,15 @@
 #include <xmmintrin.h>
 
 #include "qcmsint.h"
 
 /* pre-shuffled: just load these into XMM reg instead of load-scalar/shufps sequence */
-#define FLOATSCALE  65536.0f
-#define CLAMPMAXVAL ( ((float) (65536 - 1)) / 65536.0f )
+#define FLOATSCALE  (float)(PRECACHE_OUTPUT_SIZE)
+#define CLAMPMAXVAL ( ((float) (PRECACHE_OUTPUT_SIZE - 1)) / PRECACHE_OUTPUT_SIZE )
 static const ALIGN float floatScaleX4[4] =
     { FLOATSCALE, FLOATSCALE, FLOATSCALE, FLOATSCALE};
 static const ALIGN float clampMaxValueX4[4] =
     { CLAMPMAXVAL, CLAMPMAXVAL, CLAMPMAXVAL, CLAMPMAXVAL};
 
 void qcms_transform_data_rgb_out_lut_sse1(qcms_transform *transform,
                                           unsigned char *src,
                                           unsigned char *dest,
--- a/gfx/qcms/transform-sse2.c
+++ b/gfx/qcms/transform-sse2.c
@@ -1,15 +1,15 @@
 #include <emmintrin.h>
 
 #include "qcmsint.h"
 
 /* pre-shuffled: just load these into XMM reg instead of load-scalar/shufps sequence */
-#define FLOATSCALE  65536.0f
-#define CLAMPMAXVAL ( ((float) (65536 - 1)) / 65536.0f )
+#define FLOATSCALE  (float)(PRECACHE_OUTPUT_SIZE)
+#define CLAMPMAXVAL ( ((float) (PRECACHE_OUTPUT_SIZE - 1)) / PRECACHE_OUTPUT_SIZE )
 static const ALIGN float floatScaleX4[4] =
     { FLOATSCALE, FLOATSCALE, FLOATSCALE, FLOATSCALE};
 static const ALIGN float clampMaxValueX4[4] =
     { CLAMPMAXVAL, CLAMPMAXVAL, CLAMPMAXVAL, CLAMPMAXVAL};
 
 void qcms_transform_data_rgb_out_lut_sse2(qcms_transform *transform,
                                           unsigned char *src,
                                           unsigned char *dest,
--- a/gfx/qcms/transform.c
+++ b/gfx/qcms/transform.c
@@ -33,38 +33,83 @@
 //XXX: could use a bettername
 typedef uint16_t uint16_fract_t;
 
 /* value must be a value between 0 and 1 */
 //XXX: is the above a good restriction to have?
 float lut_interp_linear(double value, uint16_t *table, int length)
 {
 	int upper, lower;
-	value = value * (length - 1);
+	value = value * (length - 1); // scale to length of the array
 	upper = ceil(value);
 	lower = floor(value);
 	//XXX: can we be more performant here?
 	value = table[upper]*(1. - (upper - value)) + table[lower]*(upper - value);
 	/* scale the value */
 	return value * (1./65535.);
 }
 
 /* same as above but takes and returns a uint16_t value representing a range from 0..1 */
 uint16_t lut_interp_linear16(uint16_t input_value, uint16_t *table, int length)
 {
+	/* Start scaling input_value to the length of the array: 65535*(length-1).
+	 * We'll divide out the 65535 next */
 	uint32_t value = (input_value * (length - 1));
 	uint32_t upper = (value + 65534) / 65535; /* equivalent to ceil(value/65535) */
 	uint32_t lower = value / 65535;           /* equivalent to floor(value/65535) */
+	/* interp is the distance from upper to value scaled to 0..65535 */
 	uint32_t interp = value % 65535;
 
-	value = (table[upper]*(interp) + table[lower]*(65535 - interp))/65535;
+	value = (table[upper]*(interp) + table[lower]*(65535 - interp))/65535; // 0..65535*65535
 
 	return value;
 }
 
+/* same as above but takes an input_value from 0..PRECACHE_OUTPUT_MAX
+ * and returns a uint8_t value representing a range from 0..1 */
+static
+uint8_t lut_interp_linear_precache_output(uint32_t input_value, uint16_t *table, int length)
+{
+	/* Start scaling input_value to the length of the array: PRECACHE_OUTPUT_MAX*(length-1).
+	 * We'll divide out the PRECACHE_OUTPUT_MAX next */
+	uint32_t value = (input_value * (length - 1));
+
+	/* equivalent to ceil(value/PRECACHE_OUTPUT_MAX) */
+	uint32_t upper = (value + PRECACHE_OUTPUT_MAX-1) / PRECACHE_OUTPUT_MAX;
+	/* equivalent to floor(value/PRECACHE_OUTPUT_MAX) */
+	uint32_t lower = value / PRECACHE_OUTPUT_MAX;
+	/* interp is the distance from upper to value scaled to 0..PRECACHE_OUTPUT_MAX */
+	uint32_t interp = value % PRECACHE_OUTPUT_MAX;
+
+	/* the table values range from 0..65535 */
+	value = (table[upper]*(interp) + table[lower]*(PRECACHE_OUTPUT_MAX - interp)); // 0..(65535*PRECACHE_OUTPUT_MAX)
+
+	/* round and scale */
+	value += (PRECACHE_OUTPUT_MAX*65535/255)/2;
+        value /= (PRECACHE_OUTPUT_MAX*65535/255); // scale to 0..255
+	return value;
+}
+
+#if 0
+/* if we use a different representation i.e. one that goes from 0 to 0x1000 we can be more efficient
+ * because we can avoid the divisions and use a shifting instead */
+/* same as above but takes and returns a uint16_t value representing a range from 0..1 */
+uint16_t lut_interp_linear16(uint16_t input_value, uint16_t *table, int length)
+{
+	uint32_t value = (input_value * (length - 1));
+	uint32_t upper = (value + 4095) / 4096; /* equivalent to ceil(value/4096) */
+	uint32_t lower = value / 4096;           /* equivalent to floor(value/4096) */
+	uint32_t interp = value % 4096;
+
+	value = (table[upper]*(interp) + table[lower]*(4096 - interp))/4096; // 0..4096*4096
+
+	return value;
+}
+#endif
+
 void compute_curve_gamma_table_type1(float gamma_table[256], double gamma)
 {
 	unsigned int i;
 	for (i = 0; i < 256; i++) {
 		gamma_table[i] = pow(i/255., gamma);
 	}
 }
 
@@ -702,17 +747,17 @@ static void qcms_transform_data_gray_out
 	unsigned int i;
 	for (i = 0; i < length; i++) {
 		unsigned char device = *src++;
 		uint16_t gray;
 
 		float linear = transform->input_gamma_table_gray[device];
 
 		/* we could round here... */
-		gray = linear * 65535.;
+		gray = linear * PRECACHE_OUTPUT_MAX;
 
 		*dest++ = transform->output_table_r->data[gray];
 		*dest++ = transform->output_table_g->data[gray];
 		*dest++ = transform->output_table_b->data[gray];
 	}
 }
 
 static void qcms_transform_data_graya_out_precache(qcms_transform *transform, unsigned char *src, unsigned char *dest, size_t length)
@@ -721,17 +766,17 @@ static void qcms_transform_data_graya_ou
 	for (i = 0; i < length; i++) {
 		unsigned char device = *src++;
 		unsigned char alpha = *src++;
 		uint16_t gray;
 
 		float linear = transform->input_gamma_table_gray[device];
 
 		/* we could round here... */
-		gray = linear * 65535.;
+		gray = linear * PRECACHE_OUTPUT_MAX;
 
 		*dest++ = transform->output_table_r->data[gray];
 		*dest++ = transform->output_table_g->data[gray];
 		*dest++ = transform->output_table_b->data[gray];
 		*dest++ = alpha;
 	}
 }
 
@@ -753,19 +798,19 @@ static void qcms_transform_data_rgb_out_
 		float out_linear_g = mat[0][1]*linear_r + mat[1][1]*linear_g + mat[2][1]*linear_b;
 		float out_linear_b = mat[0][2]*linear_r + mat[1][2]*linear_g + mat[2][2]*linear_b;
 
 		out_linear_r = clamp_float(out_linear_r);
 		out_linear_g = clamp_float(out_linear_g);
 		out_linear_b = clamp_float(out_linear_b);
 
 		/* we could round here... */
-		r = out_linear_r * 65535.;
-		g = out_linear_g * 65535.;
-		b = out_linear_b * 65535.;
+		r = out_linear_r * PRECACHE_OUTPUT_MAX;
+		g = out_linear_g * PRECACHE_OUTPUT_MAX;
+		b = out_linear_b * PRECACHE_OUTPUT_MAX;
 
 		*dest++ = transform->output_table_r->data[r];
 		*dest++ = transform->output_table_g->data[g];
 		*dest++ = transform->output_table_b->data[b];
 	}
 }
 
 static void qcms_transform_data_rgba_out_lut_precache(qcms_transform *transform, unsigned char *src, unsigned char *dest, size_t length)
@@ -787,19 +832,19 @@ static void qcms_transform_data_rgba_out
 		float out_linear_g = mat[0][1]*linear_r + mat[1][1]*linear_g + mat[2][1]*linear_b;
 		float out_linear_b = mat[0][2]*linear_r + mat[1][2]*linear_g + mat[2][2]*linear_b;
 
 		out_linear_r = clamp_float(out_linear_r);
 		out_linear_g = clamp_float(out_linear_g);
 		out_linear_b = clamp_float(out_linear_b);
 
 		/* we could round here... */
-		r = out_linear_r * 65535.;
-		g = out_linear_g * 65535.;
-		b = out_linear_b * 65535.;
+		r = out_linear_r * PRECACHE_OUTPUT_MAX;
+		g = out_linear_g * PRECACHE_OUTPUT_MAX;
+		b = out_linear_b * PRECACHE_OUTPUT_MAX;
 
 		*dest++ = transform->output_table_r->data[r];
 		*dest++ = transform->output_table_g->data[g];
 		*dest++ = transform->output_table_b->data[b];
 		*dest++ = alpha;
 	}
 }
 
@@ -983,37 +1028,36 @@ void qcms_transform_release(qcms_transfo
 	free(t->output_gamma_lut_b);
 
 	transform_free(t);
 }
 
 static void compute_precache_pow(uint8_t *output, float gamma)
 {
 	uint32_t v = 0;
-	for (v = 0; v <= 0xffff; v++) {
+	for (v = 0; v < PRECACHE_OUTPUT_SIZE; v++) {
 		//XXX: don't do integer/float conversion... and round?
-		output[v] = 255. * pow(v/65535., gamma);
+		output[v] = 255. * pow(v/(double)PRECACHE_OUTPUT_MAX, gamma);
 	}
 }
 
 void compute_precache_lut(uint8_t *output, uint16_t *table, int length)
 {
 	uint32_t v = 0;
-	for (v = 0; v <= 0xffff; v++) {
-		//XXX: don't do integer/float conversion... round?
-		output[v] = lut_interp_linear16(v, table, length) >> 8;
+	for (v = 0; v < PRECACHE_OUTPUT_SIZE; v++) {
+		output[v] = lut_interp_linear_precache_output(v, table, length);
 	}
 }
 
 void compute_precache_linear(uint8_t *output)
 {
 	uint32_t v = 0;
-	for (v = 0; v <= 0xffff; v++) {
+	for (v = 0; v < PRECACHE_OUTPUT_SIZE; v++) {
 		//XXX: round?
-		output[v] = v >> 8;
+		output[v] = v / (PRECACHE_OUTPUT_SIZE/256);
 	}
 }
 
 qcms_bool compute_precache(struct curveType *trc, uint8_t *output)
 {
 	if (trc->count == 0) {
 		compute_precache_linear(output);
 	} else if (trc->count == 1) {
--- a/modules/libpr0n/test/reftest/pngsuite-ancillary/ccwn2c08.html
+++ b/modules/libpr0n/test/reftest/pngsuite-ancillary/ccwn2c08.html
@@ -1,11 +1,48 @@
 <html>
 <head>
 <script src="qcms-asm-check.js" type="application/ecmascript"></script>
+<!-- generated with:
+import png
+import sys
+print """<html>
+<head>
+<script src="qcms-asm-check.js" type="application/ecmascript"></script>
+<!-""" + """- generated with:"""
+print open(__file__).read()
+print "-" + """->
+</head>
+<body>
+<table cellpadding='0' cellspacing='0' width='32' height='32'>"""
+r1 = png.Reader(file=open(sys.argv[1]))
+r2 = png.Reader(file=open(sys.argv[2]))
+(data1, data2) = (r1.asDirect(), r2.asDirect())
+(pixels1, pixels2) = (list(data1[2])[8:32+8], list(data2[2])[8:32+8])
+planes = data1[3]['planes']
+for (line1, line2) in zip(pixels1, pixels2):
+    r1, g1, b1 = (line1[0::planes][8:32+8], line1[1::planes][8:32+8], line1[2::planes][8:32+8])
+    r2, g2, b2 = (line2[0::planes][8:32+8], line2[1::planes][8:32+8], line2[2::planes][8:32+8])
+    print "<tr height='1'>"
+    for (pixel1, pixel2) in zip(zip(r1,g1,b1), zip(r2,g2,b2)):
+        if pixel1[0] == pixel2[0] and pixel1[1] == pixel2[1] and pixel1[2] == pixel2[2]:
+            print "  <td width='1' style='background-color: rgba(%d,%d,%d,1)'></td>" % (pixel1[0], pixel1[1], pixel1[2])
+        else:
+            print """<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(%d,%d,%d,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(%d,%d,%d,1)'></td>");
+}
+</script>""" % (pixel1[0], pixel1[1], pixel1[2], pixel2[0], pixel2[1], pixel2[2])
+    print "</tr>"
+print """</table>
+</body></html>"""
+
+-->
 </head>
 <body>
 <table cellpadding='0' cellspacing='0' width='32' height='32'>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -76,21 +113,27 @@
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(226,255,236,1)'></td>
-  <td width='1' style='background-color: rgba(161,255,196,1)'></td>
-  <td width='1' style='background-color: rgba(120,255,171,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(226,255,236,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(225,255,236,1)'></td>");
+}
+</script>
+  <td width='1' style='background-color: rgba(161,254,196,1)'></td>
+  <td width='1' style='background-color: rgba(120,255,170,1)'></td>
   <td width='1' style='background-color: rgba(161,255,186,1)'></td>
-  <td width='1' style='background-color: rgba(218,255,224,1)'></td>
+  <td width='1' style='background-color: rgba(218,255,223,1)'></td>
   <td width='1' style='background-color: rgba(254,255,254,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -110,23 +153,23 @@
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(193,255,220,1)'></td>
-  <td width='1' style='background-color: rgba(45,255,165,1)'></td>
+  <td width='1' style='background-color: rgba(46,255,165,1)'></td>
   <td width='1' style='background-color: rgba(61,255,160,1)'></td>
   <td width='1' style='background-color: rgba(68,255,153,1)'></td>
-  <td width='1' style='background-color: rgba(63,255,138,1)'></td>
+  <td width='1' style='background-color: rgba(64,255,138,1)'></td>
   <td width='1' style='background-color: rgba(52,255,113,1)'></td>
   <td width='1' style='background-color: rgba(125,255,132,1)'></td>
-  <td width='1' style='background-color: rgba(232,255,227,1)'></td>
+  <td width='1' style='background-color: rgba(231,255,227,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -145,30 +188,36 @@
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(193,255,223,1)'></td>
   <td width='1' style='background-color: rgba(49,255,174,1)'></td>
   <td width='1' style='background-color: rgba(75,255,173,1)'></td>
-  <td width='1' style='background-color: rgba(84,255,168,1)'></td>
-  <td width='1' style='background-color: rgba(91,255,162,1)'></td>
 <script type="application/ecmascript">
 if (qcms_has_assembly) {
-  document.write("<td width='1' style='background-color: rgba(90,255,149,1)'></td>");
+  document.write("<td width='1' style='background-color: rgba(85,255,168,1)'></td>");
 } else {
-  document.write("<td width='1' style='background-color: rgba(90,255,148,1)'></td>");
+  document.write("<td width='1' style='background-color: rgba(84,255,168,1)'></td>");
 }
 </script>
+  <td width='1' style='background-color: rgba(91,255,162,1)'></td>
+  <td width='1' style='background-color: rgba(90,255,148,1)'></td>
   <td width='1' style='background-color: rgba(81,255,126,1)'></td>
   <td width='1' style='background-color: rgba(86,255,93,1)'></td>
-  <td width='1' style='background-color: rgba(122,255,58,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(122,255,59,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(122,255,58,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(210,255,190,1)'></td>
-  <td width='1' style='background-color: rgba(255,255,255,1)'></td>
+  <td width='1' style='background-color: rgba(255,255,254,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -181,25 +230,25 @@ if (qcms_has_assembly) {
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(232,255,244,1)'></td>
-  <td width='1' style='background-color: rgba(52,255,183,1)'></td>
+  <td width='1' style='background-color: rgba(232,255,243,1)'></td>
+  <td width='1' style='background-color: rgba(52,255,182,1)'></td>
   <td width='1' style='background-color: rgba(75,255,181,1)'></td>
-  <td width='1' style='background-color: rgba(94,255,180,1)'></td>
+  <td width='1' style='background-color: rgba(95,255,180,1)'></td>
   <td width='1' style='background-color: rgba(105,255,176,1)'></td>
-  <td width='1' style='background-color: rgba(110,255,171,1)'></td>
+  <td width='1' style='background-color: rgba(110,255,170,1)'></td>
   <td width='1' style='background-color: rgba(109,255,159,1)'></td>
   <td width='1' style='background-color: rgba(103,255,137,1)'></td>
-  <td width='1' style='background-color: rgba(107,255,108,1)'></td>
+  <td width='1' style='background-color: rgba(108,255,108,1)'></td>
   <td width='1' style='background-color: rgba(135,255,73,1)'></td>
   <td width='1' style='background-color: rgba(153,255,46,1)'></td>
   <td width='1' style='background-color: rgba(201,255,155,1)'></td>
   <td width='1' style='background-color: rgba(252,255,250,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -217,34 +266,34 @@ if (qcms_has_assembly) {
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(142,255,208,1)'></td>
   <td width='1' style='background-color: rgba(73,255,188,1)'></td>
-  <td width='1' style='background-color: rgba(94,255,187,1)'></td>
+  <td width='1' style='background-color: rgba(95,255,187,1)'></td>
   <td width='1' style='background-color: rgba(110,255,187,1)'></td>
   <td width='1' style='background-color: rgba(120,255,184,1)'></td>
   <td width='1' style='background-color: rgba(127,255,179,1)'></td>
   <td width='1' style='background-color: rgba(126,255,168,1)'></td>
+  <td width='1' style='background-color: rgba(121,255,148,1)'></td>
+  <td width='1' style='background-color: rgba(127,255,120,1)'></td>
 <script type="application/ecmascript">
 if (qcms_has_assembly) {
-  document.write("<td width='1' style='background-color: rgba(121,255,149,1)'></td>");
+  document.write("<td width='1' style='background-color: rgba(150,255,92,1)'></td>");
 } else {
-  document.write("<td width='1' style='background-color: rgba(121,255,148,1)'></td>");
+  document.write("<td width='1' style='background-color: rgba(150,255,91,1)'></td>");
 }
 </script>
-  <td width='1' style='background-color: rgba(127,255,120,1)'></td>
-  <td width='1' style='background-color: rgba(150,255,91,1)'></td>
   <td width='1' style='background-color: rgba(165,255,73,1)'></td>
-  <td width='1' style='background-color: rgba(176,255,52,1)'></td>
+  <td width='1' style='background-color: rgba(176,255,53,1)'></td>
   <td width='1' style='background-color: rgba(205,255,133,1)'></td>
-  <td width='1' style='background-color: rgba(253,255,249,1)'></td>
+  <td width='1' style='background-color: rgba(252,255,248,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -254,32 +303,32 @@ if (qcms_has_assembly) {
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(218,255,239,1)'></td>
-  <td width='1' style='background-color: rgba(55,255,193,1)'></td>
+  <td width='1' style='background-color: rgba(218,255,238,1)'></td>
+  <td width='1' style='background-color: rgba(55,255,192,1)'></td>
   <td width='1' style='background-color: rgba(88,255,194,1)'></td>
   <td width='1' style='background-color: rgba(109,255,194,1)'></td>
-  <td width='1' style='background-color: rgba(123,255,193,1)'></td>
+  <td width='1' style='background-color: rgba(123,255,192,1)'></td>
   <td width='1' style='background-color: rgba(134,255,191,1)'></td>
   <td width='1' style='background-color: rgba(140,255,187,1)'></td>
   <td width='1' style='background-color: rgba(140,255,178,1)'></td>
-  <td width='1' style='background-color: rgba(136,255,160,1)'></td>
+  <td width='1' style='background-color: rgba(136,255,159,1)'></td>
   <td width='1' style='background-color: rgba(142,255,133,1)'></td>
   <td width='1' style='background-color: rgba(163,255,108,1)'></td>
   <td width='1' style='background-color: rgba(176,255,95,1)'></td>
-  <td width='1' style='background-color: rgba(187,255,77,1)'></td>
-  <td width='1' style='background-color: rgba(195,255,55,1)'></td>
+  <td width='1' style='background-color: rgba(186,255,77,1)'></td>
+  <td width='1' style='background-color: rgba(195,255,56,1)'></td>
   <td width='1' style='background-color: rgba(218,255,133,1)'></td>
-  <td width='1' style='background-color: rgba(254,255,249,1)'></td>
+  <td width='1' style='background-color: rgba(253,255,249,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -293,26 +342,32 @@ if (qcms_has_assembly) {
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(127,255,210,1)'></td>
   <td width='1' style='background-color: rgba(75,255,198,1)'></td>
   <td width='1' style='background-color: rgba(102,255,199,1)'></td>
   <td width='1' style='background-color: rgba(121,255,199,1)'></td>
   <td width='1' style='background-color: rgba(135,255,199,1)'></td>
-  <td width='1' style='background-color: rgba(146,255,198,1)'></td>
+  <td width='1' style='background-color: rgba(146,255,197,1)'></td>
   <td width='1' style='background-color: rgba(152,255,194,1)'></td>
   <td width='1' style='background-color: rgba(154,255,186,1)'></td>
   <td width='1' style='background-color: rgba(150,255,169,1)'></td>
   <td width='1' style='background-color: rgba(156,255,145,1)'></td>
   <td width='1' style='background-color: rgba(175,255,124,1)'></td>
   <td width='1' style='background-color: rgba(187,255,112,1)'></td>
-  <td width='1' style='background-color: rgba(196,255,98,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(196,255,98,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(195,255,98,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(204,255,79,1)'></td>
-  <td width='1' style='background-color: rgba(213,255,55,1)'></td>
+  <td width='1' style='background-color: rgba(213,255,56,1)'></td>
   <td width='1' style='background-color: rgba(230,255,133,1)'></td>
   <td width='1' style='background-color: rgba(255,255,253,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -324,66 +379,66 @@ if (qcms_has_assembly) {
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(231,255,246,1)'></td>
   <td width='1' style='background-color: rgba(55,255,202,1)'></td>
   <td width='1' style='background-color: rgba(91,255,203,1)'></td>
-  <td width='1' style='background-color: rgba(113,255,204,1)'></td>
+  <td width='1' style='background-color: rgba(113,255,203,1)'></td>
   <td width='1' style='background-color: rgba(132,255,205,1)'></td>
   <td width='1' style='background-color: rgba(147,255,205,1)'></td>
-  <td width='1' style='background-color: rgba(157,255,204,1)'></td>
-  <td width='1' style='background-color: rgba(164,255,201,1)'></td>
-  <td width='1' style='background-color: rgba(166,255,195,1)'></td>
-  <td width='1' style='background-color: rgba(163,255,179,1)'></td>
+  <td width='1' style='background-color: rgba(157,255,203,1)'></td>
+  <td width='1' style='background-color: rgba(163,255,201,1)'></td>
+  <td width='1' style='background-color: rgba(166,255,194,1)'></td>
+  <td width='1' style='background-color: rgba(163,255,178,1)'></td>
   <td width='1' style='background-color: rgba(169,255,155,1)'></td>
   <td width='1' style='background-color: rgba(186,255,138,1)'></td>
   <td width='1' style='background-color: rgba(196,255,127,1)'></td>
   <td width='1' style='background-color: rgba(205,255,114,1)'></td>
   <td width='1' style='background-color: rgba(213,255,98,1)'></td>
   <td width='1' style='background-color: rgba(222,255,77,1)'></td>
-  <td width='1' style='background-color: rgba(230,255,55,1)'></td>
+  <td width='1' style='background-color: rgba(230,255,56,1)'></td>
   <td width='1' style='background-color: rgba(244,255,153,1)'></td>
-  <td width='1' style='background-color: rgba(255,255,254,1)'></td>
+  <td width='1' style='background-color: rgba(255,255,253,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(170,255,227,1)'></td>
-  <td width='1' style='background-color: rgba(73,255,207,1)'></td>
+  <td width='1' style='background-color: rgba(73,255,206,1)'></td>
   <td width='1' style='background-color: rgba(102,255,208,1)'></td>
   <td width='1' style='background-color: rgba(123,255,209,1)'></td>
   <td width='1' style='background-color: rgba(141,255,210,1)'></td>
-  <td width='1' style='background-color: rgba(156,255,211,1)'></td>
-  <td width='1' style='background-color: rgba(167,255,210,1)'></td>
+  <td width='1' style='background-color: rgba(156,255,210,1)'></td>
+  <td width='1' style='background-color: rgba(167,255,209,1)'></td>
   <td width='1' style='background-color: rgba(174,255,208,1)'></td>
   <td width='1' style='background-color: rgba(177,255,202,1)'></td>
   <td width='1' style='background-color: rgba(174,255,188,1)'></td>
   <td width='1' style='background-color: rgba(181,255,166,1)'></td>
   <td width='1' style='background-color: rgba(196,255,151,1)'></td>
   <td width='1' style='background-color: rgba(205,255,140,1)'></td>
   <td width='1' style='background-color: rgba(213,255,128,1)'></td>
-  <td width='1' style='background-color: rgba(222,255,114,1)'></td>
+  <td width='1' style='background-color: rgba(221,255,114,1)'></td>
   <td width='1' style='background-color: rgba(230,255,96,1)'></td>
-  <td width='1' style='background-color: rgba(239,255,77,1)'></td>
-  <td width='1' style='background-color: rgba(248,255,52,1)'></td>
-  <td width='1' style='background-color: rgba(255,254,173,1)'></td>
+  <td width='1' style='background-color: rgba(238,255,77,1)'></td>
+  <td width='1' style='background-color: rgba(247,255,53,1)'></td>
+  <td width='1' style='background-color: rgba(254,254,173,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -393,100 +448,106 @@ if (qcms_has_assembly) {
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(249,255,253,1)'></td>
   <td width='1' style='background-color: rgba(79,255,213,1)'></td>
   <td width='1' style='background-color: rgba(86,255,211,1)'></td>
   <td width='1' style='background-color: rgba(111,255,212,1)'></td>
   <td width='1' style='background-color: rgba(133,255,214,1)'></td>
-  <td width='1' style='background-color: rgba(149,255,215,1)'></td>
-  <td width='1' style='background-color: rgba(164,255,216,1)'></td>
-  <td width='1' style='background-color: rgba(176,255,216,1)'></td>
+  <td width='1' style='background-color: rgba(149,255,214,1)'></td>
+  <td width='1' style='background-color: rgba(164,255,215,1)'></td>
+  <td width='1' style='background-color: rgba(175,255,215,1)'></td>
   <td width='1' style='background-color: rgba(184,255,214,1)'></td>
-  <td width='1' style='background-color: rgba(187,255,210,1)'></td>
+  <td width='1' style='background-color: rgba(187,255,209,1)'></td>
   <td width='1' style='background-color: rgba(185,255,196,1)'></td>
-  <td width='1' style='background-color: rgba(193,255,176,1)'></td>
-  <td width='1' style='background-color: rgba(205,255,164,1)'></td>
+  <td width='1' style='background-color: rgba(192,255,176,1)'></td>
+  <td width='1' style='background-color: rgba(205,255,163,1)'></td>
   <td width='1' style='background-color: rgba(214,255,154,1)'></td>
   <td width='1' style='background-color: rgba(222,255,141,1)'></td>
   <td width='1' style='background-color: rgba(230,255,128,1)'></td>
   <td width='1' style='background-color: rgba(238,255,113,1)'></td>
   <td width='1' style='background-color: rgba(247,255,96,1)'></td>
-  <td width='1' style='background-color: rgba(254,254,75,1)'></td>
+  <td width='1' style='background-color: rgba(254,253,75,1)'></td>
   <td width='1' style='background-color: rgba(255,245,49,1)'></td>
-  <td width='1' style='background-color: rgba(255,246,187,1)'></td>
+  <td width='1' style='background-color: rgba(255,245,187,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(210,255,242,1)'></td>
-  <td width='1' style='background-color: rgba(63,255,215,1)'></td>
-  <td width='1' style='background-color: rgba(96,255,216,1)'></td>
+  <td width='1' style='background-color: rgba(210,255,241,1)'></td>
+  <td width='1' style='background-color: rgba(64,255,214,1)'></td>
+  <td width='1' style='background-color: rgba(96,255,215,1)'></td>
   <td width='1' style='background-color: rgba(121,255,217,1)'></td>
   <td width='1' style='background-color: rgba(141,255,218,1)'></td>
-  <td width='1' style='background-color: rgba(157,255,220,1)'></td>
-  <td width='1' style='background-color: rgba(171,255,221,1)'></td>
+  <td width='1' style='background-color: rgba(157,255,219,1)'></td>
+  <td width='1' style='background-color: rgba(171,255,220,1)'></td>
   <td width='1' style='background-color: rgba(184,255,221,1)'></td>
-  <td width='1' style='background-color: rgba(193,255,220,1)'></td>
-  <td width='1' style='background-color: rgba(197,255,217,1)'></td>
-  <td width='1' style='background-color: rgba(196,255,205,1)'></td>
+  <td width='1' style='background-color: rgba(192,255,220,1)'></td>
+  <td width='1' style='background-color: rgba(197,255,216,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(196,255,205,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(195,255,205,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(203,255,186,1)'></td>
-  <td width='1' style='background-color: rgba(215,255,176,1)'></td>
-  <td width='1' style='background-color: rgba(223,255,165,1)'></td>
+  <td width='1' style='background-color: rgba(214,255,175,1)'></td>
+  <td width='1' style='background-color: rgba(222,255,165,1)'></td>
   <td width='1' style='background-color: rgba(230,255,154,1)'></td>
   <td width='1' style='background-color: rgba(238,255,140,1)'></td>
-  <td width='1' style='background-color: rgba(247,255,127,1)'></td>
+  <td width='1' style='background-color: rgba(246,255,127,1)'></td>
   <td width='1' style='background-color: rgba(254,254,112,1)'></td>
   <td width='1' style='background-color: rgba(255,245,95,1)'></td>
   <td width='1' style='background-color: rgba(255,235,75,1)'></td>
-  <td width='1' style='background-color: rgba(255,225,49,1)'></td>
-  <td width='1' style='background-color: rgba(255,240,204,1)'></td>
+  <td width='1' style='background-color: rgba(255,224,49,1)'></td>
+  <td width='1' style='background-color: rgba(255,240,203,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(166,255,234,1)'></td>
-  <td width='1' style='background-color: rgba(75,255,220,1)'></td>
-  <td width='1' style='background-color: rgba(106,255,221,1)'></td>
-  <td width='1' style='background-color: rgba(129,255,222,1)'></td>
-  <td width='1' style='background-color: rgba(148,255,223,1)'></td>
-  <td width='1' style='background-color: rgba(164,255,224,1)'></td>
+  <td width='1' style='background-color: rgba(166,255,233,1)'></td>
+  <td width='1' style='background-color: rgba(75,255,219,1)'></td>
+  <td width='1' style='background-color: rgba(106,255,220,1)'></td>
+  <td width='1' style='background-color: rgba(129,255,221,1)'></td>
+  <td width='1' style='background-color: rgba(147,255,222,1)'></td>
+  <td width='1' style='background-color: rgba(164,255,223,1)'></td>
   <td width='1' style='background-color: rgba(178,255,225,1)'></td>
-  <td width='1' style='background-color: rgba(191,255,226,1)'></td>
-  <td width='1' style='background-color: rgba(201,255,226,1)'></td>
+  <td width='1' style='background-color: rgba(190,255,226,1)'></td>
+  <td width='1' style='background-color: rgba(200,255,226,1)'></td>
   <td width='1' style='background-color: rgba(205,255,223,1)'></td>
   <td width='1' style='background-color: rgba(205,255,213,1)'></td>
   <td width='1' style='background-color: rgba(213,255,196,1)'></td>
-  <td width='1' style='background-color: rgba(223,255,186,1)'></td>
+  <td width='1' style='background-color: rgba(222,255,186,1)'></td>
   <td width='1' style='background-color: rgba(230,255,176,1)'></td>
   <td width='1' style='background-color: rgba(238,255,164,1)'></td>
   <td width='1' style='background-color: rgba(246,255,153,1)'></td>
   <td width='1' style='background-color: rgba(254,254,140,1)'></td>
-  <td width='1' style='background-color: rgba(255,246,126,1)'></td>
+  <td width='1' style='background-color: rgba(255,245,126,1)'></td>
   <td width='1' style='background-color: rgba(255,235,110,1)'></td>
   <td width='1' style='background-color: rgba(255,225,93,1)'></td>
-  <td width='1' style='background-color: rgba(255,216,73,1)'></td>
+  <td width='1' style='background-color: rgba(255,215,73,1)'></td>
   <td width='1' style='background-color: rgba(255,205,46,1)'></td>
   <td width='1' style='background-color: rgba(255,232,199,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -494,524 +555,572 @@ if (qcms_has_assembly) {
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(98,255,227,1)'></td>
   <td width='1' style='background-color: rgba(86,255,224,1)'></td>
   <td width='1' style='background-color: rgba(114,255,225,1)'></td>
   <td width='1' style='background-color: rgba(136,255,226,1)'></td>
-  <td width='1' style='background-color: rgba(155,255,227,1)'></td>
+  <td width='1' style='background-color: rgba(154,255,227,1)'></td>
   <td width='1' style='background-color: rgba(170,255,228,1)'></td>
-  <td width='1' style='background-color: rgba(185,255,229,1)'></td>
-  <td width='1' style='background-color: rgba(197,255,231,1)'></td>
-  <td width='1' style='background-color: rgba(208,255,231,1)'></td>
+  <td width='1' style='background-color: rgba(184,255,229,1)'></td>
+  <td width='1' style='background-color: rgba(197,255,230,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(208,255,231,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(207,255,231,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(214,255,229,1)'></td>
-  <td width='1' style='background-color: rgba(215,255,221,1)'></td>
+  <td width='1' style='background-color: rgba(214,255,220,1)'></td>
   <td width='1' style='background-color: rgba(222,255,205,1)'></td>
   <td width='1' style='background-color: rgba(231,255,196,1)'></td>
   <td width='1' style='background-color: rgba(238,255,186,1)'></td>
-  <td width='1' style='background-color: rgba(246,255,176,1)'></td>
-  <td width='1' style='background-color: rgba(254,254,164,1)'></td>
+  <td width='1' style='background-color: rgba(246,255,175,1)'></td>
+  <td width='1' style='background-color: rgba(253,254,163,1)'></td>
   <td width='1' style='background-color: rgba(255,246,152,1)'></td>
   <td width='1' style='background-color: rgba(255,236,139,1)'></td>
   <td width='1' style='background-color: rgba(255,226,125,1)'></td>
-  <td width='1' style='background-color: rgba(255,217,109,1)'></td>
-  <td width='1' style='background-color: rgba(255,207,91,1)'></td>
+  <td width='1' style='background-color: rgba(255,216,109,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,207,92,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,207,91,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(255,196,71,1)'></td>
-  <td width='1' style='background-color: rgba(255,187,49,1)'></td>
-  <td width='1' style='background-color: rgba(255,236,221,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,187,50,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,187,49,1)'></td>");
+}
+</script>
+  <td width='1' style='background-color: rgba(255,236,220,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(234,255,251,1)'></td>
   <td width='1' style='background-color: rgba(55,255,228,1)'></td>
-  <td width='1' style='background-color: rgba(94,255,229,1)'></td>
+  <td width='1' style='background-color: rgba(95,255,229,1)'></td>
   <td width='1' style='background-color: rgba(120,255,230,1)'></td>
   <td width='1' style='background-color: rgba(141,255,231,1)'></td>
-  <td width='1' style='background-color: rgba(160,255,232,1)'></td>
-  <td width='1' style='background-color: rgba(176,255,233,1)'></td>
+  <td width='1' style='background-color: rgba(159,255,232,1)'></td>
+  <td width='1' style='background-color: rgba(176,255,232,1)'></td>
   <td width='1' style='background-color: rgba(190,255,234,1)'></td>
   <td width='1' style='background-color: rgba(203,255,235,1)'></td>
   <td width='1' style='background-color: rgba(214,255,236,1)'></td>
-  <td width='1' style='background-color: rgba(222,255,235,1)'></td>
+  <td width='1' style='background-color: rgba(221,255,235,1)'></td>
   <td width='1' style='background-color: rgba(223,255,228,1)'></td>
   <td width='1' style='background-color: rgba(230,255,214,1)'></td>
   <td width='1' style='background-color: rgba(238,255,206,1)'></td>
   <td width='1' style='background-color: rgba(246,255,196,1)'></td>
-  <td width='1' style='background-color: rgba(254,255,185,1)'></td>
+  <td width='1' style='background-color: rgba(253,254,185,1)'></td>
   <td width='1' style='background-color: rgba(255,246,175,1)'></td>
   <td width='1' style='background-color: rgba(255,237,163,1)'></td>
   <td width='1' style='background-color: rgba(255,227,151,1)'></td>
   <td width='1' style='background-color: rgba(255,218,138,1)'></td>
   <td width='1' style='background-color: rgba(255,208,124,1)'></td>
-  <td width='1' style='background-color: rgba(255,198,108,1)'></td>
+  <td width='1' style='background-color: rgba(255,197,108,1)'></td>
   <td width='1' style='background-color: rgba(255,187,90,1)'></td>
-  <td width='1' style='background-color: rgba(255,176,68,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,176,69,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,175,69,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(255,172,81,1)'></td>
   <td width='1' style='background-color: rgba(255,236,227,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(200,255,246,1)'></td>
   <td width='1' style='background-color: rgba(68,255,233,1)'></td>
   <td width='1' style='background-color: rgba(102,255,234,1)'></td>
-  <td width='1' style='background-color: rgba(127,255,235,1)'></td>
+  <td width='1' style='background-color: rgba(127,255,234,1)'></td>
   <td width='1' style='background-color: rgba(147,255,235,1)'></td>
   <td width='1' style='background-color: rgba(164,255,236,1)'></td>
-  <td width='1' style='background-color: rgba(181,255,237,1)'></td>
+  <td width='1' style='background-color: rgba(180,255,237,1)'></td>
   <td width='1' style='background-color: rgba(195,255,238,1)'></td>
-  <td width='1' style='background-color: rgba(208,255,239,1)'></td>
-  <td width='1' style='background-color: rgba(220,255,240,1)'></td>
-  <td width='1' style='background-color: rgba(229,255,241,1)'></td>
-  <td width='1' style='background-color: rgba(232,255,235,1)'></td>
-  <td width='1' style='background-color: rgba(239,255,223,1)'></td>
-  <td width='1' style='background-color: rgba(246,255,215,1)'></td>
-  <td width='1' style='background-color: rgba(253,255,205,1)'></td>
-  <td width='1' style='background-color: rgba(255,247,195,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(208,255,238,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(207,255,238,1)'></td>");
+}
+</script>
+  <td width='1' style='background-color: rgba(219,255,240,1)'></td>
+  <td width='1' style='background-color: rgba(229,255,240,1)'></td>
+  <td width='1' style='background-color: rgba(231,255,235,1)'></td>
+  <td width='1' style='background-color: rgba(238,255,223,1)'></td>
+  <td width='1' style='background-color: rgba(246,255,214,1)'></td>
+  <td width='1' style='background-color: rgba(253,254,205,1)'></td>
+  <td width='1' style='background-color: rgba(255,246,195,1)'></td>
   <td width='1' style='background-color: rgba(255,237,185,1)'></td>
   <td width='1' style='background-color: rgba(255,228,174,1)'></td>
   <td width='1' style='background-color: rgba(255,219,162,1)'></td>
   <td width='1' style='background-color: rgba(255,209,149,1)'></td>
   <td width='1' style='background-color: rgba(255,199,136,1)'></td>
-  <td width='1' style='background-color: rgba(255,189,121,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,189,121,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,188,121,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(255,178,105,1)'></td>
   <td width='1' style='background-color: rgba(255,166,86,1)'></td>
   <td width='1' style='background-color: rgba(255,154,64,1)'></td>
-  <td width='1' style='background-color: rgba(254,149,79,1)'></td>
-  <td width='1' style='background-color: rgba(254,237,232,1)'></td>
+  <td width='1' style='background-color: rgba(253,149,79,1)'></td>
+  <td width='1' style='background-color: rgba(253,237,232,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(170,255,246,1)'></td>
-  <td width='1' style='background-color: rgba(75,255,239,1)'></td>
-  <td width='1' style='background-color: rgba(107,255,239,1)'></td>
-  <td width='1' style='background-color: rgba(131,255,240,1)'></td>
+  <td width='1' style='background-color: rgba(170,255,245,1)'></td>
+  <td width='1' style='background-color: rgba(75,255,238,1)'></td>
+  <td width='1' style='background-color: rgba(108,255,239,1)'></td>
+  <td width='1' style='background-color: rgba(131,255,239,1)'></td>
   <td width='1' style='background-color: rgba(151,255,240,1)'></td>
-  <td width='1' style='background-color: rgba(169,255,241,1)'></td>
-  <td width='1' style='background-color: rgba(185,255,242,1)'></td>
-  <td width='1' style='background-color: rgba(199,255,243,1)'></td>
-  <td width='1' style='background-color: rgba(212,255,244,1)'></td>
-  <td width='1' style='background-color: rgba(224,255,245,1)'></td>
-  <td width='1' style='background-color: rgba(234,255,246,1)'></td>
-  <td width='1' style='background-color: rgba(240,255,242,1)'></td>
+  <td width='1' style='background-color: rgba(169,255,240,1)'></td>
+  <td width='1' style='background-color: rgba(184,255,241,1)'></td>
+  <td width='1' style='background-color: rgba(199,255,242,1)'></td>
+  <td width='1' style='background-color: rgba(212,255,243,1)'></td>
+  <td width='1' style='background-color: rgba(224,255,244,1)'></td>
+  <td width='1' style='background-color: rgba(234,255,245,1)'></td>
+  <td width='1' style='background-color: rgba(239,255,242,1)'></td>
   <td width='1' style='background-color: rgba(246,255,232,1)'></td>
-  <td width='1' style='background-color: rgba(253,255,223,1)'></td>
-  <td width='1' style='background-color: rgba(255,248,215,1)'></td>
+  <td width='1' style='background-color: rgba(253,254,223,1)'></td>
+  <td width='1' style='background-color: rgba(255,247,214,1)'></td>
   <td width='1' style='background-color: rgba(255,238,205,1)'></td>
-  <td width='1' style='background-color: rgba(255,229,195,1)'></td>
+  <td width='1' style='background-color: rgba(255,229,194,1)'></td>
   <td width='1' style='background-color: rgba(255,220,184,1)'></td>
-  <td width='1' style='background-color: rgba(255,211,173,1)'></td>
-  <td width='1' style='background-color: rgba(255,201,160,1)'></td>
-  <td width='1' style='background-color: rgba(255,190,149,1)'></td>
+  <td width='1' style='background-color: rgba(255,210,173,1)'></td>
+  <td width='1' style='background-color: rgba(255,200,160,1)'></td>
+  <td width='1' style='background-color: rgba(255,190,148,1)'></td>
   <td width='1' style='background-color: rgba(255,179,135,1)'></td>
   <td width='1' style='background-color: rgba(255,167,120,1)'></td>
-  <td width='1' style='background-color: rgba(255,154,103,1)'></td>
+  <td width='1' style='background-color: rgba(255,154,104,1)'></td>
   <td width='1' style='background-color: rgba(255,140,85,1)'></td>
   <td width='1' style='background-color: rgba(255,125,64,1)'></td>
   <td width='1' style='background-color: rgba(252,127,86,1)'></td>
-  <td width='1' style='background-color: rgba(254,241,240,1)'></td>
+  <td width='1' style='background-color: rgba(254,241,239,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(133,255,247,1)'></td>
-  <td width='1' style='background-color: rgba(83,255,245,1)'></td>
+  <td width='1' style='background-color: rgba(133,255,246,1)'></td>
+  <td width='1' style='background-color: rgba(83,255,244,1)'></td>
   <td width='1' style='background-color: rgba(113,255,245,1)'></td>
-  <td width='1' style='background-color: rgba(135,255,246,1)'></td>
+  <td width='1' style='background-color: rgba(135,255,245,1)'></td>
   <td width='1' style='background-color: rgba(155,255,246,1)'></td>
   <td width='1' style='background-color: rgba(172,255,246,1)'></td>
-  <td width='1' style='background-color: rgba(188,255,247,1)'></td>
+  <td width='1' style='background-color: rgba(188,255,246,1)'></td>
   <td width='1' style='background-color: rgba(202,255,247,1)'></td>
-  <td width='1' style='background-color: rgba(216,255,248,1)'></td>
-  <td width='1' style='background-color: rgba(228,255,249,1)'></td>
-  <td width='1' style='background-color: rgba(239,255,250,1)'></td>
-  <td width='1' style='background-color: rgba(247,255,249,1)'></td>
+  <td width='1' style='background-color: rgba(215,255,247,1)'></td>
+  <td width='1' style='background-color: rgba(228,255,248,1)'></td>
+  <td width='1' style='background-color: rgba(239,255,249,1)'></td>
+  <td width='1' style='background-color: rgba(247,255,248,1)'></td>
   <td width='1' style='background-color: rgba(253,255,240,1)'></td>
-  <td width='1' style='background-color: rgba(255,249,232,1)'></td>
-  <td width='1' style='background-color: rgba(255,240,223,1)'></td>
-  <td width='1' style='background-color: rgba(255,231,214,1)'></td>
-  <td width='1' style='background-color: rgba(255,221,204,1)'></td>
+  <td width='1' style='background-color: rgba(255,248,232,1)'></td>
+  <td width='1' style='background-color: rgba(255,239,222,1)'></td>
+  <td width='1' style='background-color: rgba(255,230,213,1)'></td>
+  <td width='1' style='background-color: rgba(255,221,203,1)'></td>
   <td width='1' style='background-color: rgba(255,211,194,1)'></td>
-  <td width='1' style='background-color: rgba(255,201,183,1)'></td>
-  <td width='1' style='background-color: rgba(255,189,172,1)'></td>
+  <td width='1' style='background-color: rgba(255,200,183,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,189,172,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,188,172,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(255,176,160,1)'></td>
   <td width='1' style='background-color: rgba(255,163,149,1)'></td>
   <td width='1' style='background-color: rgba(255,148,137,1)'></td>
   <td width='1' style='background-color: rgba(255,132,125,1)'></td>
   <td width='1' style='background-color: rgba(255,114,112,1)'></td>
   <td width='1' style='background-color: rgba(255,95,96,1)'></td>
   <td width='1' style='background-color: rgba(255,71,81,1)'></td>
   <td width='1' style='background-color: rgba(255,110,119,1)'></td>
-  <td width='1' style='background-color: rgba(255,243,244,1)'></td>
+  <td width='1' style='background-color: rgba(255,242,243,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
-  <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(75,255,251,1)'></td>
-  <td width='1' style='background-color: rgba(88,255,251,1)'></td>
+  <td width='1' style='background-color: rgba(254,255,255,1)'></td>
+  <td width='1' style='background-color: rgba(75,255,250,1)'></td>
+  <td width='1' style='background-color: rgba(88,255,250,1)'></td>
   <td width='1' style='background-color: rgba(116,255,251,1)'></td>
   <td width='1' style='background-color: rgba(139,255,251,1)'></td>
-  <td width='1' style='background-color: rgba(158,255,252,1)'></td>
+  <td width='1' style='background-color: rgba(158,255,251,1)'></td>
   <td width='1' style='background-color: rgba(175,255,252,1)'></td>
-  <td width='1' style='background-color: rgba(191,255,253,1)'></td>
-  <td width='1' style='background-color: rgba(205,255,253,1)'></td>
+  <td width='1' style='background-color: rgba(190,255,252,1)'></td>
+  <td width='1' style='background-color: rgba(205,255,252,1)'></td>
   <td width='1' style='background-color: rgba(218,255,253,1)'></td>
-  <td width='1' style='background-color: rgba(230,255,254,1)'></td>
+  <td width='1' style='background-color: rgba(230,255,253,1)'></td>
   <td width='1' style='background-color: rgba(242,255,254,1)'></td>
   <td width='1' style='background-color: rgba(252,254,254,1)'></td>
   <td width='1' style='background-color: rgba(255,249,248,1)'></td>
   <td width='1' style='background-color: rgba(255,241,241,1)'></td>
-  <td width='1' style='background-color: rgba(255,233,234,1)'></td>
+  <td width='1' style='background-color: rgba(255,232,234,1)'></td>
   <td width='1' style='background-color: rgba(255,223,227,1)'></td>
-  <td width='1' style='background-color: rgba(255,214,220,1)'></td>
-  <td width='1' style='background-color: rgba(255,203,212,1)'></td>
-  <td width='1' style='background-color: rgba(255,193,204,1)'></td>
+  <td width='1' style='background-color: rgba(255,213,219,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,203,212,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,203,211,1)'></td>");
+}
+</script>
+  <td width='1' style='background-color: rgba(255,192,204,1)'></td>
   <td width='1' style='background-color: rgba(255,182,196,1)'></td>
-  <td width='1' style='background-color: rgba(255,171,189,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,170,189,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,170,188,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(255,159,180,1)'></td>
   <td width='1' style='background-color: rgba(255,146,171,1)'></td>
   <td width='1' style='background-color: rgba(255,133,162,1)'></td>
   <td width='1' style='background-color: rgba(255,118,153,1)'></td>
   <td width='1' style='background-color: rgba(255,101,142,1)'></td>
   <td width='1' style='background-color: rgba(255,83,132,1)'></td>
-  <td width='1' style='background-color: rgba(255,58,120,1)'></td>
+  <td width='1' style='background-color: rgba(255,59,120,1)'></td>
   <td width='1' style='background-color: rgba(255,121,152,1)'></td>
   <td width='1' style='background-color: rgba(255,247,249,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(240,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(55,254,254,1)'></td>
-  <td width='1' style='background-color: rgba(93,253,255,1)'></td>
-  <td width='1' style='background-color: rgba(120,253,255,1)'></td>
-  <td width='1' style='background-color: rgba(142,253,255,1)'></td>
+  <td width='1' style='background-color: rgba(55,253,254,1)'></td>
+  <td width='1' style='background-color: rgba(93,253,254,1)'></td>
+  <td width='1' style='background-color: rgba(120,253,254,1)'></td>
+  <td width='1' style='background-color: rgba(142,252,254,1)'></td>
   <td width='1' style='background-color: rgba(161,252,255,1)'></td>
-  <td width='1' style='background-color: rgba(178,252,255,1)'></td>
-  <td width='1' style='background-color: rgba(193,251,255,1)'></td>
-  <td width='1' style='background-color: rgba(207,251,255,1)'></td>
-  <td width='1' style='background-color: rgba(220,251,255,1)'></td>
-  <td width='1' style='background-color: rgba(232,250,255,1)'></td>
-  <td width='1' style='background-color: rgba(243,246,255,1)'></td>
-  <td width='1' style='background-color: rgba(253,239,255,1)'></td>
+  <td width='1' style='background-color: rgba(178,251,255,1)'></td>
+  <td width='1' style='background-color: rgba(192,251,255,1)'></td>
+  <td width='1' style='background-color: rgba(206,251,255,1)'></td>
+  <td width='1' style='background-color: rgba(219,250,255,1)'></td>
+  <td width='1' style='background-color: rgba(231,249,255,1)'></td>
+  <td width='1' style='background-color: rgba(242,246,255,1)'></td>
+  <td width='1' style='background-color: rgba(253,238,254,1)'></td>
   <td width='1' style='background-color: rgba(255,233,248,1)'></td>
-  <td width='1' style='background-color: rgba(255,226,243,1)'></td>
+  <td width='1' style='background-color: rgba(255,226,242,1)'></td>
   <td width='1' style='background-color: rgba(255,220,237,1)'></td>
-  <td width='1' style='background-color: rgba(255,214,232,1)'></td>
-  <td width='1' style='background-color: rgba(255,207,227,1)'></td>
-  <td width='1' style='background-color: rgba(255,200,222,1)'></td>
-  <td width='1' style='background-color: rgba(255,192,216,1)'></td>
+  <td width='1' style='background-color: rgba(255,213,232,1)'></td>
+  <td width='1' style='background-color: rgba(255,206,227,1)'></td>
+  <td width='1' style='background-color: rgba(255,199,221,1)'></td>
+  <td width='1' style='background-color: rgba(255,192,215,1)'></td>
   <td width='1' style='background-color: rgba(255,183,210,1)'></td>
-  <td width='1' style='background-color: rgba(255,174,204,1)'></td>
+  <td width='1' style='background-color: rgba(255,174,203,1)'></td>
   <td width='1' style='background-color: rgba(255,164,197,1)'></td>
   <td width='1' style='background-color: rgba(255,154,190,1)'></td>
-  <td width='1' style='background-color: rgba(255,142,183,1)'></td>
+  <td width='1' style='background-color: rgba(255,142,182,1)'></td>
   <td width='1' style='background-color: rgba(255,130,175,1)'></td>
   <td width='1' style='background-color: rgba(255,115,166,1)'></td>
   <td width='1' style='background-color: rgba(255,99,157,1)'></td>
   <td width='1' style='background-color: rgba(255,79,147,1)'></td>
-  <td width='1' style='background-color: rgba(255,55,136,1)'></td>
+  <td width='1' style='background-color: rgba(255,56,136,1)'></td>
   <td width='1' style='background-color: rgba(255,138,172,1)'></td>
-  <td width='1' style='background-color: rgba(255,251,252,1)'></td>
+  <td width='1' style='background-color: rgba(255,250,251,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(225,253,255,1)'></td>
-  <td width='1' style='background-color: rgba(61,247,255,1)'></td>
-  <td width='1' style='background-color: rgba(98,247,255,1)'></td>
+  <td width='1' style='background-color: rgba(61,246,254,1)'></td>
+  <td width='1' style='background-color: rgba(98,246,255,1)'></td>
   <td width='1' style='background-color: rgba(123,246,255,1)'></td>
   <td width='1' style='background-color: rgba(144,246,255,1)'></td>
-  <td width='1' style='background-color: rgba(163,246,255,1)'></td>
-  <td width='1' style='background-color: rgba(179,245,255,1)'></td>
+  <td width='1' style='background-color: rgba(163,245,255,1)'></td>
+  <td width='1' style='background-color: rgba(179,244,255,1)'></td>
   <td width='1' style='background-color: rgba(194,244,255,1)'></td>
   <td width='1' style='background-color: rgba(207,243,255,1)'></td>
-  <td width='1' style='background-color: rgba(220,241,255,1)'></td>
+  <td width='1' style='background-color: rgba(219,241,255,1)'></td>
   <td width='1' style='background-color: rgba(230,235,255,1)'></td>
-  <td width='1' style='background-color: rgba(244,225,255,1)'></td>
+  <td width='1' style='background-color: rgba(243,224,255,1)'></td>
   <td width='1' style='background-color: rgba(253,218,254,1)'></td>
-  <td width='1' style='background-color: rgba(255,211,247,1)'></td>
-  <td width='1' style='background-color: rgba(255,204,240,1)'></td>
-  <td width='1' style='background-color: rgba(255,198,234,1)'></td>
+  <td width='1' style='background-color: rgba(255,211,246,1)'></td>
+  <td width='1' style='background-color: rgba(255,204,239,1)'></td>
+  <td width='1' style='background-color: rgba(255,197,233,1)'></td>
   <td width='1' style='background-color: rgba(255,190,227,1)'></td>
-  <td width='1' style='background-color: rgba(255,182,222,1)'></td>
-  <td width='1' style='background-color: rgba(255,174,216,1)'></td>
+  <td width='1' style='background-color: rgba(255,182,221,1)'></td>
+  <td width='1' style='background-color: rgba(255,174,215,1)'></td>
   <td width='1' style='background-color: rgba(255,166,210,1)'></td>
   <td width='1' style='background-color: rgba(255,158,204,1)'></td>
-  <td width='1' style='background-color: rgba(255,149,199,1)'></td>
-  <td width='1' style='background-color: rgba(255,140,193,1)'></td>
+  <td width='1' style='background-color: rgba(255,148,199,1)'></td>
+  <td width='1' style='background-color: rgba(255,140,192,1)'></td>
   <td width='1' style='background-color: rgba(255,130,187,1)'></td>
-  <td width='1' style='background-color: rgba(255,119,181,1)'></td>
+  <td width='1' style='background-color: rgba(255,119,180,1)'></td>
   <td width='1' style='background-color: rgba(255,108,174,1)'></td>
-  <td width='1' style='background-color: rgba(255,96,168,1)'></td>
+  <td width='1' style='background-color: rgba(255,96,167,1)'></td>
   <td width='1' style='background-color: rgba(255,83,160,1)'></td>
   <td width='1' style='background-color: rgba(255,66,154,1)'></td>
-  <td width='1' style='background-color: rgba(255,55,148,1)'></td>
+  <td width='1' style='background-color: rgba(255,56,148,1)'></td>
   <td width='1' style='background-color: rgba(255,148,183,1)'></td>
   <td width='1' style='background-color: rgba(255,235,240,1)'></td>
 </tr>
 <tr height='1'>
-  <td width='1' style='background-color: rgba(211,250,255,1)'></td>
+  <td width='1' style='background-color: rgba(210,250,255,1)'></td>
   <td width='1' style='background-color: rgba(66,240,255,1)'></td>
-  <td width='1' style='background-color: rgba(101,240,255,1)'></td>
-  <td width='1' style='background-color: rgba(126,239,255,1)'></td>
+  <td width='1' style='background-color: rgba(101,239,255,1)'></td>
+  <td width='1' style='background-color: rgba(126,238,255,1)'></td>
   <td width='1' style='background-color: rgba(146,238,255,1)'></td>
-  <td width='1' style='background-color: rgba(164,237,255,1)'></td>
+  <td width='1' style='background-color: rgba(163,237,255,1)'></td>
   <td width='1' style='background-color: rgba(179,236,255,1)'></td>
   <td width='1' style='background-color: rgba(193,235,255,1)'></td>
-  <td width='1' style='background-color: rgba(206,233,255,1)'></td>
-  <td width='1' style='background-color: rgba(216,224,255,1)'></td>
+  <td width='1' style='background-color: rgba(206,232,255,1)'></td>
+  <td width='1' style='background-color: rgba(216,223,255,1)'></td>
   <td width='1' style='background-color: rgba(232,210,255,1)'></td>
-  <td width='1' style='background-color: rgba(245,203,255,1)'></td>
-  <td width='1' style='background-color: rgba(253,195,253,1)'></td>
+  <td width='1' style='background-color: rgba(245,202,255,1)'></td>
+  <td width='1' style='background-color: rgba(252,195,252,1)'></td>
   <td width='1' style='background-color: rgba(255,187,246,1)'></td>
   <td width='1' style='background-color: rgba(255,180,238,1)'></td>
   <td width='1' style='background-color: rgba(255,172,231,1)'></td>
-  <td width='1' style='background-color: rgba(255,164,224,1)'></td>
+  <td width='1' style='background-color: rgba(255,163,223,1)'></td>
   <td width='1' style='background-color: rgba(255,155,218,1)'></td>
   <td width='1' style='background-color: rgba(255,146,211,1)'></td>
   <td width='1' style='background-color: rgba(255,136,205,1)'></td>
   <td width='1' style='background-color: rgba(255,126,199,1)'></td>
-  <td width='1' style='background-color: rgba(255,115,193,1)'></td>
-<script type="application/ecmascript">
-if (qcms_has_assembly) {
-  document.write("<td width='1' style='background-color: rgba(255,104,187,1)'></td>");
-} else {
-  document.write("<td width='1' style='background-color: rgba(255,103,187,1)'></td>");
-}
-</script>
+  <td width='1' style='background-color: rgba(255,115,192,1)'></td>
+  <td width='1' style='background-color: rgba(255,104,187,1)'></td>
   <td width='1' style='background-color: rgba(255,90,180,1)'></td>
-<script type="application/ecmascript">
-if (qcms_has_assembly) {
-  document.write("<td width='1' style='background-color: rgba(255,77,174,1)'></td>");
-} else {
-  document.write("<td width='1' style='background-color: rgba(255,77,173,1)'></td>");
-}
-</script>
-  <td width='1' style='background-color: rgba(255,58,167,1)'></td>
+  <td width='1' style='background-color: rgba(255,77,173,1)'></td>
+  <td width='1' style='background-color: rgba(255,59,167,1)'></td>
   <td width='1' style='background-color: rgba(254,42,158,1)'></td>
-  <td width='1' style='background-color: rgba(252,95,163,1)'></td>
-  <td width='1' style='background-color: rgba(253,185,207,1)'></td>
-  <td width='1' style='background-color: rgba(255,241,245,1)'></td>
+  <td width='1' style='background-color: rgba(251,95,163,1)'></td>
+  <td width='1' style='background-color: rgba(252,185,207,1)'></td>
+  <td width='1' style='background-color: rgba(254,241,245,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(199,246,255,1)'></td>
-  <td width='1' style='background-color: rgba(68,233,255,1)'></td>
-  <td width='1' style='background-color: rgba(101,232,255,1)'></td>
-  <td width='1' style='background-color: rgba(125,231,255,1)'></td>
+  <td width='1' style='background-color: rgba(68,232,255,1)'></td>
+  <td width='1' style='background-color: rgba(101,231,255,1)'></td>
+  <td width='1' style='background-color: rgba(125,230,255,1)'></td>
   <td width='1' style='background-color: rgba(145,229,255,1)'></td>
   <td width='1' style='background-color: rgba(163,228,255,1)'></td>
   <td width='1' style='background-color: rgba(178,226,255,1)'></td>
   <td width='1' style='background-color: rgba(191,222,255,1)'></td>
   <td width='1' style='background-color: rgba(201,211,255,1)'></td>
-  <td width='1' style='background-color: rgba(219,195,255,1)'></td>
-  <td width='1' style='background-color: rgba(235,185,255,1)'></td>
-  <td width='1' style='background-color: rgba(246,178,255,1)'></td>
-  <td width='1' style='background-color: rgba(252,170,251,1)'></td>
-  <td width='1' style='background-color: rgba(255,160,245,1)'></td>
+  <td width='1' style='background-color: rgba(219,194,255,1)'></td>
+  <td width='1' style='background-color: rgba(234,185,255,1)'></td>
+  <td width='1' style='background-color: rgba(245,178,255,1)'></td>
+  <td width='1' style='background-color: rgba(251,170,251,1)'></td>
+  <td width='1' style='background-color: rgba(255,160,244,1)'></td>
   <td width='1' style='background-color: rgba(255,152,236,1)'></td>
   <td width='1' style='background-color: rgba(255,143,228,1)'></td>
-  <td width='1' style='background-color: rgba(255,134,222,1)'></td>
-  <td width='1' style='background-color: rgba(255,124,215,1)'></td>
+  <td width='1' style='background-color: rgba(255,134,221,1)'></td>
+  <td width='1' style='background-color: rgba(255,124,214,1)'></td>
   <td width='1' style='background-color: rgba(255,113,208,1)'></td>
-  <td width='1' style='background-color: rgba(255,99,201,1)'></td>
-  <td width='1' style='background-color: rgba(255,86,195,1)'></td>
+  <td width='1' style='background-color: rgba(255,99,200,1)'></td>
+  <td width='1' style='background-color: rgba(255,86,194,1)'></td>
   <td width='1' style='background-color: rgba(255,71,187,1)'></td>
-<script type="application/ecmascript">
-if (qcms_has_assembly) {
-  document.write("<td width='1' style='background-color: rgba(255,53,180,1)'></td>");
-} else {
-  document.write("<td width='1' style='background-color: rgba(255,52,180,1)'></td>");
-}
-</script>
-  <td width='1' style='background-color: rgba(252,33,170,1)'></td>
-  <td width='1' style='background-color: rgba(245,33,155,1)'></td>
-  <td width='1' style='background-color: rgba(245,146,185,1)'></td>
-  <td width='1' style='background-color: rgba(250,216,226,1)'></td>
-  <td width='1' style='background-color: rgba(255,254,254,1)'></td>
+  <td width='1' style='background-color: rgba(255,53,180,1)'></td>
+  <td width='1' style='background-color: rgba(252,34,170,1)'></td>
+  <td width='1' style='background-color: rgba(245,34,155,1)'></td>
+  <td width='1' style='background-color: rgba(244,146,185,1)'></td>
+  <td width='1' style='background-color: rgba(249,216,226,1)'></td>
+  <td width='1' style='background-color: rgba(255,253,254,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
-  <td width='1' style='background-color: rgba(200,243,255,1)'></td>
+  <td width='1' style='background-color: rgba(200,242,255,1)'></td>
   <td width='1' style='background-color: rgba(66,223,255,1)'></td>
-  <td width='1' style='background-color: rgba(101,222,255,1)'></td>
-  <td width='1' style='background-color: rgba(125,221,255,1)'></td>
+  <td width='1' style='background-color: rgba(101,221,255,1)'></td>
+  <td width='1' style='background-color: rgba(125,220,255,1)'></td>
   <td width='1' style='background-color: rgba(144,219,255,1)'></td>
-  <td width='1' style='background-color: rgba(160,216,255,1)'></td>
+  <td width='1' style='background-color: rgba(160,215,255,1)'></td>
   <td width='1' style='background-color: rgba(174,211,255,1)'></td>
-  <td width='1' style='background-color: rgba(185,198,255,1)'></td>
-  <td width='1' style='background-color: rgba(205,179,255,1)'></td>
+  <td width='1' style='background-color: rgba(185,197,255,1)'></td>
+  <td width='1' style='background-color: rgba(205,178,255,1)'></td>
   <td width='1' style='background-color: rgba(223,167,255,1)'></td>
-  <td width='1' style='background-color: rgba(236,159,255,1)'></td>
+  <td width='1' style='background-color: rgba(235,159,255,1)'></td>
   <td width='1' style='background-color: rgba(246,150,255,1)'></td>
-  <td width='1' style='background-color: rgba(252,140,250,1)'></td>
+  <td width='1' style='background-color: rgba(251,140,250,1)'></td>
   <td width='1' style='background-color: rgba(255,130,243,1)'></td>
+  <td width='1' style='background-color: rgba(255,119,235,1)'></td>
+  <td width='1' style='background-color: rgba(255,108,227,1)'></td>
+  <td width='1' style='background-color: rgba(255,96,219,1)'></td>
 <script type="application/ecmascript">
 if (qcms_has_assembly) {
-  document.write("<td width='1' style='background-color: rgba(255,119,236,1)'></td>");
+  document.write("<td width='1' style='background-color: rgba(255,83,212,1)'></td>");
 } else {
-  document.write("<td width='1' style='background-color: rgba(255,119,235,1)'></td>");
+  document.write("<td width='1' style='background-color: rgba(255,83,211,1)'></td>");
 }
 </script>
-  <td width='1' style='background-color: rgba(255,108,227,1)'></td>
-  <td width='1' style='background-color: rgba(255,96,219,1)'></td>
-  <td width='1' style='background-color: rgba(255,83,212,1)'></td>
-  <td width='1' style='background-color: rgba(255,68,205,1)'></td>
-  <td width='1' style='background-color: rgba(255,49,196,1)'></td>
-  <td width='1' style='background-color: rgba(251,28,184,1)'></td>
-  <td width='1' style='background-color: rgba(240,12,164,1)'></td>
-  <td width='1' style='background-color: rgba(232,90,160,1)'></td>
-  <td width='1' style='background-color: rgba(239,185,204,1)'></td>
+  <td width='1' style='background-color: rgba(255,69,205,1)'></td>
+  <td width='1' style='background-color: rgba(255,50,196,1)'></td>
+  <td width='1' style='background-color: rgba(250,28,184,1)'></td>
+  <td width='1' style='background-color: rgba(240,13,164,1)'></td>
+  <td width='1' style='background-color: rgba(231,90,159,1)'></td>
+  <td width='1' style='background-color: rgba(239,185,203,1)'></td>
   <td width='1' style='background-color: rgba(251,241,244,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
-  <td width='1' style='background-color: rgba(203,239,255,1)'></td>
+  <td width='1' style='background-color: rgba(202,239,255,1)'></td>
   <td width='1' style='background-color: rgba(66,213,255,1)'></td>
   <td width='1' style='background-color: rgba(98,211,255,1)'></td>
   <td width='1' style='background-color: rgba(122,209,255,1)'></td>
   <td width='1' style='background-color: rgba(141,205,255,1)'></td>
   <td width='1' style='background-color: rgba(155,199,255,1)'></td>
   <td width='1' style='background-color: rgba(167,183,255,1)'></td>
   <td width='1' style='background-color: rgba(189,161,255,1)'></td>
-  <td width='1' style='background-color: rgba(211,147,255,1)'></td>
-  <td width='1' style='background-color: rgba(225,137,255,1)'></td>
-  <td width='1' style='background-color: rgba(237,128,255,1)'></td>
+  <td width='1' style='background-color: rgba(210,147,255,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(225,137,255,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(224,137,255,1)'></td>");
+}
+</script>
+  <td width='1' style='background-color: rgba(236,128,255,1)'></td>
   <td width='1' style='background-color: rgba(246,118,255,1)'></td>
   <td width='1' style='background-color: rgba(251,105,249,1)'></td>
-  <td width='1' style='background-color: rgba(254,91,242,1)'></td>
+  <td width='1' style='background-color: rgba(254,92,241,1)'></td>
   <td width='1' style='background-color: rgba(255,77,234,1)'></td>
   <td width='1' style='background-color: rgba(255,61,226,1)'></td>
   <td width='1' style='background-color: rgba(254,42,215,1)'></td>
-  <td width='1' style='background-color: rgba(249,21,201,1)'></td>
+  <td width='1' style='background-color: rgba(248,22,200,1)'></td>
   <td width='1' style='background-color: rgba(237,0,178,1)'></td>
   <td width='1' style='background-color: rgba(220,28,149,1)'></td>
-  <td width='1' style='background-color: rgba(224,146,177,1)'></td>
-  <td width='1' style='background-color: rgba(241,216,223,1)'></td>
-  <td width='1' style='background-color: rgba(255,254,254,1)'></td>
+  <td width='1' style='background-color: rgba(223,146,177,1)'></td>
+  <td width='1' style='background-color: rgba(240,216,223,1)'></td>
+  <td width='1' style='background-color: rgba(254,253,254,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
-  <td width='1' style='background-color: rgba(215,240,255,1)'></td>
+  <td width='1' style='background-color: rgba(214,239,255,1)'></td>
   <td width='1' style='background-color: rgba(61,201,255,1)'></td>
   <td width='1' style='background-color: rgba(95,199,255,1)'></td>
   <td width='1' style='background-color: rgba(118,194,255,1)'></td>
   <td width='1' style='background-color: rgba(134,186,255,1)'></td>
   <td width='1' style='background-color: rgba(147,168,255,1)'></td>
-  <td width='1' style='background-color: rgba(171,142,255,1)'></td>
+  <td width='1' style='background-color: rgba(170,142,255,1)'></td>
   <td width='1' style='background-color: rgba(197,125,255,1)'></td>
   <td width='1' style='background-color: rgba(213,113,255,1)'></td>
   <td width='1' style='background-color: rgba(226,101,255,1)'></td>
   <td width='1' style='background-color: rgba(237,88,255,1)'></td>
   <td width='1' style='background-color: rgba(246,75,254,1)'></td>
   <td width='1' style='background-color: rgba(250,56,247,1)'></td>
-  <td width='1' style='background-color: rgba(251,33,237,1)'></td>
-  <td width='1' style='background-color: rgba(245,12,219,1)'></td>
+  <td width='1' style='background-color: rgba(251,34,237,1)'></td>
+  <td width='1' style='background-color: rgba(245,13,219,1)'></td>
   <td width='1' style='background-color: rgba(232,0,193,1)'></td>
-  <td width='1' style='background-color: rgba(213,0,160,1)'></td>
+  <td width='1' style='background-color: rgba(213,0,159,1)'></td>
   <td width='1' style='background-color: rgba(203,90,149,1)'></td>
-  <td width='1' style='background-color: rgba(224,185,199,1)'></td>
+  <td width='1' style='background-color: rgba(223,185,199,1)'></td>
   <td width='1' style='background-color: rgba(248,241,243,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
-  <td width='1' style='background-color: rgba(230,244,255,1)'></td>
-  <td width='1' style='background-color: rgba(55,187,255,1)'></td>
+  <td width='1' style='background-color: rgba(230,243,255,1)'></td>
+  <td width='1' style='background-color: rgba(56,187,255,1)'></td>
   <td width='1' style='background-color: rgba(88,181,255,1)'></td>
   <td width='1' style='background-color: rgba(108,171,255,1)'></td>
   <td width='1' style='background-color: rgba(124,151,255,1)'></td>
   <td width='1' style='background-color: rgba(149,121,255,1)'></td>
   <td width='1' style='background-color: rgba(182,99,255,1)'></td>
   <td width='1' style='background-color: rgba(200,83,255,1)'></td>
-  <td width='1' style='background-color: rgba(214,68,255,1)'></td>
-  <td width='1' style='background-color: rgba(226,49,255,1)'></td>
-  <td width='1' style='background-color: rgba(235,33,251,1)'></td>
-  <td width='1' style='background-color: rgba(235,12,237,1)'></td>
+  <td width='1' style='background-color: rgba(214,69,255,1)'></td>
+  <td width='1' style='background-color: rgba(226,50,255,1)'></td>
+  <td width='1' style='background-color: rgba(234,34,251,1)'></td>
+  <td width='1' style='background-color: rgba(234,13,237,1)'></td>
   <td width='1' style='background-color: rgba(223,0,210,1)'></td>
   <td width='1' style='background-color: rgba(206,0,175,1)'></td>
   <td width='1' style='background-color: rgba(185,28,140,1)'></td>
   <td width='1' style='background-color: rgba(200,146,170,1)'></td>
-  <td width='1' style='background-color: rgba(232,216,221,1)'></td>
-  <td width='1' style='background-color: rgba(254,254,254,1)'></td>
+  <td width='1' style='background-color: rgba(232,215,220,1)'></td>
+  <td width='1' style='background-color: rgba(254,253,253,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
-  <td width='1' style='background-color: rgba(252,254,255,1)'></td>
+  <td width='1' style='background-color: rgba(252,253,255,1)'></td>
   <td width='1' style='background-color: rgba(90,178,255,1)'></td>
   <td width='1' style='background-color: rgba(73,155,255,1)'></td>
   <td width='1' style='background-color: rgba(93,132,255,1)'></td>
   <td width='1' style='background-color: rgba(126,98,255,1)'></td>
-  <td width='1' style='background-color: rgba(164,68,255,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(164,69,255,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(163,69,255,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(185,42,254,1)'></td>
-  <td width='1' style='background-color: rgba(195,21,248,1)'></td>
-  <td width='1' style='background-color: rgba(200,0,236,1)'></td>
-  <td width='1' style='background-color: rgba(198,0,218,1)'></td>
+  <td width='1' style='background-color: rgba(195,22,248,1)'></td>
+  <td width='1' style='background-color: rgba(199,0,236,1)'></td>
+  <td width='1' style='background-color: rgba(197,0,218,1)'></td>
   <td width='1' style='background-color: rgba(192,0,193,1)'></td>
-  <td width='1' style='background-color: rgba(174,0,155,1)'></td>
+  <td width='1' style='background-color: rgba(173,0,155,1)'></td>
   <td width='1' style='background-color: rgba(169,90,140,1)'></td>
-  <td width='1' style='background-color: rgba(208,185,195,1)'></td>
+  <td width='1' style='background-color: rgba(208,185,194,1)'></td>
   <td width='1' style='background-color: rgba(245,241,242,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -1023,28 +1132,28 @@ if (qcms_has_assembly) {
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(217,228,255,1)'></td>
+  <td width='1' style='background-color: rgba(216,228,255,1)'></td>
   <td width='1' style='background-color: rgba(77,124,255,1)'></td>
-  <td width='1' style='background-color: rgba(86,71,253,1)'></td>
-  <td width='1' style='background-color: rgba(120,42,245,1)'></td>
-  <td width='1' style='background-color: rgba(134,21,230,1)'></td>
-  <td width='1' style='background-color: rgba(136,12,209,1)'></td>
+  <td width='1' style='background-color: rgba(86,71,252,1)'></td>
+  <td width='1' style='background-color: rgba(120,42,244,1)'></td>
+  <td width='1' style='background-color: rgba(134,22,230,1)'></td>
+  <td width='1' style='background-color: rgba(136,13,209,1)'></td>
   <td width='1' style='background-color: rgba(135,0,186,1)'></td>
-  <td width='1' style='background-color: rgba(133,0,160,1)'></td>
+  <td width='1' style='background-color: rgba(133,0,159,1)'></td>
   <td width='1' style='background-color: rgba(130,28,132,1)'></td>
   <td width='1' style='background-color: rgba(174,146,165,1)'></td>
   <td width='1' style='background-color: rgba(223,216,219,1)'></td>
-  <td width='1' style='background-color: rgba(254,254,254,1)'></td>
+  <td width='1' style='background-color: rgba(254,253,253,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -1059,23 +1168,23 @@ if (qcms_has_assembly) {
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(251,251,255,1)'></td>
-  <td width='1' style='background-color: rgba(240,240,252,1)'></td>
-  <td width='1' style='background-color: rgba(240,240,250,1)'></td>
+  <td width='1' style='background-color: rgba(239,240,252,1)'></td>
+  <td width='1' style='background-color: rgba(239,239,250,1)'></td>
   <td width='1' style='background-color: rgba(229,229,239,1)'></td>
-  <td width='1' style='background-color: rgba(222,222,230,1)'></td>
+  <td width='1' style='background-color: rgba(221,221,230,1)'></td>
   <td width='1' style='background-color: rgba(222,221,227,1)'></td>
-  <td width='1' style='background-color: rgba(222,221,224,1)'></td>
-  <td width='1' style='background-color: rgba(244,243,244,1)'></td>
+  <td width='1' style='background-color: rgba(222,221,223,1)'></td>
+  <td width='1' style='background-color: rgba(244,243,243,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
--- a/modules/libpr0n/test/reftest/pngsuite-ancillary/ccwn3p08.html
+++ b/modules/libpr0n/test/reftest/pngsuite-ancillary/ccwn3p08.html
@@ -1,11 +1,48 @@
 <html>
 <head>
 <script src="qcms-asm-check.js" type="application/ecmascript"></script>
+<!-- generated with:
+import png
+import sys
+print """<html>
+<head>
+<script src="qcms-asm-check.js" type="application/ecmascript"></script>
+<!-""" + """- generated with:"""
+print open(__file__).read()
+print "-" + """->
+</head>
+<body>
+<table cellpadding='0' cellspacing='0' width='32' height='32'>"""
+r1 = png.Reader(file=open(sys.argv[1]))
+r2 = png.Reader(file=open(sys.argv[2]))
+(data1, data2) = (r1.asDirect(), r2.asDirect())
+(pixels1, pixels2) = (list(data1[2])[8:32+8], list(data2[2])[8:32+8])
+planes = data1[3]['planes']
+for (line1, line2) in zip(pixels1, pixels2):
+    r1, g1, b1 = (line1[0::planes][8:32+8], line1[1::planes][8:32+8], line1[2::planes][8:32+8])
+    r2, g2, b2 = (line2[0::planes][8:32+8], line2[1::planes][8:32+8], line2[2::planes][8:32+8])
+    print "<tr height='1'>"
+    for (pixel1, pixel2) in zip(zip(r1,g1,b1), zip(r2,g2,b2)):
+        if pixel1[0] == pixel2[0] and pixel1[1] == pixel2[1] and pixel1[2] == pixel2[2]:
+            print "  <td width='1' style='background-color: rgba(%d,%d,%d,1)'></td>" % (pixel1[0], pixel1[1], pixel1[2])
+        else:
+            print """<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(%d,%d,%d,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(%d,%d,%d,1)'></td>");
+}
+</script>""" % (pixel1[0], pixel1[1], pixel1[2], pixel2[0], pixel2[1], pixel2[2])
+    print "</tr>"
+print """</table>
+</body></html>"""
+
+-->
 </head>
 <body>
 <table cellpadding='0' cellspacing='0' width='32' height='32'>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -81,17 +118,17 @@
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(228,255,232,1)'></td>
   <td width='1' style='background-color: rgba(163,255,190,1)'></td>
   <td width='1' style='background-color: rgba(114,255,164,1)'></td>
   <td width='1' style='background-color: rgba(163,255,187,1)'></td>
   <td width='1' style='background-color: rgba(216,255,222,1)'></td>
-  <td width='1' style='background-color: rgba(254,255,253,1)'></td>
+  <td width='1' style='background-color: rgba(253,255,253,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -109,21 +146,21 @@
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(189,255,220,1)'></td>
+  <td width='1' style='background-color: rgba(188,255,219,1)'></td>
   <td width='1' style='background-color: rgba(52,255,163,1)'></td>
   <td width='1' style='background-color: rgba(52,255,163,1)'></td>
-  <td width='1' style='background-color: rgba(70,255,144,1)'></td>
-  <td width='1' style='background-color: rgba(70,255,144,1)'></td>
+  <td width='1' style='background-color: rgba(71,255,144,1)'></td>
+  <td width='1' style='background-color: rgba(71,255,144,1)'></td>
   <td width='1' style='background-color: rgba(90,255,120,1)'></td>
   <td width='1' style='background-color: rgba(134,255,127,1)'></td>
   <td width='1' style='background-color: rgba(228,255,232,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -142,26 +179,26 @@
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(197,255,224,1)'></td>
-  <td width='1' style='background-color: rgba(63,255,173,1)'></td>
-  <td width='1' style='background-color: rgba(63,255,173,1)'></td>
-  <td width='1' style='background-color: rgba(100,255,166,1)'></td>
+  <td width='1' style='background-color: rgba(197,255,223,1)'></td>
+  <td width='1' style='background-color: rgba(64,255,173,1)'></td>
+  <td width='1' style='background-color: rgba(64,255,173,1)'></td>
+  <td width='1' style='background-color: rgba(101,255,166,1)'></td>
   <td width='1' style='background-color: rgba(86,255,159,1)'></td>
-  <td width='1' style='background-color: rgba(70,255,144,1)'></td>
+  <td width='1' style='background-color: rgba(71,255,144,1)'></td>
   <td width='1' style='background-color: rgba(90,255,120,1)'></td>
   <td width='1' style='background-color: rgba(90,255,120,1)'></td>
   <td width='1' style='background-color: rgba(127,255,95,1)'></td>
-  <td width='1' style='background-color: rgba(207,255,188,1)'></td>
+  <td width='1' style='background-color: rgba(206,255,188,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -177,27 +214,45 @@
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(230,255,243,1)'></td>
   <td width='1' style='background-color: rgba(52,255,187,1)'></td>
-  <td width='1' style='background-color: rgba(77,255,185,1)'></td>
-  <td width='1' style='background-color: rgba(77,255,185,1)'></td>
-  <td width='1' style='background-color: rgba(100,255,166,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(77,255,185,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(77,255,184,1)'></td>");
+}
+</script>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(77,255,185,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(77,255,184,1)'></td>");
+}
+</script>
+  <td width='1' style='background-color: rgba(101,255,166,1)'></td>
   <td width='1' style='background-color: rgba(114,255,164,1)'></td>
   <td width='1' style='background-color: rgba(114,255,164,1)'></td>
   <td width='1' style='background-color: rgba(99,255,130,1)'></td>
   <td width='1' style='background-color: rgba(90,255,120,1)'></td>
   <td width='1' style='background-color: rgba(127,255,95,1)'></td>
-  <td width='1' style='background-color: rgba(164,255,91,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(163,255,92,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(163,255,91,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(199,255,148,1)'></td>
-  <td width='1' style='background-color: rgba(254,255,253,1)'></td>
+  <td width='1' style='background-color: rgba(253,255,253,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -210,27 +265,51 @@
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(137,255,206,1)'></td>
-  <td width='1' style='background-color: rgba(73,255,185,1)'></td>
-  <td width='1' style='background-color: rgba(77,255,185,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(73,255,185,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(73,255,184,1)'></td>");
+}
+</script>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(77,255,185,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(77,255,184,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(116,255,190,1)'></td>
   <td width='1' style='background-color: rgba(116,255,190,1)'></td>
   <td width='1' style='background-color: rgba(138,255,169,1)'></td>
   <td width='1' style='background-color: rgba(114,255,164,1)'></td>
   <td width='1' style='background-color: rgba(123,255,159,1)'></td>
   <td width='1' style='background-color: rgba(134,255,127,1)'></td>
-  <td width='1' style='background-color: rgba(153,255,103,1)'></td>
-  <td width='1' style='background-color: rgba(164,255,91,1)'></td>
-  <td width='1' style='background-color: rgba(164,255,91,1)'></td>
+  <td width='1' style='background-color: rgba(153,255,104,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(163,255,92,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(163,255,91,1)'></td>");
+}
+</script>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(163,255,92,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(163,255,91,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(205,255,136,1)'></td>
   <td width='1' style='background-color: rgba(253,255,246,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -242,29 +321,35 @@
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(220,255,240,1)'></td>
+  <td width='1' style='background-color: rgba(219,255,240,1)'></td>
   <td width='1' style='background-color: rgba(52,255,187,1)'></td>
   <td width='1' style='background-color: rgba(90,255,198,1)'></td>
   <td width='1' style='background-color: rgba(105,255,193,1)'></td>
   <td width='1' style='background-color: rgba(116,255,190,1)'></td>
   <td width='1' style='background-color: rgba(134,255,195,1)'></td>
   <td width='1' style='background-color: rgba(151,255,182,1)'></td>
   <td width='1' style='background-color: rgba(138,255,169,1)'></td>
   <td width='1' style='background-color: rgba(123,255,159,1)'></td>
   <td width='1' style='background-color: rgba(134,255,127,1)'></td>
-  <td width='1' style='background-color: rgba(164,255,91,1)'></td>
-  <td width='1' style='background-color: rgba(187,255,96,1)'></td>
-  <td width='1' style='background-color: rgba(187,255,96,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(163,255,92,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(163,255,91,1)'></td>");
+}
+</script>
+  <td width='1' style='background-color: rgba(186,255,96,1)'></td>
+  <td width='1' style='background-color: rgba(186,255,96,1)'></td>
   <td width='1' style='background-color: rgba(195,255,79,1)'></td>
   <td width='1' style='background-color: rgba(217,255,115,1)'></td>
   <td width='1' style='background-color: rgba(253,255,246,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -287,20 +372,20 @@
   <td width='1' style='background-color: rgba(134,255,195,1)'></td>
   <td width='1' style='background-color: rgba(134,255,195,1)'></td>
   <td width='1' style='background-color: rgba(144,255,196,1)'></td>
   <td width='1' style='background-color: rgba(144,255,196,1)'></td>
   <td width='1' style='background-color: rgba(151,255,182,1)'></td>
   <td width='1' style='background-color: rgba(138,255,169,1)'></td>
   <td width='1' style='background-color: rgba(172,255,140,1)'></td>
   <td width='1' style='background-color: rgba(172,255,140,1)'></td>
-  <td width='1' style='background-color: rgba(187,255,96,1)'></td>
+  <td width='1' style='background-color: rgba(186,255,96,1)'></td>
   <td width='1' style='background-color: rgba(195,255,79,1)'></td>
-  <td width='1' style='background-color: rgba(209,255,68,1)'></td>
-  <td width='1' style='background-color: rgba(209,255,68,1)'></td>
+  <td width='1' style='background-color: rgba(209,255,69,1)'></td>
+  <td width='1' style='background-color: rgba(209,255,69,1)'></td>
   <td width='1' style='background-color: rgba(234,255,124,1)'></td>
   <td width='1' style='background-color: rgba(255,255,253,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -314,18 +399,18 @@
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(230,255,243,1)'></td>
   <td width='1' style='background-color: rgba(68,255,207,1)'></td>
   <td width='1' style='background-color: rgba(91,255,202,1)'></td>
   <td width='1' style='background-color: rgba(111,255,208,1)'></td>
   <td width='1' style='background-color: rgba(137,255,206,1)'></td>
-  <td width='1' style='background-color: rgba(148,255,208,1)'></td>
-  <td width='1' style='background-color: rgba(148,255,208,1)'></td>
+  <td width='1' style='background-color: rgba(147,255,208,1)'></td>
+  <td width='1' style='background-color: rgba(147,255,208,1)'></td>
   <td width='1' style='background-color: rgba(163,255,190,1)'></td>
   <td width='1' style='background-color: rgba(163,255,190,1)'></td>
   <td width='1' style='background-color: rgba(163,255,187,1)'></td>
   <td width='1' style='background-color: rgba(172,255,140,1)'></td>
   <td width='1' style='background-color: rgba(172,255,140,1)'></td>
   <td width='1' style='background-color: rgba(205,255,136,1)'></td>
   <td width='1' style='background-color: rgba(209,255,121,1)'></td>
   <td width='1' style='background-color: rgba(217,255,115,1)'></td>
@@ -347,23 +432,23 @@
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(169,255,229,1)'></td>
   <td width='1' style='background-color: rgba(68,255,207,1)'></td>
   <td width='1' style='background-color: rgba(96,255,205,1)'></td>
   <td width='1' style='background-color: rgba(111,255,208,1)'></td>
-  <td width='1' style='background-color: rgba(148,255,208,1)'></td>
-  <td width='1' style='background-color: rgba(148,255,208,1)'></td>
+  <td width='1' style='background-color: rgba(147,255,208,1)'></td>
+  <td width='1' style='background-color: rgba(147,255,208,1)'></td>
   <td width='1' style='background-color: rgba(165,255,212,1)'></td>
   <td width='1' style='background-color: rgba(176,255,209,1)'></td>
   <td width='1' style='background-color: rgba(176,255,209,1)'></td>
   <td width='1' style='background-color: rgba(163,255,187,1)'></td>
-  <td width='1' style='background-color: rgba(187,255,179,1)'></td>
+  <td width='1' style='background-color: rgba(186,255,178,1)'></td>
   <td width='1' style='background-color: rgba(199,255,148,1)'></td>
   <td width='1' style='background-color: rgba(205,255,136,1)'></td>
   <td width='1' style='background-color: rgba(209,255,121,1)'></td>
   <td width='1' style='background-color: rgba(222,255,114,1)'></td>
   <td width='1' style='background-color: rgba(230,255,79,1)'></td>
   <td width='1' style='background-color: rgba(243,255,66,1)'></td>
   <td width='1' style='background-color: rgba(243,255,66,1)'></td>
   <td width='1' style='background-color: rgba(254,254,168,1)'></td>
@@ -377,561 +462,633 @@
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(248,255,251,1)'></td>
-  <td width='1' style='background-color: rgba(68,255,217,1)'></td>
-  <td width='1' style='background-color: rgba(96,255,211,1)'></td>
+  <td width='1' style='background-color: rgba(68,255,216,1)'></td>
+  <td width='1' style='background-color: rgba(96,255,210,1)'></td>
   <td width='1' style='background-color: rgba(111,255,208,1)'></td>
   <td width='1' style='background-color: rgba(137,255,216,1)'></td>
   <td width='1' style='background-color: rgba(155,255,219,1)'></td>
-  <td width='1' style='background-color: rgba(169,255,216,1)'></td>
-  <td width='1' style='background-color: rgba(169,255,216,1)'></td>
-  <td width='1' style='background-color: rgba(189,255,220,1)'></td>
+  <td width='1' style='background-color: rgba(169,255,215,1)'></td>
+  <td width='1' style='background-color: rgba(169,255,215,1)'></td>
+  <td width='1' style='background-color: rgba(188,255,219,1)'></td>
   <td width='1' style='background-color: rgba(176,255,209,1)'></td>
   <td width='1' style='background-color: rgba(190,255,194,1)'></td>
-  <td width='1' style='background-color: rgba(194,255,181,1)'></td>
-  <td width='1' style='background-color: rgba(210,255,170,1)'></td>
-  <td width='1' style='background-color: rgba(210,255,170,1)'></td>
+  <td width='1' style='background-color: rgba(194,255,180,1)'></td>
+  <td width='1' style='background-color: rgba(209,255,170,1)'></td>
+  <td width='1' style='background-color: rgba(209,255,170,1)'></td>
   <td width='1' style='background-color: rgba(226,255,148,1)'></td>
   <td width='1' style='background-color: rgba(234,255,124,1)'></td>
   <td width='1' style='background-color: rgba(234,255,124,1)'></td>
-  <td width='1' style='background-color: rgba(252,254,95,1)'></td>
-  <td width='1' style='background-color: rgba(252,254,95,1)'></td>
+  <td width='1' style='background-color: rgba(251,254,95,1)'></td>
+  <td width='1' style='background-color: rgba(251,254,95,1)'></td>
   <td width='1' style='background-color: rgba(255,245,96,1)'></td>
-  <td width='1' style='background-color: rgba(255,249,185,1)'></td>
+  <td width='1' style='background-color: rgba(254,249,185,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(204,255,242,1)'></td>
-  <td width='1' style='background-color: rgba(68,255,217,1)'></td>
-  <td width='1' style='background-color: rgba(96,255,211,1)'></td>
+  <td width='1' style='background-color: rgba(203,255,242,1)'></td>
+  <td width='1' style='background-color: rgba(68,255,216,1)'></td>
+  <td width='1' style='background-color: rgba(96,255,210,1)'></td>
   <td width='1' style='background-color: rgba(123,255,220,1)'></td>
   <td width='1' style='background-color: rgba(137,255,216,1)'></td>
   <td width='1' style='background-color: rgba(155,255,219,1)'></td>
-  <td width='1' style='background-color: rgba(169,255,216,1)'></td>
-  <td width='1' style='background-color: rgba(189,255,220,1)'></td>
-  <td width='1' style='background-color: rgba(189,255,220,1)'></td>
-  <td width='1' style='background-color: rgba(197,255,224,1)'></td>
+  <td width='1' style='background-color: rgba(169,255,215,1)'></td>
+  <td width='1' style='background-color: rgba(188,255,219,1)'></td>
+  <td width='1' style='background-color: rgba(188,255,219,1)'></td>
+  <td width='1' style='background-color: rgba(197,255,223,1)'></td>
   <td width='1' style='background-color: rgba(190,255,194,1)'></td>
-  <td width='1' style='background-color: rgba(207,255,188,1)'></td>
-  <td width='1' style='background-color: rgba(210,255,170,1)'></td>
+  <td width='1' style='background-color: rgba(206,255,188,1)'></td>
+  <td width='1' style='background-color: rgba(209,255,170,1)'></td>
   <td width='1' style='background-color: rgba(226,255,148,1)'></td>
   <td width='1' style='background-color: rgba(226,255,148,1)'></td>
   <td width='1' style='background-color: rgba(241,255,147,1)'></td>
-  <td width='1' style='background-color: rgba(251,255,133,1)'></td>
-  <td width='1' style='background-color: rgba(252,254,95,1)'></td>
+  <td width='1' style='background-color: rgba(250,254,133,1)'></td>
+  <td width='1' style='background-color: rgba(251,254,95,1)'></td>
   <td width='1' style='background-color: rgba(255,245,96,1)'></td>
   <td width='1' style='background-color: rgba(255,225,95,1)'></td>
   <td width='1' style='background-color: rgba(255,225,95,1)'></td>
-  <td width='1' style='background-color: rgba(255,243,196,1)'></td>
+  <td width='1' style='background-color: rgba(255,242,196,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(170,255,234,1)'></td>
-  <td width='1' style='background-color: rgba(68,255,217,1)'></td>
+  <td width='1' style='background-color: rgba(170,255,233,1)'></td>
+  <td width='1' style='background-color: rgba(68,255,216,1)'></td>
   <td width='1' style='background-color: rgba(114,255,219,1)'></td>
-  <td width='1' style='background-color: rgba(134,255,223,1)'></td>
+  <td width='1' style='background-color: rgba(134,255,222,1)'></td>
   <td width='1' style='background-color: rgba(142,255,224,1)'></td>
   <td width='1' style='background-color: rgba(169,255,229,1)'></td>
-  <td width='1' style='background-color: rgba(179,255,232,1)'></td>
+  <td width='1' style='background-color: rgba(179,255,231,1)'></td>
   <td width='1' style='background-color: rgba(187,255,227,1)'></td>
-  <td width='1' style='background-color: rgba(197,255,224,1)'></td>
+  <td width='1' style='background-color: rgba(197,255,223,1)'></td>
   <td width='1' style='background-color: rgba(205,255,218,1)'></td>
   <td width='1' style='background-color: rgba(205,255,218,1)'></td>
-  <td width='1' style='background-color: rgba(218,255,191,1)'></td>
-  <td width='1' style='background-color: rgba(218,255,191,1)'></td>
+  <td width='1' style='background-color: rgba(218,255,190,1)'></td>
+  <td width='1' style='background-color: rgba(218,255,190,1)'></td>
   <td width='1' style='background-color: rgba(230,255,196,1)'></td>
   <td width='1' style='background-color: rgba(242,255,159,1)'></td>
   <td width='1' style='background-color: rgba(242,255,159,1)'></td>
-  <td width='1' style='background-color: rgba(251,255,133,1)'></td>
+  <td width='1' style='background-color: rgba(250,254,133,1)'></td>
   <td width='1' style='background-color: rgba(255,245,96,1)'></td>
-  <td width='1' style='background-color: rgba(255,233,116,1)'></td>
+  <td width='1' style='background-color: rgba(255,232,117,1)'></td>
   <td width='1' style='background-color: rgba(255,225,95,1)'></td>
-  <td width='1' style='background-color: rgba(255,207,93,1)'></td>
-  <td width='1' style='background-color: rgba(255,207,93,1)'></td>
+  <td width='1' style='background-color: rgba(255,206,93,1)'></td>
+  <td width='1' style='background-color: rgba(255,206,93,1)'></td>
   <td width='1' style='background-color: rgba(255,231,206,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(106,255,234,1)'></td>
-  <td width='1' style='background-color: rgba(68,255,217,1)'></td>
+  <td width='1' style='background-color: rgba(68,255,216,1)'></td>
   <td width='1' style='background-color: rgba(114,255,219,1)'></td>
-  <td width='1' style='background-color: rgba(134,255,223,1)'></td>
+  <td width='1' style='background-color: rgba(134,255,222,1)'></td>
   <td width='1' style='background-color: rgba(142,255,224,1)'></td>
   <td width='1' style='background-color: rgba(169,255,229,1)'></td>
   <td width='1' style='background-color: rgba(187,255,227,1)'></td>
-  <td width='1' style='background-color: rgba(202,255,231,1)'></td>
-  <td width='1' style='background-color: rgba(211,255,235,1)'></td>
-  <td width='1' style='background-color: rgba(211,255,235,1)'></td>
+  <td width='1' style='background-color: rgba(202,255,230,1)'></td>
+  <td width='1' style='background-color: rgba(211,255,234,1)'></td>
+  <td width='1' style='background-color: rgba(211,255,234,1)'></td>
   <td width='1' style='background-color: rgba(216,255,222,1)'></td>
-  <td width='1' style='background-color: rgba(225,255,195,1)'></td>
+  <td width='1' style='background-color: rgba(224,255,195,1)'></td>
   <td width='1' style='background-color: rgba(230,255,196,1)'></td>
   <td width='1' style='background-color: rgba(238,255,196,1)'></td>
   <td width='1' style='background-color: rgba(254,254,168,1)'></td>
   <td width='1' style='background-color: rgba(254,254,168,1)'></td>
   <td width='1' style='background-color: rgba(255,236,151,1)'></td>
   <td width='1' style='background-color: rgba(255,236,151,1)'></td>
-  <td width='1' style='background-color: rgba(255,233,116,1)'></td>
+  <td width='1' style='background-color: rgba(255,232,117,1)'></td>
   <td width='1' style='background-color: rgba(255,212,119,1)'></td>
-  <td width='1' style='background-color: rgba(255,207,93,1)'></td>
-  <td width='1' style='background-color: rgba(255,197,91,1)'></td>
+  <td width='1' style='background-color: rgba(255,206,93,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,197,92,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,197,91,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(255,179,66,1)'></td>
-  <td width='1' style='background-color: rgba(255,236,226,1)'></td>
+  <td width='1' style='background-color: rgba(254,236,226,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(234,255,248,1)'></td>
-  <td width='1' style='background-color: rgba(61,255,231,1)'></td>
+  <td width='1' style='background-color: rgba(61,255,230,1)'></td>
   <td width='1' style='background-color: rgba(106,255,234,1)'></td>
   <td width='1' style='background-color: rgba(106,255,234,1)'></td>
   <td width='1' style='background-color: rgba(142,255,224,1)'></td>
   <td width='1' style='background-color: rgba(169,255,229,1)'></td>
-  <td width='1' style='background-color: rgba(179,255,232,1)'></td>
+  <td width='1' style='background-color: rgba(179,255,231,1)'></td>
   <td width='1' style='background-color: rgba(188,255,236,1)'></td>
-  <td width='1' style='background-color: rgba(202,255,231,1)'></td>
-  <td width='1' style='background-color: rgba(211,255,235,1)'></td>
-  <td width='1' style='background-color: rgba(220,255,240,1)'></td>
+  <td width='1' style='background-color: rgba(202,255,230,1)'></td>
+  <td width='1' style='background-color: rgba(211,255,234,1)'></td>
+  <td width='1' style='background-color: rgba(219,255,240,1)'></td>
   <td width='1' style='background-color: rgba(228,255,232,1)'></td>
   <td width='1' style='background-color: rgba(230,255,196,1)'></td>
   <td width='1' style='background-color: rgba(238,255,196,1)'></td>
   <td width='1' style='background-color: rgba(246,255,196,1)'></td>
-  <td width='1' style='background-color: rgba(255,249,185,1)'></td>
-  <td width='1' style='background-color: rgba(255,242,170,1)'></td>
-  <td width='1' style='background-color: rgba(255,242,170,1)'></td>
+  <td width='1' style='background-color: rgba(254,249,185,1)'></td>
+  <td width='1' style='background-color: rgba(255,241,170,1)'></td>
+  <td width='1' style='background-color: rgba(255,241,170,1)'></td>
   <td width='1' style='background-color: rgba(255,236,151,1)'></td>
   <td width='1' style='background-color: rgba(255,217,125,1)'></td>
   <td width='1' style='background-color: rgba(255,212,119,1)'></td>
-  <td width='1' style='background-color: rgba(255,197,91,1)'></td>
-  <td width='1' style='background-color: rgba(255,197,91,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,197,92,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,197,91,1)'></td>");
+}
+</script>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,197,92,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,197,91,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(255,179,66,1)'></td>
   <td width='1' style='background-color: rgba(255,176,88,1)'></td>
-  <td width='1' style='background-color: rgba(255,236,226,1)'></td>
+  <td width='1' style='background-color: rgba(254,236,226,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(202,255,248,1)'></td>
-  <td width='1' style='background-color: rgba(61,255,231,1)'></td>
+  <td width='1' style='background-color: rgba(202,255,247,1)'></td>
+  <td width='1' style='background-color: rgba(61,255,230,1)'></td>
   <td width='1' style='background-color: rgba(106,255,234,1)'></td>
-  <td width='1' style='background-color: rgba(135,255,239,1)'></td>
+  <td width='1' style='background-color: rgba(135,255,238,1)'></td>
   <td width='1' style='background-color: rgba(154,255,238,1)'></td>
   <td width='1' style='background-color: rgba(167,255,238,1)'></td>
-  <td width='1' style='background-color: rgba(185,255,240,1)'></td>
+  <td width='1' style='background-color: rgba(185,255,239,1)'></td>
   <td width='1' style='background-color: rgba(188,255,236,1)'></td>
-  <td width='1' style='background-color: rgba(204,255,242,1)'></td>
-  <td width='1' style='background-color: rgba(220,255,240,1)'></td>
+  <td width='1' style='background-color: rgba(203,255,242,1)'></td>
+  <td width='1' style='background-color: rgba(219,255,240,1)'></td>
   <td width='1' style='background-color: rgba(230,255,243,1)'></td>
-  <td width='1' style='background-color: rgba(235,255,234,1)'></td>
+  <td width='1' style='background-color: rgba(235,255,233,1)'></td>
   <td width='1' style='background-color: rgba(243,255,228,1)'></td>
-  <td width='1' style='background-color: rgba(253,255,215,1)'></td>
-  <td width='1' style='background-color: rgba(253,255,215,1)'></td>
-  <td width='1' style='background-color: rgba(255,243,196,1)'></td>
-  <td width='1' style='background-color: rgba(255,229,185,1)'></td>
-  <td width='1' style='background-color: rgba(255,229,185,1)'></td>
+  <td width='1' style='background-color: rgba(253,254,214,1)'></td>
+  <td width='1' style='background-color: rgba(253,254,214,1)'></td>
+  <td width='1' style='background-color: rgba(255,242,196,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,229,185,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,229,184,1)'></td>");
+}
+</script>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,229,185,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,229,184,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(255,220,184,1)'></td>
-  <td width='1' style='background-color: rgba(255,200,149,1)'></td>
-  <td width='1' style='background-color: rgba(255,200,149,1)'></td>
-  <td width='1' style='background-color: rgba(255,197,91,1)'></td>
+  <td width='1' style='background-color: rgba(255,199,148,1)'></td>
+  <td width='1' style='background-color: rgba(255,199,148,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,197,92,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,197,91,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(255,176,88,1)'></td>
   <td width='1' style='background-color: rgba(255,176,88,1)'></td>
   <td width='1' style='background-color: rgba(255,151,106,1)'></td>
   <td width='1' style='background-color: rgba(255,151,106,1)'></td>
-  <td width='1' style='background-color: rgba(255,236,226,1)'></td>
+  <td width='1' style='background-color: rgba(254,236,226,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(169,254,251,1)'></td>
-  <td width='1' style='background-color: rgba(66,255,246,1)'></td>
-  <td width='1' style='background-color: rgba(107,255,239,1)'></td>
-  <td width='1' style='background-color: rgba(135,255,239,1)'></td>
+  <td width='1' style='background-color: rgba(66,254,246,1)'></td>
+  <td width='1' style='background-color: rgba(108,255,239,1)'></td>
+  <td width='1' style='background-color: rgba(135,255,238,1)'></td>
   <td width='1' style='background-color: rgba(154,255,238,1)'></td>
   <td width='1' style='background-color: rgba(167,255,238,1)'></td>
-  <td width='1' style='background-color: rgba(185,255,240,1)'></td>
-  <td width='1' style='background-color: rgba(199,255,243,1)'></td>
-  <td width='1' style='background-color: rgba(213,254,246,1)'></td>
-  <td width='1' style='background-color: rgba(227,255,249,1)'></td>
+  <td width='1' style='background-color: rgba(185,255,239,1)'></td>
+  <td width='1' style='background-color: rgba(199,255,242,1)'></td>
+  <td width='1' style='background-color: rgba(213,253,246,1)'></td>
+  <td width='1' style='background-color: rgba(227,255,248,1)'></td>
   <td width='1' style='background-color: rgba(234,255,248,1)'></td>
   <td width='1' style='background-color: rgba(237,253,249,1)'></td>
   <td width='1' style='background-color: rgba(243,255,228,1)'></td>
   <td width='1' style='background-color: rgba(255,248,223,1)'></td>
-  <td width='1' style='background-color: rgba(253,255,215,1)'></td>
+  <td width='1' style='background-color: rgba(253,254,214,1)'></td>
   <td width='1' style='background-color: rgba(255,231,206,1)'></td>
-  <td width='1' style='background-color: rgba(255,229,185,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,229,185,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,229,184,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(255,220,184,1)'></td>
   <td width='1' style='background-color: rgba(255,220,184,1)'></td>
-  <td width='1' style='background-color: rgba(255,200,149,1)'></td>
-  <td width='1' style='background-color: rgba(255,189,149,1)'></td>
-  <td width='1' style='background-color: rgba(255,178,149,1)'></td>
-  <td width='1' style='background-color: rgba(255,168,140,1)'></td>
+  <td width='1' style='background-color: rgba(255,199,148,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,189,148,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,188,148,1)'></td>");
+}
+</script>
+  <td width='1' style='background-color: rgba(255,178,148,1)'></td>
+  <td width='1' style='background-color: rgba(255,167,140,1)'></td>
   <td width='1' style='background-color: rgba(255,151,106,1)'></td>
   <td width='1' style='background-color: rgba(255,132,95,1)'></td>
   <td width='1' style='background-color: rgba(255,132,95,1)'></td>
   <td width='1' style='background-color: rgba(255,132,95,1)'></td>
   <td width='1' style='background-color: rgba(254,241,242,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(136,255,249,1)'></td>
+  <td width='1' style='background-color: rgba(136,255,248,1)'></td>
   <td width='1' style='background-color: rgba(79,255,247,1)'></td>
   <td width='1' style='background-color: rgba(98,255,245,1)'></td>
-  <td width='1' style='background-color: rgba(136,255,249,1)'></td>
-  <td width='1' style='background-color: rgba(155,255,246,1)'></td>
+  <td width='1' style='background-color: rgba(136,255,248,1)'></td>
+  <td width='1' style='background-color: rgba(154,255,246,1)'></td>
   <td width='1' style='background-color: rgba(169,254,251,1)'></td>
-  <td width='1' style='background-color: rgba(185,255,240,1)'></td>
-  <td width='1' style='background-color: rgba(202,255,248,1)'></td>
-  <td width='1' style='background-color: rgba(213,254,246,1)'></td>
-  <td width='1' style='background-color: rgba(227,255,249,1)'></td>
+  <td width='1' style='background-color: rgba(185,255,239,1)'></td>
+  <td width='1' style='background-color: rgba(202,255,247,1)'></td>
+  <td width='1' style='background-color: rgba(213,253,246,1)'></td>
+  <td width='1' style='background-color: rgba(227,255,248,1)'></td>
   <td width='1' style='background-color: rgba(237,253,249,1)'></td>
   <td width='1' style='background-color: rgba(248,255,251,1)'></td>
   <td width='1' style='background-color: rgba(253,255,246,1)'></td>
   <td width='1' style='background-color: rgba(255,248,223,1)'></td>
-  <td width='1' style='background-color: rgba(255,236,226,1)'></td>
+  <td width='1' style='background-color: rgba(254,236,226,1)'></td>
   <td width='1' style='background-color: rgba(255,231,206,1)'></td>
   <td width='1' style='background-color: rgba(255,231,206,1)'></td>
-  <td width='1' style='background-color: rgba(255,212,196,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,212,196,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,211,196,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(255,202,198,1)'></td>
-  <td width='1' style='background-color: rgba(255,185,155,1)'></td>
-  <td width='1' style='background-color: rgba(255,185,155,1)'></td>
-  <td width='1' style='background-color: rgba(255,168,140,1)'></td>
-  <td width='1' style='background-color: rgba(255,168,140,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,185,155,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,185,154,1)'></td>");
+}
+</script>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(255,185,155,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(255,185,154,1)'></td>");
+}
+</script>
+  <td width='1' style='background-color: rgba(255,167,140,1)'></td>
+  <td width='1' style='background-color: rgba(255,167,140,1)'></td>
   <td width='1' style='background-color: rgba(255,108,125,1)'></td>
   <td width='1' style='background-color: rgba(255,108,125,1)'></td>
   <td width='1' style='background-color: rgba(255,88,115,1)'></td>
   <td width='1' style='background-color: rgba(255,88,115,1)'></td>
   <td width='1' style='background-color: rgba(255,108,125,1)'></td>
-  <td width='1' style='background-color: rgba(255,242,242,1)'></td>
+  <td width='1' style='background-color: rgba(255,241,242,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(79,255,247,1)'></td>
   <td width='1' style='background-color: rgba(79,255,247,1)'></td>
-  <td width='1' style='background-color: rgba(109,250,255,1)'></td>
-  <td width='1' style='background-color: rgba(136,255,249,1)'></td>
-  <td width='1' style='background-color: rgba(155,255,246,1)'></td>
+  <td width='1' style='background-color: rgba(109,250,254,1)'></td>
+  <td width='1' style='background-color: rgba(136,255,248,1)'></td>
+  <td width='1' style='background-color: rgba(154,255,246,1)'></td>
   <td width='1' style='background-color: rgba(169,254,251,1)'></td>
   <td width='1' style='background-color: rgba(185,251,255,1)'></td>
-  <td width='1' style='background-color: rgba(202,255,248,1)'></td>
-  <td width='1' style='background-color: rgba(222,252,255,1)'></td>
-  <td width='1' style='background-color: rgba(227,255,249,1)'></td>
-  <td width='1' style='background-color: rgba(241,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(253,254,254,1)'></td>
-  <td width='1' style='background-color: rgba(255,249,250,1)'></td>
-  <td width='1' style='background-color: rgba(255,242,242,1)'></td>
-<script type="application/ecmascript">
-if (qcms_has_assembly) {
-  document.write("<td width='1' style='background-color: rgba(255,230,238,1)'></td>");
-} else {
-  document.write("<td width='1' style='background-color: rgba(255,229,238,1)'></td>");
-}
-</script>
-<script type="application/ecmascript">
-if (qcms_has_assembly) {
-  document.write("<td width='1' style='background-color: rgba(255,230,238,1)'></td>");
-} else {
-  document.write("<td width='1' style='background-color: rgba(255,229,238,1)'></td>");
-}
-</script>
+  <td width='1' style='background-color: rgba(202,255,247,1)'></td>
+  <td width='1' style='background-color: rgba(222,251,255,1)'></td>
+  <td width='1' style='background-color: rgba(227,255,248,1)'></td>
+  <td width='1' style='background-color: rgba(241,255,254,1)'></td>
+  <td width='1' style='background-color: rgba(253,253,254,1)'></td>
+  <td width='1' style='background-color: rgba(255,248,249,1)'></td>
+  <td width='1' style='background-color: rgba(255,241,242,1)'></td>
+  <td width='1' style='background-color: rgba(255,229,238,1)'></td>
+  <td width='1' style='background-color: rgba(255,229,238,1)'></td>
   <td width='1' style='background-color: rgba(255,198,227,1)'></td>
-  <td width='1' style='background-color: rgba(255,191,216,1)'></td>
+  <td width='1' style='background-color: rgba(255,191,215,1)'></td>
   <td width='1' style='background-color: rgba(255,202,198,1)'></td>
   <td width='1' style='background-color: rgba(246,185,205,1)'></td>
-  <td width='1' style='background-color: rgba(255,149,181,1)'></td>
-  <td width='1' style='background-color: rgba(255,149,181,1)'></td>
+  <td width='1' style='background-color: rgba(255,149,180,1)'></td>
+  <td width='1' style='background-color: rgba(255,149,180,1)'></td>
   <td width='1' style='background-color: rgba(255,135,167,1)'></td>
   <td width='1' style='background-color: rgba(255,135,167,1)'></td>
-  <td width='1' style='background-color: rgba(255,126,164,1)'></td>
+  <td width='1' style='background-color: rgba(255,126,163,1)'></td>
   <td width='1' style='background-color: rgba(255,77,134,1)'></td>
   <td width='1' style='background-color: rgba(255,77,134,1)'></td>
-  <td width='1' style='background-color: rgba(255,55,135,1)'></td>
-  <td width='1' style='background-color: rgba(255,126,164,1)'></td>
-  <td width='1' style='background-color: rgba(255,249,250,1)'></td>
+  <td width='1' style='background-color: rgba(255,56,135,1)'></td>
+  <td width='1' style='background-color: rgba(255,126,163,1)'></td>
+  <td width='1' style='background-color: rgba(255,248,249,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
-  <td width='1' style='background-color: rgba(241,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(79,250,255,1)'></td>
-  <td width='1' style='background-color: rgba(79,250,255,1)'></td>
-  <td width='1' style='background-color: rgba(109,250,255,1)'></td>
-  <td width='1' style='background-color: rgba(133,249,255,1)'></td>
+  <td width='1' style='background-color: rgba(241,255,254,1)'></td>
+  <td width='1' style='background-color: rgba(79,250,254,1)'></td>
+  <td width='1' style='background-color: rgba(79,250,254,1)'></td>
+  <td width='1' style='background-color: rgba(109,250,254,1)'></td>
+  <td width='1' style='background-color: rgba(133,249,254,1)'></td>
   <td width='1' style='background-color: rgba(169,254,251,1)'></td>
   <td width='1' style='background-color: rgba(185,251,255,1)'></td>
   <td width='1' style='background-color: rgba(185,251,255,1)'></td>
   <td width='1' style='background-color: rgba(203,248,255,1)'></td>
-  <td width='1' style='background-color: rgba(222,252,255,1)'></td>
-  <td width='1' style='background-color: rgba(222,252,255,1)'></td>
-  <td width='1' style='background-color: rgba(247,249,255,1)'></td>
+  <td width='1' style='background-color: rgba(222,251,255,1)'></td>
+  <td width='1' style='background-color: rgba(222,251,255,1)'></td>
+  <td width='1' style='background-color: rgba(246,248,255,1)'></td>
   <td width='1' style='background-color: rgba(251,240,247,1)'></td>
   <td width='1' style='background-color: rgba(255,234,244,1)'></td>
-<script type="application/ecmascript">
-if (qcms_has_assembly) {
-  document.write("<td width='1' style='background-color: rgba(255,230,238,1)'></td>");
-} else {
-  document.write("<td width='1' style='background-color: rgba(255,229,238,1)'></td>");
-}
-</script>
-  <td width='1' style='background-color: rgba(251,223,240,1)'></td>
-  <td width='1' style='background-color: rgba(255,205,234,1)'></td>
-  <td width='1' style='background-color: rgba(255,205,234,1)'></td>
+  <td width='1' style='background-color: rgba(255,229,238,1)'></td>
+  <td width='1' style='background-color: rgba(251,222,240,1)'></td>
+  <td width='1' style='background-color: rgba(255,205,233,1)'></td>
+  <td width='1' style='background-color: rgba(255,205,233,1)'></td>
   <td width='1' style='background-color: rgba(255,198,227,1)'></td>
-  <td width='1' style='background-color: rgba(255,191,216,1)'></td>
-  <td width='1' style='background-color: rgba(255,191,216,1)'></td>
-  <td width='1' style='background-color: rgba(255,164,211,1)'></td>
-  <td width='1' style='background-color: rgba(255,164,211,1)'></td>
-  <td width='1' style='background-color: rgba(255,149,181,1)'></td>
-  <td width='1' style='background-color: rgba(255,149,181,1)'></td>
+  <td width='1' style='background-color: rgba(255,191,215,1)'></td>
+  <td width='1' style='background-color: rgba(255,191,215,1)'></td>
+  <td width='1' style='background-color: rgba(255,163,210,1)'></td>
+  <td width='1' style='background-color: rgba(255,163,210,1)'></td>
+  <td width='1' style='background-color: rgba(255,149,180,1)'></td>
+  <td width='1' style='background-color: rgba(255,149,180,1)'></td>
   <td width='1' style='background-color: rgba(255,135,167,1)'></td>
-  <td width='1' style='background-color: rgba(255,118,168,1)'></td>
+  <td width='1' style='background-color: rgba(255,118,167,1)'></td>
   <td width='1' style='background-color: rgba(255,98,162,1)'></td>
   <td width='1' style='background-color: rgba(255,77,134,1)'></td>
-  <td width='1' style='background-color: rgba(255,55,135,1)'></td>
+  <td width='1' style='background-color: rgba(255,56,135,1)'></td>
   <td width='1' style='background-color: rgba(255,135,167,1)'></td>
-  <td width='1' style='background-color: rgba(255,249,250,1)'></td>
+  <td width='1' style='background-color: rgba(255,248,249,1)'></td>
 </tr>
 <tr height='1'>
-  <td width='1' style='background-color: rgba(222,252,255,1)'></td>
-  <td width='1' style='background-color: rgba(79,250,255,1)'></td>
-  <td width='1' style='background-color: rgba(109,250,255,1)'></td>
-  <td width='1' style='background-color: rgba(133,249,255,1)'></td>
+  <td width='1' style='background-color: rgba(222,251,255,1)'></td>
+  <td width='1' style='background-color: rgba(79,250,254,1)'></td>
+  <td width='1' style='background-color: rgba(109,250,254,1)'></td>
+  <td width='1' style='background-color: rgba(133,249,254,1)'></td>
   <td width='1' style='background-color: rgba(145,242,255,1)'></td>
   <td width='1' style='background-color: rgba(168,242,255,1)'></td>
   <td width='1' style='background-color: rgba(168,242,255,1)'></td>
   <td width='1' style='background-color: rgba(197,243,255,1)'></td>
   <td width='1' style='background-color: rgba(205,241,255,1)'></td>
   <td width='1' style='background-color: rgba(221,241,255,1)'></td>
-  <td width='1' style='background-color: rgba(229,233,247,1)'></td>
-  <td width='1' style='background-color: rgba(240,240,251,1)'></td>
-  <td width='1' style='background-color: rgba(251,217,240,1)'></td>
+  <td width='1' style='background-color: rgba(229,232,247,1)'></td>
+  <td width='1' style='background-color: rgba(239,239,251,1)'></td>
+  <td width='1' style='background-color: rgba(251,216,240,1)'></td>
   <td width='1' style='background-color: rgba(255,212,239,1)'></td>
-  <td width='1' style='background-color: rgba(255,205,234,1)'></td>
+  <td width='1' style='background-color: rgba(255,205,233,1)'></td>
   <td width='1' style='background-color: rgba(255,198,227,1)'></td>
-  <td width='1' style='background-color: rgba(254,189,233,1)'></td>
+  <td width='1' style='background-color: rgba(254,189,232,1)'></td>
   <td width='1' style='background-color: rgba(255,177,227,1)'></td>
-  <td width='1' style='background-color: rgba(255,171,215,1)'></td>
-  <td width='1' style='background-color: rgba(255,164,211,1)'></td>
+  <td width='1' style='background-color: rgba(255,170,215,1)'></td>
+  <td width='1' style='background-color: rgba(255,163,210,1)'></td>
   <td width='1' style='background-color: rgba(255,156,211,1)'></td>
   <td width='1' style='background-color: rgba(255,137,187,1)'></td>
   <td width='1' style='background-color: rgba(255,137,187,1)'></td>
   <td width='1' style='background-color: rgba(255,137,187,1)'></td>
   <td width='1' style='background-color: rgba(255,112,170,1)'></td>
   <td width='1' style='background-color: rgba(255,112,170,1)'></td>
   <td width='1' style='background-color: rgba(255,98,162,1)'></td>
   <td width='1' style='background-color: rgba(255,98,162,1)'></td>
-  <td width='1' style='background-color: rgba(255,55,160,1)'></td>
-  <td width='1' style='background-color: rgba(255,55,135,1)'></td>
-  <td width='1' style='background-color: rgba(255,149,181,1)'></td>
+  <td width='1' style='background-color: rgba(255,56,159,1)'></td>
+  <td width='1' style='background-color: rgba(255,56,135,1)'></td>
+  <td width='1' style='background-color: rgba(255,149,180,1)'></td>
   <td width='1' style='background-color: rgba(255,234,244,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(203,248,255,1)'></td>
-  <td width='1' style='background-color: rgba(79,235,255,1)'></td>
+  <td width='1' style='background-color: rgba(79,234,255,1)'></td>
   <td width='1' style='background-color: rgba(114,239,255,1)'></td>
   <td width='1' style='background-color: rgba(114,239,255,1)'></td>
   <td width='1' style='background-color: rgba(145,242,255,1)'></td>
   <td width='1' style='background-color: rgba(168,242,255,1)'></td>
   <td width='1' style='background-color: rgba(173,230,255,1)'></td>
   <td width='1' style='background-color: rgba(197,230,255,1)'></td>
   <td width='1' style='background-color: rgba(197,230,255,1)'></td>
   <td width='1' style='background-color: rgba(216,226,255,1)'></td>
-  <td width='1' style='background-color: rgba(243,210,240,1)'></td>
-  <td width='1' style='background-color: rgba(243,210,240,1)'></td>
+  <td width='1' style='background-color: rgba(242,209,239,1)'></td>
+  <td width='1' style='background-color: rgba(242,209,239,1)'></td>
   <td width='1' style='background-color: rgba(255,212,239,1)'></td>
   <td width='1' style='background-color: rgba(255,185,234,1)'></td>
   <td width='1' style='background-color: rgba(255,185,234,1)'></td>
   <td width='1' style='background-color: rgba(255,177,227,1)'></td>
-  <td width='1' style='background-color: rgba(255,171,215,1)'></td>
-  <td width='1' style='background-color: rgba(255,149,216,1)'></td>
-  <td width='1' style='background-color: rgba(255,149,216,1)'></td>
-  <td width='1' style='background-color: rgba(255,135,214,1)'></td>
+  <td width='1' style='background-color: rgba(255,170,215,1)'></td>
+  <td width='1' style='background-color: rgba(255,148,216,1)'></td>
+  <td width='1' style='background-color: rgba(255,148,216,1)'></td>
+  <td width='1' style='background-color: rgba(255,135,213,1)'></td>
   <td width='1' style='background-color: rgba(255,120,196,1)'></td>
   <td width='1' style='background-color: rgba(255,120,196,1)'></td>
-  <td width='1' style='background-color: rgba(255,91,192,1)'></td>
+  <td width='1' style='background-color: rgba(255,92,192,1)'></td>
   <td width='1' style='background-color: rgba(255,66,180,1)'></td>
   <td width='1' style='background-color: rgba(255,66,180,1)'></td>
-  <td width='1' style='background-color: rgba(255,55,160,1)'></td>
-  <td width='1' style='background-color: rgba(255,55,160,1)'></td>
+  <td width='1' style='background-color: rgba(255,56,159,1)'></td>
+  <td width='1' style='background-color: rgba(255,56,159,1)'></td>
   <td width='1' style='background-color: rgba(255,98,162,1)'></td>
   <td width='1' style='background-color: rgba(246,185,205,1)'></td>
   <td width='1' style='background-color: rgba(254,241,242,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(197,243,255,1)'></td>
-  <td width='1' style='background-color: rgba(79,235,255,1)'></td>
-  <td width='1' style='background-color: rgba(79,235,255,1)'></td>
+  <td width='1' style='background-color: rgba(79,234,255,1)'></td>
+  <td width='1' style='background-color: rgba(79,234,255,1)'></td>
   <td width='1' style='background-color: rgba(138,226,255,1)'></td>
   <td width='1' style='background-color: rgba(138,226,255,1)'></td>
   <td width='1' style='background-color: rgba(173,230,255,1)'></td>
   <td width='1' style='background-color: rgba(173,230,255,1)'></td>
   <td width='1' style='background-color: rgba(197,230,255,1)'></td>
   <td width='1' style='background-color: rgba(188,211,255,1)'></td>
   <td width='1' style='background-color: rgba(226,188,238,1)'></td>
-  <td width='1' style='background-color: rgba(235,172,255,1)'></td>
-  <td width='1' style='background-color: rgba(235,172,255,1)'></td>
-  <td width='1' style='background-color: rgba(253,165,248,1)'></td>
-  <td width='1' style='background-color: rgba(253,165,248,1)'></td>
+  <td width='1' style='background-color: rgba(234,172,255,1)'></td>
+  <td width='1' style='background-color: rgba(234,172,255,1)'></td>
+  <td width='1' style='background-color: rgba(253,165,247,1)'></td>
+  <td width='1' style='background-color: rgba(253,165,247,1)'></td>
   <td width='1' style='background-color: rgba(255,136,236,1)'></td>
   <td width='1' style='background-color: rgba(255,136,236,1)'></td>
   <td width='1' style='background-color: rgba(255,121,225,1)'></td>
-  <td width='1' style='background-color: rgba(252,125,213,1)'></td>
+  <td width='1' style='background-color: rgba(251,125,213,1)'></td>
   <td width='1' style='background-color: rgba(255,108,208,1)'></td>
   <td width='1' style='background-color: rgba(255,108,208,1)'></td>
-  <td width='1' style='background-color: rgba(255,91,192,1)'></td>
+  <td width='1' style='background-color: rgba(255,92,192,1)'></td>
   <td width='1' style='background-color: rgba(255,66,180,1)'></td>
   <td width='1' style='background-color: rgba(255,66,180,1)'></td>
-  <td width='1' style='background-color: rgba(252,28,177,1)'></td>
-  <td width='1' style='background-color: rgba(243,21,160,1)'></td>
-  <td width='1' style='background-color: rgba(255,149,181,1)'></td>
-  <td width='1' style='background-color: rgba(255,205,234,1)'></td>
-  <td width='1' style='background-color: rgba(255,254,254,1)'></td>
+  <td width='1' style='background-color: rgba(251,28,177,1)'></td>
+  <td width='1' style='background-color: rgba(242,22,159,1)'></td>
+  <td width='1' style='background-color: rgba(255,149,180,1)'></td>
+  <td width='1' style='background-color: rgba(255,205,233,1)'></td>
+  <td width='1' style='background-color: rgba(254,253,254,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(197,243,255,1)'></td>
-  <td width='1' style='background-color: rgba(101,222,255,1)'></td>
-  <td width='1' style='background-color: rgba(101,222,255,1)'></td>
+  <td width='1' style='background-color: rgba(101,221,255,1)'></td>
+  <td width='1' style='background-color: rgba(101,221,255,1)'></td>
   <td width='1' style='background-color: rgba(138,226,255,1)'></td>
   <td width='1' style='background-color: rgba(138,226,255,1)'></td>
-  <td width='1' style='background-color: rgba(151,211,255,1)'></td>
+  <td width='1' style='background-color: rgba(151,210,255,1)'></td>
   <td width='1' style='background-color: rgba(188,211,255,1)'></td>
   <td width='1' style='background-color: rgba(188,211,255,1)'></td>
   <td width='1' style='background-color: rgba(178,173,255,1)'></td>
-  <td width='1' style='background-color: rgba(235,172,255,1)'></td>
-  <td width='1' style='background-color: rgba(235,172,255,1)'></td>
-  <td width='1' style='background-color: rgba(253,165,248,1)'></td>
-  <td width='1' style='background-color: rgba(253,165,248,1)'></td>
+  <td width='1' style='background-color: rgba(234,172,255,1)'></td>
+  <td width='1' style='background-color: rgba(234,172,255,1)'></td>
+  <td width='1' style='background-color: rgba(253,165,247,1)'></td>
+  <td width='1' style='background-color: rgba(253,165,247,1)'></td>
   <td width='1' style='background-color: rgba(255,136,236,1)'></td>
   <td width='1' style='background-color: rgba(255,136,236,1)'></td>
   <td width='1' style='background-color: rgba(255,121,225,1)'></td>
   <td width='1' style='background-color: rgba(255,90,215,1)'></td>
   <td width='1' style='background-color: rgba(255,90,215,1)'></td>
-  <td width='1' style='background-color: rgba(255,58,201,1)'></td>
-  <td width='1' style='background-color: rgba(255,58,201,1)'></td>
-  <td width='1' style='background-color: rgba(252,28,177,1)'></td>
-  <td width='1' style='background-color: rgba(243,21,160,1)'></td>
-  <td width='1' style='background-color: rgba(230,12,174,1)'></td>
+  <td width='1' style='background-color: rgba(255,59,200,1)'></td>
+  <td width='1' style='background-color: rgba(255,59,200,1)'></td>
+  <td width='1' style='background-color: rgba(251,28,177,1)'></td>
+  <td width='1' style='background-color: rgba(242,22,159,1)'></td>
+  <td width='1' style='background-color: rgba(229,13,174,1)'></td>
   <td width='1' style='background-color: rgba(246,185,205,1)'></td>
   <td width='1' style='background-color: rgba(254,241,242,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(205,241,255,1)'></td>
-  <td width='1' style='background-color: rgba(83,212,255,1)'></td>
-  <td width='1' style='background-color: rgba(83,212,255,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(83,212,255,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(83,211,255,1)'></td>");
+}
+</script>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(83,212,255,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(83,211,255,1)'></td>");
+}
+</script>
   <td width='1' style='background-color: rgba(98,205,255,1)'></td>
-  <td width='1' style='background-color: rgba(151,211,255,1)'></td>
-  <td width='1' style='background-color: rgba(160,194,255,1)'></td>
-  <td width='1' style='background-color: rgba(160,194,255,1)'></td>
+  <td width='1' style='background-color: rgba(151,210,255,1)'></td>
+  <td width='1' style='background-color: rgba(159,194,255,1)'></td>
+  <td width='1' style='background-color: rgba(159,194,255,1)'></td>
   <td width='1' style='background-color: rgba(178,173,255,1)'></td>
   <td width='1' style='background-color: rgba(219,126,255,1)'></td>
   <td width='1' style='background-color: rgba(219,126,255,1)'></td>
   <td width='1' style='background-color: rgba(241,122,255,1)'></td>
   <td width='1' style='background-color: rgba(241,122,255,1)'></td>
   <td width='1' style='background-color: rgba(241,122,255,1)'></td>
-  <td width='1' style='background-color: rgba(255,85,238,1)'></td>
-  <td width='1' style='background-color: rgba(255,85,238,1)'></td>
-  <td width='1' style='background-color: rgba(255,53,221,1)'></td>
-  <td width='1' style='background-color: rgba(255,53,221,1)'></td>
-  <td width='1' style='background-color: rgba(247,12,210,1)'></td>
-  <td width='1' style='background-color: rgba(230,12,174,1)'></td>
-  <td width='1' style='background-color: rgba(210,0,168,1)'></td>
-  <td width='1' style='background-color: rgba(245,148,155,1)'></td>
-  <td width='1' style='background-color: rgba(229,214,233,1)'></td>
-  <td width='1' style='background-color: rgba(255,254,254,1)'></td>
+  <td width='1' style='background-color: rgba(254,85,238,1)'></td>
+  <td width='1' style='background-color: rgba(254,85,238,1)'></td>
+  <td width='1' style='background-color: rgba(254,53,220,1)'></td>
+  <td width='1' style='background-color: rgba(254,53,220,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(247,13,210,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(246,13,210,1)'></td>");
+}
+</script>
+  <td width='1' style='background-color: rgba(229,13,174,1)'></td>
+  <td width='1' style='background-color: rgba(209,0,167,1)'></td>
+  <td width='1' style='background-color: rgba(244,148,155,1)'></td>
+  <td width='1' style='background-color: rgba(229,214,232,1)'></td>
+  <td width='1' style='background-color: rgba(254,253,254,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(221,241,255,1)'></td>
   <td width='1' style='background-color: rgba(98,205,255,1)'></td>
   <td width='1' style='background-color: rgba(93,193,255,1)'></td>
   <td width='1' style='background-color: rgba(93,193,255,1)'></td>
-  <td width='1' style='background-color: rgba(160,194,255,1)'></td>
+  <td width='1' style='background-color: rgba(159,194,255,1)'></td>
   <td width='1' style='background-color: rgba(119,158,255,1)'></td>
   <td width='1' style='background-color: rgba(184,133,255,1)'></td>
   <td width='1' style='background-color: rgba(184,133,255,1)'></td>
   <td width='1' style='background-color: rgba(219,126,255,1)'></td>
   <td width='1' style='background-color: rgba(219,126,255,1)'></td>
-  <td width='1' style='background-color: rgba(241,81,255,1)'></td>
-  <td width='1' style='background-color: rgba(241,81,255,1)'></td>
-  <td width='1' style='background-color: rgba(243,33,244,1)'></td>
-  <td width='1' style='background-color: rgba(255,85,238,1)'></td>
-  <td width='1' style='background-color: rgba(247,12,210,1)'></td>
-  <td width='1' style='background-color: rgba(230,12,174,1)'></td>
-  <td width='1' style='background-color: rgba(210,0,168,1)'></td>
-  <td width='1' style='background-color: rgba(210,0,168,1)'></td>
+  <td width='1' style='background-color: rgba(241,81,254,1)'></td>
+  <td width='1' style='background-color: rgba(241,81,254,1)'></td>
+  <td width='1' style='background-color: rgba(242,34,244,1)'></td>
+  <td width='1' style='background-color: rgba(254,85,238,1)'></td>
+<script type="application/ecmascript">
+if (qcms_has_assembly) {
+  document.write("<td width='1' style='background-color: rgba(247,13,210,1)'></td>");
+} else {
+  document.write("<td width='1' style='background-color: rgba(246,13,210,1)'></td>");
+}
+</script>
+  <td width='1' style='background-color: rgba(229,13,174,1)'></td>
+  <td width='1' style='background-color: rgba(209,0,167,1)'></td>
+  <td width='1' style='background-color: rgba(209,0,167,1)'></td>
   <td width='1' style='background-color: rgba(246,185,205,1)'></td>
-  <td width='1' style='background-color: rgba(245,242,243,1)'></td>
+  <td width='1' style='background-color: rgba(244,242,242,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -945,56 +1102,56 @@ if (qcms_has_assembly) {
   <td width='1' style='background-color: rgba(93,193,255,1)'></td>
   <td width='1' style='background-color: rgba(95,176,255,1)'></td>
   <td width='1' style='background-color: rgba(95,176,255,1)'></td>
   <td width='1' style='background-color: rgba(119,158,255,1)'></td>
   <td width='1' style='background-color: rgba(138,110,255,1)'></td>
   <td width='1' style='background-color: rgba(184,133,255,1)'></td>
   <td width='1' style='background-color: rgba(219,126,255,1)'></td>
   <td width='1' style='background-color: rgba(219,126,255,1)'></td>
-  <td width='1' style='background-color: rgba(241,81,255,1)'></td>
-  <td width='1' style='background-color: rgba(241,81,255,1)'></td>
+  <td width='1' style='background-color: rgba(241,81,254,1)'></td>
+  <td width='1' style='background-color: rgba(241,81,254,1)'></td>
   <td width='1' style='background-color: rgba(228,28,235,1)'></td>
-  <td width='1' style='background-color: rgba(224,86,229,1)'></td>
-  <td width='1' style='background-color: rgba(210,0,168,1)'></td>
-  <td width='1' style='background-color: rgba(210,0,168,1)'></td>
-  <td width='1' style='background-color: rgba(196,146,203,1)'></td>
-  <td width='1' style='background-color: rgba(229,214,233,1)'></td>
-  <td width='1' style='background-color: rgba(254,254,254,1)'></td>
+  <td width='1' style='background-color: rgba(223,86,229,1)'></td>
+  <td width='1' style='background-color: rgba(209,0,167,1)'></td>
+  <td width='1' style='background-color: rgba(209,0,167,1)'></td>
+  <td width='1' style='background-color: rgba(196,146,202,1)'></td>
+  <td width='1' style='background-color: rgba(229,214,232,1)'></td>
+  <td width='1' style='background-color: rgba(253,253,254,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
-  <td width='1' style='background-color: rgba(253,254,254,1)'></td>
+  <td width='1' style='background-color: rgba(253,253,254,1)'></td>
   <td width='1' style='background-color: rgba(95,176,255,1)'></td>
   <td width='1' style='background-color: rgba(95,176,255,1)'></td>
   <td width='1' style='background-color: rgba(85,128,255,1)'></td>
   <td width='1' style='background-color: rgba(138,110,255,1)'></td>
   <td width='1' style='background-color: rgba(138,110,255,1)'></td>
   <td width='1' style='background-color: rgba(184,133,255,1)'></td>
   <td width='1' style='background-color: rgba(198,0,227,1)'></td>
   <td width='1' style='background-color: rgba(198,0,227,1)'></td>
   <td width='1' style='background-color: rgba(198,0,227,1)'></td>
-  <td width='1' style='background-color: rgba(187,0,204,1)'></td>
-  <td width='1' style='background-color: rgba(132,12,161,1)'></td>
-  <td width='1' style='background-color: rgba(132,12,161,1)'></td>
-  <td width='1' style='background-color: rgba(196,146,203,1)'></td>
-  <td width='1' style='background-color: rgba(245,242,243,1)'></td>
+  <td width='1' style='background-color: rgba(187,0,203,1)'></td>
+  <td width='1' style='background-color: rgba(132,13,161,1)'></td>
+  <td width='1' style='background-color: rgba(132,13,161,1)'></td>
+  <td width='1' style='background-color: rgba(196,146,202,1)'></td>
+  <td width='1' style='background-color: rgba(244,242,242,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -1011,22 +1168,22 @@ if (qcms_has_assembly) {
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(216,226,255,1)'></td>
   <td width='1' style='background-color: rgba(85,128,255,1)'></td>
   <td width='1' style='background-color: rgba(85,128,255,1)'></td>
   <td width='1' style='background-color: rgba(130,28,228,1)'></td>
   <td width='1' style='background-color: rgba(130,28,228,1)'></td>
   <td width='1' style='background-color: rgba(146,77,224,1)'></td>
-  <td width='1' style='background-color: rgba(132,12,161,1)'></td>
-  <td width='1' style='background-color: rgba(132,12,161,1)'></td>
-  <td width='1' style='background-color: rgba(132,12,161,1)'></td>
-  <td width='1' style='background-color: rgba(196,146,203,1)'></td>
-  <td width='1' style='background-color: rgba(222,221,227,1)'></td>
-  <td width='1' style='background-color: rgba(254,254,254,1)'></td>
+  <td width='1' style='background-color: rgba(132,13,161,1)'></td>
+  <td width='1' style='background-color: rgba(132,13,161,1)'></td>
+  <td width='1' style='background-color: rgba(132,13,161,1)'></td>
+  <td width='1' style='background-color: rgba(196,146,202,1)'></td>
+  <td width='1' style='background-color: rgba(221,221,227,1)'></td>
+  <td width='1' style='background-color: rgba(253,253,254,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
@@ -1040,24 +1197,24 @@ if (qcms_has_assembly) {
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
 </tr>
 <tr height='1'>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
-  <td width='1' style='background-color: rgba(253,254,254,1)'></td>
-  <td width='1' style='background-color: rgba(240,240,251,1)'></td>
-  <td width='1' style='background-color: rgba(240,240,251,1)'></td>
-  <td width='1' style='background-color: rgba(229,233,247,1)'></td>
-  <td width='1' style='background-color: rgba(222,221,227,1)'></td>
-  <td width='1' style='background-color: rgba(222,221,227,1)'></td>
-  <td width='1' style='background-color: rgba(222,221,227,1)'></td>
-  <td width='1' style='background-color: rgba(245,242,243,1)'></td>
+  <td width='1' style='background-color: rgba(253,253,254,1)'></td>
+  <td width='1' style='background-color: rgba(239,239,251,1)'></td>
+  <td width='1' style='background-color: rgba(239,239,251,1)'></td>
+  <td width='1' style='background-color: rgba(229,232,247,1)'></td>
+  <td width='1' style='background-color: rgba(221,221,227,1)'></td>
+  <td width='1' style='background-color: rgba(221,221,227,1)'></td>
+  <td width='1' style='background-color: rgba(221,221,227,1)'></td>
+  <td width='1' style='background-color: rgba(244,242,242,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>
   <td width='1' style='background-color: rgba(255,255,255,1)'></td>