add GPU shader for RGB->NV12 conversion
authorZhao Halley <halley.zhao@intel.com>
Thu, 12 Jul 2012 08:04:39 +0000 (11:04 +0300)
committerXiang, Haihao <haihao.xiang@intel.com>
Fri, 10 Aug 2012 07:33:33 +0000 (15:33 +0800)
src/shaders/post_processing/gen5_6/Common/RGBX_Load_16x8.asm [new file with mode: 0755]
src/shaders/post_processing/gen5_6/Common/RGBX_Load_16x8.inc [new file with mode: 0755]
src/shaders/post_processing/gen5_6/Common/RGBX_Save_YUV_Fix.asm [new file with mode: 0755]
src/shaders/post_processing/gen5_6/Common/RGBX_Save_YUV_Float.asm [new file with mode: 0755]
src/shaders/post_processing/gen5_6/Common/RGBX_to_YUV_Coef.asm [new file with mode: 0755]
src/shaders/post_processing/gen5_6/Makefile.am
src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.asm [new file with mode: 0755]
src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.g4b.gen5 [new file with mode: 0644]
src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.g6b [new file with mode: 0644]

diff --git a/src/shaders/post_processing/gen5_6/Common/RGBX_Load_16x8.asm b/src/shaders/post_processing/gen5_6/Common/RGBX_Load_16x8.asm
new file mode 100755 (executable)
index 0000000..958308a
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * All Video Processing kernels 
+ * Copyright © <2010>, Intel Corporation.
+ *
+ * This program is licensed under the terms and conditions of the
+ * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
+ * http://www.opensource.org/licenses/eclipse-1.0.php.
+ *
+ */
+
+// Module name: RGBA_Load_16x8.asm (copied from AYUV_Load_16x8.asm)
+//----------------------------------------------------------------
+
+
+#include "RGBX_Load_16x8.inc" 
+
+// In order to load 64x8 RGBA data (16x8 pixels), we need to divide the data 
+// into two regions and load them separately. 
+//
+//       32 byte         32 byte
+//|----------------|----------------|
+//|                |                |
+//|       A        |       B        |8
+//|                |                |
+//|                |                |
+//|----------------|----------------|
+
+// Load the first 32x8 data block
+// Packed data block should be loaded as 32x8 pixel block
+    add  (2) rMSGSRC.0<1>:d     wORIX<2;2,1>:w    wSRC_H_ORI_OFFSET<2;2,1>:w    // Source Block origin
+    shl  (1) rMSGSRC.0<1>:d     rMSGSRC.0<0;1,0>:w             2:w          { NoDDClr }      // H. block origin need to be four times larger
+    mov  (1) rMSGSRC.2<1>:ud    nDPR_BLOCK_SIZE_RGBA:ud         { NoDDChk }      // Block width and height (32x8)
+    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud
+    send (8) udSRC_RGBA(0)<1>    mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_RGBA+nBI_CURRENT_SRC_YUV:ud
+
+//Load the second 32x8 data block    
+// Offset the origin X - move to next 32 colomns
+    add (1) rMSGSRC.0<1>:d    rMSGSRC.0<0;1,0>:d    32:w                        // Increase X origin by 8 
+    
+// Size stays the same - 32x8
+    mov  (8) mMSGHDRY<1>:ud     rMSGSRC<8;8,1>:ud                               // Copy message description to message header
+    send (8) udSRC_RGBA(8)<1>    mMSGHDRY    udDUMMY_NULL    nDATAPORT_READ    nDPMR_MSGDSC+nDPR_MSG_SIZE_RGBA+nBI_CURRENT_SRC_YUV:ud
+
+// Give AYUV region addresses to address register
+    // a0.0 is 0x38*32, a0.1 is 0x40*32. 0x40-0x38=8 (pixel)
+    mov (1) SRC_RGBA_OFFSET<1>:ud 0x00400038*32:ud                               //Address registers contain starting addresses of two halves 
+
+#if !defined(FIX_POINT_CONVERSION) && !defined(FLOAT_POINT_CONVERSION)
+    //Directly move the data to destination
+    $for(0; <nY_NUM_OF_ROWS; 1) {
+        // 8 means 8 elements, not 2=8/2 element per row.
+        mov (16) uwDEST_Y(%1)<1> r[SRC_RGBA_OFFSET,%1*32+3]<8,4>:ub  // A/R
+        mov (16) uwDEST_U(%1)<1> r[SRC_RGBA_OFFSET,%1*32+2]<8,4>:ub  // Y/G
+        mov (16) uwDEST_V(%1)<1> r[SRC_RGBA_OFFSET,%1*32+1]<8,4>:ub  // U/B
+    }        
+#endif
+
diff --git a/src/shaders/post_processing/gen5_6/Common/RGBX_Load_16x8.inc b/src/shaders/post_processing/gen5_6/Common/RGBX_Load_16x8.inc
new file mode 100755 (executable)
index 0000000..7199d64
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * All Video Processing kernels 
+ * Copyright © <2010>, Intel Corporation.
+ *
+ * This program is licensed under the terms and conditions of the
+ * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
+ * http://www.opensource.org/licenses/eclipse-1.0.php.
+ *
+ */
+#ifndef RGBA_LOAD_16X8_INC
+#define RGBA_LOAD_16X8_INC
+
+// Module name: RGBA_Load_16x8.inc
+//
+// RGBA data are first loaded to bottom I/O REGION_2, then does color conversion from RGB to YUV
+// finally, YUV data are stored in top I/O REGION_1 with planar format
+
+#undef         nY_NUM_OF_ROWS
+
+#define nY_NUM_OF_ROWS      8       // Number of Y rows per block
+
+#define nDPR_BLOCK_SIZE_RGBA           nBLOCK_WIDTH_32+nBLOCK_HEIGHT_8   // RGBA block size 32x8 (it is half size)
+#define nDPR_MSG_SIZE_RGBA             nRESLEN_8                         // # of MRF's to hold RGBA block data (8)
+
+//Temporary storage for unpacked AYUV data
+#define     rUNPACK_TEMP     REG(r,nTEMP0)
+.declare    udUNPACK_TEMP    Base=rUNPACK_TEMP    ElementSize=4    SrcRegion=<8;8,1>    Type=ud        //1 GRF
+.declare    ubUNPACK_TEMP    Base=rUNPACK_TEMP    ElementSize=1    SrcRegion=<32;32,1>    Type=ub        //1 GRF
+
+.declare ubBOT_Y_IO     Base=REG(r,nBOT_Y) ElementSize=1 SrcRegion=REGION(32,1) Type=ub
+
+
+#define udSRC_RGBA              udBOT_Y_IO
+#define ubSRC_RGBA              ubBOT_Y_IO
+#define nSRC_RGBA_REG           nBOT_Y
+
+#define uwDEST_Y                uwTOP_Y
+#define uwDEST_U                uwTOP_U
+#define uwDEST_V                uwTOP_V
+
+#define SRC_RGBA_OFFSET         a0.0
+#define SRC_RGBA_OFFSET_1       a0.0
+#define SRC_RGBA_OFFSET_2       a0.1
+
+#define nSRC_REGION nREGION_1    // REGION_1 will be the source region for first kernel
+
+// End of RGBA_Load_16x8.inc
+#endif
\ No newline at end of file
diff --git a/src/shaders/post_processing/gen5_6/Common/RGBX_Save_YUV_Fix.asm b/src/shaders/post_processing/gen5_6/Common/RGBX_Save_YUV_Fix.asm
new file mode 100755 (executable)
index 0000000..6067db5
--- /dev/null
@@ -0,0 +1,115 @@
+/*
+ * All Video Processing kernels 
+ * Copyright © <2010>, Intel Corporation.
+ *
+ * This program is licensed under the terms and conditions of the
+ * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
+ * http://www.opensource.org/licenses/eclipse-1.0.php.
+ *
+ * Authors:
+ *    Halley Zhao <halley.zhao@intel.com>
+ */
+
+// Module name: PL16x8_PL8x4.asm
+//----------------------------------------------------------------
+
+#include "RGBX_Load_16x8.inc"
+
+#if (0)
+    #define nTEMP0          34        // transformation coefficient
+    #define nTEMP1          35        // one row of Y (first half register is used)
+    #define nTEMP2          36        // first  half of one row
+    #define nTEMP3          37        // second half of one row
+    #define nTEMP4          38        // mul and add
+    #define nTEMP5          39        // mul and add
+    #define nTEMP6          40        // mul and add
+    #define nTEMP7          41        // mul and add
+    #define nTEMP8          42        // sum of mul
+    #define nTEMP10         44
+    #define nTEMP12         46
+    #define nTEMP14         48
+    #define nTEMP16         50
+    #define nTEMP17         51
+    #define nTEMP18         52
+    
+    #define nTEMP24         58
+#endif
+
+$for(0; <nY_NUM_OF_ROWS; 1) {
+    // BGRX | B | G | R | X |
+    // ###### do on row for Y
+    // #### mul and add
+    mul (16)  REG2(r, nTEMP4, 0)<1>:uw      r[SRC_RGBA_OFFSET_1, %1*32 +  0]<0; 16,1>:ub        ubRGB_to_Y_Coef_Fix<0;4,1>:ub
+    mul (16)  REG2(r, nTEMP5, 0)<1>:uw      r[SRC_RGBA_OFFSET_1, %1*32 + 16]<0; 16,1>:ub        ubRGB_to_Y_Coef_Fix<0;4,1>:ub
+    mul (16)  REG2(r, nTEMP6, 0)<1>:uw      r[SRC_RGBA_OFFSET_2, %1*32 +  0]<0; 16,1>:ub        ubRGB_to_Y_Coef_Fix<0;4,1>:ub
+    mul (16)  REG2(r, nTEMP7, 0)<1>:uw      r[SRC_RGBA_OFFSET_2, %1*32 + 16]<0; 16,1>:ub        ubRGB_to_Y_Coef_Fix<0;4,1>:ub
+
+    add (4)   REG2(r, nTEMP4, 0)<4>:uw      REG2(r, nTEMP4, 0)<0;4,4>:uw      REG2(r, nTEMP4, 1)<0;4,4>:uw      
+    add (4)   REG2(r, nTEMP5, 0)<4>:uw      REG2(r, nTEMP5, 0)<0;4,4>:uw      REG2(r, nTEMP5, 1)<0;4,4>:uw      
+    add (4)   REG2(r, nTEMP6, 0)<4>:uw      REG2(r, nTEMP6, 0)<0;4,4>:uw      REG2(r, nTEMP6, 1)<0;4,4>:uw      
+    add (4)   REG2(r, nTEMP7, 0)<4>:uw      REG2(r, nTEMP7, 0)<0;4,4>:uw      REG2(r, nTEMP7, 1)<0;4,4>:uw      
+    add (4)   REG2(r, nTEMP4, 0)<4>:uw      REG2(r, nTEMP4, 0)<0;4,4>:uw      REG2(r, nTEMP4, 2)<0;4,4>:uw      
+    add (4)   REG2(r, nTEMP5, 0)<4>:uw      REG2(r, nTEMP5, 0)<0;4,4>:uw      REG2(r, nTEMP5, 2)<0;4,4>:uw      
+    add (4)   REG2(r, nTEMP6, 0)<4>:uw      REG2(r, nTEMP6, 0)<0;4,4>:uw      REG2(r, nTEMP6, 2)<0;4,4>:uw      
+    add (4)   REG2(r, nTEMP7, 0)<4>:uw      REG2(r, nTEMP7, 0)<0;4,4>:uw      REG2(r, nTEMP7, 2)<0;4,4>:uw      
+
+    // ####  write Y to the 1 row
+    mov (4)  REG2(r, nTEMP8,  0)<1>:uw    REG2(r, nTEMP4, 0)<0; 4, 4>:uw
+    mov (4)  REG2(r, nTEMP8,  4)<1>:uw    REG2(r, nTEMP5, 0)<0; 4, 4>:uw
+    mov (4)  REG2(r, nTEMP8,  8)<1>:uw    REG2(r, nTEMP6, 0)<0; 4, 4>:uw
+    mov (4)  REG2(r, nTEMP8, 12)<1>:uw    REG2(r, nTEMP7, 0)<0; 4, 4>:uw
+    add (16) REG2(r, nTEMP8,  0)<1>:uw    REG2(r, nTEMP8, 0)<0; 16, 1>:uw    0x1080:uw
+    mov (16) REG2(r, nTEMP8,  0)<1>:ub    REG2(r, nTEMP8, 1)<0; 16, 2>:ub
+    mov (16) uwDEST_Y(%1)<1>  REG2(r,nTEMP8, 0)<0;16,1>:ub
+
+    // ######  do one row for U
+    // #### mul and add
+    mul (16)  REG2(r, nTEMP4, 0)<1>:w      r[SRC_RGBA_OFFSET_1, %1*32 +  0]<0; 16,1>:ub        bRGB_to_U_Coef_Fix<0;4,1>:b
+    mul (16)  REG2(r, nTEMP5, 0)<1>:w      r[SRC_RGBA_OFFSET_1, %1*32 + 16]<0; 16,1>:ub        bRGB_to_U_Coef_Fix<0;4,1>:b
+    mul (16)  REG2(r, nTEMP6, 0)<1>:w      r[SRC_RGBA_OFFSET_2, %1*32 +  0]<0; 16,1>:ub        bRGB_to_U_Coef_Fix<0;4,1>:b
+    mul (16)  REG2(r, nTEMP7, 0)<1>:w      r[SRC_RGBA_OFFSET_2, %1*32 + 16]<0; 16,1>:ub        bRGB_to_U_Coef_Fix<0;4,1>:b
+    
+    add (4)   REG2(r, nTEMP4, 0)<4>:w      REG2(r, nTEMP4, 0)<0;4,4>:w      REG2(r, nTEMP4, 1)<0;4,4>:w      
+    add (4)   REG2(r, nTEMP5, 0)<4>:w      REG2(r, nTEMP5, 0)<0;4,4>:w      REG2(r, nTEMP5, 1)<0;4,4>:w      
+    add (4)   REG2(r, nTEMP6, 0)<4>:w      REG2(r, nTEMP6, 0)<0;4,4>:w      REG2(r, nTEMP6, 1)<0;4,4>:w      
+    add (4)   REG2(r, nTEMP7, 0)<4>:w      REG2(r, nTEMP7, 0)<0;4,4>:w      REG2(r, nTEMP7, 1)<0;4,4>:w      
+    add (4)   REG2(r, nTEMP4, 0)<4>:w      REG2(r, nTEMP4, 0)<0;4,4>:w      REG2(r, nTEMP4, 2)<0;4,4>:w      
+    add (4)   REG2(r, nTEMP5, 0)<4>:w      REG2(r, nTEMP5, 0)<0;4,4>:w      REG2(r, nTEMP5, 2)<0;4,4>:w      
+    add (4)   REG2(r, nTEMP6, 0)<4>:w      REG2(r, nTEMP6, 0)<0;4,4>:w      REG2(r, nTEMP6, 2)<0;4,4>:w      
+    add (4)   REG2(r, nTEMP7, 0)<4>:w      REG2(r, nTEMP7, 0)<0;4,4>:w      REG2(r, nTEMP7, 2)<0;4,4>:w      
+
+    // #### write U to the 1 row
+    mov (4)  REG2(r, nTEMP8,  0)<1>:w    REG2(r, nTEMP4, 0)<0; 4, 4>:w
+    mov (4)  REG2(r, nTEMP8,  4)<1>:w    REG2(r, nTEMP5, 0)<0; 4, 4>:w
+    mov (4)  REG2(r, nTEMP8,  8)<1>:w    REG2(r, nTEMP6, 0)<0; 4, 4>:w
+    mov (4)  REG2(r, nTEMP8, 12)<1>:w    REG2(r, nTEMP7, 0)<0; 4, 4>:w
+    add (16) REG2(r, nTEMP8,  0)<1>:uw    REG2(r, nTEMP8, 0)<0; 16, 1>:w    0x8080:uw
+    mov (16) REG2(r, nTEMP8,  0)<1>:ub    REG2(r, nTEMP8, 1)<0; 16, 2>:ub
+    mov (16) uwDEST_U(%1)<1>  REG2(r,nTEMP8, 0)<0;16,1>:ub
+
+    // ###### do one row for V
+    // #### mul and add
+    mul (16)  REG2(r, nTEMP4, 0)<1>:w      r[SRC_RGBA_OFFSET_1, %1*32 +  0]<0; 16,1>:ub        bRGB_to_V_Coef_Fix<0;4,1>:b
+    mul (16)  REG2(r, nTEMP5, 0)<1>:w      r[SRC_RGBA_OFFSET_1, %1*32 + 16]<0; 16,1>:ub        bRGB_to_V_Coef_Fix<0;4,1>:b
+    mul (16)  REG2(r, nTEMP6, 0)<1>:w      r[SRC_RGBA_OFFSET_2, %1*32 +  0]<0; 16,1>:ub        bRGB_to_V_Coef_Fix<0;4,1>:b
+    mul (16)  REG2(r, nTEMP7, 0)<1>:w      r[SRC_RGBA_OFFSET_2, %1*32 + 16]<0; 16,1>:ub        bRGB_to_V_Coef_Fix<0;4,1>:b
+    
+    add (4)   REG2(r, nTEMP4, 0)<4>:w      REG2(r, nTEMP4, 0)<0;4,4>:w      REG2(r, nTEMP4, 1)<0;4,4>:w      
+    add (4)   REG2(r, nTEMP5, 0)<4>:w      REG2(r, nTEMP5, 0)<0;4,4>:w      REG2(r, nTEMP5, 1)<0;4,4>:w      
+    add (4)   REG2(r, nTEMP6, 0)<4>:w      REG2(r, nTEMP6, 0)<0;4,4>:w      REG2(r, nTEMP6, 1)<0;4,4>:w      
+    add (4)   REG2(r, nTEMP7, 0)<4>:w      REG2(r, nTEMP7, 0)<0;4,4>:w      REG2(r, nTEMP7, 1)<0;4,4>:w      
+    add (4)   REG2(r, nTEMP4, 0)<4>:w      REG2(r, nTEMP4, 0)<0;4,4>:w      REG2(r, nTEMP4, 2)<0;4,4>:w      
+    add (4)   REG2(r, nTEMP5, 0)<4>:w      REG2(r, nTEMP5, 0)<0;4,4>:w      REG2(r, nTEMP5, 2)<0;4,4>:w      
+    add (4)   REG2(r, nTEMP6, 0)<4>:w      REG2(r, nTEMP6, 0)<0;4,4>:w      REG2(r, nTEMP6, 2)<0;4,4>:w      
+    add (4)   REG2(r, nTEMP7, 0)<4>:w      REG2(r, nTEMP7, 0)<0;4,4>:w      REG2(r, nTEMP7, 2)<0;4,4>:w      
+
+    // #### write V to the 1 row
+    mov (4)  REG2(r, nTEMP8,  0)<1>:w    REG2(r, nTEMP4, 0)<0; 4, 4>:w
+    mov (4)  REG2(r, nTEMP8,  4)<1>:w    REG2(r, nTEMP5, 0)<0; 4, 4>:w
+    mov (4)  REG2(r, nTEMP8,  8)<1>:w    REG2(r, nTEMP6, 0)<0; 4, 4>:w
+    mov (4)  REG2(r, nTEMP8, 12)<1>:w    REG2(r, nTEMP7, 0)<0; 4, 4>:w
+    add (16) REG2(r, nTEMP8,  0)<1>:uw    REG2(r, nTEMP8, 0)<0; 16, 1>:w    0x8080:uw
+    mov (16) REG2(r, nTEMP8,  0)<1>:ub    REG2(r, nTEMP8, 1)<0; 16, 2>:ub
+    mov (16) uwDEST_V(%1)<1>  REG2(r,nTEMP8, 0)<0;16,1>:ub
+}
+
diff --git a/src/shaders/post_processing/gen5_6/Common/RGBX_Save_YUV_Float.asm b/src/shaders/post_processing/gen5_6/Common/RGBX_Save_YUV_Float.asm
new file mode 100755 (executable)
index 0000000..8eb968b
--- /dev/null
@@ -0,0 +1,152 @@
+/*
+ * All Video Processing kernels 
+ * Copyright © <2010>, Intel Corporation.
+ *
+ * This program is licensed under the terms and conditions of the
+ * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
+ * http://www.opensource.org/licenses/eclipse-1.0.php.
+ *
+ * Authors:
+ *    Halley Zhao <halley.zhao@intel.com>
+ */
+
+// Module name: RGBX_Save_YUV_Float.asm
+//----------------------------------------------------------------
+
+#include "RGBX_Load_16x8.inc"
+
+#if (0)
+    // 8 grf reg for one row of pixel (2 pixel per grf)
+    #define nTEMP0          34
+    #define nTEMP1          35
+    #define nTEMP2          36
+    #define nTEMP3          37
+    #define nTEMP4          38
+    #define nTEMP5          39
+    #define nTEMP6          40
+    #define nTEMP7          41
+    
+    #define nTEMP8          42        // transformation coefficient
+    #define nTEMP10         44        // transformation coefficient
+    
+    #define nTEMP12         46        // save Y/U/V in ub format
+    #define nTEMP14         48        // save YUV in ud format
+    #define nTEMP16         50        // dp4 result
+    #define nTEMP17         51        
+    #define nTEMP18         52
+    
+    #define nTEMP24         58
+#endif
+
+$for(0; <nY_NUM_OF_ROWS; 1) {
+    // BGRX | B | G | R | X |
+    // ###### save one row of pixel to temp grf with float format (required by dp4)
+    // mov (8) doesn't work, puzzle
+    mov (4) REG(r, nTEMP0)<1>:f       r[SRC_RGBA_OFFSET_1,%1*32 +  0]<4,1>:ub
+    mov (4) REG(r, nTEMP1)<1>:f       r[SRC_RGBA_OFFSET_1,%1*32 +  8]<4,1>:ub
+    mov (4) REG(r, nTEMP2)<1>:f       r[SRC_RGBA_OFFSET_1,%1*32 + 16]<4,1>:ub
+    mov (4) REG(r, nTEMP3)<1>:f       r[SRC_RGBA_OFFSET_1,%1*32 + 24]<4,1>:ub
+    mov (4) REG(r, nTEMP4)<1>:f       r[SRC_RGBA_OFFSET_2,%1*32 +  0]<4,1>:ub
+    mov (4) REG(r, nTEMP5)<1>:f       r[SRC_RGBA_OFFSET_2,%1*32 +  8]<4,1>:ub
+    mov (4) REG(r, nTEMP6)<1>:f       r[SRC_RGBA_OFFSET_2,%1*32 + 16]<4,1>:ub
+    mov (4) REG(r, nTEMP7)<1>:f       r[SRC_RGBA_OFFSET_2,%1*32 + 24]<4,1>:ub
+    mov (4) REG2(r, nTEMP0, 4)<1>:f   r[SRC_RGBA_OFFSET_1,%1*32 +  4]<4,1>:ub
+    mov (4) REG2(r, nTEMP1, 4)<1>:f   r[SRC_RGBA_OFFSET_1,%1*32 + 12]<4,1>:ub
+    mov (4) REG2(r, nTEMP2, 4)<1>:f   r[SRC_RGBA_OFFSET_1,%1*32 + 20]<4,1>:ub
+    mov (4) REG2(r, nTEMP3, 4)<1>:f   r[SRC_RGBA_OFFSET_1,%1*32 + 28]<4,1>:ub
+    mov (4) REG2(r, nTEMP4, 4)<1>:f   r[SRC_RGBA_OFFSET_2,%1*32 +  4]<4,1>:ub
+    mov (4) REG2(r, nTEMP5, 4)<1>:f   r[SRC_RGBA_OFFSET_2,%1*32 + 12]<4,1>:ub
+    mov (4) REG2(r, nTEMP6, 4)<1>:f   r[SRC_RGBA_OFFSET_2,%1*32 + 20]<4,1>:ub
+    mov (4) REG2(r, nTEMP7, 4)<1>:f   r[SRC_RGBA_OFFSET_2,%1*32 + 24]<4,1>:ub
+
+    // ###### do one row for Y
+    // ##### dp4(nTEMP16) and save result to uw format(nTEMP12)
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f      fROW_BGRX(0, 0)<0;8,1>       fRGB_to_Y_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:ud     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12,  0)<1>:ub     REG2(r, nTEMP14, 0)<0;2,4>:ub
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f      fROW_BGRX(1, 0)<0;8,1>       fRGB_to_Y_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:ud     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12,  2)<1>:ub     REG2(r, nTEMP14, 0)<0;2,4>:ub
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f      fROW_BGRX(2, 0)<0;8,1>       fRGB_to_Y_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:ud     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12,  4)<1>:ub     REG2(r, nTEMP14, 0)<0;2,4>:ub
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f      fROW_BGRX(3, 0)<0;8,1>       fRGB_to_Y_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:ud     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12,  6)<1>:ub     REG2(r, nTEMP14, 0)<0;2,4>:ub
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f      fROW_BGRX(4, 0)<0;8,1>       fRGB_to_Y_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:ud     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12,  8)<1>:ub     REG2(r, nTEMP14, 0)<0;2,4>:ub
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f      fROW_BGRX(5, 0)<0;8,1>       fRGB_to_Y_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:ud     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12, 10)<1>:ub     REG2(r, nTEMP14, 0)<0;2,4>:ub
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f      fROW_BGRX(6, 0)<0;8,1>       fRGB_to_Y_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:ud     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12, 12)<1>:ub     REG2(r, nTEMP14, 0)<0;2,4>:ub
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f      fROW_BGRX(7, 0)<0;8,1>       fRGB_to_Y_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:ud     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12, 14)<1>:ub     REG2(r, nTEMP14, 0)<0;2,4>:ub
+
+    // ####  write Y to the 1 row
+    mov (16) uwDEST_Y(%1)<1>  REG2(r,nTEMP12,  0)<0;16,1>:ub
+    
+    // ###### do one row for U
+    // ##### dp4(nTEMP16) and save result to uw format(nTEMP12)
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f     fROW_BGRX(0, 0)<0;8,1>        fRGB_to_U_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:d     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12,  0)<1>:w     REG2(r, nTEMP14, 0)<0;2,2>:w
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f     fROW_BGRX(1, 0)<0;8,1>        fRGB_to_U_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:d     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12,  2)<1>:w     REG2(r, nTEMP14, 0)<0;2,2>:w
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f     fROW_BGRX(2, 0)<0;8,1>        fRGB_to_U_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:d     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12,  4)<1>:w     REG2(r, nTEMP14, 0)<0;2,2>:w
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f     fROW_BGRX(3, 0)<0;8,1>        fRGB_to_U_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:d     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12,  6)<1>:w     REG2(r, nTEMP14, 0)<0;2,2>:w
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f     fROW_BGRX(4, 0)<0;8,1>        fRGB_to_U_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:d     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12,  8)<1>:w     REG2(r, nTEMP14, 0)<0;2,2>:w
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f     fROW_BGRX(5, 0)<0;8,1>        fRGB_to_U_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:d     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12, 10)<1>:w     REG2(r, nTEMP14, 0)<0;2,2>:w
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f     fROW_BGRX(6, 0)<0;8,1>        fRGB_to_U_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:d     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12, 12)<1>:w     REG2(r, nTEMP14, 0)<0;2,2>:w
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f     fROW_BGRX(7, 0)<0;8,1>        fRGB_to_U_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:d     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12, 14)<1>:w     REG2(r, nTEMP14, 0)<0;2,2>:w
+    add (16) REG2(r, nTEMP12,  0)<1>:w     REG2(r, nTEMP12, 0)<0;16,1>:w   128:w
+    // ####  write U to the 1 row
+    mov (16) uwDEST_U(%1)<1>  REG2(r,nTEMP12,  0)<0;16,2>:ub
+    
+    // ###### do one row for V
+    // ##### dp4(nTEMP16) and save result to uw format(nTEMP12)
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f     fROW_BGRX(0, 0)<0;8,1>        fRGB_to_V_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:d     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12,  0)<1>:w     REG2(r, nTEMP14, 0)<0;2,2>:w
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f     fROW_BGRX(1, 0)<0;8,1>        fRGB_to_V_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:d     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12,  2)<1>:w     REG2(r, nTEMP14, 0)<0;2,2>:w
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f     fROW_BGRX(2, 0)<0;8,1>        fRGB_to_V_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:d     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12,  4)<1>:w     REG2(r, nTEMP14, 0)<0;2,2>:w
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f     fROW_BGRX(3, 0)<0;8,1>        fRGB_to_V_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:d     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12,  6)<1>:w     REG2(r, nTEMP14, 0)<0;2,2>:w
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f     fROW_BGRX(4, 0)<0;8,1>        fRGB_to_V_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:d     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12,  8)<1>:w     REG2(r, nTEMP14, 0)<0;2,2>:w
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f     fROW_BGRX(5, 0)<0;8,1>        fRGB_to_V_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:d     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12, 10)<1>:w     REG2(r, nTEMP14, 0)<0;2,2>:w
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f     fROW_BGRX(6, 0)<0;8,1>        fRGB_to_V_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:d     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12, 12)<1>:w     REG2(r, nTEMP14, 0)<0;2,2>:w
+    dp4 (8)  REG2(r, nTEMP16,  0)<1>:f     fROW_BGRX(7, 0)<0;8,1>        fRGB_to_V_Coef_Float<0;4,1>:f 
+    mov (2)  REG2(r, nTEMP14,  0)<1>:d     REG2(r, nTEMP16, 0)<0;2,4>:f
+    mov (2)  REG2(r, nTEMP12, 14)<1>:w     REG2(r, nTEMP14, 0)<0;2,2>:w
+    add (16) REG2(r, nTEMP12,  0)<1>:w     REG2(r, nTEMP12, 0)<0;16,1>:w   128:w
+
+    // ####  write V to the 1 row
+    mov (16) uwDEST_V(%1)<1>  REG2(r,nTEMP12,  0)<0;16,2>:ub
+}
diff --git a/src/shaders/post_processing/gen5_6/Common/RGBX_to_YUV_Coef.asm b/src/shaders/post_processing/gen5_6/Common/RGBX_to_YUV_Coef.asm
new file mode 100755 (executable)
index 0000000..5c193e2
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * All Video Processing kernels 
+ * Copyright © <2010>, Intel Corporation.
+ *
+ * This program is licensed under the terms and conditions of the
+ * Eclipse Public License (EPL), version 1.0.  The full text of the EPL is at
+ * http://www.opensource.org/licenses/eclipse-1.0.php.
+ *
+ * Authors:
+ *    Halley Zhao <halley.zhao@intel.com>
+ */
+
+// Module name: RGB_to_YUV_Coef.asm
+//----------------------------------------------------------------
+
+// is src surface |R|G|B|X| layout? otherwise it is |B|G|R|X|
+and.nz.f0.1 (1) dNULLREG     r1.1:ud         0xFF000000:ud      
+#ifdef FIX_POINT_CONVERSION
+        // Y = ( (  66 * R + 129 * G +  25 * B + 128 ) >> 8) +  16
+    (-f0.1) mov (1) REG2(r, nTEMP0, 0):ud       0x00428119:ud      // used as unsigned byte
+    ( f0.1) mov (1) REG2(r, nTEMP0, 0):ud       0x00198142:ud      // used as unsigned byte
+        // U = ( ( -38 * R -  74 * G + 112 * B + 128 ) >> 8) + 128
+    (-f0.1) mov (1) REG2(r, nTEMP0, 1):ud       0x00DAB670:ud      // used as signed byte
+    ( f0.1) mov (1) REG2(r, nTEMP0, 1):ud       0x0070B6DA:ud      // used as signed byte
+        // V = ( ( 112 * R -  94 * G -  18 * B + 128 ) >> 8) + 128
+    (-f0.1) mov (1) REG2(r, nTEMP0, 2):ud       0x0070A2EEud      // used as signed byte
+    ( f0.1) mov (1) REG2(r, nTEMP0, 2):ud       0x00EEA270ud      // used as signed byte
+
+    #define ubRGB_to_Y_Coef_Fix        REG2(r, nTEMP0, 0)
+    #define  bRGB_to_U_Coef_Fix        REG2(r, nTEMP0, 4)
+    #define  bRGB_to_V_Coef_Fix        REG2(r, nTEMP0, 8)
+#else
+        // Y =  0.299R + 0.587G + 0.114B
+    (-f0.1) mov (1) REG2(r, nTEMP8, 0):f       0.114f       // B coef
+    ( f0.1) mov (1) REG2(r, nTEMP8, 2):f       0.114f       // R coef
+            mov (1) REG2(r, nTEMP8, 1):f       0.587f       // G coef
+    (-f0.1) mov (1) REG2(r, nTEMP8, 2):f       0.299f       // R coef
+    ( f0.1) mov (1) REG2(r, nTEMP8, 0):f       0.299f       // B coef
+            mov (1) REG2(r, nTEMP8, 3):f       0.000f       // A coef
+    
+    // Cb= -0.169R - 0.331G + 0.499B + 128
+        // U = -0.147R - 0.289G + 0.436B + 128
+    (-f0.1) mov (1) REG2(r, nTEMP8, 4):f       0.436f       // B coef
+    ( f0.1) mov (1) REG2(r, nTEMP8, 6):f       0.436f       // R coef
+            mov (1) REG2(r, nTEMP8, 5):f      -0.289f       // G coef
+    (-f0.1) mov (1) REG2(r, nTEMP8, 6):f      -0.147f       // R coef
+    ( f0.1) mov (1) REG2(r, nTEMP8, 4):f      -0.147f       // B coef
+            mov (1) REG2(r, nTEMP8, 7):f       0.000f       // A coef
+
+        // Cr= 0.499R - 0.418G - 0.0813B+ 128
+        // V = 0.615R - 0.515G - 0.100B + 128
+    (-f0.1) mov (1) REG2(r, nTEMP10, 0):f      -0.100f       // B coef
+    ( f0.1) mov (1) REG2(r, nTEMP10, 2):f      -0.100f       // R coef
+            mov (1) REG2(r, nTEMP10, 1):f      -0.515f       // G coef
+    (-f0.1) mov (1) REG2(r, nTEMP10, 2):f       0.615f       // R coef
+    ( f0.1) mov (1) REG2(r, nTEMP10, 0):f       0.615f       // B coef
+            mov (1) REG2(r, nTEMP10, 3):f       0.000f       // A coef
+
+    #define fRGB_to_Y_Coef_Float        REG2(r, nTEMP8, 0)
+    #define fRGB_to_U_Coef_Float        REG2(r, nTEMP8, 4)
+    #define fRGB_to_V_Coef_Float        REG2(r, nTEMP10, 0)
+    .declare fROW_BGRX       Base=REG(r,nTEMP0) ElementSize=4 SrcRegion=REGION(8,8) Type=f    // r nTEMP0 - r nTEMP7
+#endif
+
index 1cc1ecb..8658938 100755 (executable)
@@ -20,6 +20,7 @@ INTEL_PP_G4B_GEN5 = \
        pl3_load_save_pa.g4b.gen5                               \
        pa_load_save_nv12.g4b.gen5                              \
        pa_load_save_pl3.g4b.gen5                               \
+       rgbx_load_save_nv12.g4b.gen5                            \
        $(NULL)
 
 INTEL_PP_G6B = \
@@ -35,6 +36,7 @@ INTEL_PP_G6B = \
        pl3_load_save_pa.g6b                            \
        pa_load_save_nv12.g6b                           \
        pa_load_save_pl3.g6b                            \
+       rgbx_load_save_nv12.g6b                         \
        $(NULL)
 
 INTEL_PP_ASM = \
@@ -50,6 +52,7 @@ INTEL_PP_ASM = \
        pl3_load_save_pa.asm                            \
        pa_load_save_nv12.asm                           \
        pa_load_save_pl3.asm                            \
+       rgbx_load_save_nv12.asm                         \
        $(NULL)
 
 INTEL_PP_ASM += \
@@ -86,6 +89,10 @@ INTEL_PP_ASM += \
        Common/RGB16x8_Save_RGB16.asm                   \
        Common/RGB16x8_Save_Y416.asm                    \
        Common/RGB_Pack.asm                             \
+       Common/RGBX_Load_16x8.asm                       \
+       Common/RGBX_to_YUV_Coef.asm                     \
+       Common/RGBX_Save_YUV_Fix.asm            \
+       Common/RGBX_Save_YUV_Float.asm          \
        Common/SetupVPKernel.asm                        \
        Common/readSampler16x1.asm                      \
        Core_Kernels/AVS_SetupFirstBlock.asm            \
@@ -145,6 +152,7 @@ INTEL_PP_INC = \
        Common/RGB16x8_Save_RGB.inc             \
        Common/RGB16x8_Save_RGB16.inc           \
        Common/RGB16x8_Save_Y416.inc            \
+       Common/RGBX_Load_16x8.inc               \
        Common/common.inc                       \
        Common/undefall.inc                     \
        Core_Kernels/AVS_IEF.inc                \
diff --git a/src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.asm b/src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.asm
new file mode 100755 (executable)
index 0000000..4922cc7
--- /dev/null
@@ -0,0 +1,26 @@
+// Module name: RGBX_LOAD_SAVE_NV12
+.kernel RGBX_LOAD_SAVE_NV12 
+.code
+#define FIX_POINT_CONVERSION
+// #define FLOAT_POINT_CONVERSION
+
+#include "SetupVPKernel.asm"
+#include "RGBX_to_YUV_Coef.asm"
+#include "Multiple_Loop_Head.asm"
+#include "RGBX_Load_16x8.asm"   
+#ifdef FIX_POINT_CONVERSION
+  #include "RGBX_Save_YUV_Fix.asm"
+#else
+  #include "RGBX_Save_YUV_Float.asm"
+#endif
+#include "PL16x8_PL8x4.asm"     
+#include "PL8x4_Save_NV12.asm"
+#include "Multiple_Loop.asm"
+
+END_THREAD  // End of Thread
+
+.end_code  
+
+.end_kernel
+
+// end of rgbx_load_save_nv12.asm
diff --git a/src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.g4b.gen5 b/src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.g4b.gen5
new file mode 100644 (file)
index 0000000..2a42c37
--- /dev/null
@@ -0,0 +1,566 @@
+   { 0x00600001, 0x21000021, 0x008d0000, 0x00000000 },
+   { 0x02000005, 0x20000c24, 0x02000024, 0xff000000 },
+   { 0x00110001, 0x24400061, 0x02000000, 0x00428119 },
+   { 0x00010001, 0x24400061, 0x02000000, 0x00198142 },
+   { 0x00110001, 0x24440061, 0x02000000, 0x00dab670 },
+   { 0x00010001, 0x24440061, 0x02000000, 0x0070b6da },
+   { 0x00110001, 0x24480061, 0x02000000, 0x0070a2ee },
+   { 0x00010001, 0x24480061, 0x02000000, 0x00eea270 },
+   { 0x00000441, 0x20842e2d, 0x000000b7, 0x00100010 },
+   { 0x00000c01, 0x2086022d, 0x000000bb, 0x00000000 },
+   { 0x00000801, 0x208a01ad, 0x000000a0, 0x00000000 },
+   { 0x00200001, 0x209403bd, 0x006600a4, 0x00000000 },
+   { 0x00000040, 0x208435ad, 0x00000084, 0x000000a0 },
+   { 0x00200040, 0x210035a5, 0x004500a0, 0x00450074 },
+   { 0x00000409, 0x21003da5, 0x00000100, 0x00020002 },
+   { 0x00000801, 0x21080061, 0x00000000, 0x0007001f },
+   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
+   { 0x01600031, 0x27000c01, 0x408d0000, 0x0288a001 },
+   { 0x00000040, 0x21003ca5, 0x00000100, 0x00200020 },
+   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
+   { 0x01600031, 0x28000c01, 0x408d0000, 0x0288a001 },
+   { 0x00000001, 0x22000060, 0x00000000, 0x08000700 },
+   { 0x00800041, 0x24c04629, 0x00118000, 0x00090440 },
+   { 0x00800041, 0x24e04629, 0x00118010, 0x00090440 },
+   { 0x00800041, 0x25004629, 0x00118400, 0x00090440 },
+   { 0x00800041, 0x25204629, 0x00118410, 0x00090440 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x21400229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118000, 0x00090444 },
+   { 0x00800041, 0x24e0562d, 0x00118010, 0x00090444 },
+   { 0x00800041, 0x2500562d, 0x00118400, 0x00090444 },
+   { 0x00800041, 0x2520562d, 0x00118410, 0x00090444 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x22400229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118000, 0x00090448 },
+   { 0x00800041, 0x24e0562d, 0x00118010, 0x00090448 },
+   { 0x00800041, 0x2500562d, 0x00118400, 0x00090448 },
+   { 0x00800041, 0x2520562d, 0x00118410, 0x00090448 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x23400229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c04629, 0x00118020, 0x00090440 },
+   { 0x00800041, 0x24e04629, 0x00118030, 0x00090440 },
+   { 0x00800041, 0x25004629, 0x00118420, 0x00090440 },
+   { 0x00800041, 0x25204629, 0x00118430, 0x00090440 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x21600229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118020, 0x00090444 },
+   { 0x00800041, 0x24e0562d, 0x00118030, 0x00090444 },
+   { 0x00800041, 0x2500562d, 0x00118420, 0x00090444 },
+   { 0x00800041, 0x2520562d, 0x00118430, 0x00090444 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x22600229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118020, 0x00090448 },
+   { 0x00800041, 0x24e0562d, 0x00118030, 0x00090448 },
+   { 0x00800041, 0x2500562d, 0x00118420, 0x00090448 },
+   { 0x00800041, 0x2520562d, 0x00118430, 0x00090448 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x23600229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c04629, 0x00118040, 0x00090440 },
+   { 0x00800041, 0x24e04629, 0x00118050, 0x00090440 },
+   { 0x00800041, 0x25004629, 0x00118440, 0x00090440 },
+   { 0x00800041, 0x25204629, 0x00118450, 0x00090440 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x21800229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118040, 0x00090444 },
+   { 0x00800041, 0x24e0562d, 0x00118050, 0x00090444 },
+   { 0x00800041, 0x2500562d, 0x00118440, 0x00090444 },
+   { 0x00800041, 0x2520562d, 0x00118450, 0x00090444 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x22800229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118040, 0x00090448 },
+   { 0x00800041, 0x24e0562d, 0x00118050, 0x00090448 },
+   { 0x00800041, 0x2500562d, 0x00118440, 0x00090448 },
+   { 0x00800041, 0x2520562d, 0x00118450, 0x00090448 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x23800229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c04629, 0x00118060, 0x00090440 },
+   { 0x00800041, 0x24e04629, 0x00118070, 0x00090440 },
+   { 0x00800041, 0x25004629, 0x00118460, 0x00090440 },
+   { 0x00800041, 0x25204629, 0x00118470, 0x00090440 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x21a00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118060, 0x00090444 },
+   { 0x00800041, 0x24e0562d, 0x00118070, 0x00090444 },
+   { 0x00800041, 0x2500562d, 0x00118460, 0x00090444 },
+   { 0x00800041, 0x2520562d, 0x00118470, 0x00090444 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x22a00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118060, 0x00090448 },
+   { 0x00800041, 0x24e0562d, 0x00118070, 0x00090448 },
+   { 0x00800041, 0x2500562d, 0x00118460, 0x00090448 },
+   { 0x00800041, 0x2520562d, 0x00118470, 0x00090448 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x23a00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c04629, 0x00118080, 0x00090440 },
+   { 0x00800041, 0x24e04629, 0x00118090, 0x00090440 },
+   { 0x00800041, 0x25004629, 0x00118480, 0x00090440 },
+   { 0x00800041, 0x25204629, 0x00118490, 0x00090440 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x21c00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118080, 0x00090444 },
+   { 0x00800041, 0x24e0562d, 0x00118090, 0x00090444 },
+   { 0x00800041, 0x2500562d, 0x00118480, 0x00090444 },
+   { 0x00800041, 0x2520562d, 0x00118490, 0x00090444 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x22c00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118080, 0x00090448 },
+   { 0x00800041, 0x24e0562d, 0x00118090, 0x00090448 },
+   { 0x00800041, 0x2500562d, 0x00118480, 0x00090448 },
+   { 0x00800041, 0x2520562d, 0x00118490, 0x00090448 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x23c00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c04629, 0x001180a0, 0x00090440 },
+   { 0x00800041, 0x24e04629, 0x001180b0, 0x00090440 },
+   { 0x00800041, 0x25004629, 0x001184a0, 0x00090440 },
+   { 0x00800041, 0x25204629, 0x001184b0, 0x00090440 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x21e00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x001180a0, 0x00090444 },
+   { 0x00800041, 0x24e0562d, 0x001180b0, 0x00090444 },
+   { 0x00800041, 0x2500562d, 0x001184a0, 0x00090444 },
+   { 0x00800041, 0x2520562d, 0x001184b0, 0x00090444 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x22e00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x001180a0, 0x00090448 },
+   { 0x00800041, 0x24e0562d, 0x001180b0, 0x00090448 },
+   { 0x00800041, 0x2500562d, 0x001184a0, 0x00090448 },
+   { 0x00800041, 0x2520562d, 0x001184b0, 0x00090448 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x23e00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c04629, 0x001180c0, 0x00090440 },
+   { 0x00800041, 0x24e04629, 0x001180d0, 0x00090440 },
+   { 0x00800041, 0x25004629, 0x001184c0, 0x00090440 },
+   { 0x00800041, 0x25204629, 0x001184d0, 0x00090440 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x22000229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x001180c0, 0x00090444 },
+   { 0x00800041, 0x24e0562d, 0x001180d0, 0x00090444 },
+   { 0x00800041, 0x2500562d, 0x001184c0, 0x00090444 },
+   { 0x00800041, 0x2520562d, 0x001184d0, 0x00090444 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x23000229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x001180c0, 0x00090448 },
+   { 0x00800041, 0x24e0562d, 0x001180d0, 0x00090448 },
+   { 0x00800041, 0x2500562d, 0x001184c0, 0x00090448 },
+   { 0x00800041, 0x2520562d, 0x001184d0, 0x00090448 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x24000229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c04629, 0x001180e0, 0x00090440 },
+   { 0x00800041, 0x24e04629, 0x001180f0, 0x00090440 },
+   { 0x00800041, 0x25004629, 0x001184e0, 0x00090440 },
+   { 0x00800041, 0x25204629, 0x001184f0, 0x00090440 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x22200229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x001180e0, 0x00090444 },
+   { 0x00800041, 0x24e0562d, 0x001180f0, 0x00090444 },
+   { 0x00800041, 0x2500562d, 0x001184e0, 0x00090444 },
+   { 0x00800041, 0x2520562d, 0x001184f0, 0x00090444 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x23200229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x001180e0, 0x00090448 },
+   { 0x00800041, 0x24e0562d, 0x001180f0, 0x00090448 },
+   { 0x00800041, 0x2500562d, 0x001184e0, 0x00090448 },
+   { 0x00800041, 0x2520562d, 0x001184f0, 0x00090448 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x24200229, 0x00110540, 0x00000000 },
+   { 0x00600001, 0x22400129, 0x00ae0240, 0x00000000 },
+   { 0x00600001, 0x23400129, 0x00ae0340, 0x00000000 },
+   { 0x00600001, 0x22500129, 0x00ae0280, 0x00000000 },
+   { 0x00600001, 0x23500129, 0x00ae0380, 0x00000000 },
+   { 0x00600001, 0x22600129, 0x00ae02c0, 0x00000000 },
+   { 0x00600001, 0x23600129, 0x00ae03c0, 0x00000000 },
+   { 0x00600001, 0x22700129, 0x00ae0300, 0x00000000 },
+   { 0x00600001, 0x23700129, 0x00ae0400, 0x00000000 },
+   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
+   { 0x00200001, 0x202001a6, 0x004500a0, 0x00000000 },
+   { 0x00000001, 0x20280062, 0x00000000, 0x0007000f },
+   { 0x00000005, 0x24000c20, 0x000000b8, 0x00ffffff },
+   { 0x04000010, 0x20000c04, 0x00000400, 0x00ffffff },
+   { 0x00010220, 0x34001c00, 0x00001400, 0x00000056 },
+   { 0x01600031, 0x27000c01, 0x408d0000, 0x0248a007 },
+   { 0x0000040c, 0x21043da1, 0x000000a2, 0x00010001 },
+   { 0x00000801, 0x21080061, 0x00000000, 0x0003000f },
+   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
+   { 0x01600031, 0x28000c01, 0x408d0000, 0x0228a008 },
+   { 0x00200001, 0x210001a1, 0x004500a0, 0x00000000 },
+   { 0x00000001, 0x21080061, 0x00000000, 0x0007000f },
+   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
+   { 0x00000001, 0x26020228, 0x000000ba, 0x00000000 },
+   { 0x00610001, 0x24400129, 0x020000b8, 0x00000000 },
+   { 0x00710001, 0x24400169, 0x02000000, 0x00000000 },
+   { 0x00000001, 0x24600061, 0x00000000, 0x00040001 },
+   { 0x00000001, 0x24640061, 0x00000000, 0x00400010 },
+   { 0x00000001, 0x24680061, 0x00000000, 0x04000100 },
+   { 0x00000001, 0x246c0061, 0x00000000, 0x40001000 },
+   { 0x00000001, 0x26020128, 0x00000440, 0x00000000 },
+   { 0x00910001, 0x41400231, 0x02b10700, 0x00000000 },
+   { 0x02600005, 0x2000252c, 0x02000440, 0x008d0460 },
+   { 0x00710001, 0x42400231, 0x02ae0800, 0x00000000 },
+   { 0x00710001, 0x43400231, 0x02ae0801, 0x00000000 },
+   { 0x00000001, 0x26020128, 0x00000442, 0x00000000 },
+   { 0x00910001, 0x41600231, 0x02b10710, 0x00000000 },
+   { 0x00000001, 0x26020128, 0x00000444, 0x00000000 },
+   { 0x00910001, 0x41800231, 0x02b10720, 0x00000000 },
+   { 0x02600005, 0x2000252c, 0x02000444, 0x008d0460 },
+   { 0x00710001, 0x42500231, 0x02ae0810, 0x00000000 },
+   { 0x00710001, 0x43500231, 0x02ae0811, 0x00000000 },
+   { 0x00000001, 0x26020128, 0x00000446, 0x00000000 },
+   { 0x00910001, 0x41a00231, 0x02b10730, 0x00000000 },
+   { 0x00000001, 0x26020128, 0x00000448, 0x00000000 },
+   { 0x00910001, 0x41c00231, 0x02b10740, 0x00000000 },
+   { 0x02600005, 0x2000252c, 0x02000448, 0x008d0460 },
+   { 0x00710001, 0x42600231, 0x02ae0820, 0x00000000 },
+   { 0x00710001, 0x43600231, 0x02ae0821, 0x00000000 },
+   { 0x00000001, 0x26020128, 0x0000044a, 0x00000000 },
+   { 0x00910001, 0x41e00231, 0x02b10750, 0x00000000 },
+   { 0x00000001, 0x26020128, 0x0000044c, 0x00000000 },
+   { 0x00910001, 0x42000231, 0x02b10760, 0x00000000 },
+   { 0x02600005, 0x2000252c, 0x0200044c, 0x008d0460 },
+   { 0x00710001, 0x42700231, 0x02ae0830, 0x00000000 },
+   { 0x00710001, 0x43700231, 0x02ae0831, 0x00000000 },
+   { 0x00000001, 0x26020128, 0x0000044e, 0x00000000 },
+   { 0x00910001, 0x42200231, 0x02b10770, 0x00000000 },
+   { 0x00800001, 0x20400232, 0x00d20140, 0x00000000 },
+   { 0x00800001, 0x20500232, 0x00d20160, 0x00000000 },
+   { 0x00800001, 0x20600232, 0x00d20180, 0x00000000 },
+   { 0x00800001, 0x20700232, 0x00d201a0, 0x00000000 },
+   { 0x00800001, 0x20800232, 0x00d201c0, 0x00000000 },
+   { 0x00800001, 0x20900232, 0x00d201e0, 0x00000000 },
+   { 0x00800001, 0x20a00232, 0x00d20200, 0x00000000 },
+   { 0x00800001, 0x20b00232, 0x00d20220, 0x00000000 },
+   { 0x01600031, 0x20000c04, 0x508d0000, 0x0a082007 },
+   { 0x00200001, 0x210001a5, 0x004500a0, 0x00000000 },
+   { 0x0000000c, 0x21043ca5, 0x00000104, 0x00010001 },
+   { 0x00000001, 0x21080061, 0x00000000, 0x0003000f },
+   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
+   { 0x00800001, 0x40400232, 0x00d20240, 0x00000000 },
+   { 0x00800001, 0x40410232, 0x00d20340, 0x00000000 },
+   { 0x00800001, 0x40600232, 0x00d20260, 0x00000000 },
+   { 0x00800001, 0x40610232, 0x00d20360, 0x00000000 },
+   { 0x01600031, 0x20000c04, 0x508d0000, 0x06082008 },
+   { 0x01000040, 0x20863dad, 0x00000086, 0xffffffff },
+   { 0x00000040, 0x20a03dad, 0x000000a0, 0x00100010 },
+   { 0x05000010, 0x200035ac, 0x020000a0, 0x00000084 },
+   { 0x00010220, 0x34001c00, 0x00001400, 0x00000008 },
+   { 0x00010220, 0x34001c00, 0x02001400, 0xfffffbbe },
+   { 0x00000001, 0x20a001ad, 0x0000008a, 0x00000000 },
+   { 0x00000040, 0x20a23dad, 0x000000a2, 0x00080008 },
+   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffbb8 },
+   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
+   { 0x0f000031, 0x20000c04, 0x708d0000, 0x82000000 },
+   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
+   { 0x0f000031, 0x20000c04, 0x708d0000, 0x82000000 },
diff --git a/src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.g6b b/src/shaders/post_processing/gen5_6/rgbx_load_save_nv12.g6b
new file mode 100644 (file)
index 0000000..8b7b25b
--- /dev/null
@@ -0,0 +1,639 @@
+   { 0x00600001, 0x20e00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x21000061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x21200061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x21400061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x21600061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x21800061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x21a00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x21c00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x21e00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x22000061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x22200061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x22400061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x22600061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x22800061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x22a00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x22c00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x22e00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x23000061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x23200061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x23400061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x23600061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x23800061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x23a00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x23c00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x23e00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x24000061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x24200061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x24400061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x24600061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x24800061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x24a00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x24c00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x24e00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x25000061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x25200061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x25400061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x25600061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x25800061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x25a00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x25c00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x25e00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x26000061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x26200061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x26400061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x26600061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x26800061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x26a00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x26c00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x26e00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x27000061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x27200061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x27400061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x27600061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x27800061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x27a00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x27c00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x27e00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x28000061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x28200061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x28400061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x28600061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x28800061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x28a00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x28c00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x28e00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x29000061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x29200061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x29400061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x29600061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x29800061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x29a00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x29c00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x29e00061, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x21000021, 0x008d0000, 0x00000000 },
+   { 0x02000005, 0x20000c24, 0x02000024, 0xff000000 },
+   { 0x00110001, 0x24400061, 0x02000000, 0x00428119 },
+   { 0x00010001, 0x24400061, 0x02000000, 0x00198142 },
+   { 0x00110001, 0x24440061, 0x02000000, 0x00dab670 },
+   { 0x00010001, 0x24440061, 0x02000000, 0x0070b6da },
+   { 0x00110001, 0x24480061, 0x02000000, 0x0070a2ee },
+   { 0x00010001, 0x24480061, 0x02000000, 0x00eea270 },
+   { 0x00000441, 0x20842e2d, 0x000000b7, 0x00100010 },
+   { 0x00000c01, 0x2086022d, 0x000000bb, 0x00000000 },
+   { 0x00000801, 0x208a01ad, 0x000000a0, 0x00000000 },
+   { 0x00200001, 0x209403bd, 0x006600a4, 0x00000000 },
+   { 0x00000040, 0x208435ad, 0x00000084, 0x000000a0 },
+   { 0x00200040, 0x210035a5, 0x004500a0, 0x00450074 },
+   { 0x00000409, 0x21003da5, 0x00000100, 0x00020002 },
+   { 0x00000801, 0x21080061, 0x00000000, 0x0007001f },
+   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
+   { 0x04600031, 0x27000cc1, 0x00000020, 0x02898001 },
+   { 0x00000040, 0x21003ca5, 0x00000100, 0x00200020 },
+   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
+   { 0x04600031, 0x28000cc1, 0x00000020, 0x02898001 },
+   { 0x00000001, 0x22000060, 0x00000000, 0x08000700 },
+   { 0x00800041, 0x24c04629, 0x00118000, 0x00090440 },
+   { 0x00800041, 0x24e04629, 0x00118010, 0x00090440 },
+   { 0x00800041, 0x25004629, 0x00118400, 0x00090440 },
+   { 0x00800041, 0x25204629, 0x00118410, 0x00090440 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x21400229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118000, 0x00090444 },
+   { 0x00800041, 0x24e0562d, 0x00118010, 0x00090444 },
+   { 0x00800041, 0x2500562d, 0x00118400, 0x00090444 },
+   { 0x00800041, 0x2520562d, 0x00118410, 0x00090444 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x22400229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118000, 0x00090448 },
+   { 0x00800041, 0x24e0562d, 0x00118010, 0x00090448 },
+   { 0x00800041, 0x2500562d, 0x00118400, 0x00090448 },
+   { 0x00800041, 0x2520562d, 0x00118410, 0x00090448 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x23400229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c04629, 0x00118020, 0x00090440 },
+   { 0x00800041, 0x24e04629, 0x00118030, 0x00090440 },
+   { 0x00800041, 0x25004629, 0x00118420, 0x00090440 },
+   { 0x00800041, 0x25204629, 0x00118430, 0x00090440 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x21600229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118020, 0x00090444 },
+   { 0x00800041, 0x24e0562d, 0x00118030, 0x00090444 },
+   { 0x00800041, 0x2500562d, 0x00118420, 0x00090444 },
+   { 0x00800041, 0x2520562d, 0x00118430, 0x00090444 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x22600229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118020, 0x00090448 },
+   { 0x00800041, 0x24e0562d, 0x00118030, 0x00090448 },
+   { 0x00800041, 0x2500562d, 0x00118420, 0x00090448 },
+   { 0x00800041, 0x2520562d, 0x00118430, 0x00090448 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x23600229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c04629, 0x00118040, 0x00090440 },
+   { 0x00800041, 0x24e04629, 0x00118050, 0x00090440 },
+   { 0x00800041, 0x25004629, 0x00118440, 0x00090440 },
+   { 0x00800041, 0x25204629, 0x00118450, 0x00090440 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x21800229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118040, 0x00090444 },
+   { 0x00800041, 0x24e0562d, 0x00118050, 0x00090444 },
+   { 0x00800041, 0x2500562d, 0x00118440, 0x00090444 },
+   { 0x00800041, 0x2520562d, 0x00118450, 0x00090444 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x22800229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118040, 0x00090448 },
+   { 0x00800041, 0x24e0562d, 0x00118050, 0x00090448 },
+   { 0x00800041, 0x2500562d, 0x00118440, 0x00090448 },
+   { 0x00800041, 0x2520562d, 0x00118450, 0x00090448 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x23800229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c04629, 0x00118060, 0x00090440 },
+   { 0x00800041, 0x24e04629, 0x00118070, 0x00090440 },
+   { 0x00800041, 0x25004629, 0x00118460, 0x00090440 },
+   { 0x00800041, 0x25204629, 0x00118470, 0x00090440 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x21a00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118060, 0x00090444 },
+   { 0x00800041, 0x24e0562d, 0x00118070, 0x00090444 },
+   { 0x00800041, 0x2500562d, 0x00118460, 0x00090444 },
+   { 0x00800041, 0x2520562d, 0x00118470, 0x00090444 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x22a00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118060, 0x00090448 },
+   { 0x00800041, 0x24e0562d, 0x00118070, 0x00090448 },
+   { 0x00800041, 0x2500562d, 0x00118460, 0x00090448 },
+   { 0x00800041, 0x2520562d, 0x00118470, 0x00090448 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x23a00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c04629, 0x00118080, 0x00090440 },
+   { 0x00800041, 0x24e04629, 0x00118090, 0x00090440 },
+   { 0x00800041, 0x25004629, 0x00118480, 0x00090440 },
+   { 0x00800041, 0x25204629, 0x00118490, 0x00090440 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x21c00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118080, 0x00090444 },
+   { 0x00800041, 0x24e0562d, 0x00118090, 0x00090444 },
+   { 0x00800041, 0x2500562d, 0x00118480, 0x00090444 },
+   { 0x00800041, 0x2520562d, 0x00118490, 0x00090444 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x22c00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x00118080, 0x00090448 },
+   { 0x00800041, 0x24e0562d, 0x00118090, 0x00090448 },
+   { 0x00800041, 0x2500562d, 0x00118480, 0x00090448 },
+   { 0x00800041, 0x2520562d, 0x00118490, 0x00090448 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x23c00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c04629, 0x001180a0, 0x00090440 },
+   { 0x00800041, 0x24e04629, 0x001180b0, 0x00090440 },
+   { 0x00800041, 0x25004629, 0x001184a0, 0x00090440 },
+   { 0x00800041, 0x25204629, 0x001184b0, 0x00090440 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x21e00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x001180a0, 0x00090444 },
+   { 0x00800041, 0x24e0562d, 0x001180b0, 0x00090444 },
+   { 0x00800041, 0x2500562d, 0x001184a0, 0x00090444 },
+   { 0x00800041, 0x2520562d, 0x001184b0, 0x00090444 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x22e00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x001180a0, 0x00090448 },
+   { 0x00800041, 0x24e0562d, 0x001180b0, 0x00090448 },
+   { 0x00800041, 0x2500562d, 0x001184a0, 0x00090448 },
+   { 0x00800041, 0x2520562d, 0x001184b0, 0x00090448 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x23e00229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c04629, 0x001180c0, 0x00090440 },
+   { 0x00800041, 0x24e04629, 0x001180d0, 0x00090440 },
+   { 0x00800041, 0x25004629, 0x001184c0, 0x00090440 },
+   { 0x00800041, 0x25204629, 0x001184d0, 0x00090440 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x22000229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x001180c0, 0x00090444 },
+   { 0x00800041, 0x24e0562d, 0x001180d0, 0x00090444 },
+   { 0x00800041, 0x2500562d, 0x001184c0, 0x00090444 },
+   { 0x00800041, 0x2520562d, 0x001184d0, 0x00090444 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x23000229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x001180c0, 0x00090448 },
+   { 0x00800041, 0x24e0562d, 0x001180d0, 0x00090448 },
+   { 0x00800041, 0x2500562d, 0x001184c0, 0x00090448 },
+   { 0x00800041, 0x2520562d, 0x001184d0, 0x00090448 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x24000229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c04629, 0x001180e0, 0x00090440 },
+   { 0x00800041, 0x24e04629, 0x001180f0, 0x00090440 },
+   { 0x00800041, 0x25004629, 0x001184e0, 0x00090440 },
+   { 0x00800041, 0x25204629, 0x001184f0, 0x00090440 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c02529, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e02529, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x65002529, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x65202529, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x25400129, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x25480129, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x25500129, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x25580129, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402d29, 0x00110540, 0x10801080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x22200229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x001180e0, 0x00090444 },
+   { 0x00800041, 0x24e0562d, 0x001180f0, 0x00090444 },
+   { 0x00800041, 0x2500562d, 0x001184e0, 0x00090444 },
+   { 0x00800041, 0x2520562d, 0x001184f0, 0x00090444 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x23200229, 0x00110540, 0x00000000 },
+   { 0x00800041, 0x24c0562d, 0x001180e0, 0x00090448 },
+   { 0x00800041, 0x24e0562d, 0x001180f0, 0x00090448 },
+   { 0x00800041, 0x2500562d, 0x001184e0, 0x00090448 },
+   { 0x00800041, 0x2520562d, 0x001184f0, 0x00090448 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c2 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e2 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0502 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0522 },
+   { 0x00400040, 0x64c035ad, 0x000b04c0, 0x000b04c4 },
+   { 0x00400040, 0x64e035ad, 0x000b04e0, 0x000b04e4 },
+   { 0x00400040, 0x650035ad, 0x000b0500, 0x000b0504 },
+   { 0x00400040, 0x652035ad, 0x000b0520, 0x000b0524 },
+   { 0x00400001, 0x254001ad, 0x000b04c0, 0x00000000 },
+   { 0x00400001, 0x254801ad, 0x000b04e0, 0x00000000 },
+   { 0x00400001, 0x255001ad, 0x000b0500, 0x00000000 },
+   { 0x00400001, 0x255801ad, 0x000b0520, 0x00000000 },
+   { 0x00800040, 0x25402da9, 0x00110540, 0x80808080 },
+   { 0x00800001, 0x25400231, 0x00120541, 0x00000000 },
+   { 0x00800001, 0x24200229, 0x00110540, 0x00000000 },
+   { 0x00600001, 0x22400129, 0x00ae0240, 0x00000000 },
+   { 0x00600001, 0x23400129, 0x00ae0340, 0x00000000 },
+   { 0x00600001, 0x22500129, 0x00ae0280, 0x00000000 },
+   { 0x00600001, 0x23500129, 0x00ae0380, 0x00000000 },
+   { 0x00600001, 0x22600129, 0x00ae02c0, 0x00000000 },
+   { 0x00600001, 0x23600129, 0x00ae03c0, 0x00000000 },
+   { 0x00600001, 0x22700129, 0x00ae0300, 0x00000000 },
+   { 0x00600001, 0x23700129, 0x00ae0400, 0x00000000 },
+   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
+   { 0x00200001, 0x202001a6, 0x004500a0, 0x00000000 },
+   { 0x00000001, 0x20280062, 0x00000000, 0x0007000f },
+   { 0x00000005, 0x24000c20, 0x000000b8, 0x00ffffff },
+   { 0x04000010, 0x20000c04, 0x00000400, 0x00ffffff },
+   { 0x00010220, 0x34001c00, 0x00001400, 0x00000056 },
+   { 0x04600031, 0x27000cc1, 0x00000020, 0x02498007 },
+   { 0x0000040c, 0x21043da1, 0x000000a2, 0x00010001 },
+   { 0x00000801, 0x21080061, 0x00000000, 0x0003000f },
+   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
+   { 0x04600031, 0x28000cc1, 0x00000020, 0x02298008 },
+   { 0x00200001, 0x210001a1, 0x004500a0, 0x00000000 },
+   { 0x00000001, 0x21080061, 0x00000000, 0x0007000f },
+   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
+   { 0x00000001, 0x26020228, 0x000000ba, 0x00000000 },
+   { 0x00610001, 0x24400129, 0x020000b8, 0x00000000 },
+   { 0x00710001, 0x24400169, 0x02000000, 0x00000000 },
+   { 0x00000001, 0x24600061, 0x00000000, 0x00040001 },
+   { 0x00000001, 0x24640061, 0x00000000, 0x00400010 },
+   { 0x00000001, 0x24680061, 0x00000000, 0x04000100 },
+   { 0x00000001, 0x246c0061, 0x00000000, 0x40001000 },
+   { 0x00000001, 0x26020128, 0x00000440, 0x00000000 },
+   { 0x00910001, 0x41400231, 0x02b10700, 0x00000000 },
+   { 0x02600005, 0x2000252c, 0x02000440, 0x008d0460 },
+   { 0x00710001, 0x42400231, 0x02ae0800, 0x00000000 },
+   { 0x00710001, 0x43400231, 0x02ae0801, 0x00000000 },
+   { 0x00000001, 0x26020128, 0x00000442, 0x00000000 },
+   { 0x00910001, 0x41600231, 0x02b10710, 0x00000000 },
+   { 0x00000001, 0x26020128, 0x00000444, 0x00000000 },
+   { 0x00910001, 0x41800231, 0x02b10720, 0x00000000 },
+   { 0x02600005, 0x2000252c, 0x02000444, 0x008d0460 },
+   { 0x00710001, 0x42500231, 0x02ae0810, 0x00000000 },
+   { 0x00710001, 0x43500231, 0x02ae0811, 0x00000000 },
+   { 0x00000001, 0x26020128, 0x00000446, 0x00000000 },
+   { 0x00910001, 0x41a00231, 0x02b10730, 0x00000000 },
+   { 0x00000001, 0x26020128, 0x00000448, 0x00000000 },
+   { 0x00910001, 0x41c00231, 0x02b10740, 0x00000000 },
+   { 0x02600005, 0x2000252c, 0x02000448, 0x008d0460 },
+   { 0x00710001, 0x42600231, 0x02ae0820, 0x00000000 },
+   { 0x00710001, 0x43600231, 0x02ae0821, 0x00000000 },
+   { 0x00000001, 0x26020128, 0x0000044a, 0x00000000 },
+   { 0x00910001, 0x41e00231, 0x02b10750, 0x00000000 },
+   { 0x00000001, 0x26020128, 0x0000044c, 0x00000000 },
+   { 0x00910001, 0x42000231, 0x02b10760, 0x00000000 },
+   { 0x02600005, 0x2000252c, 0x0200044c, 0x008d0460 },
+   { 0x00710001, 0x42700231, 0x02ae0830, 0x00000000 },
+   { 0x00710001, 0x43700231, 0x02ae0831, 0x00000000 },
+   { 0x00000001, 0x26020128, 0x0000044e, 0x00000000 },
+   { 0x00910001, 0x42200231, 0x02b10770, 0x00000000 },
+   { 0x00800001, 0x20400232, 0x00d20140, 0x00000000 },
+   { 0x00800001, 0x20500232, 0x00d20160, 0x00000000 },
+   { 0x00800001, 0x20600232, 0x00d20180, 0x00000000 },
+   { 0x00800001, 0x20700232, 0x00d201a0, 0x00000000 },
+   { 0x00800001, 0x20800232, 0x00d201c0, 0x00000000 },
+   { 0x00800001, 0x20900232, 0x00d201e0, 0x00000000 },
+   { 0x00800001, 0x20a00232, 0x00d20200, 0x00000000 },
+   { 0x00800001, 0x20b00232, 0x00d20220, 0x00000000 },
+   { 0x05600031, 0x20000cc4, 0x00000020, 0x0a094007 },
+   { 0x00200001, 0x210001a5, 0x004500a0, 0x00000000 },
+   { 0x0000000c, 0x21043ca5, 0x00000104, 0x00010001 },
+   { 0x00000001, 0x21080061, 0x00000000, 0x0003000f },
+   { 0x00600001, 0x20200022, 0x008d0100, 0x00000000 },
+   { 0x00800001, 0x40400232, 0x00d20240, 0x00000000 },
+   { 0x00800001, 0x40410232, 0x00d20340, 0x00000000 },
+   { 0x00800001, 0x40600232, 0x00d20260, 0x00000000 },
+   { 0x00800001, 0x40610232, 0x00d20360, 0x00000000 },
+   { 0x05600031, 0x20000cc4, 0x00000020, 0x06094008 },
+   { 0x01000040, 0x20863dad, 0x00000086, 0xffffffff },
+   { 0x00000040, 0x20a03dad, 0x000000a0, 0x00100010 },
+   { 0x05000010, 0x200035ac, 0x020000a0, 0x00000084 },
+   { 0x00010220, 0x34001c00, 0x00001400, 0x00000008 },
+   { 0x00010220, 0x34001c00, 0x02001400, 0xfffffbbe },
+   { 0x00000001, 0x20a001ad, 0x0000008a, 0x00000000 },
+   { 0x00000040, 0x20a23dad, 0x000000a2, 0x00080008 },
+   { 0x00000220, 0x34001c00, 0x00001400, 0xfffffbb8 },
+   { 0x0000007e, 0x00000000, 0x00000000, 0x00000000 },
+   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
+   { 0x07000031, 0x20001cc4, 0x000001e0, 0x82000010 },
+   { 0x00600001, 0x21e00022, 0x008d0000, 0x00000000 },
+   { 0x07000031, 0x20001cc4, 0x000001e0, 0x82000010 },