amd/addrlib: update to the latest version
authorMarek Olšák <marek.olsak@amd.com>
Wed, 4 Sep 2019 02:38:38 +0000 (22:38 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Mon, 16 Dec 2019 22:04:57 +0000 (17:04 -0500)
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
16 files changed:
src/amd/addrlib/inc/addrinterface.h
src/amd/addrlib/inc/addrtypes.h
src/amd/addrlib/src/addrinterface.cpp
src/amd/addrlib/src/core/addrcommon.h
src/amd/addrlib/src/core/addrlib.cpp
src/amd/addrlib/src/core/addrlib2.cpp
src/amd/addrlib/src/core/addrlib2.h
src/amd/addrlib/src/core/addrobject.cpp
src/amd/addrlib/src/gfx10/gfx10SwizzlePattern.h
src/amd/addrlib/src/gfx10/gfx10addrlib.cpp
src/amd/addrlib/src/gfx10/gfx10addrlib.h
src/amd/addrlib/src/gfx9/gfx9addrlib.cpp
src/amd/addrlib/src/gfx9/gfx9addrlib.h
src/amd/addrlib/src/r800/ciaddrlib.h
src/amd/addrlib/src/r800/siaddrlib.h
src/amd/common/ac_surface.c

index a8e0b93209e307183fca611a499c2521682d3ae8..5fb3c46e489600235a8b7af4ec9e1a9c390e5453 100644 (file)
@@ -308,7 +308,8 @@ typedef union _ADDR_CREATE_FLAGS
         UINT_32 useHtileSliceAlign     : 1;    ///< Do htile single slice alignment
         UINT_32 allowLargeThickTile    : 1;    ///< Allow 64*thickness*bytesPerPixel > rowSize
         UINT_32 forceDccAndTcCompat    : 1;    ///< Force enable DCC and TC compatibility
-        UINT_32 reserved               : 24;   ///< Reserved bits for future use
+        UINT_32 nonPower2MemConfig     : 1;    ///< Physical video memory size is not power of 2
+        UINT_32 reserved               : 23;   ///< Reserved bits for future use
     };
 
     UINT_32 value;
@@ -347,9 +348,6 @@ typedef struct _ADDR_REGISTER_VALUE
                                  ///< CI registers-------------------------------------------------
     const UINT_32* pMacroTileConfig;    ///< Global macro tile mode table
     UINT_32  noOfMacroEntries;   ///< Number of entries in pMacroTileConfig
-
-                                 ///< GFX9 HW parameters
-    UINT_32  blockVarSizeLog2;   ///< SW_VAR_* block size
 } ADDR_REGISTER_VALUE;
 
 /**
@@ -3549,12 +3547,14 @@ typedef union _ADDR2_BLOCK_SET
 {
     struct
     {
-        UINT_32 micro       : 1;   // 256B block for 2D resource
-        UINT_32 macro4KB    : 1;   // 4KB for 2D/3D resource
-        UINT_32 macro64KB   : 1;   // 64KB for 2D/3D resource
-        UINT_32 var         : 1;   // VAR block
-        UINT_32 linear      : 1;   // Linear block
-        UINT_32 reserved    : 27;
+        UINT_32 micro          : 1;   // 256B block for 2D resource
+        UINT_32 macroThin4KB   : 1;   // Thin 4KB for 2D/3D resource
+        UINT_32 macroThick4KB  : 1;   // Thick 4KB for 3D resource
+        UINT_32 macroThin64KB  : 1;   // Thin 64KB for 2D/3D resource
+        UINT_32 macroThick64KB : 1;   // Thick 64KB for 3D resource
+        UINT_32 var            : 1;   // VAR block
+        UINT_32 linear         : 1;   // Linear block
+        UINT_32 reserved       : 25;
     };
 
     UINT_32 value;
@@ -3594,38 +3594,38 @@ typedef union _ADDR2_SWMODE_SET
 {
     struct
     {
-        UINT_32 swLinear   : 1;
-        UINT_32 sw256B_S   : 1;
-        UINT_32 sw256B_D   : 1;
-        UINT_32 sw256B_R   : 1;
-        UINT_32 sw4KB_Z    : 1;
-        UINT_32 sw4KB_S    : 1;
-        UINT_32 sw4KB_D    : 1;
-        UINT_32 sw4KB_R    : 1;
-        UINT_32 sw64KB_Z   : 1;
-        UINT_32 sw64KB_S   : 1;
-        UINT_32 sw64KB_D   : 1;
-        UINT_32 sw64KB_R   : 1;
-        UINT_32 swVar_Z    : 1;
-        UINT_32 swVar_S    : 1;
-        UINT_32 swVar_D    : 1;
-        UINT_32 swVar_R    : 1;
-        UINT_32 sw64KB_Z_T : 1;
-        UINT_32 sw64KB_S_T : 1;
-        UINT_32 sw64KB_D_T : 1;
-        UINT_32 sw64KB_R_T : 1;
-        UINT_32 sw4KB_Z_X  : 1;
-        UINT_32 sw4KB_S_X  : 1;
-        UINT_32 sw4KB_D_X  : 1;
-        UINT_32 sw4KB_R_X  : 1;
-        UINT_32 sw64KB_Z_X : 1;
-        UINT_32 sw64KB_S_X : 1;
-        UINT_32 sw64KB_D_X : 1;
-        UINT_32 sw64KB_R_X : 1;
-        UINT_32 swVar_Z_X  : 1;
-        UINT_32 swVar_S_X  : 1;
-        UINT_32 swVar_D_X  : 1;
-        UINT_32 swVar_R_X  : 1;
+        UINT_32 swLinear    : 1;
+        UINT_32 sw256B_S    : 1;
+        UINT_32 sw256B_D    : 1;
+        UINT_32 sw256B_R    : 1;
+        UINT_32 sw4KB_Z     : 1;
+        UINT_32 sw4KB_S     : 1;
+        UINT_32 sw4KB_D     : 1;
+        UINT_32 sw4KB_R     : 1;
+        UINT_32 sw64KB_Z    : 1;
+        UINT_32 sw64KB_S    : 1;
+        UINT_32 sw64KB_D    : 1;
+        UINT_32 sw64KB_R    : 1;
+        UINT_32 swReserved0 : 1;
+        UINT_32 swReserved1 : 1;
+        UINT_32 swReserved2 : 1;
+        UINT_32 swReserved3 : 1;
+        UINT_32 sw64KB_Z_T  : 1;
+        UINT_32 sw64KB_S_T  : 1;
+        UINT_32 sw64KB_D_T  : 1;
+        UINT_32 sw64KB_R_T  : 1;
+        UINT_32 sw4KB_Z_X   : 1;
+        UINT_32 sw4KB_S_X   : 1;
+        UINT_32 sw4KB_D_X   : 1;
+        UINT_32 sw4KB_R_X   : 1;
+        UINT_32 sw64KB_Z_X  : 1;
+        UINT_32 sw64KB_S_X  : 1;
+        UINT_32 sw64KB_D_X  : 1;
+        UINT_32 sw64KB_R_X  : 1;
+        UINT_32 swVar_Z_X   : 1;
+        UINT_32 swReserved4 : 1;
+        UINT_32 swReserved5 : 1;
+        UINT_32 swVar_R_X   : 1;
     };
 
     UINT_32 value;
index 36e342f31760a69ab5d1fc9406b9a26b9167ccea..7d8ca9266781a087dbfbec3ab9d954d5103d17c4 100644 (file)
@@ -90,11 +90,7 @@ typedef int            INT;
     #if defined(BRAHMA_ARM)
         #define ADDR_FASTCALL
     #elif defined(__GNUC__)
-        #if defined(__i386__)
-            #define ADDR_FASTCALL __attribute__((regparm(0)))
-        #else
-            #define ADDR_FASTCALL
-        #endif
+        #define ADDR_FASTCALL __attribute__((regparm(0)))
     #else
         #define ADDR_FASTCALL __fastcall
     #endif
@@ -203,22 +199,32 @@ typedef enum _AddrTileMode
 /**
 ****************************************************************************************************
 * @brief
-*   Neutral enums that define swizzle modes for Gfx9 ASIC
+*   Neutral enums that define swizzle modes for Gfx9+ ASIC
 * @note
 *
-*   ADDR_SW_LINEAR linear aligned addressing mode, for 1D/2D/3D resouce
-*   ADDR_SW_256B_* addressing block aligned size is 256B, for 2D/3D resouce
-*   ADDR_SW_4KB_*  addressing block aligned size is 4KB, for 2D/3D resouce
-*   ADDR_SW_64KB_* addressing block aligned size is 64KB, for 2D/3D resouce
-*   ADDR_SW_VAR_*  addressing block aligned size is ASIC specific, for 2D/3D resouce
+*   ADDR_SW_LINEAR linear aligned addressing mode, for 1D/2D/3D resource
+*   ADDR_SW_256B_* addressing block aligned size is 256B, for 2D/3D resource
+*   ADDR_SW_4KB_*  addressing block aligned size is 4KB, for 2D/3D resource
+*   ADDR_SW_64KB_* addressing block aligned size is 64KB, for 2D/3D resource
 *
-*   ADDR_SW_*_Z    For 2D resouce, represents Z-order swizzle mode for depth/stencil/FMask
-                   For 3D resouce, represents a swizzle mode similar to legacy thick tile mode
-*   ADDR_SW_*_S    represents standard swizzle mode defined by MS
-*   ADDR_SW_*_D    For 2D resouce, represents a swizzle mode for displayable resource
-*                  For 3D resouce, represents a swizzle mode which places each slice in order & pixel
+*   ADDR_SW_*_Z    For GFX9:
+                   - for 2D resource, represents Z-order swizzle mode for depth/stencil/FMask
+                   - for 3D resource, represents a swizzle mode similar to legacy thick tile mode
+                   For GFX10:
+                   - represents Z-order swizzle mode for depth/stencil/FMask
+*   ADDR_SW_*_S    For GFX9+:
+                   - represents standard swizzle mode defined by MS
+*   ADDR_SW_*_D    For GFX9:
+                   - for 2D resource, represents a swizzle mode for displayable resource
+*                  - for 3D resource, represents a swizzle mode which places each slice in order & pixel
+                   For GFX10:
+                   - for 2D resource, represents a swizzle mode for displayable resource
+                   - for 3D resource, represents a swizzle mode similar to legacy thick tile mode
                    within slice is placed as 2D ADDR_SW_*_S. Don't use this combination if possible!
-*   ADDR_SW_*_R    For 2D resouce only, represents a swizzle mode for rotated displayable resource
+*   ADDR_SW_*_R    For GFX9:
+                   - 2D resource only, represents a swizzle mode for rotated displayable resource
+                   For GFX10:
+                   - represents a swizzle mode for render target resource
 *
 ****************************************************************************************************
 */
@@ -236,10 +242,10 @@ typedef enum _AddrSwizzleMode
     ADDR_SW_64KB_S          = 9,
     ADDR_SW_64KB_D          = 10,
     ADDR_SW_64KB_R          = 11,
-    ADDR_SW_VAR_Z           = 12,
-    ADDR_SW_VAR_S           = 13,
-    ADDR_SW_VAR_D           = 14,
-    ADDR_SW_VAR_R           = 15,
+    ADDR_SW_RESERVED0       = 12,
+    ADDR_SW_RESERVED1       = 13,
+    ADDR_SW_RESERVED2       = 14,
+    ADDR_SW_RESERVED3       = 15,
     ADDR_SW_64KB_Z_T        = 16,
     ADDR_SW_64KB_S_T        = 17,
     ADDR_SW_64KB_D_T        = 18,
@@ -253,17 +259,11 @@ typedef enum _AddrSwizzleMode
     ADDR_SW_64KB_D_X        = 26,
     ADDR_SW_64KB_R_X        = 27,
     ADDR_SW_VAR_Z_X         = 28,
-    ADDR_SW_VAR_S_X         = 29,
-    ADDR_SW_VAR_D_X         = 30,
+    ADDR_SW_RESERVED4       = 29,
+    ADDR_SW_RESERVED5       = 30,
     ADDR_SW_VAR_R_X         = 31,
     ADDR_SW_LINEAR_GENERAL  = 32,
     ADDR_SW_MAX_TYPE        = 33,
-
-    // Used for represent block with identical size
-    ADDR_SW_256B            = ADDR_SW_256B_S,
-    ADDR_SW_4KB             = ADDR_SW_4KB_S_X,
-    ADDR_SW_64KB            = ADDR_SW_64KB_S_X,
-    ADDR_SW_VAR             = ADDR_SW_VAR_S_X,
 } AddrSwizzleMode;
 
 /**
@@ -316,7 +316,9 @@ typedef enum _AddrSwType
     ADDR_SW_Z  = 0,   // Resource basic swizzle mode is ZOrder
     ADDR_SW_S  = 1,   // Resource basic swizzle mode is Standard
     ADDR_SW_D  = 2,   // Resource basic swizzle mode is Display
-    ADDR_SW_R  = 3,   // Resource basic swizzle mode is Rotated
+    ADDR_SW_R  = 3,   // Resource basic swizzle mode is Rotated/Render optimized
+    ADDR_SW_L  = 4,   // Resource basic swizzle mode is Linear
+    ADDR_SW_MAX_SWTYPE
 } AddrSwType;
 
 /**
index 09010879903c78e8ec656423d66ce3289b863ca7..5256499b3b3b417540859b14d96bc5cbc275e482 100644 (file)
@@ -60,7 +60,6 @@ ADDR_E_RETURNCODE ADDR_API AddrCreate(
     ADDR_CREATE_OUTPUT*         pAddrCreateOut) ///< [out] address lib handle
 {
     ADDR_E_RETURNCODE returnCode = ADDR_OK;
-
     {
         returnCode = Lib::Create(pAddrCreateIn, pAddrCreateOut);
     }
index 61eb90831464c79075c106dc3b748252bfde52a9..4c919678804ec2aaa9d55e67405db1e20b4595b9 100644 (file)
 
 // ADDR_LNX_KERNEL_BUILD is for internal build
 // Moved from addrinterface.h so __KERNEL__ is not needed any more
-#if   !defined(__APPLE__) || defined(HAVE_TSERVER)
+#if ADDR_LNX_KERNEL_BUILD // || (defined(__GNUC__) && defined(__KERNEL__))
+    #include <string.h>
+#elif !defined(__APPLE__) || defined(HAVE_TSERVER)
     #include <stdlib.h>
     #include <string.h>
-    #include <assert.h>
 #endif
 
+#include <assert.h>
+#include "util/macros.h"
+
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // Platform specific debug break defines
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 #endif // DEBUG
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
-#if defined(static_assert)
-#define ADDR_C_ASSERT(__e) static_assert(__e, "")
-#else
-#define ADDR_C_ASSERT(__e) typedef char __ADDR_C_ASSERT__[(__e) ? 1 : -1]
-#endif
+#define ADDR_C_ASSERT(__e) STATIC_ASSERT(__e)
 
 namespace Addr
 {
@@ -270,7 +270,8 @@ union ConfigFlags
         UINT_32 disableLinearOpt       : 1;    ///< Disallow tile modes to be optimized to linear
         UINT_32 use32bppFor422Fmt      : 1;    ///< View 422 formats as 32 bits per pixel element
         UINT_32 forceDccAndTcCompat    : 1;    ///< Force enable DCC and TC compatibility
-        UINT_32 reserved               : 20;   ///< Reserved bits for future use
+        UINT_32 nonPower2MemConfig     : 1;    ///< Physical video memory size is not power of 2
+        UINT_32 reserved               : 19;   ///< Reserved bits for future use
     };
 
     UINT_32 value;
@@ -926,6 +927,21 @@ static inline UINT_32 GetCoordActiveMask(
     return mask;
 }
 
+/**
+****************************************************************************************************
+*   ShiftCeil
+*
+*   @brief
+*       Apply righ-shift with ceiling
+****************************************************************************************************
+*/
+static inline UINT_32 ShiftCeil(
+    UINT_32 a,  ///< [in] value to be right-shifted
+    UINT_32 b)  ///< [in] number of bits to shift
+{
+    return (a >> b) + (((a & ((1 << b) - 1)) != 0) ? 1 : 0);
+}
+
 } // Addr
 
 #endif // __ADDR_COMMON_H__
index 6fdce2f2dd7c3dbb36810296a271a2c98c579c94..5d99d4db0d13cf214f612fab237d0383cc662331 100644 (file)
@@ -250,6 +250,7 @@ ADDR_E_RETURNCODE Lib::Create(
         pLib->m_configFlags.useHtileSliceAlign  = pCreateIn->createFlags.useHtileSliceAlign;
         pLib->m_configFlags.allowLargeThickTile = pCreateIn->createFlags.allowLargeThickTile;
         pLib->m_configFlags.forceDccAndTcCompat = pCreateIn->createFlags.forceDccAndTcCompat;
+        pLib->m_configFlags.nonPower2MemConfig  = pCreateIn->createFlags.nonPower2MemConfig;
         pLib->m_configFlags.disableLinearOpt    = FALSE;
 
         pLib->SetChipFamily(pCreateIn->chipFamily, pCreateIn->chipRevision);
index e6440d6ca5cc1d049efcae5350ef3ed7badc206c..0007e2b9fb4c5095f4c2ad2cf7c9865697a945df 100644 (file)
@@ -73,7 +73,8 @@ Lib::Lib()
     m_rbPerSeLog2(0),
     m_maxCompFragLog2(0),
     m_pipeInterleaveLog2(0),
-    m_blockVarSizeLog2(0)
+    m_blockVarSizeLog2(0),
+    m_numEquations(0)
 {
 }
 
@@ -98,7 +99,8 @@ Lib::Lib(const Client* pClient)
     m_rbPerSeLog2(0),
     m_maxCompFragLog2(0),
     m_pipeInterleaveLog2(0),
-    m_blockVarSizeLog2(0)
+    m_blockVarSizeLog2(0),
+    m_numEquations(0)
 {
 }
 
@@ -1363,35 +1365,65 @@ ADDR_E_RETURNCODE Lib::ComputeBlockDimensionForSurf(
     AddrResourceType resourceType,
     AddrSwizzleMode  swizzleMode) const
 {
-    ADDR_E_RETURNCODE returnCode = ComputeBlockDimension(pWidth,
-                                                         pHeight,
-                                                         pDepth,
-                                                         bpp,
-                                                         resourceType,
-                                                         swizzleMode);
+    ADDR_E_RETURNCODE returnCode = ADDR_OK;
 
-    if ((returnCode == ADDR_OK) && (numSamples > 1) && IsThin(resourceType, swizzleMode))
+    if (IsThick(resourceType, swizzleMode))
     {
-        const UINT_32 log2blkSize = GetBlockSizeLog2(swizzleMode);
-        const UINT_32 log2sample  = Log2(numSamples);
-        const UINT_32 q           = log2sample >> 1;
-        const UINT_32 r           = log2sample & 1;
-
-        if (log2blkSize & 1)
-        {
-            *pWidth  >>= q;
-            *pHeight >>= (q + r);
-        }
-        else
-        {
-            *pWidth  >>= (q + r);
-            *pHeight >>= q;
-        }
+        ComputeThickBlockDimension(pWidth, pHeight, pDepth, bpp, resourceType, swizzleMode);
+    }
+    else if (IsThin(resourceType, swizzleMode))
+    {
+        ComputeThinBlockDimension(pWidth, pHeight, pDepth, bpp, numSamples, resourceType, swizzleMode);
+    }
+    else
+    {
+        ADDR_ASSERT_ALWAYS();
+        returnCode = ADDR_INVALIDPARAMS;
     }
 
     return returnCode;
 }
 
+/**
+************************************************************************************************************************
+*   Lib::ComputeThinBlockDimension
+*
+*   @brief
+*       Internal function to get thin block width/height/depth in element from surface input params.
+*
+*   @return
+*       N/A
+************************************************************************************************************************
+*/
+VOID Lib::ComputeThinBlockDimension(
+    UINT_32*         pWidth,
+    UINT_32*         pHeight,
+    UINT_32*         pDepth,
+    UINT_32          bpp,
+    UINT_32          numSamples,
+    AddrResourceType resourceType,
+    AddrSwizzleMode  swizzleMode) const
+{
+    ADDR_ASSERT(IsThin(resourceType, swizzleMode));
+
+    // GFX9/GFX10 use different dimension amplifying logic: say for 128KB block + 1xAA + 1BPE, the dimension of thin
+    // swizzle mode will be [256W * 512H] on GFX9 ASICs and [512W * 256H] on GFX10 ASICs. Since GFX10 is newer HWL so we
+    // make its implementation into base class (in order to save future change on new HWLs)
+    const UINT_32 log2BlkSize  = GetBlockSizeLog2(swizzleMode);
+    const UINT_32 log2EleBytes = Log2(bpp >> 3);
+    const UINT_32 log2Samples  = Log2(Max(numSamples, 1u));
+    const UINT_32 log2NumEle   = log2BlkSize - log2EleBytes - log2Samples;
+
+    // For "1xAA/4xAA cases" or "2xAA/8xAA + odd log2BlkSize cases", width == height or width == 2 * height;
+    // For other cases, height == width or height == 2 * width
+    const BOOL_32 widthPrecedent = ((log2Samples & 1) == 0) || ((log2BlkSize & 1) != 0);
+    const UINT_32 log2Width      = (log2NumEle + (widthPrecedent ? 1 : 0)) / 2;
+
+    *pWidth  = 1u << log2Width;
+    *pHeight = 1u << (log2NumEle - log2Width);
+    *pDepth  = 1;
+}
+
 /**
 ************************************************************************************************************************
 *   Lib::ComputeBlockDimension
@@ -1404,42 +1436,22 @@ ADDR_E_RETURNCODE Lib::ComputeBlockDimensionForSurf(
 ************************************************************************************************************************
 */
 ADDR_E_RETURNCODE Lib::ComputeBlockDimension(
-    UINT_32*          pWidth,
-    UINT_32*          pHeight,
-    UINT_32*          pDepth,
-    UINT_32           bpp,
-    AddrResourceType  resourceType,
-    AddrSwizzleMode   swizzleMode) const
+    UINT_32*         pWidth,
+    UINT_32*         pHeight,
+    UINT_32*         pDepth,
+    UINT_32          bpp,
+    AddrResourceType resourceType,
+    AddrSwizzleMode  swizzleMode) const
 {
     ADDR_E_RETURNCODE returnCode = ADDR_OK;
 
-    UINT_32 eleBytes                 = bpp >> 3;
-    UINT_32 microBlockSizeTableIndex = Log2(eleBytes);
-    UINT_32 log2blkSize              = GetBlockSizeLog2(swizzleMode);
-
-    if (IsThin(resourceType, swizzleMode))
+    if (IsThick(resourceType, swizzleMode))
     {
-        UINT_32 log2blkSizeIn256B = log2blkSize - 8;
-        UINT_32 widthAmp          = log2blkSizeIn256B / 2;
-        UINT_32 heightAmp         = log2blkSizeIn256B - widthAmp;
-
-        ADDR_ASSERT(microBlockSizeTableIndex < sizeof(Block256_2d) / sizeof(Block256_2d[0]));
-
-        *pWidth  = (Block256_2d[microBlockSizeTableIndex].w << widthAmp);
-        *pHeight = (Block256_2d[microBlockSizeTableIndex].h << heightAmp);
-        *pDepth  = 1;
+        ComputeThickBlockDimension(pWidth, pHeight, pDepth, bpp, resourceType, swizzleMode);
     }
-    else if (IsThick(resourceType, swizzleMode))
+    else if (IsThin(resourceType, swizzleMode))
     {
-        UINT_32 log2blkSizeIn1KB = log2blkSize - 10;
-        UINT_32 averageAmp       = log2blkSizeIn1KB / 3;
-        UINT_32 restAmp          = log2blkSizeIn1KB % 3;
-
-        ADDR_ASSERT(microBlockSizeTableIndex < sizeof(Block1K_3d) / sizeof(Block1K_3d[0]));
-
-        *pWidth  = Block1K_3d[microBlockSizeTableIndex].w << averageAmp;
-        *pHeight = Block1K_3d[microBlockSizeTableIndex].h << (averageAmp + (restAmp / 2));
-        *pDepth  = Block1K_3d[microBlockSizeTableIndex].d << (averageAmp + ((restAmp != 0) ? 1 : 0));
+        ComputeThinBlockDimension(pWidth, pHeight, pDepth, bpp, 0, resourceType, swizzleMode);
     }
     else
     {
@@ -1450,6 +1462,42 @@ ADDR_E_RETURNCODE Lib::ComputeBlockDimension(
     return returnCode;
 }
 
+/**
+************************************************************************************************************************
+*   Lib::ComputeThickBlockDimension
+*
+*   @brief
+*       Internal function to get block width/height/depth in element for thick swizzle mode
+*
+*   @return
+*       N/A
+************************************************************************************************************************
+*/
+VOID Lib::ComputeThickBlockDimension(
+    UINT_32*         pWidth,
+    UINT_32*         pHeight,
+    UINT_32*         pDepth,
+    UINT_32          bpp,
+    AddrResourceType resourceType,
+    AddrSwizzleMode  swizzleMode) const
+{
+    ADDR_ASSERT(IsThick(resourceType, swizzleMode));
+
+    const UINT_32 log2BlkSize              = GetBlockSizeLog2(swizzleMode);
+    const UINT_32 eleBytes                 = bpp >> 3;
+    const UINT_32 microBlockSizeTableIndex = Log2(eleBytes);
+
+    ADDR_ASSERT(microBlockSizeTableIndex < sizeof(Block1K_3d) / sizeof(Block1K_3d[0]));
+
+    const UINT_32 log2blkSizeIn1KB = log2BlkSize - 10;
+    const UINT_32 averageAmp       = log2blkSizeIn1KB / 3;
+    const UINT_32 restAmp          = log2blkSizeIn1KB % 3;
+
+    *pWidth  = Block1K_3d[microBlockSizeTableIndex].w << averageAmp;
+    *pHeight = Block1K_3d[microBlockSizeTableIndex].h << (averageAmp + (restAmp / 2));
+    *pDepth  = Block1K_3d[microBlockSizeTableIndex].d << (averageAmp + ((restAmp != 0) ? 1 : 0));
+}
+
 /**
 ************************************************************************************************************************
 *   Lib::GetMipTailDim
@@ -1469,11 +1517,11 @@ Dim3d Lib::GetMipTailDim(
     UINT_32           blockDepth) const
 {
     Dim3d   out         = {blockWidth, blockHeight, blockDepth};
-    UINT_32 log2blkSize = GetBlockSizeLog2(swizzleMode);
+    UINT_32 log2BlkSize = GetBlockSizeLog2(swizzleMode);
 
     if (IsThick(resourceType, swizzleMode))
     {
-        UINT_32 dim = log2blkSize % 3;
+        UINT_32 dim = log2BlkSize % 3;
 
         if (dim == 0)
         {
@@ -1490,11 +1538,22 @@ Dim3d Lib::GetMipTailDim(
     }
     else
     {
-        if (log2blkSize & 1)
+        ADDR_ASSERT(IsThin(resourceType, swizzleMode));
+
+        // GFX9/GFX10 use different dimension shrinking logic for mipmap tail: say for 128KB block + 2BPE, the maximum
+        // dimension of mipmap tail level will be [256W * 128H] on GFX9 ASICs and [128W * 256H] on GFX10 ASICs. Since
+        // GFX10 is newer HWL so we make its implementation into base class, in order to save future change on new HWLs.
+        // And assert log2BlkSize will always be an even value on GFX9, so we never need the logic wrapped by DEBUG...
+#if DEBUG
+        if ((log2BlkSize & 1) && (m_chipFamily == ADDR_CHIP_FAMILY_AI))
         {
+            // Should never go here...
+            ADDR_ASSERT_ALWAYS();
+
             out.h >>= 1;
         }
         else
+#endif
         {
             out.w >>= 1;
         }
@@ -1873,7 +1932,52 @@ VOID Lib::ComputeQbStereoInfo(
     pOut->pixelHeight <<= 1;
 
     // Double size
-    pOut->surfSize <<= 1;
+    pOut->surfSize  <<= 1;
+    pOut->sliceSize <<= 1;
+}
+
+/**
+************************************************************************************************************************
+*   Lib::FilterInvalidEqSwizzleMode
+*
+*   @brief
+*       Filter out swizzle mode(s) if it doesn't have valid equation index
+*
+*   @return
+*       N/A
+************************************************************************************************************************
+*/
+VOID Lib::FilterInvalidEqSwizzleMode(
+    ADDR2_SWMODE_SET& allowedSwModeSet,
+    AddrResourceType  resourceType,
+    UINT_32           elemLog2
+    ) const
+{
+    if (resourceType != ADDR_RSRC_TEX_1D)
+    {
+        UINT_32       allowedSwModeSetVal = allowedSwModeSet.value;
+        const UINT_32 rsrcTypeIdx         = static_cast<UINT_32>(resourceType) - 1;
+        UINT_32       validSwModeSet      = allowedSwModeSetVal;
+
+        for (UINT_32 swModeIdx = 0; validSwModeSet != 0; swModeIdx++)
+        {
+            if (validSwModeSet & 1)
+            {
+                if (m_equationLookupTable[rsrcTypeIdx][swModeIdx][elemLog2] == ADDR_INVALID_EQUATION_INDEX)
+                {
+                    allowedSwModeSetVal &= ~(1u << swModeIdx);
+                }
+            }
+
+            validSwModeSet >>= 1;
+        }
+
+        // Only apply the filtering if at least one valid swizzle mode remains
+        if (allowedSwModeSetVal != 0)
+        {
+            allowedSwModeSet.value = allowedSwModeSetVal;
+        }
+    }
 }
 
 } // V2
index fd433403d8260bb5b09542bb243061e87ef48fe8..75fe6442db8486857895333f22d68ffa8a466085 100644 (file)
@@ -68,6 +68,8 @@ struct SwizzleModeFlags
     UINT_32 isT             : 1;    // T mode
 
     UINT_32 isRtOpt         : 1;    // mode opt for render target
+
+    UINT_32 reserved        : 20;   // Reserved bits
 };
 
 struct Dim2d
@@ -87,25 +89,14 @@ struct Dim3d
 enum AddrBlockType
 {
     AddrBlockMicro     = 0, // Resource uses 256B block
-    AddrBlock4KB       = 1, // Resource uses 4KB block
-    AddrBlock64KB      = 2, // Resource uses 64KB block
-    AddrBlockVar       = 3, // Resource uses var block, only valid for GFX9
-    AddrBlockLinear    = 4, // Resource uses linear swizzle mode
-
-    AddrBlockMaxTiledType = AddrBlock64KB + 1,
-};
-
-enum AddrBlockSet
-{
-    AddrBlockSetMicro     = 1 << AddrBlockMicro,
-    AddrBlockSetMacro4KB  = 1 << AddrBlock4KB,
-    AddrBlockSetMacro64KB = 1 << AddrBlock64KB,
-    AddrBlockSetVar       = 1 << AddrBlockVar,
-    AddrBlockSetLinear    = 1 << AddrBlockLinear,
-
-    AddrBlockSetMacro   = AddrBlockSetMacro4KB | AddrBlockSetMacro64KB,
-    AddrBlockSet2dGfx10 = AddrBlockSetMicro    | AddrBlockSetMacro,
-    AddrBlockSet3dGfx10 = AddrBlockSetMacro,
+    AddrBlockThin4KB   = 1, // Resource uses thin 4KB block
+    AddrBlockThick4KB  = 2, // Resource uses thick 4KB block
+    AddrBlockThin64KB  = 3, // Resource uses thin 64KB block
+    AddrBlockThick64KB = 4, // Resource uses thick 64KB block
+    AddrBlockVar       = 5, // Resource uses var block, only valid for GFX9
+    AddrBlockLinear    = 6, // Resource uses linear swizzle mode
+
+    AddrBlockMaxTiledType = AddrBlockVar + 1,
 };
 
 enum AddrSwSet
@@ -115,11 +106,17 @@ enum AddrSwSet
     AddrSwSetD = 1 << ADDR_SW_D,
     AddrSwSetR = 1 << ADDR_SW_R,
 
-    AddrSwSetAll         = AddrSwSetZ | AddrSwSetS | AddrSwSetD | AddrSwSetR,
-    AddrSwSet3dThinGfx10 = AddrSwSetZ | AddrSwSetR,
-    AddrSwSetColorGfx10  = AddrSwSetS | AddrSwSetD | AddrSwSetR,
+    AddrSwSetAll = AddrSwSetZ | AddrSwSetS | AddrSwSetD | AddrSwSetR,
 };
 
+const UINT_32 Size256 = 256u;
+const UINT_32 Size4K  = 4096u;
+const UINT_32 Size64K = 65536u;
+
+const UINT_32 Log2Size256 = 8u;
+const UINT_32 Log2Size4K  = 12u;
+const UINT_32 Log2Size64K = 16u;
+
 /**
 ************************************************************************************************************************
 * @brief This class contains asic independent address lib functionalities
@@ -237,6 +234,15 @@ protected:
 
     static const UINT_32 MaxMipLevels = 16;
 
+    BOOL_32 IsValidSwMode(AddrSwizzleMode swizzleMode) const
+    {
+        // Don't dereference a reinterpret_cast pointer so as not to break
+        // strict-aliasing rules.
+        UINT_32 mode;
+        memcpy(&mode, &m_swizzleModeTable[swizzleMode], sizeof(UINT_32));
+        return mode != 0;
+    }
+
     // Checking block size
     BOOL_32 IsBlock256b(AddrSwizzleMode swizzleMode) const
     {
@@ -356,7 +362,7 @@ protected:
         {
             blockSizeLog2 = 16;
         }
-        else if (IsBlockVariable(swizzleMode))
+        else if (IsBlockVariable(swizzleMode) && (m_blockVarSizeLog2 != 0))
         {
             blockSizeLog2 = m_blockVarSizeLog2;
         }
@@ -653,12 +659,29 @@ protected:
         AddrSwizzleMode  swizzleMode) const;
 
     ADDR_E_RETURNCODE ComputeBlockDimension(
-        UINT_32*          pWidth,
-        UINT_32*          pHeight,
-        UINT_32*          pDepth,
-        UINT_32           bpp,
-        AddrResourceType  resourceType,
-        AddrSwizzleMode   swizzleMode) const;
+        UINT_32*         pWidth,
+        UINT_32*         pHeight,
+        UINT_32*         pDepth,
+        UINT_32          bpp,
+        AddrResourceType resourceType,
+        AddrSwizzleMode  swizzleMode) const;
+
+    virtual VOID ComputeThinBlockDimension(
+        UINT_32*         pWidth,
+        UINT_32*         pHeight,
+        UINT_32*         pDepth,
+        UINT_32          bpp,
+        UINT_32          numSamples,
+        AddrResourceType resourceType,
+        AddrSwizzleMode  swizzleMode) const;
+
+    VOID ComputeThickBlockDimension(
+        UINT_32*         pWidth,
+        UINT_32*         pHeight,
+        UINT_32*         pDepth,
+        UINT_32          bpp,
+        AddrResourceType resourceType,
+        AddrSwizzleMode  swizzleMode) const;
 
     static UINT_64 ComputePadSize(
         const Dim3d*      pBlkDim,
@@ -793,6 +816,11 @@ protected:
 
     VOID ComputeQbStereoInfo(ADDR2_COMPUTE_SURFACE_INFO_OUTPUT* pOut) const;
 
+    VOID FilterInvalidEqSwizzleMode(
+        ADDR2_SWMODE_SET& allowedSwModeSet,
+        AddrResourceType  resourceType,
+        UINT_32           elemLog2) const;
+
     UINT_32 m_se;                       ///< Number of shader engine
     UINT_32 m_rbPerSe;                  ///< Number of render backend per shader engine
     UINT_32 m_maxCompFrag;              ///< Number of max compressed fragment
@@ -809,6 +837,22 @@ protected:
 
     SwizzleModeFlags m_swizzleModeTable[ADDR_SW_MAX_TYPE];  ///< Swizzle mode table
 
+    // Max number of swizzle mode supported for equation
+    static const UINT_32    MaxSwModeType = 32;
+    // Max number of resource type (2D/3D) supported for equation
+    static const UINT_32    MaxRsrcType = 2;
+    // Max number of bpp (8bpp/16bpp/32bpp/64bpp/128bpp)
+    static const UINT_32    MaxElementBytesLog2  = 5;
+    // Almost all swizzle mode + resource type support equation
+    static const UINT_32    EquationTableSize = MaxElementBytesLog2 * MaxSwModeType * MaxRsrcType;
+    // Equation table
+    ADDR_EQUATION           m_equationTable[EquationTableSize];
+
+    // Number of equation entries in the table
+    UINT_32                 m_numEquations;
+    // Equation lookup table according to bpp and tile index
+    UINT_32                 m_equationLookupTable[MaxRsrcType][MaxSwModeType][MaxElementBytesLog2];
+
 private:
     // Disallow the copy constructor
     Lib(const Lib& a);
index 79ef3d8dc90fd0bb6bf4ea2fd1ee2413efd327f1..d148d2f56464bef5051bd3d3454171d83256ed5c 100644 (file)
@@ -119,7 +119,7 @@ VOID* Object::Alloc(
     size_t objSize      ///< [in] Size to allocate
     ) const
 {
-    return ClientAlloc(objSize, &m_client);
+    return ClientAlloc(objSize, &m_client);;
 }
 
 /**
@@ -216,16 +216,20 @@ VOID Object::DebugPrint(
 #if DEBUG
     if (m_client.callbacks.debugPrint != NULL)
     {
+        va_list ap;
+
+        va_start(ap, pDebugString);
+
         ADDR_DEBUGPRINT_INPUT debugPrintInput = {0};
 
         debugPrintInput.size         = sizeof(ADDR_DEBUGPRINT_INPUT);
         debugPrintInput.pDebugString = const_cast<CHAR*>(pDebugString);
         debugPrintInput.hClient      = m_client.handle;
-        va_start(debugPrintInput.ap, pDebugString);
+        va_copy(debugPrintInput.ap, ap);
 
         m_client.callbacks.debugPrint(&debugPrintInput);
 
-        va_end(debugPrintInput.ap);
+        va_end(ap);
     }
 #endif
 }
index 334b685c3b9b691da160253040a934a766a0b1cd..45d3809d9ff30ca55872c029aaebe32ff2488aa7 100644 (file)
@@ -55,6 +55,20 @@ union ADDR_BIT_SETTING
     UINT_64 value;
 };
 
+/**
+************************************************************************************************************************
+* @brief Swizzle pattern information
+************************************************************************************************************************
+*/
+struct ADDR_SW_PATINFO
+{
+    UINT_8  maxItemCount;
+    UINT_8  nibble01Idx;
+    UINT_16 nibble2Idx;
+    UINT_16 nibble3Idx;
+    UINT_8  nibble4Idx;
+};
+
 /**
 ************************************************************************************************************************
 *   InitBit
@@ -105,7322 +119,5998 @@ const UINT_64 S0  = InitBit(3,  0);
 const UINT_64 S1  = InitBit(3,  1);
 const UINT_64 S2  = InitBit(3,  2);
 
-// Color data swizzle pattern
-const UINT_64 SW_256_S[][8]=
+const ADDR_SW_PATINFO SW_256_S_PATINFO[] =
+{
+    {   1,    0,    0,    0,    0, } , // 1 pipes 1 bpe @ SW_256_S @ Navi1x
+    {   1,    1,    0,    0,    0, } , // 1 pipes 2 bpe @ SW_256_S @ Navi1x
+    {   1,    2,    0,    0,    0, } , // 1 pipes 4 bpe @ SW_256_S @ Navi1x
+    {   1,    3,    0,    0,    0, } , // 1 pipes 8 bpe @ SW_256_S @ Navi1x
+    {   1,    4,    0,    0,    0, } , // 1 pipes 16 bpe @ SW_256_S @ Navi1x
+    {   1,    0,    0,    0,    0, } , // 2 pipes 1 bpe @ SW_256_S @ Navi1x
+    {   1,    1,    0,    0,    0, } , // 2 pipes 2 bpe @ SW_256_S @ Navi1x
+    {   1,    2,    0,    0,    0, } , // 2 pipes 4 bpe @ SW_256_S @ Navi1x
+    {   1,    3,    0,    0,    0, } , // 2 pipes 8 bpe @ SW_256_S @ Navi1x
+    {   1,    4,    0,    0,    0, } , // 2 pipes 16 bpe @ SW_256_S @ Navi1x
+    {   1,    0,    0,    0,    0, } , // 4 pipes 1 bpe @ SW_256_S @ Navi1x
+    {   1,    1,    0,    0,    0, } , // 4 pipes 2 bpe @ SW_256_S @ Navi1x
+    {   1,    2,    0,    0,    0, } , // 4 pipes 4 bpe @ SW_256_S @ Navi1x
+    {   1,    3,    0,    0,    0, } , // 4 pipes 8 bpe @ SW_256_S @ Navi1x
+    {   1,    4,    0,    0,    0, } , // 4 pipes 16 bpe @ SW_256_S @ Navi1x
+    {   1,    0,    0,    0,    0, } , // 8 pipes 1 bpe @ SW_256_S @ Navi1x
+    {   1,    1,    0,    0,    0, } , // 8 pipes 2 bpe @ SW_256_S @ Navi1x
+    {   1,    2,    0,    0,    0, } , // 8 pipes 4 bpe @ SW_256_S @ Navi1x
+    {   1,    3,    0,    0,    0, } , // 8 pipes 8 bpe @ SW_256_S @ Navi1x
+    {   1,    4,    0,    0,    0, } , // 8 pipes 16 bpe @ SW_256_S @ Navi1x
+    {   1,    0,    0,    0,    0, } , // 16 pipes 1 bpe @ SW_256_S @ Navi1x
+    {   1,    1,    0,    0,    0, } , // 16 pipes 2 bpe @ SW_256_S @ Navi1x
+    {   1,    2,    0,    0,    0, } , // 16 pipes 4 bpe @ SW_256_S @ Navi1x
+    {   1,    3,    0,    0,    0, } , // 16 pipes 8 bpe @ SW_256_S @ Navi1x
+    {   1,    4,    0,    0,    0, } , // 16 pipes 16 bpe @ SW_256_S @ Navi1x
+    {   1,    0,    0,    0,    0, } , // 32 pipes 1 bpe @ SW_256_S @ Navi1x
+    {   1,    1,    0,    0,    0, } , // 32 pipes 2 bpe @ SW_256_S @ Navi1x
+    {   1,    2,    0,    0,    0, } , // 32 pipes 4 bpe @ SW_256_S @ Navi1x
+    {   1,    3,    0,    0,    0, } , // 32 pipes 8 bpe @ SW_256_S @ Navi1x
+    {   1,    4,    0,    0,    0, } , // 32 pipes 16 bpe @ SW_256_S @ Navi1x
+    {   1,    0,    0,    0,    0, } , // 64 pipes 1 bpe @ SW_256_S @ Navi1x
+    {   1,    1,    0,    0,    0, } , // 64 pipes 2 bpe @ SW_256_S @ Navi1x
+    {   1,    2,    0,    0,    0, } , // 64 pipes 4 bpe @ SW_256_S @ Navi1x
+    {   1,    3,    0,    0,    0, } , // 64 pipes 8 bpe @ SW_256_S @ Navi1x
+    {   1,    4,    0,    0,    0, } , // 64 pipes 16 bpe @ SW_256_S @ Navi1x
+};
+
+const ADDR_SW_PATINFO SW_256_D_PATINFO[] =
+{
+    {   1,    5,    0,    0,    0, } , // 1 pipes 1 bpe @ SW_256_D @ Navi1x
+    {   1,    1,    0,    0,    0, } , // 1 pipes 2 bpe @ SW_256_D @ Navi1x
+    {   1,    2,    0,    0,    0, } , // 1 pipes 4 bpe @ SW_256_D @ Navi1x
+    {   1,    6,    0,    0,    0, } , // 1 pipes 8 bpe @ SW_256_D @ Navi1x
+    {   1,    7,    0,    0,    0, } , // 1 pipes 16 bpe @ SW_256_D @ Navi1x
+    {   1,    5,    0,    0,    0, } , // 2 pipes 1 bpe @ SW_256_D @ Navi1x
+    {   1,    1,    0,    0,    0, } , // 2 pipes 2 bpe @ SW_256_D @ Navi1x
+    {   1,    2,    0,    0,    0, } , // 2 pipes 4 bpe @ SW_256_D @ Navi1x
+    {   1,    6,    0,    0,    0, } , // 2 pipes 8 bpe @ SW_256_D @ Navi1x
+    {   1,    7,    0,    0,    0, } , // 2 pipes 16 bpe @ SW_256_D @ Navi1x
+    {   1,    5,    0,    0,    0, } , // 4 pipes 1 bpe @ SW_256_D @ Navi1x
+    {   1,    1,    0,    0,    0, } , // 4 pipes 2 bpe @ SW_256_D @ Navi1x
+    {   1,    2,    0,    0,    0, } , // 4 pipes 4 bpe @ SW_256_D @ Navi1x
+    {   1,    6,    0,    0,    0, } , // 4 pipes 8 bpe @ SW_256_D @ Navi1x
+    {   1,    7,    0,    0,    0, } , // 4 pipes 16 bpe @ SW_256_D @ Navi1x
+    {   1,    5,    0,    0,    0, } , // 8 pipes 1 bpe @ SW_256_D @ Navi1x
+    {   1,    1,    0,    0,    0, } , // 8 pipes 2 bpe @ SW_256_D @ Navi1x
+    {   1,    2,    0,    0,    0, } , // 8 pipes 4 bpe @ SW_256_D @ Navi1x
+    {   1,    6,    0,    0,    0, } , // 8 pipes 8 bpe @ SW_256_D @ Navi1x
+    {   1,    7,    0,    0,    0, } , // 8 pipes 16 bpe @ SW_256_D @ Navi1x
+    {   1,    5,    0,    0,    0, } , // 16 pipes 1 bpe @ SW_256_D @ Navi1x
+    {   1,    1,    0,    0,    0, } , // 16 pipes 2 bpe @ SW_256_D @ Navi1x
+    {   1,    2,    0,    0,    0, } , // 16 pipes 4 bpe @ SW_256_D @ Navi1x
+    {   1,    6,    0,    0,    0, } , // 16 pipes 8 bpe @ SW_256_D @ Navi1x
+    {   1,    7,    0,    0,    0, } , // 16 pipes 16 bpe @ SW_256_D @ Navi1x
+    {   1,    5,    0,    0,    0, } , // 32 pipes 1 bpe @ SW_256_D @ Navi1x
+    {   1,    1,    0,    0,    0, } , // 32 pipes 2 bpe @ SW_256_D @ Navi1x
+    {   1,    2,    0,    0,    0, } , // 32 pipes 4 bpe @ SW_256_D @ Navi1x
+    {   1,    6,    0,    0,    0, } , // 32 pipes 8 bpe @ SW_256_D @ Navi1x
+    {   1,    7,    0,    0,    0, } , // 32 pipes 16 bpe @ SW_256_D @ Navi1x
+    {   1,    5,    0,    0,    0, } , // 64 pipes 1 bpe @ SW_256_D @ Navi1x
+    {   1,    1,    0,    0,    0, } , // 64 pipes 2 bpe @ SW_256_D @ Navi1x
+    {   1,    2,    0,    0,    0, } , // 64 pipes 4 bpe @ SW_256_D @ Navi1x
+    {   1,    6,    0,    0,    0, } , // 64 pipes 8 bpe @ SW_256_D @ Navi1x
+    {   1,    7,    0,    0,    0, } , // 64 pipes 16 bpe @ SW_256_D @ Navi1x
+};
+
+const ADDR_SW_PATINFO SW_4K_S_PATINFO[] =
+{
+    {   1,    0,    1,    0,    0, } , // 1 pipes 1 bpe @ SW_4K_S @ Navi1x
+    {   1,    1,    2,    0,    0, } , // 1 pipes 2 bpe @ SW_4K_S @ Navi1x
+    {   1,    2,    3,    0,    0, } , // 1 pipes 4 bpe @ SW_4K_S @ Navi1x
+    {   1,    3,    4,    0,    0, } , // 1 pipes 8 bpe @ SW_4K_S @ Navi1x
+    {   1,    4,    5,    0,    0, } , // 1 pipes 16 bpe @ SW_4K_S @ Navi1x
+    {   1,    0,    1,    0,    0, } , // 2 pipes 1 bpe @ SW_4K_S @ Navi1x
+    {   1,    1,    2,    0,    0, } , // 2 pipes 2 bpe @ SW_4K_S @ Navi1x
+    {   1,    2,    3,    0,    0, } , // 2 pipes 4 bpe @ SW_4K_S @ Navi1x
+    {   1,    3,    4,    0,    0, } , // 2 pipes 8 bpe @ SW_4K_S @ Navi1x
+    {   1,    4,    5,    0,    0, } , // 2 pipes 16 bpe @ SW_4K_S @ Navi1x
+    {   1,    0,    1,    0,    0, } , // 4 pipes 1 bpe @ SW_4K_S @ Navi1x
+    {   1,    1,    2,    0,    0, } , // 4 pipes 2 bpe @ SW_4K_S @ Navi1x
+    {   1,    2,    3,    0,    0, } , // 4 pipes 4 bpe @ SW_4K_S @ Navi1x
+    {   1,    3,    4,    0,    0, } , // 4 pipes 8 bpe @ SW_4K_S @ Navi1x
+    {   1,    4,    5,    0,    0, } , // 4 pipes 16 bpe @ SW_4K_S @ Navi1x
+    {   1,    0,    1,    0,    0, } , // 8 pipes 1 bpe @ SW_4K_S @ Navi1x
+    {   1,    1,    2,    0,    0, } , // 8 pipes 2 bpe @ SW_4K_S @ Navi1x
+    {   1,    2,    3,    0,    0, } , // 8 pipes 4 bpe @ SW_4K_S @ Navi1x
+    {   1,    3,    4,    0,    0, } , // 8 pipes 8 bpe @ SW_4K_S @ Navi1x
+    {   1,    4,    5,    0,    0, } , // 8 pipes 16 bpe @ SW_4K_S @ Navi1x
+    {   1,    0,    1,    0,    0, } , // 16 pipes 1 bpe @ SW_4K_S @ Navi1x
+    {   1,    1,    2,    0,    0, } , // 16 pipes 2 bpe @ SW_4K_S @ Navi1x
+    {   1,    2,    3,    0,    0, } , // 16 pipes 4 bpe @ SW_4K_S @ Navi1x
+    {   1,    3,    4,    0,    0, } , // 16 pipes 8 bpe @ SW_4K_S @ Navi1x
+    {   1,    4,    5,    0,    0, } , // 16 pipes 16 bpe @ SW_4K_S @ Navi1x
+    {   1,    0,    1,    0,    0, } , // 32 pipes 1 bpe @ SW_4K_S @ Navi1x
+    {   1,    1,    2,    0,    0, } , // 32 pipes 2 bpe @ SW_4K_S @ Navi1x
+    {   1,    2,    3,    0,    0, } , // 32 pipes 4 bpe @ SW_4K_S @ Navi1x
+    {   1,    3,    4,    0,    0, } , // 32 pipes 8 bpe @ SW_4K_S @ Navi1x
+    {   1,    4,    5,    0,    0, } , // 32 pipes 16 bpe @ SW_4K_S @ Navi1x
+    {   1,    0,    1,    0,    0, } , // 64 pipes 1 bpe @ SW_4K_S @ Navi1x
+    {   1,    1,    2,    0,    0, } , // 64 pipes 2 bpe @ SW_4K_S @ Navi1x
+    {   1,    2,    3,    0,    0, } , // 64 pipes 4 bpe @ SW_4K_S @ Navi1x
+    {   1,    3,    4,    0,    0, } , // 64 pipes 8 bpe @ SW_4K_S @ Navi1x
+    {   1,    4,    5,    0,    0, } , // 64 pipes 16 bpe @ SW_4K_S @ Navi1x
+};
+
+const ADDR_SW_PATINFO SW_4K_D_PATINFO[] =
+{
+    {   1,    5,    1,    0,    0, } , // 1 pipes 1 bpe @ SW_4K_D @ Navi1x
+    {   1,    1,    2,    0,    0, } , // 1 pipes 2 bpe @ SW_4K_D @ Navi1x
+    {   1,    2,    3,    0,    0, } , // 1 pipes 4 bpe @ SW_4K_D @ Navi1x
+    {   1,    6,    4,    0,    0, } , // 1 pipes 8 bpe @ SW_4K_D @ Navi1x
+    {   1,    7,    5,    0,    0, } , // 1 pipes 16 bpe @ SW_4K_D @ Navi1x
+    {   1,    5,    1,    0,    0, } , // 2 pipes 1 bpe @ SW_4K_D @ Navi1x
+    {   1,    1,    2,    0,    0, } , // 2 pipes 2 bpe @ SW_4K_D @ Navi1x
+    {   1,    2,    3,    0,    0, } , // 2 pipes 4 bpe @ SW_4K_D @ Navi1x
+    {   1,    6,    4,    0,    0, } , // 2 pipes 8 bpe @ SW_4K_D @ Navi1x
+    {   1,    7,    5,    0,    0, } , // 2 pipes 16 bpe @ SW_4K_D @ Navi1x
+    {   1,    5,    1,    0,    0, } , // 4 pipes 1 bpe @ SW_4K_D @ Navi1x
+    {   1,    1,    2,    0,    0, } , // 4 pipes 2 bpe @ SW_4K_D @ Navi1x
+    {   1,    2,    3,    0,    0, } , // 4 pipes 4 bpe @ SW_4K_D @ Navi1x
+    {   1,    6,    4,    0,    0, } , // 4 pipes 8 bpe @ SW_4K_D @ Navi1x
+    {   1,    7,    5,    0,    0, } , // 4 pipes 16 bpe @ SW_4K_D @ Navi1x
+    {   1,    5,    1,    0,    0, } , // 8 pipes 1 bpe @ SW_4K_D @ Navi1x
+    {   1,    1,    2,    0,    0, } , // 8 pipes 2 bpe @ SW_4K_D @ Navi1x
+    {   1,    2,    3,    0,    0, } , // 8 pipes 4 bpe @ SW_4K_D @ Navi1x
+    {   1,    6,    4,    0,    0, } , // 8 pipes 8 bpe @ SW_4K_D @ Navi1x
+    {   1,    7,    5,    0,    0, } , // 8 pipes 16 bpe @ SW_4K_D @ Navi1x
+    {   1,    5,    1,    0,    0, } , // 16 pipes 1 bpe @ SW_4K_D @ Navi1x
+    {   1,    1,    2,    0,    0, } , // 16 pipes 2 bpe @ SW_4K_D @ Navi1x
+    {   1,    2,    3,    0,    0, } , // 16 pipes 4 bpe @ SW_4K_D @ Navi1x
+    {   1,    6,    4,    0,    0, } , // 16 pipes 8 bpe @ SW_4K_D @ Navi1x
+    {   1,    7,    5,    0,    0, } , // 16 pipes 16 bpe @ SW_4K_D @ Navi1x
+    {   1,    5,    1,    0,    0, } , // 32 pipes 1 bpe @ SW_4K_D @ Navi1x
+    {   1,    1,    2,    0,    0, } , // 32 pipes 2 bpe @ SW_4K_D @ Navi1x
+    {   1,    2,    3,    0,    0, } , // 32 pipes 4 bpe @ SW_4K_D @ Navi1x
+    {   1,    6,    4,    0,    0, } , // 32 pipes 8 bpe @ SW_4K_D @ Navi1x
+    {   1,    7,    5,    0,    0, } , // 32 pipes 16 bpe @ SW_4K_D @ Navi1x
+    {   1,    5,    1,    0,    0, } , // 64 pipes 1 bpe @ SW_4K_D @ Navi1x
+    {   1,    1,    2,    0,    0, } , // 64 pipes 2 bpe @ SW_4K_D @ Navi1x
+    {   1,    2,    3,    0,    0, } , // 64 pipes 4 bpe @ SW_4K_D @ Navi1x
+    {   1,    6,    4,    0,    0, } , // 64 pipes 8 bpe @ SW_4K_D @ Navi1x
+    {   1,    7,    5,    0,    0, } , // 64 pipes 16 bpe @ SW_4K_D @ Navi1x
+};
+
+const ADDR_SW_PATINFO SW_4K_S_X_PATINFO[] =
+{
+    {   1,    0,    1,    0,    0, } , // 1 pipes 1 bpe @ SW_4K_S_X @ Navi1x
+    {   1,    1,    2,    0,    0, } , // 1 pipes 2 bpe @ SW_4K_S_X @ Navi1x
+    {   1,    2,    3,    0,    0, } , // 1 pipes 4 bpe @ SW_4K_S_X @ Navi1x
+    {   1,    3,    4,    0,    0, } , // 1 pipes 8 bpe @ SW_4K_S_X @ Navi1x
+    {   1,    4,    5,    0,    0, } , // 1 pipes 16 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    0,    6,    0,    0, } , // 2 pipes 1 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    1,    7,    0,    0, } , // 2 pipes 2 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    2,    8,    0,    0, } , // 2 pipes 4 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    3,    9,    0,    0, } , // 2 pipes 8 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    4,   10,    0,    0, } , // 2 pipes 16 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    0,   11,    0,    0, } , // 4 pipes 1 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    1,   12,    0,    0, } , // 4 pipes 2 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    2,   13,    0,    0, } , // 4 pipes 4 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    3,   14,    0,    0, } , // 4 pipes 8 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    4,   15,    0,    0, } , // 4 pipes 16 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    0,   16,    0,    0, } , // 8 pipes 1 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    1,   17,    0,    0, } , // 8 pipes 2 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    2,   18,    0,    0, } , // 8 pipes 4 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    3,   19,    0,    0, } , // 8 pipes 8 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    4,   20,    0,    0, } , // 8 pipes 16 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    0,   21,    0,    0, } , // 16 pipes 1 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    1,   22,    0,    0, } , // 16 pipes 2 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    2,   23,    0,    0, } , // 16 pipes 4 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    3,   24,    0,    0, } , // 16 pipes 8 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    4,   25,    0,    0, } , // 16 pipes 16 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    0,   21,    0,    0, } , // 32 pipes 1 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    1,   22,    0,    0, } , // 32 pipes 2 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    2,   23,    0,    0, } , // 32 pipes 4 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    3,   24,    0,    0, } , // 32 pipes 8 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    4,   25,    0,    0, } , // 32 pipes 16 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    0,   21,    0,    0, } , // 64 pipes 1 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    1,   22,    0,    0, } , // 64 pipes 2 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    2,   23,    0,    0, } , // 64 pipes 4 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    3,   24,    0,    0, } , // 64 pipes 8 bpe @ SW_4K_S_X @ Navi1x
+    {   3,    4,   25,    0,    0, } , // 64 pipes 16 bpe @ SW_4K_S_X @ Navi1x
+};
+
+const ADDR_SW_PATINFO SW_4K_D_X_PATINFO[] =
+{
+    {   1,    5,    1,    0,    0, } , // 1 pipes 1 bpe @ SW_4K_D_X @ Navi1x
+    {   1,    1,    2,    0,    0, } , // 1 pipes 2 bpe @ SW_4K_D_X @ Navi1x
+    {   1,    2,    3,    0,    0, } , // 1 pipes 4 bpe @ SW_4K_D_X @ Navi1x
+    {   1,    6,    4,    0,    0, } , // 1 pipes 8 bpe @ SW_4K_D_X @ Navi1x
+    {   1,    7,    5,    0,    0, } , // 1 pipes 16 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    5,    6,    0,    0, } , // 2 pipes 1 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    1,    7,    0,    0, } , // 2 pipes 2 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    2,    8,    0,    0, } , // 2 pipes 4 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    6,    9,    0,    0, } , // 2 pipes 8 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    7,   10,    0,    0, } , // 2 pipes 16 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    5,   11,    0,    0, } , // 4 pipes 1 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    1,   12,    0,    0, } , // 4 pipes 2 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    2,   13,    0,    0, } , // 4 pipes 4 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    6,   14,    0,    0, } , // 4 pipes 8 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    7,   15,    0,    0, } , // 4 pipes 16 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    5,   16,    0,    0, } , // 8 pipes 1 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    1,   17,    0,    0, } , // 8 pipes 2 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    2,   18,    0,    0, } , // 8 pipes 4 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    6,   19,    0,    0, } , // 8 pipes 8 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    7,   20,    0,    0, } , // 8 pipes 16 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    5,   21,    0,    0, } , // 16 pipes 1 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    1,   22,    0,    0, } , // 16 pipes 2 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    2,   23,    0,    0, } , // 16 pipes 4 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    6,   24,    0,    0, } , // 16 pipes 8 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    7,   25,    0,    0, } , // 16 pipes 16 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    5,   21,    0,    0, } , // 32 pipes 1 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    1,   22,    0,    0, } , // 32 pipes 2 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    2,   23,    0,    0, } , // 32 pipes 4 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    6,   24,    0,    0, } , // 32 pipes 8 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    7,   25,    0,    0, } , // 32 pipes 16 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    5,   21,    0,    0, } , // 64 pipes 1 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    1,   22,    0,    0, } , // 64 pipes 2 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    2,   23,    0,    0, } , // 64 pipes 4 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    6,   24,    0,    0, } , // 64 pipes 8 bpe @ SW_4K_D_X @ Navi1x
+    {   3,    7,   25,    0,    0, } , // 64 pipes 16 bpe @ SW_4K_D_X @ Navi1x
+};
+
+const ADDR_SW_PATINFO SW_4K_S3_PATINFO[] =
+{
+    {   1,   29,  131,    0,    0, } , // 1 pipes 1 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   30,  132,    0,    0, } , // 1 pipes 2 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   31,  133,    0,    0, } , // 1 pipes 4 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   32,  134,    0,    0, } , // 1 pipes 8 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   33,  135,    0,    0, } , // 1 pipes 16 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   29,  131,    0,    0, } , // 2 pipes 1 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   30,  132,    0,    0, } , // 2 pipes 2 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   31,  133,    0,    0, } , // 2 pipes 4 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   32,  134,    0,    0, } , // 2 pipes 8 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   33,  135,    0,    0, } , // 2 pipes 16 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   29,  131,    0,    0, } , // 4 pipes 1 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   30,  132,    0,    0, } , // 4 pipes 2 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   31,  133,    0,    0, } , // 4 pipes 4 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   32,  134,    0,    0, } , // 4 pipes 8 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   33,  135,    0,    0, } , // 4 pipes 16 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   29,  131,    0,    0, } , // 8 pipes 1 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   30,  132,    0,    0, } , // 8 pipes 2 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   31,  133,    0,    0, } , // 8 pipes 4 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   32,  134,    0,    0, } , // 8 pipes 8 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   33,  135,    0,    0, } , // 8 pipes 16 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   29,  131,    0,    0, } , // 16 pipes 1 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   30,  132,    0,    0, } , // 16 pipes 2 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   31,  133,    0,    0, } , // 16 pipes 4 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   32,  134,    0,    0, } , // 16 pipes 8 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   33,  135,    0,    0, } , // 16 pipes 16 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   29,  131,    0,    0, } , // 32 pipes 1 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   30,  132,    0,    0, } , // 32 pipes 2 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   31,  133,    0,    0, } , // 32 pipes 4 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   32,  134,    0,    0, } , // 32 pipes 8 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   33,  135,    0,    0, } , // 32 pipes 16 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   29,  131,    0,    0, } , // 64 pipes 1 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   30,  132,    0,    0, } , // 64 pipes 2 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   31,  133,    0,    0, } , // 64 pipes 4 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   32,  134,    0,    0, } , // 64 pipes 8 bpe @ SW_4K_S3 @ Navi1x
+    {   1,   33,  135,    0,    0, } , // 64 pipes 16 bpe @ SW_4K_S3 @ Navi1x
+};
+
+const ADDR_SW_PATINFO SW_4K_S3_X_PATINFO[] =
+{
+    {   1,   29,  131,    0,    0, } , // 1 pipes 1 bpe @ SW_4K_S3_X @ Navi1x
+    {   1,   30,  132,    0,    0, } , // 1 pipes 2 bpe @ SW_4K_S3_X @ Navi1x
+    {   1,   31,  133,    0,    0, } , // 1 pipes 4 bpe @ SW_4K_S3_X @ Navi1x
+    {   1,   32,  134,    0,    0, } , // 1 pipes 8 bpe @ SW_4K_S3_X @ Navi1x
+    {   1,   33,  135,    0,    0, } , // 1 pipes 16 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   29,  136,    0,    0, } , // 2 pipes 1 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   30,  137,    0,    0, } , // 2 pipes 2 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   31,  138,    0,    0, } , // 2 pipes 4 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   32,  139,    0,    0, } , // 2 pipes 8 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   33,  140,    0,    0, } , // 2 pipes 16 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   29,  141,    0,    0, } , // 4 pipes 1 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   30,  142,    0,    0, } , // 4 pipes 2 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   31,  143,    0,    0, } , // 4 pipes 4 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   32,  144,    0,    0, } , // 4 pipes 8 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   33,  145,    0,    0, } , // 4 pipes 16 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   29,  146,    0,    0, } , // 8 pipes 1 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   30,  147,    0,    0, } , // 8 pipes 2 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   31,  148,    0,    0, } , // 8 pipes 4 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   32,  149,    0,    0, } , // 8 pipes 8 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   33,  150,    0,    0, } , // 8 pipes 16 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   29,  151,    0,    0, } , // 16 pipes 1 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   30,  152,    0,    0, } , // 16 pipes 2 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   31,  153,    0,    0, } , // 16 pipes 4 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   32,  154,    0,    0, } , // 16 pipes 8 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   33,  155,    0,    0, } , // 16 pipes 16 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   29,  151,    0,    0, } , // 32 pipes 1 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   30,  152,    0,    0, } , // 32 pipes 2 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   31,  153,    0,    0, } , // 32 pipes 4 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   32,  154,    0,    0, } , // 32 pipes 8 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   33,  155,    0,    0, } , // 32 pipes 16 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   29,  151,    0,    0, } , // 64 pipes 1 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   30,  152,    0,    0, } , // 64 pipes 2 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   31,  153,    0,    0, } , // 64 pipes 4 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   32,  154,    0,    0, } , // 64 pipes 8 bpe @ SW_4K_S3_X @ Navi1x
+    {   3,   33,  155,    0,    0, } , // 64 pipes 16 bpe @ SW_4K_S3_X @ Navi1x
+};
+
+const ADDR_SW_PATINFO SW_64K_S_PATINFO[] =
+{
+    {   1,    0,    1,    1,    0, } , // 1 pipes 1 bpe @ SW_64K_S @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 1 pipes 2 bpe @ SW_64K_S @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 1 pipes 4 bpe @ SW_64K_S @ Navi1x
+    {   1,    3,    4,    4,    0, } , // 1 pipes 8 bpe @ SW_64K_S @ Navi1x
+    {   1,    4,    5,    5,    0, } , // 1 pipes 16 bpe @ SW_64K_S @ Navi1x
+    {   1,    0,    1,    1,    0, } , // 2 pipes 1 bpe @ SW_64K_S @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 2 pipes 2 bpe @ SW_64K_S @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 2 pipes 4 bpe @ SW_64K_S @ Navi1x
+    {   1,    3,    4,    4,    0, } , // 2 pipes 8 bpe @ SW_64K_S @ Navi1x
+    {   1,    4,    5,    5,    0, } , // 2 pipes 16 bpe @ SW_64K_S @ Navi1x
+    {   1,    0,    1,    1,    0, } , // 4 pipes 1 bpe @ SW_64K_S @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 4 pipes 2 bpe @ SW_64K_S @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 4 pipes 4 bpe @ SW_64K_S @ Navi1x
+    {   1,    3,    4,    4,    0, } , // 4 pipes 8 bpe @ SW_64K_S @ Navi1x
+    {   1,    4,    5,    5,    0, } , // 4 pipes 16 bpe @ SW_64K_S @ Navi1x
+    {   1,    0,    1,    1,    0, } , // 8 pipes 1 bpe @ SW_64K_S @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 8 pipes 2 bpe @ SW_64K_S @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 8 pipes 4 bpe @ SW_64K_S @ Navi1x
+    {   1,    3,    4,    4,    0, } , // 8 pipes 8 bpe @ SW_64K_S @ Navi1x
+    {   1,    4,    5,    5,    0, } , // 8 pipes 16 bpe @ SW_64K_S @ Navi1x
+    {   1,    0,    1,    1,    0, } , // 16 pipes 1 bpe @ SW_64K_S @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 16 pipes 2 bpe @ SW_64K_S @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 16 pipes 4 bpe @ SW_64K_S @ Navi1x
+    {   1,    3,    4,    4,    0, } , // 16 pipes 8 bpe @ SW_64K_S @ Navi1x
+    {   1,    4,    5,    5,    0, } , // 16 pipes 16 bpe @ SW_64K_S @ Navi1x
+    {   1,    0,    1,    1,    0, } , // 32 pipes 1 bpe @ SW_64K_S @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 32 pipes 2 bpe @ SW_64K_S @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 32 pipes 4 bpe @ SW_64K_S @ Navi1x
+    {   1,    3,    4,    4,    0, } , // 32 pipes 8 bpe @ SW_64K_S @ Navi1x
+    {   1,    4,    5,    5,    0, } , // 32 pipes 16 bpe @ SW_64K_S @ Navi1x
+    {   1,    0,    1,    1,    0, } , // 64 pipes 1 bpe @ SW_64K_S @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 64 pipes 2 bpe @ SW_64K_S @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 64 pipes 4 bpe @ SW_64K_S @ Navi1x
+    {   1,    3,    4,    4,    0, } , // 64 pipes 8 bpe @ SW_64K_S @ Navi1x
+    {   1,    4,    5,    5,    0, } , // 64 pipes 16 bpe @ SW_64K_S @ Navi1x
+};
+
+const ADDR_SW_PATINFO SW_64K_D_PATINFO[] =
+{
+    {   1,    5,    1,    1,    0, } , // 1 pipes 1 bpe @ SW_64K_D @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 1 pipes 2 bpe @ SW_64K_D @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 1 pipes 4 bpe @ SW_64K_D @ Navi1x
+    {   1,    6,    4,    4,    0, } , // 1 pipes 8 bpe @ SW_64K_D @ Navi1x
+    {   1,    7,    5,    5,    0, } , // 1 pipes 16 bpe @ SW_64K_D @ Navi1x
+    {   1,    5,    1,    1,    0, } , // 2 pipes 1 bpe @ SW_64K_D @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 2 pipes 2 bpe @ SW_64K_D @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 2 pipes 4 bpe @ SW_64K_D @ Navi1x
+    {   1,    6,    4,    4,    0, } , // 2 pipes 8 bpe @ SW_64K_D @ Navi1x
+    {   1,    7,    5,    5,    0, } , // 2 pipes 16 bpe @ SW_64K_D @ Navi1x
+    {   1,    5,    1,    1,    0, } , // 4 pipes 1 bpe @ SW_64K_D @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 4 pipes 2 bpe @ SW_64K_D @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 4 pipes 4 bpe @ SW_64K_D @ Navi1x
+    {   1,    6,    4,    4,    0, } , // 4 pipes 8 bpe @ SW_64K_D @ Navi1x
+    {   1,    7,    5,    5,    0, } , // 4 pipes 16 bpe @ SW_64K_D @ Navi1x
+    {   1,    5,    1,    1,    0, } , // 8 pipes 1 bpe @ SW_64K_D @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 8 pipes 2 bpe @ SW_64K_D @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 8 pipes 4 bpe @ SW_64K_D @ Navi1x
+    {   1,    6,    4,    4,    0, } , // 8 pipes 8 bpe @ SW_64K_D @ Navi1x
+    {   1,    7,    5,    5,    0, } , // 8 pipes 16 bpe @ SW_64K_D @ Navi1x
+    {   1,    5,    1,    1,    0, } , // 16 pipes 1 bpe @ SW_64K_D @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 16 pipes 2 bpe @ SW_64K_D @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 16 pipes 4 bpe @ SW_64K_D @ Navi1x
+    {   1,    6,    4,    4,    0, } , // 16 pipes 8 bpe @ SW_64K_D @ Navi1x
+    {   1,    7,    5,    5,    0, } , // 16 pipes 16 bpe @ SW_64K_D @ Navi1x
+    {   1,    5,    1,    1,    0, } , // 32 pipes 1 bpe @ SW_64K_D @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 32 pipes 2 bpe @ SW_64K_D @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 32 pipes 4 bpe @ SW_64K_D @ Navi1x
+    {   1,    6,    4,    4,    0, } , // 32 pipes 8 bpe @ SW_64K_D @ Navi1x
+    {   1,    7,    5,    5,    0, } , // 32 pipes 16 bpe @ SW_64K_D @ Navi1x
+    {   1,    5,    1,    1,    0, } , // 64 pipes 1 bpe @ SW_64K_D @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 64 pipes 2 bpe @ SW_64K_D @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 64 pipes 4 bpe @ SW_64K_D @ Navi1x
+    {   1,    6,    4,    4,    0, } , // 64 pipes 8 bpe @ SW_64K_D @ Navi1x
+    {   1,    7,    5,    5,    0, } , // 64 pipes 16 bpe @ SW_64K_D @ Navi1x
+};
+
+const ADDR_SW_PATINFO SW_64K_S_T_PATINFO[] =
+{
+    {   1,    0,    1,    1,    0, } , // 1 pipes 1 bpe @ SW_64K_S_T @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 1 pipes 2 bpe @ SW_64K_S_T @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 1 pipes 4 bpe @ SW_64K_S_T @ Navi1x
+    {   1,    3,    4,    4,    0, } , // 1 pipes 8 bpe @ SW_64K_S_T @ Navi1x
+    {   1,    4,    5,    5,    0, } , // 1 pipes 16 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    0,   36,    1,    0, } , // 2 pipes 1 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    1,   37,    2,    0, } , // 2 pipes 2 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    2,   38,    3,    0, } , // 2 pipes 4 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    3,   39,    4,    0, } , // 2 pipes 8 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    4,   40,    5,    0, } , // 2 pipes 16 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    0,   41,    1,    0, } , // 4 pipes 1 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    1,   42,    2,    0, } , // 4 pipes 2 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    2,   43,    3,    0, } , // 4 pipes 4 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    3,   44,    4,    0, } , // 4 pipes 8 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    4,   45,    5,    0, } , // 4 pipes 16 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    0,   46,    1,    0, } , // 8 pipes 1 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    1,   47,    2,    0, } , // 8 pipes 2 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    2,   48,    3,    0, } , // 8 pipes 4 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    3,   49,    4,    0, } , // 8 pipes 8 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    4,   50,    5,    0, } , // 8 pipes 16 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    0,   51,    1,    0, } , // 16 pipes 1 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    1,   52,    2,    0, } , // 16 pipes 2 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    2,   53,    3,    0, } , // 16 pipes 4 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    3,   54,    4,    0, } , // 16 pipes 8 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    4,   55,    5,    0, } , // 16 pipes 16 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    0,   56,   16,    0, } , // 32 pipes 1 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    1,   57,   17,    0, } , // 32 pipes 2 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    2,   58,   18,    0, } , // 32 pipes 4 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    3,   59,   19,    0, } , // 32 pipes 8 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    4,   60,   20,    0, } , // 32 pipes 16 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    0,    1,   21,    0, } , // 64 pipes 1 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    1,    2,   22,    0, } , // 64 pipes 2 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    2,    3,   23,    0, } , // 64 pipes 4 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    3,    4,   24,    0, } , // 64 pipes 8 bpe @ SW_64K_S_T @ Navi1x
+    {   2,    4,    5,   25,    0, } , // 64 pipes 16 bpe @ SW_64K_S_T @ Navi1x
+};
+
+const ADDR_SW_PATINFO SW_64K_D_T_PATINFO[] =
+{
+    {   1,    5,    1,    1,    0, } , // 1 pipes 1 bpe @ SW_64K_D_T @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 1 pipes 2 bpe @ SW_64K_D_T @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 1 pipes 4 bpe @ SW_64K_D_T @ Navi1x
+    {   1,    6,    4,    4,    0, } , // 1 pipes 8 bpe @ SW_64K_D_T @ Navi1x
+    {   1,    7,    5,    5,    0, } , // 1 pipes 16 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    5,   36,    1,    0, } , // 2 pipes 1 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    1,   37,    2,    0, } , // 2 pipes 2 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    2,   38,    3,    0, } , // 2 pipes 4 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    6,   39,    4,    0, } , // 2 pipes 8 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    7,   40,    5,    0, } , // 2 pipes 16 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    5,   41,    1,    0, } , // 4 pipes 1 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    1,   42,    2,    0, } , // 4 pipes 2 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    2,   43,    3,    0, } , // 4 pipes 4 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    6,   44,    4,    0, } , // 4 pipes 8 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    7,   45,    5,    0, } , // 4 pipes 16 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    5,   46,    1,    0, } , // 8 pipes 1 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    1,   47,    2,    0, } , // 8 pipes 2 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    2,   48,    3,    0, } , // 8 pipes 4 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    6,   49,    4,    0, } , // 8 pipes 8 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    7,   50,    5,    0, } , // 8 pipes 16 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    5,   51,    1,    0, } , // 16 pipes 1 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    1,   52,    2,    0, } , // 16 pipes 2 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    2,   53,    3,    0, } , // 16 pipes 4 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    6,   54,    4,    0, } , // 16 pipes 8 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    7,   55,    5,    0, } , // 16 pipes 16 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    5,   56,   16,    0, } , // 32 pipes 1 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    1,   57,   17,    0, } , // 32 pipes 2 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    2,   58,   18,    0, } , // 32 pipes 4 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    6,   59,   19,    0, } , // 32 pipes 8 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    7,   60,   20,    0, } , // 32 pipes 16 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    5,    1,   21,    0, } , // 64 pipes 1 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    1,    2,   22,    0, } , // 64 pipes 2 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    2,    3,   23,    0, } , // 64 pipes 4 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    6,    4,   24,    0, } , // 64 pipes 8 bpe @ SW_64K_D_T @ Navi1x
+    {   2,    7,    5,   25,    0, } , // 64 pipes 16 bpe @ SW_64K_D_T @ Navi1x
+};
+
+const ADDR_SW_PATINFO SW_64K_S_X_PATINFO[] =
+{
+    {   1,    0,    1,    1,    0, } , // 1 pipes 1 bpe @ SW_64K_S_X @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 1 pipes 2 bpe @ SW_64K_S_X @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 1 pipes 4 bpe @ SW_64K_S_X @ Navi1x
+    {   1,    3,    4,    4,    0, } , // 1 pipes 8 bpe @ SW_64K_S_X @ Navi1x
+    {   1,    4,    5,    5,    0, } , // 1 pipes 16 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    0,    6,    1,    0, } , // 2 pipes 1 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    1,    7,    2,    0, } , // 2 pipes 2 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    2,    8,    3,    0, } , // 2 pipes 4 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    3,    9,    4,    0, } , // 2 pipes 8 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    4,   10,    5,    0, } , // 2 pipes 16 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    0,   11,    1,    0, } , // 4 pipes 1 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    1,   12,    2,    0, } , // 4 pipes 2 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    2,   13,    3,    0, } , // 4 pipes 4 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    3,   14,    4,    0, } , // 4 pipes 8 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    4,   15,    5,    0, } , // 4 pipes 16 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    0,   16,    1,    0, } , // 8 pipes 1 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    1,   17,    2,    0, } , // 8 pipes 2 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    2,   18,    3,    0, } , // 8 pipes 4 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    3,   19,    4,    0, } , // 8 pipes 8 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    4,   20,    5,    0, } , // 8 pipes 16 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    0,   21,    1,    0, } , // 16 pipes 1 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    1,   22,    2,    0, } , // 16 pipes 2 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    2,   23,    3,    0, } , // 16 pipes 4 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    3,   24,    4,    0, } , // 16 pipes 8 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    4,   25,    5,    0, } , // 16 pipes 16 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    0,   26,    6,    0, } , // 32 pipes 1 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    1,   27,    7,    0, } , // 32 pipes 2 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    2,   28,    8,    0, } , // 32 pipes 4 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    3,   29,    9,    0, } , // 32 pipes 8 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    4,   30,   10,    0, } , // 32 pipes 16 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    0,   31,   11,    0, } , // 64 pipes 1 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    1,   32,   12,    0, } , // 64 pipes 2 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    2,   33,   13,    0, } , // 64 pipes 4 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    3,   34,   14,    0, } , // 64 pipes 8 bpe @ SW_64K_S_X @ Navi1x
+    {   3,    4,   35,   15,    0, } , // 64 pipes 16 bpe @ SW_64K_S_X @ Navi1x
+};
+
+const ADDR_SW_PATINFO SW_64K_D_X_PATINFO[] =
+{
+    {   1,    5,    1,    1,    0, } , // 1 pipes 1 bpe @ SW_64K_D_X @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 1 pipes 2 bpe @ SW_64K_D_X @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 1 pipes 4 bpe @ SW_64K_D_X @ Navi1x
+    {   1,    6,    4,    4,    0, } , // 1 pipes 8 bpe @ SW_64K_D_X @ Navi1x
+    {   1,    7,    5,    5,    0, } , // 1 pipes 16 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    5,    6,    1,    0, } , // 2 pipes 1 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    1,    7,    2,    0, } , // 2 pipes 2 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    2,    8,    3,    0, } , // 2 pipes 4 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    6,    9,    4,    0, } , // 2 pipes 8 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    7,   10,    5,    0, } , // 2 pipes 16 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    5,   11,    1,    0, } , // 4 pipes 1 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    1,   12,    2,    0, } , // 4 pipes 2 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    2,   13,    3,    0, } , // 4 pipes 4 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    6,   14,    4,    0, } , // 4 pipes 8 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    7,   15,    5,    0, } , // 4 pipes 16 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    5,   16,    1,    0, } , // 8 pipes 1 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    1,   17,    2,    0, } , // 8 pipes 2 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    2,   18,    3,    0, } , // 8 pipes 4 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    6,   19,    4,    0, } , // 8 pipes 8 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    7,   20,    5,    0, } , // 8 pipes 16 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    5,   21,    1,    0, } , // 16 pipes 1 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    1,   22,    2,    0, } , // 16 pipes 2 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    2,   23,    3,    0, } , // 16 pipes 4 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    6,   24,    4,    0, } , // 16 pipes 8 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    7,   25,    5,    0, } , // 16 pipes 16 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    5,   26,    6,    0, } , // 32 pipes 1 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    1,   27,    7,    0, } , // 32 pipes 2 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    2,   28,    8,    0, } , // 32 pipes 4 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    6,   29,    9,    0, } , // 32 pipes 8 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    7,   30,   10,    0, } , // 32 pipes 16 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    5,   31,   11,    0, } , // 64 pipes 1 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    1,   32,   12,    0, } , // 64 pipes 2 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    2,   33,   13,    0, } , // 64 pipes 4 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    6,   34,   14,    0, } , // 64 pipes 8 bpe @ SW_64K_D_X @ Navi1x
+    {   3,    7,   35,   15,    0, } , // 64 pipes 16 bpe @ SW_64K_D_X @ Navi1x
+};
+
+const ADDR_SW_PATINFO SW_64K_R_X_1xaa_PATINFO[] =
+{
+    {   1,    5,    1,    1,    0, } , // 1 pipes 1 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   1,    1,    2,    2,    0, } , // 1 pipes 2 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   1,    2,    3,    3,    0, } , // 1 pipes 4 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   1,    6,    4,    4,    0, } , // 1 pipes 8 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   1,    7,    5,    5,    0, } , // 1 pipes 16 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,   28,   61,    1,    0, } , // 2 pipes 1 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    1,   62,    2,    0, } , // 2 pipes 2 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    2,    8,    3,    0, } , // 2 pipes 4 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    6,   63,    4,    0, } , // 2 pipes 8 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    7,   64,    5,    0, } , // 2 pipes 16 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,   28,   65,    1,    0, } , // 4 pipes 1 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    1,   66,    2,    0, } , // 4 pipes 2 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    2,   67,    3,    0, } , // 4 pipes 4 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    6,   68,    4,    0, } , // 4 pipes 8 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    7,   69,   26,    0, } , // 4 pipes 16 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,   28,   70,    1,    0, } , // 8 pipes 1 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    1,   71,    2,    0, } , // 8 pipes 2 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    2,   72,   27,    0, } , // 8 pipes 4 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    6,   72,   28,    0, } , // 8 pipes 8 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    7,   73,   29,    0, } , // 8 pipes 16 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,   28,   74,    1,    0, } , // 16 pipes 1 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    1,   74,   30,    0, } , // 16 pipes 2 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    2,   74,   31,    0, } , // 16 pipes 4 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    6,   74,   32,    0, } , // 16 pipes 8 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    7,   74,   33,    0, } , // 16 pipes 16 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,   28,   75,    6,    0, } , // 32 pipes 1 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    1,   75,   34,    0, } , // 32 pipes 2 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    2,   75,   35,    0, } , // 32 pipes 4 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    6,   75,   36,    0, } , // 32 pipes 8 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    7,   76,   37,    0, } , // 32 pipes 16 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,   28,   77,   11,    0, } , // 64 pipes 1 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    1,   77,   38,    0, } , // 64 pipes 2 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    2,   77,   39,    0, } , // 64 pipes 4 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    6,   78,   40,    0, } , // 64 pipes 8 bpe @ SW_64K_R_X 1xaa @ Navi1x
+    {   3,    7,   79,   41,    0, } , // 64 pipes 16 bpe @ SW_64K_R_X 1xaa @ Navi1x
+};
+
+const ADDR_SW_PATINFO SW_64K_R_X_2xaa_PATINFO[] =
+{
+    {   2,    5,    1,   99,    0, } , // 1 pipes 1 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   2,    1,    2,  100,    0, } , // 1 pipes 2 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   2,    2,    3,  101,    0, } , // 1 pipes 4 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   2,    6,    4,  102,    0, } , // 1 pipes 8 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   2,    7,    5,  103,    0, } , // 1 pipes 16 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,   28,   61,   99,    0, } , // 2 pipes 1 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    1,   62,  100,    0, } , // 2 pipes 2 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    2,    8,  101,    0, } , // 2 pipes 4 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    6,   63,  102,    0, } , // 2 pipes 8 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    7,   64,  103,    0, } , // 2 pipes 16 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,   28,   65,   99,    0, } , // 4 pipes 1 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    1,   66,  100,    0, } , // 4 pipes 2 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    2,   67,  101,    0, } , // 4 pipes 4 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    6,   68,  102,    0, } , // 4 pipes 8 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    7,   69,  104,    0, } , // 4 pipes 16 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,   28,   70,   99,    0, } , // 8 pipes 1 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    1,   71,  100,    0, } , // 8 pipes 2 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    2,   72,  105,    0, } , // 8 pipes 4 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    6,   72,  106,    0, } , // 8 pipes 8 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    7,   73,  107,    0, } , // 8 pipes 16 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,   28,   74,   99,    0, } , // 16 pipes 1 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    1,   74,  108,    0, } , // 16 pipes 2 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    2,   74,  109,    0, } , // 16 pipes 4 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    6,   74,  107,    0, } , // 16 pipes 8 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    7,  113,   33,    0, } , // 16 pipes 16 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,   28,   75,  110,    0, } , // 32 pipes 1 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    1,   75,  111,    0, } , // 32 pipes 2 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    2,   75,  112,    0, } , // 32 pipes 4 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    6,   76,  113,    0, } , // 32 pipes 8 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    7,  114,   37,    0, } , // 32 pipes 16 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,   28,   78,  114,    0, } , // 64 pipes 1 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    1,   78,  115,    0, } , // 64 pipes 2 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    2,   78,  116,    0, } , // 64 pipes 4 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    6,   79,  117,    0, } , // 64 pipes 8 bpe @ SW_64K_R_X 2xaa @ Navi1x
+    {   3,    7,  115,   41,    0, } , // 64 pipes 16 bpe @ SW_64K_R_X 2xaa @ Navi1x
+};
+
+const ADDR_SW_PATINFO SW_64K_R_X_4xaa_PATINFO[] =
 {
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1              },
+    {   2,    5,    1,  118,    0, } , // 1 pipes 1 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   2,    1,    2,  119,    0, } , // 1 pipes 2 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   2,    2,    3,  120,    0, } , // 1 pipes 4 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   2,    6,    4,  121,    0, } , // 1 pipes 8 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   2,    7,    5,  122,    0, } , // 1 pipes 16 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,   28,   61,  118,    0, } , // 2 pipes 1 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    1,   62,  119,    0, } , // 2 pipes 2 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    2,    8,  120,    0, } , // 2 pipes 4 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    6,   63,  121,    0, } , // 2 pipes 8 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    7,   64,  122,    0, } , // 2 pipes 16 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,   28,   65,  118,    0, } , // 4 pipes 1 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    1,   66,  119,    0, } , // 4 pipes 2 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    2,   67,  120,    0, } , // 4 pipes 4 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    6,   68,  121,    0, } , // 4 pipes 8 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    7,   69,  123,    0, } , // 4 pipes 16 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,   28,   70,  118,    0, } , // 8 pipes 1 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    1,   71,  119,    0, } , // 8 pipes 2 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    2,   72,  124,    0, } , // 8 pipes 4 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    6,   93,  125,    0, } , // 8 pipes 8 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    7,  116,  107,    0, } , // 8 pipes 16 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,   28,   74,  118,    0, } , // 16 pipes 1 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    1,   74,  126,    0, } , // 16 pipes 2 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    2,   74,  127,    0, } , // 16 pipes 4 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    6,  117,  107,    0, } , // 16 pipes 8 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    7,  118,   33,    0, } , // 16 pipes 16 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,   28,   76,  128,    0, } , // 32 pipes 1 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    1,   76,  129,    0, } , // 32 pipes 2 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    2,   76,  130,    0, } , // 32 pipes 4 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    6,  119,  113,    0, } , // 32 pipes 8 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    7,  120,   37,    0, } , // 32 pipes 16 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,   28,   79,  131,    0, } , // 64 pipes 1 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    1,   79,  132,    0, } , // 64 pipes 2 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    2,   79,  133,    0, } , // 64 pipes 4 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    6,  121,  117,    0, } , // 64 pipes 8 bpe @ SW_64K_R_X 4xaa @ Navi1x
+    {   3,    7,  122,   41,    0, } , // 64 pipes 16 bpe @ SW_64K_R_X 4xaa @ Navi1x
 };
 
-const UINT_64 SW_256_D[][8]=
+const ADDR_SW_PATINFO SW_64K_R_X_8xaa_PATINFO[] =
 {
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1              },
+    {   2,    5,    1,  134,    0, } , // 1 pipes 1 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   2,    1,    2,  135,    0, } , // 1 pipes 2 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   2,    2,    3,  135,    0, } , // 1 pipes 4 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   2,    6,    4,  136,    0, } , // 1 pipes 8 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   2,    7,    5,  136,    0, } , // 1 pipes 16 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,   28,   61,  134,    0, } , // 2 pipes 1 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    1,   62,  135,    0, } , // 2 pipes 2 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    2,    8,  135,    0, } , // 2 pipes 4 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    6,   63,  136,    0, } , // 2 pipes 8 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    7,   64,  136,    0, } , // 2 pipes 16 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,   28,   65,  134,    0, } , // 4 pipes 1 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    1,   66,  135,    0, } , // 4 pipes 2 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    2,   67,  135,    0, } , // 4 pipes 4 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    6,   68,  136,    0, } , // 4 pipes 8 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    7,  102,  137,    0, } , // 4 pipes 16 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,   28,   70,  134,    0, } , // 8 pipes 1 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    1,   71,  135,    0, } , // 8 pipes 2 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    2,   72,  138,    0, } , // 8 pipes 4 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    6,  123,  139,    0, } , // 8 pipes 8 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    7,  124,  140,    0, } , // 8 pipes 16 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,   28,  105,  134,    0, } , // 16 pipes 1 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    1,  105,  138,    0, } , // 16 pipes 2 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    2,  125,  127,    0, } , // 16 pipes 4 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    6,  126,  107,    0, } , // 16 pipes 8 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    7,  126,  141,    0, } , // 16 pipes 16 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,   28,  107,  142,    0, } , // 32 pipes 1 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    1,  108,  143,    0, } , // 32 pipes 2 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    2,  127,  130,    0, } , // 32 pipes 4 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    6,  128,  113,    0, } , // 32 pipes 8 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    7,  128,  144,    0, } , // 32 pipes 16 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,   28,  110,  145,    0, } , // 64 pipes 1 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    1,  111,  146,    0, } , // 64 pipes 2 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    2,  129,  133,    0, } , // 64 pipes 4 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    6,  130,  117,    0, } , // 64 pipes 8 bpe @ SW_64K_R_X 8xaa @ Navi1x
+    {   3,    7,  130,  147,    0, } , // 64 pipes 16 bpe @ SW_64K_R_X 8xaa @ Navi1x
 };
 
-const UINT_64 SW_4K_S[][12]=
+const ADDR_SW_PATINFO SW_64K_Z_X_1xaa_PATINFO[] =
 {
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3              },
+    {   1,    8,    1,    1,    0, } , // 1 pipes 1 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   1,    9,    2,    2,    0, } , // 1 pipes 2 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   1,   10,    3,    3,    0, } , // 1 pipes 4 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   1,   11,    4,    4,    0, } , // 1 pipes 8 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   1,    7,    5,    5,    0, } , // 1 pipes 16 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   12,   61,    1,    0, } , // 2 pipes 1 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,    9,   62,    2,    0, } , // 2 pipes 2 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   10,    8,    3,    0, } , // 2 pipes 4 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   11,   63,    4,    0, } , // 2 pipes 8 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,    7,   64,    5,    0, } , // 2 pipes 16 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   12,   65,    1,    0, } , // 4 pipes 1 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,    9,   66,    2,    0, } , // 4 pipes 2 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   10,   67,    3,    0, } , // 4 pipes 4 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   11,   68,    4,    0, } , // 4 pipes 8 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,    7,   69,   26,    0, } , // 4 pipes 16 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   12,   70,    1,    0, } , // 8 pipes 1 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,    9,   71,    2,    0, } , // 8 pipes 2 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   10,   72,   27,    0, } , // 8 pipes 4 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   11,   72,   28,    0, } , // 8 pipes 8 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,    7,   73,   29,    0, } , // 8 pipes 16 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   12,   74,    1,    0, } , // 16 pipes 1 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,    9,   74,   30,    0, } , // 16 pipes 2 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   10,   74,   31,    0, } , // 16 pipes 4 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   11,   74,   32,    0, } , // 16 pipes 8 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,    7,   74,   33,    0, } , // 16 pipes 16 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   12,   75,    6,    0, } , // 32 pipes 1 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,    9,   75,   34,    0, } , // 32 pipes 2 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   10,   75,   35,    0, } , // 32 pipes 4 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   11,   75,   36,    0, } , // 32 pipes 8 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,    7,   76,   37,    0, } , // 32 pipes 16 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   12,   77,   11,    0, } , // 64 pipes 1 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,    9,   77,   38,    0, } , // 64 pipes 2 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   10,   77,   39,    0, } , // 64 pipes 4 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,   11,   78,   40,    0, } , // 64 pipes 8 bpe @ SW_64K_Z_X 1xaa @ Navi1x
+    {   3,    7,   79,   41,    0, } , // 64 pipes 16 bpe @ SW_64K_Z_X 1xaa @ Navi1x
 };
 
-const UINT_64 SW_4K_D[][12]=
+const ADDR_SW_PATINFO SW_64K_Z_X_2xaa_PATINFO[] =
 {
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3              },
+    {   1,   13,   80,   42,    0, } , // 1 pipes 1 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   1,   14,    3,    3,    0, } , // 1 pipes 2 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   2,   15,    3,   43,    0, } , // 1 pipes 4 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   2,   16,   81,   44,    0, } , // 1 pipes 8 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   2,   17,    5,   45,    0, } , // 1 pipes 16 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   13,   82,   42,    0, } , // 2 pipes 1 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   14,    8,    3,    0, } , // 2 pipes 2 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   15,    8,   43,    0, } , // 2 pipes 4 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   16,   83,   44,    0, } , // 2 pipes 8 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   17,   64,   45,    0, } , // 2 pipes 16 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   13,   84,   42,    0, } , // 4 pipes 1 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   14,   67,    3,    0, } , // 4 pipes 2 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   15,   67,   43,    0, } , // 4 pipes 4 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   16,   85,   44,    0, } , // 4 pipes 8 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   17,   69,   46,    0, } , // 4 pipes 16 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   13,   86,   42,    0, } , // 8 pipes 1 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   14,   72,   27,    0, } , // 8 pipes 2 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   15,   72,   47,    0, } , // 8 pipes 4 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   16,   73,   48,    0, } , // 8 pipes 8 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   17,   73,   49,    0, } , // 8 pipes 16 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   13,   74,   50,    0, } , // 16 pipes 1 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   14,   74,   31,    0, } , // 16 pipes 2 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   15,   74,   51,    0, } , // 16 pipes 4 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   16,   74,   52,    0, } , // 16 pipes 8 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   17,   87,   53,    0, } , // 16 pipes 16 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   13,   75,   54,    0, } , // 32 pipes 1 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   14,   75,   35,    0, } , // 32 pipes 2 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   15,   75,   55,    0, } , // 32 pipes 4 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   16,   76,   56,    0, } , // 32 pipes 8 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   17,   88,   57,    0, } , // 32 pipes 16 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   13,   78,   58,    0, } , // 64 pipes 1 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   14,   78,   59,    0, } , // 64 pipes 2 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   15,   78,   60,    0, } , // 64 pipes 4 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   16,   79,   41,    0, } , // 64 pipes 8 bpe @ SW_64K_Z_X 2xaa @ Navi1x
+    {   3,   17,   89,   61,    0, } , // 64 pipes 16 bpe @ SW_64K_Z_X 2xaa @ Navi1x
 };
 
-const UINT_64 SW_4K_S_X[][12]=
+const ADDR_SW_PATINFO SW_64K_Z_X_4xaa_PATINFO[] =
 {
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z0 ^ Y3 ^ X4,   X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Z0 ^ Y2 ^ X3,   X3,             Y3,             X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Z0 ^ X2 ^ Y2,   X2,             Y3,             X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Z1 ^ Y2 ^ X4,   Z0 ^ X3 ^ Y3,   Y3,             X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Z1 ^ Y2 ^ X3,   Z0 ^ X2 ^ Y3,   Y3,             X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ Z2 ^ X5,   Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ Z2 ^ X4,   Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ Z3 ^ X5,   X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ Z3 ^ X5,   X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ Z3 ^ X5,   X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z0 ^ X3 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z0 ^ X3 ^ Y3,   Y3,             X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             Z0 ^ X2 ^ Y3,   Y3,             X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
+    {   1,   18,    3,    3,    0, } , // 1 pipes 1 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   2,   19,   90,   62,    0, } , // 1 pipes 2 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   2,   20,    3,   63,    0, } , // 1 pipes 4 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   2,   21,    4,   64,    0, } , // 1 pipes 8 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   2,   22,    5,   65,    0, } , // 1 pipes 16 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   18,    8,    3,    0, } , // 2 pipes 1 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   19,   91,   62,    0, } , // 2 pipes 2 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   20,    8,   66,    0, } , // 2 pipes 4 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   21,   63,   67,    0, } , // 2 pipes 8 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   22,   64,   68,    0, } , // 2 pipes 16 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   18,   67,    3,    0, } , // 4 pipes 1 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   19,   92,   62,    0, } , // 4 pipes 2 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   20,   67,   63,    0, } , // 4 pipes 4 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   21,   68,   64,    0, } , // 4 pipes 8 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   22,   69,   69,    0, } , // 4 pipes 16 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   18,   72,   27,    0, } , // 8 pipes 1 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   19,   72,   70,    0, } , // 8 pipes 2 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   20,   72,   71,    0, } , // 8 pipes 4 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   21,   93,   72,    0, } , // 8 pipes 8 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   22,   94,   73,    0, } , // 8 pipes 16 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   18,   74,   31,    0, } , // 16 pipes 1 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   19,   74,   74,    0, } , // 16 pipes 2 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   20,   74,   75,    0, } , // 16 pipes 4 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   21,   95,   76,    0, } , // 16 pipes 8 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   22,   96,   76,    0, } , // 16 pipes 16 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   18,   76,   77,    0, } , // 32 pipes 1 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   19,   76,   78,    0, } , // 32 pipes 2 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   20,   76,   56,    0, } , // 32 pipes 4 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   21,   97,   79,    0, } , // 32 pipes 8 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   22,   98,   79,    0, } , // 32 pipes 16 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   18,   79,   80,    0, } , // 64 pipes 1 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   19,   79,   81,    0, } , // 64 pipes 2 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   20,   79,   41,    0, } , // 64 pipes 4 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   21,   99,   82,    0, } , // 64 pipes 8 bpe @ SW_64K_Z_X 4xaa @ Navi1x
+    {   3,   22,  100,   82,    0, } , // 64 pipes 16 bpe @ SW_64K_Z_X 4xaa @ Navi1x
 };
 
-const UINT_64 SW_4K_D_X[][12]=
+const ADDR_SW_PATINFO SW_64K_Z_X_8xaa_PATINFO[] =
 {
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z0 ^ Y3 ^ X4,   X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z0 ^ Y2 ^ X3,   X3,             Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z0 ^ X2 ^ Y2,   X2,             Y3,             X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z1 ^ Y2 ^ X4,   Z0 ^ X3 ^ Y3,   Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ Y2 ^ X3,   Z0 ^ X2 ^ Y3,   Y3,             X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ Z2 ^ X5,   Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ Z2 ^ X4,   Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ Z3 ^ X5,   X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ Z3 ^ X5,   X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ Z3 ^ X5,   X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z0 ^ X3 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z0 ^ X3 ^ Y3,   Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             Z0 ^ X2 ^ Y3,   Y3,             X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
+    {   2,   23,    3,   43,    0, } , // 1 pipes 1 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   2,   24,    3,   63,    0, } , // 1 pipes 2 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   2,   25,    3,   83,    0, } , // 1 pipes 4 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   2,   26,   81,   84,    0, } , // 1 pipes 8 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   2,   27,    5,   85,    0, } , // 1 pipes 16 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   23,    8,   43,    0, } , // 2 pipes 1 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   24,    8,   66,    0, } , // 2 pipes 2 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   25,    8,   86,    0, } , // 2 pipes 4 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   26,  101,   87,    0, } , // 2 pipes 8 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   27,   64,   88,    0, } , // 2 pipes 16 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   23,   67,   43,    0, } , // 4 pipes 1 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   24,   67,   63,    0, } , // 4 pipes 2 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   25,   67,   83,    0, } , // 4 pipes 4 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   26,   85,   84,    0, } , // 4 pipes 8 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   27,  102,   89,    0, } , // 4 pipes 16 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   23,   72,   47,    0, } , // 8 pipes 1 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   24,   72,   71,    0, } , // 8 pipes 2 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   25,   72,   90,    0, } , // 8 pipes 4 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   26,  103,   91,    0, } , // 8 pipes 8 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   27,  104,   92,    0, } , // 8 pipes 16 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   23,  105,   51,    0, } , // 16 pipes 1 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   24,  105,   75,    0, } , // 16 pipes 2 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   25,   87,   93,    0, } , // 16 pipes 4 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   26,   96,   76,    0, } , // 16 pipes 8 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   27,  106,   94,    0, } , // 16 pipes 16 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   23,  107,   95,    0, } , // 32 pipes 1 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   24,  108,   56,    0, } , // 32 pipes 2 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   25,   88,   57,    0, } , // 32 pipes 4 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   26,   98,   79,    0, } , // 32 pipes 8 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   27,  109,   96,    0, } , // 32 pipes 16 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   23,  110,   97,    0, } , // 64 pipes 1 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   24,  111,   41,    0, } , // 64 pipes 2 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   25,   89,   61,    0, } , // 64 pipes 4 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   26,  100,   82,    0, } , // 64 pipes 8 bpe @ SW_64K_Z_X 8xaa @ Navi1x
+    {   3,   27,  112,   98,    0, } , // 64 pipes 16 bpe @ SW_64K_Z_X 8xaa @ Navi1x
 };
 
-const UINT_64 SW_64K_S[][16]=
+const ADDR_SW_PATINFO SW_64K_S3_PATINFO[] =
 {
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
+    {   1,   29,  131,  148,    0, } , // 1 pipes 1 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   30,  132,  149,    0, } , // 1 pipes 2 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   31,  133,  150,    0, } , // 1 pipes 4 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   32,  134,  151,    0, } , // 1 pipes 8 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   33,  135,  152,    0, } , // 1 pipes 16 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   29,  131,  148,    0, } , // 2 pipes 1 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   30,  132,  149,    0, } , // 2 pipes 2 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   31,  133,  150,    0, } , // 2 pipes 4 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   32,  134,  151,    0, } , // 2 pipes 8 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   33,  135,  152,    0, } , // 2 pipes 16 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   29,  131,  148,    0, } , // 4 pipes 1 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   30,  132,  149,    0, } , // 4 pipes 2 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   31,  133,  150,    0, } , // 4 pipes 4 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   32,  134,  151,    0, } , // 4 pipes 8 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   33,  135,  152,    0, } , // 4 pipes 16 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   29,  131,  148,    0, } , // 8 pipes 1 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   30,  132,  149,    0, } , // 8 pipes 2 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   31,  133,  150,    0, } , // 8 pipes 4 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   32,  134,  151,    0, } , // 8 pipes 8 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   33,  135,  152,    0, } , // 8 pipes 16 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   29,  131,  148,    0, } , // 16 pipes 1 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   30,  132,  149,    0, } , // 16 pipes 2 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   31,  133,  150,    0, } , // 16 pipes 4 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   32,  134,  151,    0, } , // 16 pipes 8 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   33,  135,  152,    0, } , // 16 pipes 16 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   29,  131,  148,    0, } , // 32 pipes 1 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   30,  132,  149,    0, } , // 32 pipes 2 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   31,  133,  150,    0, } , // 32 pipes 4 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   32,  134,  151,    0, } , // 32 pipes 8 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   33,  135,  152,    0, } , // 32 pipes 16 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   29,  131,  148,    0, } , // 64 pipes 1 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   30,  132,  149,    0, } , // 64 pipes 2 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   31,  133,  150,    0, } , // 64 pipes 4 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   32,  134,  151,    0, } , // 64 pipes 8 bpe @ SW_64K_S3 @ Navi1x
+    {   1,   33,  135,  152,    0, } , // 64 pipes 16 bpe @ SW_64K_S3 @ Navi1x
 };
 
-const UINT_64 SW_64K_D[][16]=
+const ADDR_SW_PATINFO SW_64K_S3_X_PATINFO[] =
 {
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
+    {   1,   29,  131,  148,    0, } , // 1 pipes 1 bpe @ SW_64K_S3_X @ Navi1x
+    {   1,   30,  132,  149,    0, } , // 1 pipes 2 bpe @ SW_64K_S3_X @ Navi1x
+    {   1,   31,  133,  150,    0, } , // 1 pipes 4 bpe @ SW_64K_S3_X @ Navi1x
+    {   1,   32,  134,  151,    0, } , // 1 pipes 8 bpe @ SW_64K_S3_X @ Navi1x
+    {   1,   33,  135,  152,    0, } , // 1 pipes 16 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   29,  136,  148,    0, } , // 2 pipes 1 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   30,  137,  149,    0, } , // 2 pipes 2 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   31,  138,  150,    0, } , // 2 pipes 4 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   32,  139,  151,    0, } , // 2 pipes 8 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   33,  140,  152,    0, } , // 2 pipes 16 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   29,  141,  148,    0, } , // 4 pipes 1 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   30,  142,  149,    0, } , // 4 pipes 2 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   31,  143,  150,    0, } , // 4 pipes 4 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   32,  144,  151,    0, } , // 4 pipes 8 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   33,  145,  152,    0, } , // 4 pipes 16 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   29,  146,  148,    0, } , // 8 pipes 1 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   30,  147,  149,    0, } , // 8 pipes 2 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   31,  148,  150,    0, } , // 8 pipes 4 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   32,  149,  151,    0, } , // 8 pipes 8 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   33,  150,  152,    0, } , // 8 pipes 16 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   29,  151,  148,    0, } , // 16 pipes 1 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   30,  152,  149,    0, } , // 16 pipes 2 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   31,  153,  150,    0, } , // 16 pipes 4 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   32,  154,  151,    0, } , // 16 pipes 8 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   33,  155,  152,    0, } , // 16 pipes 16 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   29,  156,  153,    0, } , // 32 pipes 1 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   30,  157,  154,    0, } , // 32 pipes 2 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   31,  158,  155,    0, } , // 32 pipes 4 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   32,  159,  156,    0, } , // 32 pipes 8 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   33,  160,  157,    0, } , // 32 pipes 16 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   29,  161,  158,    0, } , // 64 pipes 1 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   30,  162,  159,    0, } , // 64 pipes 2 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   31,  163,  160,    0, } , // 64 pipes 4 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   32,  164,  161,    0, } , // 64 pipes 8 bpe @ SW_64K_S3_X @ Navi1x
+    {   3,   33,  165,  162,    0, } , // 64 pipes 16 bpe @ SW_64K_S3_X @ Navi1x
 };
 
-const UINT_64 SW_64K_S_T[][16]=
+const ADDR_SW_PATINFO SW_64K_S3_T_PATINFO[] =
 {
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X3,        X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             X2 ^ Y2,        X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X4,        X3 ^ Y3,        Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X3,        X2 ^ Y3,        Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X5,        X3 ^ Y4,        Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X4,        X2 ^ Y4,        X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7,        X4 ^ Y7,        Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X6,        X3 ^ Y6,        Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X6,        X3 ^ Y5,        Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X5,        X2 ^ Y5,        Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y5,        Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y4,        Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y4,        Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y3,        Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y3,        Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y4,        Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y4,        X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y5,        Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             X7 ^ Y7,        X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6 ^ X7,        X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             X6 ^ Y6,        X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X6,        X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             X5 ^ Y5,        X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             X7 ^ Y7,        X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6 ^ X7,        X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             X6 ^ Y6,        X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X6,        X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             X5 ^ Y5,        X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
+    {   1,   29,  131,  148,    0, } , // 1 pipes 1 bpe @ SW_64K_S3_T @ Navi1x
+    {   1,   30,  132,  149,    0, } , // 1 pipes 2 bpe @ SW_64K_S3_T @ Navi1x
+    {   1,   31,  133,  150,    0, } , // 1 pipes 4 bpe @ SW_64K_S3_T @ Navi1x
+    {   1,   32,  134,  151,    0, } , // 1 pipes 8 bpe @ SW_64K_S3_T @ Navi1x
+    {   1,   33,  135,  152,    0, } , // 1 pipes 16 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   29,  136,  148,    0, } , // 2 pipes 1 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   30,  137,  149,    0, } , // 2 pipes 2 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   31,  138,  150,    0, } , // 2 pipes 4 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   32,  139,  151,    0, } , // 2 pipes 8 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   33,  140,  152,    0, } , // 2 pipes 16 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   29,  141,  148,    0, } , // 4 pipes 1 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   30,  142,  149,    0, } , // 4 pipes 2 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   31,  143,  150,    0, } , // 4 pipes 4 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   32,  144,  151,    0, } , // 4 pipes 8 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   33,  145,  152,    0, } , // 4 pipes 16 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   29,  166,  148,    0, } , // 8 pipes 1 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   30,  167,  149,    0, } , // 8 pipes 2 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   31,  168,  150,    0, } , // 8 pipes 4 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   32,  169,  151,    0, } , // 8 pipes 8 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   33,  170,  152,    0, } , // 8 pipes 16 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   29,  171,  148,    0, } , // 16 pipes 1 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   30,  172,  149,    0, } , // 16 pipes 2 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   31,  173,  150,    0, } , // 16 pipes 4 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   32,  174,  151,    0, } , // 16 pipes 8 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   33,  175,  152,    0, } , // 16 pipes 16 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   29,  176,  153,    0, } , // 32 pipes 1 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   30,  177,  154,    0, } , // 32 pipes 2 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   31,  178,  155,    0, } , // 32 pipes 4 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   32,  179,  156,    0, } , // 32 pipes 8 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   33,  180,  157,    0, } , // 32 pipes 16 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   29,  131,  163,    0, } , // 64 pipes 1 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   30,  132,  164,    0, } , // 64 pipes 2 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   31,  133,  165,    0, } , // 64 pipes 4 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   32,  134,  166,    0, } , // 64 pipes 8 bpe @ SW_64K_S3_T @ Navi1x
+    {   3,   33,  135,  167,    0, } , // 64 pipes 16 bpe @ SW_64K_S3_T @ Navi1x
 };
 
-const UINT_64 SW_64K_D_T[][16]=
+const ADDR_SW_PATINFO SW_64K_D3_X_PATINFO[] =
 {
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X3,        X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2 ^ Y2,        X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X4,        X3 ^ Y3,        Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X3,        X2 ^ Y3,        Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X5,        X3 ^ Y4,        Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X4,        X2 ^ Y4,        X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X7,        X4 ^ Y7,        Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X6,        X3 ^ Y6,        Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X6,        X3 ^ Y5,        Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X5,        X2 ^ Y5,        Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y5,        Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y4,        Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y4,        Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y3,        Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y3,        Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y4,        Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y4,        X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y5,        Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             X7 ^ Y7,        X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6 ^ X7,        X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             X6 ^ Y6,        X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X6,        X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             X5 ^ Y5,        X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             X7 ^ Y7,        X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6 ^ X7,        X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             X6 ^ Y6,        X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X6,        X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             X5 ^ Y5,        X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
+    {   1,   34,  131,  148,    0, } , // 1 pipes 1 bpe @ SW_64K_D3_X @ Navi1x
+    {   1,   35,  132,  149,    0, } , // 1 pipes 2 bpe @ SW_64K_D3_X @ Navi1x
+    {   1,   36,  133,  150,    0, } , // 1 pipes 4 bpe @ SW_64K_D3_X @ Navi1x
+    {   1,   37,  134,  151,    0, } , // 1 pipes 8 bpe @ SW_64K_D3_X @ Navi1x
+    {   1,   38,  135,  152,    0, } , // 1 pipes 16 bpe @ SW_64K_D3_X @ Navi1x
+    {   2,   34,  181,  148,    0, } , // 2 pipes 1 bpe @ SW_64K_D3_X @ Navi1x
+    {   2,   35,  182,  149,    0, } , // 2 pipes 2 bpe @ SW_64K_D3_X @ Navi1x
+    {   2,   36,  183,  150,    0, } , // 2 pipes 4 bpe @ SW_64K_D3_X @ Navi1x
+    {   2,   37,  184,  168,    0, } , // 2 pipes 8 bpe @ SW_64K_D3_X @ Navi1x
+    {   2,   38,  185,  169,    0, } , // 2 pipes 16 bpe @ SW_64K_D3_X @ Navi1x
+    {   2,   34,  186,  170,    0, } , // 4 pipes 1 bpe @ SW_64K_D3_X @ Navi1x
+    {   2,   35,  186,  171,    0, } , // 4 pipes 2 bpe @ SW_64K_D3_X @ Navi1x
+    {   2,   36,  187,  172,    0, } , // 4 pipes 4 bpe @ SW_64K_D3_X @ Navi1x
+    {   2,   37,  188,  169,    0, } , // 4 pipes 8 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   38,  189,  169,    0, } , // 4 pipes 16 bpe @ SW_64K_D3_X @ Navi1x
+    {   2,   34,  190,  173,    0, } , // 8 pipes 1 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   35,  191,  171,    0, } , // 8 pipes 2 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   36,  192,  172,    0, } , // 8 pipes 4 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   37,  193,  169,    0, } , // 8 pipes 8 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   38,  194,  169,    0, } , // 8 pipes 16 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   34,  195,  174,    0, } , // 16 pipes 1 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   35,  196,  171,    0, } , // 16 pipes 2 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   36,  197,  172,    0, } , // 16 pipes 4 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   37,  198,  169,    0, } , // 16 pipes 8 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   38,  199,  169,    0, } , // 16 pipes 16 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   34,  200,  175,    0, } , // 32 pipes 1 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   35,  201,  176,    0, } , // 32 pipes 2 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   36,  202,  177,    0, } , // 32 pipes 4 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   37,  203,  178,    0, } , // 32 pipes 8 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   38,  204,  178,    0, } , // 32 pipes 16 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   34,  205,  179,    0, } , // 64 pipes 1 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   35,  206,  180,    0, } , // 64 pipes 2 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   36,  207,  181,    0, } , // 64 pipes 4 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   37,  208,  182,    0, } , // 64 pipes 8 bpe @ SW_64K_D3_X @ Navi1x
+    {   3,   38,  209,  182,    0, } , // 64 pipes 16 bpe @ SW_64K_D3_X @ Navi1x
 };
 
-const UINT_64 SW_64K_S_X[][16]=
+const ADDR_SW_PATINFO SW_256_S_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Z0 ^ Y2 ^ X3,   X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Z0 ^ X2 ^ Y2,   X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Z1 ^ Y2 ^ X4,   Z0 ^ X3 ^ Y3,   Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Z1 ^ Y2 ^ X3,   Z0 ^ X2 ^ Y3,   Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ Z2 ^ X5,   Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ Z2 ^ X4,   Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ Z3 ^ X5,   X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ Z4 ^ X7,   X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ Z4 ^ X7,   X3 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ Z4 ^ X6,   X2 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ Z5 ^ X9,   X4 ^ Z4 ^ Y9,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z5 ^ X9,   X4 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ Z5 ^ X8,   X3 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ Z5 ^ X8,   X3 ^ Z4 ^ Y7,   Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ Z5 ^ X7,   X2 ^ Z4 ^ Y7,   Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z0 ^ X3 ^ Y3,   Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             Z0 ^ X2 ^ Y3,   Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Z4 ^ Y9,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Z4 ^ Y7,   Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Z4 ^ Y7,   Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Z5 ^Y10,   Z4 ^ Y5 ^ X9,   Z3 ^ X5 ^ Y9,   Z2 ^ Y6 ^ X8,   Z1 ^ X6 ^ Y8,   Z0 ^ X7 ^ Y7,   X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Z5 ^ Y9,   Y4 ^ Z4 ^ X9,   Z3 ^ X5 ^ Y8,   Z2 ^ Y5 ^ X8,   Z1 ^ X6 ^ Y7,   Z0 ^ Y6 ^ X7,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Z5 ^ Y9,   Y4 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Z5 ^ Y8,   Y3 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Z5 ^ Y8,   Y3 ^ Z4 ^ X7,   X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z4 ^ Y5 ^ X9,   Z3 ^ X5 ^ Y9,   Z2 ^ Y6 ^ X8,   Z1 ^ X6 ^ Y8,   Z0 ^ X7 ^ Y7,   X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ Z4 ^ X9,   Z3 ^ X5 ^ Y8,   Z2 ^ Y5 ^ X8,   Z1 ^ X6 ^ Y7,   Z0 ^ Y6 ^ X7,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ Z4 ^ X7,   X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ Z5 ^X10,   Z4 ^ X5 ^Y10,   Z3 ^ Y6 ^ X9,   Z2 ^ X6 ^ Y9,   Z1 ^ Y7 ^ X8,   Z0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ Z5 ^X10,   Z4 ^ X5 ^ Y9,   Z3 ^ Y5 ^ X9,   Z2 ^ X6 ^ Y8,   Z1 ^ Y6 ^ X8,   Z0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ Z5 ^ X9,   X4 ^ Z4 ^ Y9,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ Z5 ^ X9,   X4 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ Z5 ^ X8,   X3 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
+    {   1,    0,    0,    0,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_256_S @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_256_S @ RbPlus
+    {   1,    2,    0,    0,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_256_S @ RbPlus
+    {   1,    3,    0,    0,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_256_S @ RbPlus
+    {   1,    4,    0,    0,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_256_S @ RbPlus
+    {   1,    0,    0,    0,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_256_S @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_256_S @ RbPlus
+    {   1,    2,    0,    0,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_256_S @ RbPlus
+    {   1,    3,    0,    0,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_256_S @ RbPlus
+    {   1,    4,    0,    0,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_256_S @ RbPlus
+    {   1,    0,    0,    0,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_256_S @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_256_S @ RbPlus
+    {   1,    2,    0,    0,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_256_S @ RbPlus
+    {   1,    3,    0,    0,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_256_S @ RbPlus
+    {   1,    4,    0,    0,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_256_S @ RbPlus
+    {   1,    0,    0,    0,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_256_S @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_256_S @ RbPlus
+    {   1,    2,    0,    0,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_256_S @ RbPlus
+    {   1,    3,    0,    0,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_256_S @ RbPlus
+    {   1,    4,    0,    0,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_256_S @ RbPlus
+    {   1,    0,    0,    0,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_256_S @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_256_S @ RbPlus
+    {   1,    2,    0,    0,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_256_S @ RbPlus
+    {   1,    3,    0,    0,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_256_S @ RbPlus
+    {   1,    4,    0,    0,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_256_S @ RbPlus
+    {   1,    0,    0,    0,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_256_S @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_256_S @ RbPlus
+    {   1,    2,    0,    0,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_256_S @ RbPlus
+    {   1,    3,    0,    0,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_256_S @ RbPlus
+    {   1,    4,    0,    0,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_256_S @ RbPlus
+    {   1,    0,    0,    0,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_256_S @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_256_S @ RbPlus
+    {   1,    2,    0,    0,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_256_S @ RbPlus
+    {   1,    3,    0,    0,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_256_S @ RbPlus
+    {   1,    4,    0,    0,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_256_S @ RbPlus
+    {   1,    0,    0,    0,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_256_S @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_256_S @ RbPlus
+    {   1,    2,    0,    0,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_256_S @ RbPlus
+    {   1,    3,    0,    0,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_256_S @ RbPlus
+    {   1,    4,    0,    0,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_256_S @ RbPlus
+    {   1,    0,    0,    0,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_256_S @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_256_S @ RbPlus
+    {   1,    2,    0,    0,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_256_S @ RbPlus
+    {   1,    3,    0,    0,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_256_S @ RbPlus
+    {   1,    4,    0,    0,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_256_S @ RbPlus
+    {   1,    0,    0,    0,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_256_S @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_256_S @ RbPlus
+    {   1,    2,    0,    0,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_256_S @ RbPlus
+    {   1,    3,    0,    0,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_256_S @ RbPlus
+    {   1,    4,    0,    0,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_256_S @ RbPlus
+    {   1,    0,    0,    0,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_256_S @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_256_S @ RbPlus
+    {   1,    2,    0,    0,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_256_S @ RbPlus
+    {   1,    3,    0,    0,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_256_S @ RbPlus
+    {   1,    4,    0,    0,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_256_S @ RbPlus
+    {   1,    0,    0,    0,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_256_S @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_256_S @ RbPlus
+    {   1,    2,    0,    0,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_256_S @ RbPlus
+    {   1,    3,    0,    0,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_256_S @ RbPlus
+    {   1,    4,    0,    0,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_256_S @ RbPlus
+    {   1,    0,    0,    0,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_256_S @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_256_S @ RbPlus
+    {   1,    2,    0,    0,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_256_S @ RbPlus
+    {   1,    3,    0,    0,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_256_S @ RbPlus
+    {   1,    4,    0,    0,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_256_S @ RbPlus
+    {   1,    0,    0,    0,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_256_S @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_256_S @ RbPlus
+    {   1,    2,    0,    0,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_256_S @ RbPlus
+    {   1,    3,    0,    0,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_256_S @ RbPlus
+    {   1,    4,    0,    0,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_256_S @ RbPlus
+    {   1,    0,    0,    0,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_256_S @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_256_S @ RbPlus
+    {   1,    2,    0,    0,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_256_S @ RbPlus
+    {   1,    3,    0,    0,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_256_S @ RbPlus
+    {   1,    4,    0,    0,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_256_S @ RbPlus
 };
 
-const UINT_64 SW_64K_D_X[][16]=
+const ADDR_SW_PATINFO SW_256_D_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z0 ^ Y2 ^ X3,   X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z0 ^ X2 ^ Y2,   X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z1 ^ Y2 ^ X4,   Z0 ^ X3 ^ Y3,   Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ Y2 ^ X3,   Z0 ^ X2 ^ Y3,   Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ Z2 ^ X5,   Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ Z2 ^ X4,   Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ Z3 ^ X5,   X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ Z4 ^ X7,   X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ Z4 ^ X7,   X3 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ Z4 ^ X6,   X2 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ Z5 ^ X9,   X4 ^ Z4 ^ Y9,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z5 ^ X9,   X4 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ Z5 ^ X8,   X3 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ Z5 ^ X8,   X3 ^ Z4 ^ Y7,   Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ Z5 ^ X7,   X2 ^ Z4 ^ Y7,   Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z0 ^ X3 ^ Y3,   Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             Z0 ^ X2 ^ Y3,   Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Z4 ^ Y9,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Z4 ^ Y7,   Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Z4 ^ Y7,   Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Z5 ^Y10,   Z4 ^ Y5 ^ X9,   Z3 ^ X5 ^ Y9,   Z2 ^ Y6 ^ X8,   Z1 ^ X6 ^ Y8,   Z0 ^ X7 ^ Y7,   X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Z5 ^ Y9,   Y4 ^ Z4 ^ X9,   Z3 ^ X5 ^ Y8,   Z2 ^ Y5 ^ X8,   Z1 ^ X6 ^ Y7,   Z0 ^ Y6 ^ X7,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Z5 ^ Y9,   Y4 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Z5 ^ Y8,   Y3 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Z5 ^ Y8,   Y3 ^ Z4 ^ X7,   X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z4 ^ Y5 ^ X9,   Z3 ^ X5 ^ Y9,   Z2 ^ Y6 ^ X8,   Z1 ^ X6 ^ Y8,   Z0 ^ X7 ^ Y7,   X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ Z4 ^ X9,   Z3 ^ X5 ^ Y8,   Z2 ^ Y5 ^ X8,   Z1 ^ X6 ^ Y7,   Z0 ^ Y6 ^ X7,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ Z4 ^ X7,   X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ Z5 ^X10,   Z4 ^ X5 ^Y10,   Z3 ^ Y6 ^ X9,   Z2 ^ X6 ^ Y9,   Z1 ^ Y7 ^ X8,   Z0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ Z5 ^X10,   Z4 ^ X5 ^ Y9,   Z3 ^ Y5 ^ X9,   Z2 ^ X6 ^ Y8,   Z1 ^ Y6 ^ X8,   Z0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ Z5 ^ X9,   X4 ^ Z4 ^ Y9,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ Z5 ^ X9,   X4 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ Z5 ^ X8,   X3 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
+    {   1,    5,    0,    0,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_256_D @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_256_D @ RbPlus
+    {   1,   39,    0,    0,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_256_D @ RbPlus
+    {   1,    6,    0,    0,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_256_D @ RbPlus
+    {   1,    7,    0,    0,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_256_D @ RbPlus
+    {   1,    5,    0,    0,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_256_D @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_256_D @ RbPlus
+    {   1,   39,    0,    0,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_256_D @ RbPlus
+    {   1,    6,    0,    0,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_256_D @ RbPlus
+    {   1,    7,    0,    0,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_256_D @ RbPlus
+    {   1,    5,    0,    0,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_256_D @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_256_D @ RbPlus
+    {   1,   39,    0,    0,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_256_D @ RbPlus
+    {   1,    6,    0,    0,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_256_D @ RbPlus
+    {   1,    7,    0,    0,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_256_D @ RbPlus
+    {   1,    5,    0,    0,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_256_D @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_256_D @ RbPlus
+    {   1,   39,    0,    0,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_256_D @ RbPlus
+    {   1,    6,    0,    0,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_256_D @ RbPlus
+    {   1,    7,    0,    0,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_256_D @ RbPlus
+    {   1,    5,    0,    0,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_256_D @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_256_D @ RbPlus
+    {   1,   39,    0,    0,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_256_D @ RbPlus
+    {   1,    6,    0,    0,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_256_D @ RbPlus
+    {   1,    7,    0,    0,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_256_D @ RbPlus
+    {   1,    5,    0,    0,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_256_D @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_256_D @ RbPlus
+    {   1,   39,    0,    0,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_256_D @ RbPlus
+    {   1,    6,    0,    0,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_256_D @ RbPlus
+    {   1,    7,    0,    0,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_256_D @ RbPlus
+    {   1,    5,    0,    0,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_256_D @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_256_D @ RbPlus
+    {   1,   39,    0,    0,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_256_D @ RbPlus
+    {   1,    6,    0,    0,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_256_D @ RbPlus
+    {   1,    7,    0,    0,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_256_D @ RbPlus
+    {   1,    5,    0,    0,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_256_D @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_256_D @ RbPlus
+    {   1,   39,    0,    0,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_256_D @ RbPlus
+    {   1,    6,    0,    0,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_256_D @ RbPlus
+    {   1,    7,    0,    0,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_256_D @ RbPlus
+    {   1,    5,    0,    0,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_256_D @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_256_D @ RbPlus
+    {   1,   39,    0,    0,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_256_D @ RbPlus
+    {   1,    6,    0,    0,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_256_D @ RbPlus
+    {   1,    7,    0,    0,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_256_D @ RbPlus
+    {   1,    5,    0,    0,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_256_D @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_256_D @ RbPlus
+    {   1,   39,    0,    0,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_256_D @ RbPlus
+    {   1,    6,    0,    0,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_256_D @ RbPlus
+    {   1,    7,    0,    0,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_256_D @ RbPlus
+    {   1,    5,    0,    0,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_256_D @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_256_D @ RbPlus
+    {   1,   39,    0,    0,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_256_D @ RbPlus
+    {   1,    6,    0,    0,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_256_D @ RbPlus
+    {   1,    7,    0,    0,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_256_D @ RbPlus
+    {   1,    5,    0,    0,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_256_D @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_256_D @ RbPlus
+    {   1,   39,    0,    0,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_256_D @ RbPlus
+    {   1,    6,    0,    0,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_256_D @ RbPlus
+    {   1,    7,    0,    0,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_256_D @ RbPlus
+    {   1,    5,    0,    0,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_256_D @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_256_D @ RbPlus
+    {   1,   39,    0,    0,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_256_D @ RbPlus
+    {   1,    6,    0,    0,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_256_D @ RbPlus
+    {   1,    7,    0,    0,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_256_D @ RbPlus
+    {   1,    5,    0,    0,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_256_D @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_256_D @ RbPlus
+    {   1,   39,    0,    0,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_256_D @ RbPlus
+    {   1,    6,    0,    0,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_256_D @ RbPlus
+    {   1,    7,    0,    0,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_256_D @ RbPlus
+    {   1,    5,    0,    0,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_256_D @ RbPlus
+    {   1,    1,    0,    0,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_256_D @ RbPlus
+    {   1,   39,    0,    0,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_256_D @ RbPlus
+    {   1,    6,    0,    0,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_256_D @ RbPlus
+    {   1,    7,    0,    0,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_256_D @ RbPlus
 };
 
-const UINT_64 SW_64K_R_X_1xaa[][16]=
+const ADDR_SW_PATINFO SW_4K_S_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z0 ^ X3 ^ Y3,   X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z0 ^ X3 ^ Y3,   X3,             Y2,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z0 ^ X3 ^ Y3,   X2,             Y2,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2,             X3,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2,             X2,             Y3,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X4,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y2,             X4,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X2,             Y2,             X3,             Y4,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y4,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X4,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2,             X3,             Y4,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2,             X2,             Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X4,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3,             Y4,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y2,             X3,             Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2,             Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y4,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X4,             Z0 ^ X3 ^ Y3,   Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Z0 ^ X3 ^ Y3,   Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Z0 ^ X3 ^ Y3,   Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Z0 ^ X3 ^ Y3,   Y2,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X3 ^ Y3,   Y2,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y5,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X3,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X2,             Y3,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X5,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y4,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             X4,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             X3,             Y4,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y6,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X4,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3,             Y4,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X2,             Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X6,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y4,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3,             Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y7,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X4,             Y5,             Z0 ^ X3 ^ Y3,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Y4,             Z0 ^ X3 ^ Y3,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y2,             Z0 ^ X3 ^ Y3,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y5,             X5,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             X5,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X5,             Y6,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Y5,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X4,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y6,             X6,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             X6,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y4,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X6,             Y7,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Y6,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Y4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y7,             X7,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             X7,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X4,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y3,             X4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+    {   1,    0,    1,    0,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_4K_S @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_4K_S @ RbPlus
+    {   1,    2,    3,    0,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_4K_S @ RbPlus
+    {   1,    3,    4,    0,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_4K_S @ RbPlus
+    {   1,    4,    5,    0,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_4K_S @ RbPlus
+    {   1,    0,    1,    0,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_4K_S @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_4K_S @ RbPlus
+    {   1,    2,    3,    0,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_4K_S @ RbPlus
+    {   1,    3,    4,    0,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_4K_S @ RbPlus
+    {   1,    4,    5,    0,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_4K_S @ RbPlus
+    {   1,    0,    1,    0,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_4K_S @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_4K_S @ RbPlus
+    {   1,    2,    3,    0,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_4K_S @ RbPlus
+    {   1,    3,    4,    0,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_4K_S @ RbPlus
+    {   1,    4,    5,    0,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_4K_S @ RbPlus
+    {   1,    0,    1,    0,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_4K_S @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_4K_S @ RbPlus
+    {   1,    2,    3,    0,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_4K_S @ RbPlus
+    {   1,    3,    4,    0,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_4K_S @ RbPlus
+    {   1,    4,    5,    0,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_4K_S @ RbPlus
+    {   1,    0,    1,    0,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_4K_S @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_4K_S @ RbPlus
+    {   1,    2,    3,    0,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_4K_S @ RbPlus
+    {   1,    3,    4,    0,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_4K_S @ RbPlus
+    {   1,    4,    5,    0,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_4K_S @ RbPlus
+    {   1,    0,    1,    0,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_4K_S @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_4K_S @ RbPlus
+    {   1,    2,    3,    0,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_4K_S @ RbPlus
+    {   1,    3,    4,    0,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_4K_S @ RbPlus
+    {   1,    4,    5,    0,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_4K_S @ RbPlus
+    {   1,    0,    1,    0,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_4K_S @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_4K_S @ RbPlus
+    {   1,    2,    3,    0,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_4K_S @ RbPlus
+    {   1,    3,    4,    0,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_4K_S @ RbPlus
+    {   1,    4,    5,    0,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_4K_S @ RbPlus
+    {   1,    0,    1,    0,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_4K_S @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_4K_S @ RbPlus
+    {   1,    2,    3,    0,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_4K_S @ RbPlus
+    {   1,    3,    4,    0,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_4K_S @ RbPlus
+    {   1,    4,    5,    0,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_4K_S @ RbPlus
+    {   1,    0,    1,    0,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_4K_S @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_4K_S @ RbPlus
+    {   1,    2,    3,    0,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_4K_S @ RbPlus
+    {   1,    3,    4,    0,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_4K_S @ RbPlus
+    {   1,    4,    5,    0,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_4K_S @ RbPlus
+    {   1,    0,    1,    0,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_4K_S @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_4K_S @ RbPlus
+    {   1,    2,    3,    0,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_4K_S @ RbPlus
+    {   1,    3,    4,    0,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_4K_S @ RbPlus
+    {   1,    4,    5,    0,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_4K_S @ RbPlus
+    {   1,    0,    1,    0,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_4K_S @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_4K_S @ RbPlus
+    {   1,    2,    3,    0,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_4K_S @ RbPlus
+    {   1,    3,    4,    0,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_4K_S @ RbPlus
+    {   1,    4,    5,    0,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_4K_S @ RbPlus
+    {   1,    0,    1,    0,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_4K_S @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_4K_S @ RbPlus
+    {   1,    2,    3,    0,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_4K_S @ RbPlus
+    {   1,    3,    4,    0,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_4K_S @ RbPlus
+    {   1,    4,    5,    0,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_4K_S @ RbPlus
+    {   1,    0,    1,    0,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_4K_S @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_4K_S @ RbPlus
+    {   1,    2,    3,    0,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_4K_S @ RbPlus
+    {   1,    3,    4,    0,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_4K_S @ RbPlus
+    {   1,    4,    5,    0,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_4K_S @ RbPlus
+    {   1,    0,    1,    0,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_4K_S @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_4K_S @ RbPlus
+    {   1,    2,    3,    0,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_4K_S @ RbPlus
+    {   1,    3,    4,    0,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_4K_S @ RbPlus
+    {   1,    4,    5,    0,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_4K_S @ RbPlus
+    {   1,    0,    1,    0,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_4K_S @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_4K_S @ RbPlus
+    {   1,    2,    3,    0,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_4K_S @ RbPlus
+    {   1,    3,    4,    0,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_4K_S @ RbPlus
+    {   1,    4,    5,    0,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_4K_S @ RbPlus
 };
 
-const UINT_64 SW_64K_R_X_2xaa[][16]=
+const ADDR_SW_PATINFO SW_4K_D_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             X5,             Y6,             X6,             Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z0 ^ X3 ^ Y3,   X4,             Y4,             X5,             Y5,             X6,             Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5,             Y6,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z0 ^ X3 ^ Y3,   X3,             Y2,             X4,             Y4,             X5,             Y5,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z0 ^ X3 ^ Y3,   X2,             Y2,             X3,             Y4,             X4,             Y5,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X5,             Y6,             X6,             Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6,             Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             X5,             Y6,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2,             X3,             Y4,             X5,             Y5,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2,             X2,             Y3,             X4,             Y5,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X4,             Y5,             X6,             Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             X5,             Y6,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y2,             X4,             Y5,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X2,             Y2,             X3,             Y4,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y4,             X6,             Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X4,             Y6,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2,             X3,             Y4,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   Y2,             X2,             Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X4,             Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3,             Y4,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   Y2,             X3,             Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2,             Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z5 ^ X6 ^ Y7,   Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z5 ^ X6 ^ Y7,   Y4,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X3,             Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X4,             Z0 ^ X3 ^ Y3,   Y5,             X5,             Y6,             X6,             Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Z0 ^ X3 ^ Y3,   Y4,             X5,             Y5,             X6,             Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Z0 ^ X3 ^ Y3,   Y4,             X4,             Y5,             X5,             Y6,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Z0 ^ X3 ^ Y3,   Y2,             X4,             Y4,             X5,             Y5,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X3 ^ Y3,   Y2,             X3,             Y4,             X4,             Y5,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y5,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X5,             Y6,             X6,             Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X5,             Y5,             X6,             Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X3,             Y4,             X5,             Y5,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X2,             Y3,             X4,             Y5,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X5,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y6,             X6,             Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y4,             X5,             Y6,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             X4,             Y5,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             X3,             Y4,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y6,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6,             Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6,             Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X4,             Y6,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3,             Y4,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   X2,             Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X6,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y4,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X3,             Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y7,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z5 ^ X6 ^ Y7,   S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z5 ^ X6 ^ Y7,   S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7,   X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X4,             Y5,             Z0 ^ X3 ^ Y3,   X5,             Y6,             X6,             Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Y4,             Z0 ^ X3 ^ Y3,   X5,             Y5,             X6,             Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             X5,             Y6,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y2,             Z0 ^ X3 ^ Y3,   X4,             Y4,             X5,             Y5,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y5,             X5,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y6,             X6,             Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             X5,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X6,             Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X5,             Y6,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X5,             Y6,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X6,             Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Y5,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X6,             Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             Y6,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X4,             Y5,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y6,             X6,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y7,             S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             X6,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y4,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X6,             Y7,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   S0 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Y6,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Y4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y7,             S0 ^ Y8,        X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z5 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             S0 ^ Y7,        X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z5 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y3,             X4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+    {   1,    5,    1,    0,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_4K_D @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_4K_D @ RbPlus
+    {   1,   39,    3,    0,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_4K_D @ RbPlus
+    {   1,    6,    4,    0,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_4K_D @ RbPlus
+    {   1,    7,    5,    0,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_4K_D @ RbPlus
+    {   1,    5,    1,    0,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_4K_D @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_4K_D @ RbPlus
+    {   1,   39,    3,    0,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_4K_D @ RbPlus
+    {   1,    6,    4,    0,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_4K_D @ RbPlus
+    {   1,    7,    5,    0,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_4K_D @ RbPlus
+    {   1,    5,    1,    0,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_4K_D @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_4K_D @ RbPlus
+    {   1,   39,    3,    0,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_4K_D @ RbPlus
+    {   1,    6,    4,    0,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_4K_D @ RbPlus
+    {   1,    7,    5,    0,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_4K_D @ RbPlus
+    {   1,    5,    1,    0,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_4K_D @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_4K_D @ RbPlus
+    {   1,   39,    3,    0,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_4K_D @ RbPlus
+    {   1,    6,    4,    0,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_4K_D @ RbPlus
+    {   1,    7,    5,    0,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_4K_D @ RbPlus
+    {   1,    5,    1,    0,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_4K_D @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_4K_D @ RbPlus
+    {   1,   39,    3,    0,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_4K_D @ RbPlus
+    {   1,    6,    4,    0,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_4K_D @ RbPlus
+    {   1,    7,    5,    0,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_4K_D @ RbPlus
+    {   1,    5,    1,    0,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_4K_D @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_4K_D @ RbPlus
+    {   1,   39,    3,    0,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_4K_D @ RbPlus
+    {   1,    6,    4,    0,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_4K_D @ RbPlus
+    {   1,    7,    5,    0,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_4K_D @ RbPlus
+    {   1,    5,    1,    0,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_4K_D @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_4K_D @ RbPlus
+    {   1,   39,    3,    0,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_4K_D @ RbPlus
+    {   1,    6,    4,    0,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_4K_D @ RbPlus
+    {   1,    7,    5,    0,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_4K_D @ RbPlus
+    {   1,    5,    1,    0,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_4K_D @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_4K_D @ RbPlus
+    {   1,   39,    3,    0,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_4K_D @ RbPlus
+    {   1,    6,    4,    0,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_4K_D @ RbPlus
+    {   1,    7,    5,    0,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_4K_D @ RbPlus
+    {   1,    5,    1,    0,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_4K_D @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_4K_D @ RbPlus
+    {   1,   39,    3,    0,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_4K_D @ RbPlus
+    {   1,    6,    4,    0,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_4K_D @ RbPlus
+    {   1,    7,    5,    0,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_4K_D @ RbPlus
+    {   1,    5,    1,    0,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_4K_D @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_4K_D @ RbPlus
+    {   1,   39,    3,    0,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_4K_D @ RbPlus
+    {   1,    6,    4,    0,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_4K_D @ RbPlus
+    {   1,    7,    5,    0,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_4K_D @ RbPlus
+    {   1,    5,    1,    0,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_4K_D @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_4K_D @ RbPlus
+    {   1,   39,    3,    0,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_4K_D @ RbPlus
+    {   1,    6,    4,    0,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_4K_D @ RbPlus
+    {   1,    7,    5,    0,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_4K_D @ RbPlus
+    {   1,    5,    1,    0,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_4K_D @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_4K_D @ RbPlus
+    {   1,   39,    3,    0,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_4K_D @ RbPlus
+    {   1,    6,    4,    0,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_4K_D @ RbPlus
+    {   1,    7,    5,    0,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_4K_D @ RbPlus
+    {   1,    5,    1,    0,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_4K_D @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_4K_D @ RbPlus
+    {   1,   39,    3,    0,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_4K_D @ RbPlus
+    {   1,    6,    4,    0,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_4K_D @ RbPlus
+    {   1,    7,    5,    0,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_4K_D @ RbPlus
+    {   1,    5,    1,    0,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_4K_D @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_4K_D @ RbPlus
+    {   1,   39,    3,    0,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_4K_D @ RbPlus
+    {   1,    6,    4,    0,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_4K_D @ RbPlus
+    {   1,    7,    5,    0,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_4K_D @ RbPlus
+    {   1,    5,    1,    0,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_4K_D @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_4K_D @ RbPlus
+    {   1,   39,    3,    0,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_4K_D @ RbPlus
+    {   1,    6,    4,    0,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_4K_D @ RbPlus
+    {   1,    7,    5,    0,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_4K_D @ RbPlus
 };
 
-const UINT_64 SW_64K_R_X_4xaa[][16]=
+const ADDR_SW_PATINFO SW_4K_S_X_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             S0 ^ Y5,        S1 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             S0 ^ Y5,        S1 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             X5,             Y6,             X6,             S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z0 ^ X3 ^ Y3,   X4,             Y4,             X5,             Y5,             X6,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z0 ^ X3 ^ Y3,   X3,             Y2,             X4,             Y4,             X5,             S0 ^ Y5,        S1 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z0 ^ X3 ^ Y3,   X2,             Y2,             X3,             Y4,             X4,             S0 ^ Y5,        S1 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X5,             Y6,             X6,             S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             X5,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2,             X3,             Y4,             X5,             S0 ^ Y5,        S1 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2,             X2,             Y3,             X4,             S0 ^ Y5,        S1 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X4,             Y5,             X6,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             X5,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             X3,             Y4,             S0 ^ Y5,        S1 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S1 ^ X5 ^ Y5,   X2,             Y2,             X3,             Y4,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y4,             X6,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X4,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2,             X3,             Y4,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   Y2,             X2,             Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z4 ^ X6 ^ Y6,   X6,             S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z4 ^ X6 ^ Y6,   Y4,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   X3,             Y4,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   Y2,             X3,             Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2,             Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Z5 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7,   S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7,   Y4,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X3,             Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             S0 ^ Y5,        S1 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             S0 ^ Y5,        S1 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X4,             Z0 ^ X3 ^ Y3,   Y5,             X5,             Y6,             X6,             S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Z0 ^ X3 ^ Y3,   Y4,             X5,             Y5,             X6,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Z0 ^ X3 ^ Y3,   Y4,             X4,             Y5,             X5,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Z0 ^ X3 ^ Y3,   Y2,             X4,             Y4,             X5,             S0 ^ Y5,        S1 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X3 ^ Y3,   Y2,             X3,             Y4,             X4,             S0 ^ Y5,        S1 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y5,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X5,             Y6,             X6,             S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X5,             Y5,             X6,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X3,             Y4,             X5,             S0 ^ Y5,        S1 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X2,             Y3,             X4,             S0 ^ Y5,        S1 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X5,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y6,             X6,             S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y5,             X6,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y4,             X5,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             S0 ^ Y5,        S1 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S1 ^ X5 ^ Y5,   Y2,             X3,             Y4,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y6,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6,             S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X4,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3,             Y4,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   X2,             Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X6,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z4 ^ X6 ^ Y6,   S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z4 ^ X6 ^ Y6,   S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   Y4,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X3,             Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             S0 ^ Y7,        X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Z5 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7,   S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7,   S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7,   X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             S0 ^ Y5,        S1 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             S0 ^ Y5,        S1 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X4,             Y5,             Z0 ^ X3 ^ Y3,   X5,             Y6,             X6,             S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Y4,             Z0 ^ X3 ^ Y3,   X5,             Y5,             X6,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             X5,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y2,             Z0 ^ X3 ^ Y3,   X4,             Y4,             X5,             S0 ^ Y5,        S1 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             S0 ^ Y5,        S1 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y5,             X5,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y6,             X6,             S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             X5,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X6,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X5,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y4,             X5,             S0 ^ Y5,        S1 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             S0 ^ Y5,        S1 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X5,             Y6,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X6,             S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Y5,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X6,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y4,             S0 ^ Y5,        S1 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S1 ^ X5 ^ Y5,   X3,             Y4,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y6,             X6,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             X6,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y4,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   Y3,             X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X6,             S0 ^ Y7,        X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z4 ^ X6 ^ Y6,   S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             S0 ^ Y6,        X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z4 ^ X6 ^ Y6,   S1 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X4              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             S0 ^ Y7,        S1 ^ Y8,        X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Z5 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             S0 ^ Y7,        X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+    {   1,    0,    1,    0,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_4K_S_X @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_4K_S_X @ RbPlus
+    {   1,    2,    3,    0,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_4K_S_X @ RbPlus
+    {   1,    3,    4,    0,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_4K_S_X @ RbPlus
+    {   1,    4,    5,    0,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    0,    6,    0,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    1,    7,    0,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    2,    8,    0,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    3,    9,    0,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    4,   10,    0,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    0,  210,    0,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    1,  211,    0,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    2,  212,    0,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    3,  213,    0,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    4,  214,    0,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    0,  215,    0,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    1,  216,    0,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    2,  217,    0,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    3,  218,    0,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    4,  219,    0,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    0,   11,    0,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    1,   12,    0,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    2,   13,    0,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    3,   14,    0,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    4,   15,    0,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    0,  220,    0,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    1,  221,    0,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    2,  222,    0,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    3,  223,    0,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    4,  224,    0,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    0,  225,    0,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    1,  226,    0,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    2,  227,    0,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    3,  228,    0,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    4,  229,    0,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    0,   16,    0,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    1,   17,    0,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    2,   18,    0,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    3,   19,    0,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    4,   20,    0,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    0,  230,    0,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    1,  231,    0,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    2,  232,    0,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    3,  233,    0,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    4,  234,    0,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    0,  235,    0,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    1,  236,    0,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    2,  237,    0,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    3,  238,    0,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    4,  239,    0,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    0,   21,    0,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    1,   22,    0,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    2,   23,    0,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    3,   24,    0,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    4,   25,    0,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    0,  240,    0,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    1,  241,    0,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    2,  242,    0,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    3,  243,    0,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    4,  244,    0,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    0,  245,    0,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    1,  246,    0,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    2,  247,    0,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    3,  248,    0,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    4,  249,    0,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    0,   21,    0,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    1,   22,    0,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    2,   23,    0,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    3,   24,    0,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    4,   25,    0,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    0,  240,    0,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    1,  241,    0,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    2,  242,    0,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    3,  243,    0,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_4K_S_X @ RbPlus
+    {   3,    4,  244,    0,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_4K_S_X @ RbPlus
 };
 
-const UINT_64 SW_64K_R_X_8xaa[][16]=
+const ADDR_SW_PATINFO SW_4K_D_X_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             S0 ^ Y7,        S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             X5,             Y6,             S0 ^ Y7,        S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z0 ^ X3 ^ Y3,   X4,             Y4,             X5,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z0 ^ X3 ^ Y3,   X3,             Y2,             X4,             Y4,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z0 ^ X3 ^ Y3,   X2,             Y2,             X3,             Y4,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X5,             Y6,             S0 ^ Y7,        S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2,             X3,             Y4,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X2,             Y2,             X3,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             Y6,             S0 ^ Y7,        S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X4,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ X5 ^ Y5,   Y2,             X3,             Y4,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ X5 ^ Y5,   X2,             Y2,             X3,             S0 ^ Y6,        S1 ^ Y7         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z3 ^ X5 ^ Y6,   Y6,             S0 ^ Y7,        S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z3 ^ X5 ^ Y6,   Y4,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S2 ^ X5 ^ Y6,   Y3,             X4,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X6,   S1 ^ X5 ^ Y6,   Y2,             X3,             Y4,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X6,   S1 ^ X5 ^ Y6,   X2,             Y2,             X3,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z4 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   S0 ^ Y7,        S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   S2 ^ X6 ^ Y6,   Y4,             S0 ^ Y7,        S1 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S2 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   X3,             Y4,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X7,   S1 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   Y2,             X3,             Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X7,   S1 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X2,             Y2,             X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z4 ^ X5 ^ Y8,   Z3 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7,   S0 ^ Y7,        S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   S2 ^ Y6 ^ X7,   S1 ^ X6 ^ Y7,   Y4,             S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S2 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X8,   S1 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X3,             Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X8,   S1 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y2,             X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             S0 ^ Y7,        S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X4,             Z0 ^ X3 ^ Y3,   Y5,             X5,             Y6,             S0 ^ Y7,        S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Z0 ^ X3 ^ Y3,   Y4,             X5,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Z0 ^ X3 ^ Y3,   Y4,             X4,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Z0 ^ X3 ^ Y3,   Y2,             X4,             Y4,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X3 ^ Y3,   Y2,             X3,             Y4,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y5,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X5,             Y6,             S0 ^ Y7,        S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X5,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X4,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X3,             Y4,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2,             X3,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X5,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y6,             S0 ^ Y7,        S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y4,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ X5 ^ Y5,   X3,             Y4,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ X5 ^ Y5,   Y2,             X3,             S0 ^ Y6,        S1 ^ Y7         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y6,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z3 ^ X5 ^ Y6,   S0 ^ Y7,        S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z3 ^ X5 ^ Y6,   S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S2 ^ X5 ^ Y6,   X4,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X6,   S1 ^ X5 ^ Y6,   X3,             Y4,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X6,   S1 ^ X5 ^ Y6,   Y2,             X3,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             S0 ^ Y7,        Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z4 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   S2 ^ X6 ^ Y6,   S0 ^ Y7,        S1 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S2 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   Y4,             S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X7,   S1 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X3,             Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X7,   S1 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   Y2,             X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             S0 ^ Y7,        Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z4 ^ X5 ^ Y8,   Z3 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7,   S1 ^ Y8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   S2 ^ Y6 ^ X7,   S1 ^ X6 ^ Y7,   S0 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S2 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7,   X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X8,   S1 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X8,   S1 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             S0 ^ Y7,        S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X4,             Y5,             Z0 ^ X3 ^ Y3,   X5,             Y6,             S0 ^ Y7,        S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Y4,             Z0 ^ X3 ^ Y3,   X5,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y2,             Z0 ^ X3 ^ Y3,   X4,             Y4,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y5,             X5,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y6,             S0 ^ Y7,        S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             X5,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y4,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X3,             S0 ^ Y5,        S1 ^ Y6,        S2 ^ Y7         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             X5,             Y6,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   S0 ^ Y7,        S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             X4,             Y5,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   S0 ^ Y6,        S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ X5 ^ Y5,   Y4,             S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ X5 ^ Y5,   X3,             S0 ^ Y6,        S1 ^ Y7         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             Y6,             S0 ^ Y7,        Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z3 ^ X5 ^ Y6,   S1 ^ Y8,        S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             S0 ^ Y6,        Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z3 ^ X5 ^ Y6,   S1 ^ Y7,        S2 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S2 ^ X5 ^ Y6,   S0 ^ Y6,        S1 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X6,   S1 ^ X5 ^ Y6,   Y4,             S0 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X6,   S1 ^ X5 ^ Y6,   X3,             S0 ^ Y6         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             S0 ^ Y7,        S1 ^ Y8,        Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z4 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   S2 ^ Y9         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             S0 ^ Y7,        Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   S2 ^ X6 ^ Y6,   S1 ^ Y8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S2 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   S0 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X7,   S1 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X7,   S1 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y4,             S0 ^ Y7,        S1 ^ Y8,        Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z4 ^ X5 ^ Y8,   Z3 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4,             S0 ^ Y7,        Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   S2 ^ Y6 ^ X7,   S1 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S2 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X8,   S1 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X8,   S1 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+    {   1,    5,    1,    0,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_4K_D_X @ RbPlus
+    {   1,    1,    2,    0,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_4K_D_X @ RbPlus
+    {   1,   39,    3,    0,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_4K_D_X @ RbPlus
+    {   1,    6,    4,    0,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_4K_D_X @ RbPlus
+    {   1,    7,    5,    0,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    5,    6,    0,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    1,    7,    0,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_4K_D_X @ RbPlus
+    {   3,   39,    8,    0,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    6,    9,    0,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    7,   10,    0,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    5,  210,    0,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    1,  211,    0,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_4K_D_X @ RbPlus
+    {   3,   39,  212,    0,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    6,  213,    0,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    7,  214,    0,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    5,  215,    0,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    1,  216,    0,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_4K_D_X @ RbPlus
+    {   3,   39,  217,    0,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    6,  218,    0,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    7,  219,    0,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    5,   11,    0,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    1,   12,    0,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_4K_D_X @ RbPlus
+    {   3,   39,   13,    0,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    6,   14,    0,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    7,   15,    0,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    5,  220,    0,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    1,  221,    0,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_4K_D_X @ RbPlus
+    {   3,   39,  222,    0,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    6,  223,    0,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    7,  224,    0,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    5,  225,    0,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    1,  226,    0,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_4K_D_X @ RbPlus
+    {   3,   39,  227,    0,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    6,  228,    0,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    7,  229,    0,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    5,   16,    0,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    1,   17,    0,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_4K_D_X @ RbPlus
+    {   3,   39,   18,    0,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    6,   19,    0,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    7,   20,    0,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    5,  230,    0,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    1,  231,    0,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_4K_D_X @ RbPlus
+    {   3,   39,  232,    0,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    6,  233,    0,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    7,  234,    0,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    5,  235,    0,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    1,  236,    0,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_4K_D_X @ RbPlus
+    {   3,   39,  237,    0,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    6,  238,    0,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    7,  239,    0,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    5,   21,    0,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    1,   22,    0,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_4K_D_X @ RbPlus
+    {   3,   39,   23,    0,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    6,   24,    0,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    7,   25,    0,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    5,  240,    0,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    1,  241,    0,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_4K_D_X @ RbPlus
+    {   3,   39,  242,    0,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    6,  243,    0,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    7,  244,    0,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    5,  245,    0,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    1,  246,    0,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_4K_D_X @ RbPlus
+    {   3,   39,  247,    0,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    6,  248,    0,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    7,  249,    0,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    5,   21,    0,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    1,   22,    0,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_4K_D_X @ RbPlus
+    {   3,   39,   23,    0,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    6,   24,    0,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    7,   25,    0,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    5,  240,    0,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    1,  241,    0,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_4K_D_X @ RbPlus
+    {   3,   39,  242,    0,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    6,  243,    0,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_4K_D_X @ RbPlus
+    {   3,    7,  244,    0,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_4K_D_X @ RbPlus
 };
 
-const UINT_64 SW_64K_Z_X_1xaa[][16]=
+const ADDR_SW_PATINFO SW_4K_S3_RBPLUS_PATINFO[] =
 {
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z0 ^ X3 ^ Y3,   X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y2,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z0 ^ X3 ^ Y3,   X2,             Y2,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2,             X3,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2,             X2,             Y3,             X4,             Y5,             X5              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X4,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y2,             X4,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X2,             Y2,             X3,             Y4,             X5              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y4,             X6,             Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X4,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2,             X3,             Y4,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2,             X2,             Y3,             X4              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X4,             Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3,             Y4,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y2,             X3,             Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2,             Y3,             X4              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y4,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3,             X4              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X4,             Z0 ^ X3 ^ Y3,   Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X4,             Z0 ^ X3 ^ Y3,   Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z0 ^ X3 ^ Y3,   Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Z0 ^ X3 ^ Y3,   Y2,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X3 ^ Y3,   Y2,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Y5,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X3,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X2,             Y3,             X4,             Y5,             X5              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X5,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y4,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             X4,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             X3,             Y4,             X5              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Y6,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X4,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3,             Y4,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X2,             Y3,             X4              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X6,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y4,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3,             Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3,             X4              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Y7,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X4              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X4,             Y5,             Z0 ^ X3 ^ Y3,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X4,             Y4,             Z0 ^ X3 ^ Y3,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Y2,             Z0 ^ X3 ^ Y3,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Y5,             X5,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X5,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             X5              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X5,             Y6,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X6,             Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X4,             Y5,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X6,             Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Y2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X4,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             X5              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Y6,             X6,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y7,             X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X6,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y4,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X4              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X6,             Y7,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X4,             Y6,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X4              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Y7,             X7,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X7,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X4,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y3,             X4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+    {   1,   29,  131,    0,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   30,  132,    0,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   31,  133,    0,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   32,  134,    0,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   33,  135,    0,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   29,  131,    0,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   30,  132,    0,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   31,  133,    0,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   32,  134,    0,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   33,  135,    0,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   29,  131,    0,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   30,  132,    0,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   31,  133,    0,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   32,  134,    0,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   33,  135,    0,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   29,  131,    0,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   30,  132,    0,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   31,  133,    0,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   32,  134,    0,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   33,  135,    0,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   29,  131,    0,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   30,  132,    0,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   31,  133,    0,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   32,  134,    0,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   33,  135,    0,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   29,  131,    0,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   30,  132,    0,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   31,  133,    0,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   32,  134,    0,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   33,  135,    0,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   29,  131,    0,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   30,  132,    0,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   31,  133,    0,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   32,  134,    0,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   33,  135,    0,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   29,  131,    0,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   30,  132,    0,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   31,  133,    0,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   32,  134,    0,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   33,  135,    0,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   29,  131,    0,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   30,  132,    0,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   31,  133,    0,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   32,  134,    0,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   33,  135,    0,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   29,  131,    0,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   30,  132,    0,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   31,  133,    0,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   32,  134,    0,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   33,  135,    0,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   29,  131,    0,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   30,  132,    0,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   31,  133,    0,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   32,  134,    0,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   33,  135,    0,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   29,  131,    0,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   30,  132,    0,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   31,  133,    0,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   32,  134,    0,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   33,  135,    0,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   29,  131,    0,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   30,  132,    0,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   31,  133,    0,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   32,  134,    0,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   33,  135,    0,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   29,  131,    0,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   30,  132,    0,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   31,  133,    0,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   32,  134,    0,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   33,  135,    0,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   29,  131,    0,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   30,  132,    0,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   31,  133,    0,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   32,  134,    0,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_4K_S3 @ RbPlus
+    {   1,   33,  135,    0,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_4K_S3 @ RbPlus
 };
 
-const UINT_64 SW_64K_Z_X_2xaa[][16]=
+const ADDR_SW_PATINFO SW_4K_S3_X_RBPLUS_PATINFO[] =
 {
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             Y1 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z0 ^ X3 ^ Y3,   Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Z0 ^ X3 ^ Y3,   X2,             X3,             Y4,             X4,             Y5,             X5,             Y2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Z0 ^ X3 ^ Y3,   X2,             Y2,             X3,             Y4,             X4,             Y5,             Y1 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y4,             Y5,             X5,             Y6,             X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X2,             Y3,             X4,             Y5,             X5,             Y2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2,             X2,             Y3,             X4,             Y5,             Y1 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y4,             X5,             Y6,             X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             X5,             Y6,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X2,             X3,             Y4,             X5,             Y2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X2,             Y2,             X3,             Y4,             Y1 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y4,             Y6,             X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X4,             Y6,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X4,             Y6,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X2,             Y3,             X4,             Y2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   Y1,             X3,             Y4,             X2 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y4,             X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3,             Y4,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3,             Y4,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3,             X4,             X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   X3,             Y4,             Y1 ^ Y7         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z5 ^ X6 ^ Y7,   Y4,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z5 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X3,             Y4              },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Y2 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Y1 ^ X6 ^ Y7,   X3,             Y4              },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             Y1 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             X5,             Y6,             X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z0 ^ X3 ^ Y3,   Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Z0 ^ X3 ^ Y3,   Y4,             X4,             Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5,             Y2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Z0 ^ X3 ^ Y3,   Y2,             X3,             Y4,             X4,             Y5,             Y1 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X5,             Y6,             X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             X5,             Y2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X2,             Y3,             X4,             Y5,             Y1 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y4,             X5,             Y6,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y4,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             X5,             Y2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             X3,             Y4,             Y1 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X4,             Y6,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X4,             Y6,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X4,             Y2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   X3,             Y4,             X2 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y4,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y4,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X4,             X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Y4,             Y1 ^ Y7         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z5 ^ X6 ^ Y7,   Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z5 ^ X6 ^ Y7,   X4              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   Y4              },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X4              },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Y2 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Y1 ^ X6 ^ Y7,   Y4              },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             Y1 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X4,             Z0 ^ X3 ^ Y3,   Y5,             X5,             Y6,             X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Z0 ^ X3 ^ Y3,   Y4,             X4,             Y5,             X5,             Y2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             Y1 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Y5,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X5,             Y6,             X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y2,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             Y1 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X5,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y6,             X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             Y6,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y4,             X5,             Y2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             Y1 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Y6,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X4,             Y2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   Y4,             X2 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X6,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y2 ^ Y7         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Y1 ^ Y7         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Y7,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z5 ^ X6 ^ Y7    },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z5 ^ X6 ^ Y7    },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Y2 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Y1 ^ X6 ^ Y7    },
+    {   1,   29,  131,    0,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_4K_S3_X @ RbPlus
+    {   1,   30,  132,    0,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_4K_S3_X @ RbPlus
+    {   1,   31,  133,    0,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_4K_S3_X @ RbPlus
+    {   1,   32,  134,    0,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_4K_S3_X @ RbPlus
+    {   1,   33,  135,    0,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   29,  136,    0,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   30,  137,    0,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   31,  138,    0,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   32,  139,    0,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   33,  140,    0,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   29,  141,    0,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   30,  142,    0,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   31,  143,    0,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   32,  144,    0,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   33,  145,    0,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   29,  146,    0,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   30,  147,    0,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   31,  148,    0,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   32,  149,    0,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   33,  150,    0,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   29,  141,    0,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   30,  142,    0,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   31,  143,    0,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   32,  144,    0,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   33,  145,    0,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   29,  146,    0,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   30,  147,    0,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   31,  148,    0,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   32,  149,    0,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   33,  150,    0,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   29,  151,    0,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   30,  152,    0,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   31,  153,    0,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   32,  154,    0,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   33,  155,    0,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   29,  146,    0,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   30,  147,    0,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   31,  148,    0,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   32,  149,    0,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   33,  150,    0,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   29,  151,    0,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   30,  152,    0,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   31,  153,    0,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   32,  154,    0,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   33,  155,    0,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   29,  151,    0,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   30,  152,    0,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   31,  153,    0,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   32,  154,    0,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   33,  155,    0,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   29,  151,    0,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   30,  152,    0,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   31,  153,    0,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   32,  154,    0,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   33,  155,    0,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   29,  151,    0,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   30,  152,    0,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   31,  153,    0,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   32,  154,    0,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   33,  155,    0,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   29,  151,    0,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   30,  152,    0,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   31,  153,    0,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   32,  154,    0,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   33,  155,    0,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   29,  151,    0,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   30,  152,    0,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   31,  153,    0,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   32,  154,    0,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   33,  155,    0,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   29,  151,    0,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   30,  152,    0,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   31,  153,    0,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   32,  154,    0,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_4K_S3_X @ RbPlus
+    {   3,   33,  155,    0,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_4K_S3_X @ RbPlus
 };
 
-const UINT_64 SW_64K_Z_X_4xaa[][16]=
+const ADDR_SW_PATINFO SW_64K_S_RBPLUS_PATINFO[] =
 {
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y1 ^ Y5,        X2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y1 ^ Y5,        X1 ^ Y6         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X3 ^ Y3,   X3,             X4,             Y4,             X5,             Y5,             X6,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5,             X2 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Z0 ^ X3 ^ Y3,   X3,             Y2,             X4,             Y4,             X5,             X2 ^ Y5,        Y1 ^ Y6         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Z0 ^ X3 ^ Y3,   X2,             Y2,             X3,             Y4,             X4,             X1 ^ Y5,        Y1 ^ Y6         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X3,             Y4,             X5,             Y5,             X6,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             X5,             Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2,             X3,             Y4,             X5,             Y1 ^ Y5,        X2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2,             X2,             Y3,             X4,             Y1 ^ Y5,        X1 ^ Y6         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             X5,             Y6,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             X4,             Y5,             X6,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             X5,             X2 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             X3,             Y4,             Y1 ^ Y5,        X2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ X5 ^ Y5,   X2,             Y3,             X4,             X1 ^ Y6,        Y1 ^ Y7         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X4,             Y6,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3,             Y4,             X6,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X4,             Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X4,             Y1 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   Y3,             X4,             Y1 ^ Y6,        X2 ^ Y7         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z4 ^ X6 ^ Y6,   X3,             Y4,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z4 ^ X6 ^ Y6,   X3,             Y4,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3,             X4,             X2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y1 ^ X6 ^ Y6,   Y3,             X4,             X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y1 ^ X6 ^ Y6,   Y3,             X4,             X2 ^ Y7         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Z5 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y1 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y1 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3,             X4              },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y1 ^ Y5,        X2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y1 ^ Y5,        X1 ^ Y6         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z0 ^ X3 ^ Y3,   Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Z0 ^ X3 ^ Y3,   X4,             Y4,             X5,             Y5,             X6,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Z0 ^ X3 ^ Y3,   Y4,             X4,             Y5,             X5,             X2 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Z0 ^ X3 ^ Y3,   Y2,             X4,             Y4,             X5,             X2 ^ Y5,        Y1 ^ Y6         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             Z0 ^ X3 ^ Y3,   Y2,             X3,             Y4,             X4,             X1 ^ Y5,        Y1 ^ Y6         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X3,             Y4,             X5,             Y1 ^ Y5,        X2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X2,             Y3,             X4,             Y1 ^ Y5,        X1 ^ Y6         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y4,             X5,             Y6,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X4,             Y5,             X6,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y4,             X5,             X2 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             Y1 ^ Y5,        X2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ X5 ^ Y5,   Y3,             X4,             X1 ^ Y6,        Y1 ^ Y7         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X4,             Y6,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y4,             X6,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X4,             Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X4,             Y1 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   X4,             Y1 ^ Y6,        X2 ^ Y7         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z4 ^ X6 ^ Y6,   Y4,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z4 ^ X6 ^ Y6,   Y4,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X4,             X2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y1 ^ X6 ^ Y6,   X4,             X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y1 ^ X6 ^ Y6,   X4,             X2 ^ Y7         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Z5 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7,   X4              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7,   X4              },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y3,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X4              },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y1 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X4              },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y1 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X4              },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y1 ^ Y5,        X2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y1 ^ Y5,        X1 ^ Y6         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             X4,             Z0 ^ X3 ^ Y3,   Y4,             X5,             Y5,             X6,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             X5,             X2 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y2,             Z0 ^ X3 ^ Y3,   X4,             Y4,             X5,             X2 ^ Y5,        Y1 ^ Y6         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             Y2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             X1 ^ Y5,        Y1 ^ Y6         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X5,             Y6,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X5,             Y5,             X6,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X5,             Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y1 ^ Y5,        X2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y2,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y1 ^ Y5,        X1 ^ Y6         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             X4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             X2 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y4,             Y1 ^ Y5,        X2 ^ Y6         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ X5 ^ Y5,   X4,             X1 ^ Y6,        Y1 ^ Y7         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6,             Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y3,             X4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y1 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   Y1 ^ Y6,        X2 ^ Y7         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z4 ^ X6 ^ Y6,   X6              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z4 ^ X6 ^ Y6,   Y2 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y3,             X4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y1 ^ X6 ^ Y6,   X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y1 ^ X6 ^ Y6,   X2 ^ Y7         },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Z5 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y3,             X4,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y3,             X4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y1 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y1 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+    {   1,    0,    1,    1,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_S @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_S @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_S @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_S @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_S @ RbPlus
+    {   1,    0,    1,    1,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_S @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_S @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_S @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_S @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_S @ RbPlus
+    {   1,    0,    1,    1,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_S @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_S @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_S @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_S @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_S @ RbPlus
+    {   1,    0,    1,    1,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_S @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_S @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_S @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_S @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_S @ RbPlus
+    {   1,    0,    1,    1,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_S @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_S @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_S @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_S @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_S @ RbPlus
+    {   1,    0,    1,    1,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_S @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_S @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_S @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_S @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_S @ RbPlus
+    {   1,    0,    1,    1,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_S @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_S @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_S @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_S @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_S @ RbPlus
+    {   1,    0,    1,    1,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_S @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_S @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_S @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_S @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_S @ RbPlus
+    {   1,    0,    1,    1,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_S @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_S @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_S @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_S @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_S @ RbPlus
+    {   1,    0,    1,    1,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_S @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_S @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_S @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_S @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_S @ RbPlus
+    {   1,    0,    1,    1,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_S @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_S @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_S @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_S @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_S @ RbPlus
+    {   1,    0,    1,    1,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_S @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_S @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_S @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_S @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_S @ RbPlus
+    {   1,    0,    1,    1,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_S @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_S @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_S @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_S @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_S @ RbPlus
+    {   1,    0,    1,    1,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_S @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_S @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_S @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_S @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_S @ RbPlus
+    {   1,    0,    1,    1,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_S @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_S @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_S @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_S @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_S @ RbPlus
 };
 
-const UINT_64 SW_64K_Z_X_8xaa[][16]=
+const ADDR_SW_PATINFO SW_64K_D_RBPLUS_PATINFO[] =
 {
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y3,             X3,             Y4,             X4,             Y5,             Y1 ^ Y6,        Y2 ^ Y7,        X2 ^ Y8         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X2,             Y3,             X3,             Y4,             X4,             Y1 ^ Y5,        X1 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y2,             X2,             Y3,             X3,             Y4,             Y0 ^ Y5,        Y1 ^ Y6,        X1 ^ Y7         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5,             X2 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             Y1 ^ Y6,        X2 ^ Y7,        Y2 ^ Y8         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Z0 ^ X3 ^ Y3,   Y2,             X3,             Y4,             X4,             X1 ^ Y5,        Y1 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Z0 ^ X3 ^ Y3,   X2,             Y2,             X3,             Y4,             Y0 ^ Y5,        X1 ^ Y6,        Y1 ^ Y7         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             X5,             Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y5,             Y1 ^ Y6,        Y2 ^ Y7,        X2 ^ Y8         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X2,             Y3,             X4,             Y1 ^ Y5,        X1 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X2,             Y2,             X3,             Y0 ^ Y5,        X1 ^ Y6,        Y1 ^ Y7         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             X5,             X2 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y4,             Y1 ^ Y6,        X2 ^ Y7,        Y2 ^ Y8         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ X5 ^ Y5,   Y3,             X4,             X1 ^ Y6,        Y1 ^ Y7,        X2 ^ Y8         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y0 ^ X5 ^ Y5,   Y2,             X3,             X1 ^ Y6,        Y1 ^ Y7,        X2 ^ Y8         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z3 ^ X5 ^ Y6,   Y3,             X4,             Y6,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z3 ^ X5 ^ Y6,   Y3,             X4,             Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   X3,             Y4,             X2 ^ Y6,        Y1 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   Y3,             X4,             Y1 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y0 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   X3,             Y1 ^ Y6,        X2 ^ Y7,        Y2 ^ Y8         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z4 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   X3,             Y4,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3,             X4,             X2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   X3,             Y4,             Y1 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y1 ^ X6 ^ Y6,   Y3,             X4,             X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y0 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3,             X2 ^ Y7,        Y1 ^ Y8         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z4 ^ X5 ^ Y8,   Z3 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X3,             Y4              },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Y2 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Y1 ^ X6 ^ Y7,   X3,             Y4              },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y1 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y0 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3,             Y1 ^ Y7         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y3,             X3,             Y4,             X4,             Y5,             Y1 ^ Y6,        Y2 ^ Y7,        X2 ^ Y8         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X2,             Y3,             X3,             Y4,             X4,             Y1 ^ Y5,        X1 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y2,             X2,             Y3,             X3,             Y4,             Y0 ^ Y5,        Y1 ^ Y6,        X1 ^ Y7         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Z0 ^ X3 ^ Y3,   Y4,             X4,             Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Z0 ^ X3 ^ Y3,   Y4,             X4,             Y5,             X5,             X2 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Z0 ^ X3 ^ Y3,   Y4,             X4,             Y5,             Y1 ^ Y6,        X2 ^ Y7,        Y2 ^ Y8         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             X1 ^ Y5,        Y1 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X2,             Z0 ^ X3 ^ Y3,   Y2,             X3,             Y4,             Y0 ^ Y5,        X1 ^ Y6,        Y1 ^ Y7         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X4,             Y5,             Y1 ^ Y6,        Y2 ^ Y7,        X2 ^ Y8         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y3,             X4,             Y1 ^ Y5,        X1 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2,             X3,             Y0 ^ Y5,        X1 ^ Y6,        Y1 ^ Y7         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y4,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y4,             X5,             X2 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y4,             Y1 ^ Y6,        X2 ^ Y7,        Y2 ^ Y8         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ X5 ^ Y5,   X4,             X1 ^ Y6,        Y1 ^ Y7,        X2 ^ Y8         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y0 ^ X5 ^ Y5,   X3,             X1 ^ Y6,        Y1 ^ Y7,        X2 ^ Y8         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z3 ^ X5 ^ Y6,   X4,             Y6,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z3 ^ X5 ^ Y6,   X4,             Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   Y4,             X2 ^ Y6,        Y1 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   X4,             Y1 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y0 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   Y1 ^ Y6,        X2 ^ Y7,        Y2 ^ Y8         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z4 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   Y4,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X4,             X2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Y4,             Y1 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y1 ^ X6 ^ Y6,   X4,             X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y0 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ Y7,        Y1 ^ Y8         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z4 ^ X5 ^ Y8,   Z3 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   Y4              },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X4              },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Y2 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Y1 ^ X6 ^ Y7,   Y4              },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y1 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X4              },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y0 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y1 ^ Y7         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y3,             X3,             Y4,             X4,             Y5,             Y1 ^ Y6,        Y2 ^ Y7,        X2 ^ Y8         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X2,             Y3,             X3,             Y4,             X4,             Y1 ^ Y5,        X1 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y2,             X2,             Y3,             X3,             Y4,             Y0 ^ Y5,        Y1 ^ Y6,        X1 ^ Y7         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             X5,             X2 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4,             Z0 ^ X3 ^ Y3,   X4,             Y5,             Y1 ^ Y6,        X2 ^ Y7,        Y2 ^ Y8         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y2,             X3,             Z0 ^ X3 ^ Y3,   Y4,             X4,             X1 ^ Y5,        Y1 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X2,             Y2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             Y0 ^ Y5,        X1 ^ Y6,        Y1 ^ Y7         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X5,             Y6,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             X5,             Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y5,             Y1 ^ Y6,        Y2 ^ Y7,        X2 ^ Y8         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X2,             Y3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X4,             Y1 ^ Y5,        X1 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X2,             Y2,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X3,             Y0 ^ Y5,        X1 ^ Y6,        Y1 ^ Y7         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             Y6,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             X2 ^ Y6,        Y2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y1 ^ Y6,        X2 ^ Y7,        Y2 ^ Y8         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ X5 ^ Y5,   X1 ^ Y6,        Y1 ^ Y7,        X2 ^ Y8         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y2,             X3,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y0 ^ X5 ^ Y5,   X1 ^ Y6,        Y1 ^ Y7,        X2 ^ Y8         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y3,             X4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z3 ^ X5 ^ Y6,   Y6,             Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y3,             X4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z3 ^ X5 ^ Y6,   Y2 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   X2 ^ Y6,        Y1 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   Y1 ^ Y6,        X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y1 ^ Y6,        Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y0 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   X2 ^ Y7,        Y2 ^ Y8         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z4 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   Y2 ^ Y7         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y3,             X4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ Y7         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Y1 ^ Y7         },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y1 ^ X6 ^ Y6,   X2 ^ Y7         },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             X2 ^ Y7,        Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y0 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y1 ^ Y8         },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z4 ^ X5 ^ Y8,   Z3 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y3,             X4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Y2 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Y1 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y3,             X4,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y2 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y1 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y1 ^ Y7,        Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y0 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+    {   1,    5,    1,    1,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_D @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_D @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_D @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_D @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_D @ RbPlus
+    {   1,    5,    1,    1,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_D @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_D @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_D @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_D @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_D @ RbPlus
+    {   1,    5,    1,    1,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_D @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_D @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_D @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_D @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_D @ RbPlus
+    {   1,    5,    1,    1,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_D @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_D @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_D @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_D @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_D @ RbPlus
+    {   1,    5,    1,    1,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_D @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_D @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_D @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_D @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_D @ RbPlus
+    {   1,    5,    1,    1,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_D @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_D @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_D @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_D @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_D @ RbPlus
+    {   1,    5,    1,    1,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_D @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_D @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_D @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_D @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_D @ RbPlus
+    {   1,    5,    1,    1,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_D @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_D @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_D @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_D @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_D @ RbPlus
+    {   1,    5,    1,    1,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_D @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_D @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_D @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_D @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_D @ RbPlus
+    {   1,    5,    1,    1,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_D @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_D @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_D @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_D @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_D @ RbPlus
+    {   1,    5,    1,    1,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_D @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_D @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_D @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_D @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_D @ RbPlus
+    {   1,    5,    1,    1,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_D @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_D @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_D @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_D @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_D @ RbPlus
+    {   1,    5,    1,    1,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_D @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_D @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_D @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_D @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_D @ RbPlus
+    {   1,    5,    1,    1,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_D @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_D @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_D @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_D @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_D @ RbPlus
+    {   1,    5,    1,    1,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_D @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_D @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_D @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_D @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_D @ RbPlus
 };
 
-const UINT_64 SW_4K_S3[][12]=
+const ADDR_SW_PATINFO SW_64K_S_T_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2              },
+    {   1,    0,    1,    1,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_S_T @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_S_T @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_S_T @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_S_T @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    0,   36,    1,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    1,   37,    2,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    2,   38,    3,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    3,   39,    4,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    4,   40,    5,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    0,   41,    1,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    1,   42,    2,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    2,   43,    3,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    3,   44,    4,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    4,   45,    5,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    0,   46,    1,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    1,   47,    2,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    2,   48,    3,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    3,   49,    4,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    4,   50,    5,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    0,   41,    1,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    1,   42,    2,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    2,   43,    3,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    3,   44,    4,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    4,   45,    5,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    0,   46,    1,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    1,   47,    2,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    2,   48,    3,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    3,   49,    4,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    4,   50,    5,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    0,   51,    1,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    1,   52,    2,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    2,   53,    3,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    3,   54,    4,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    4,   55,    5,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    0,   46,    1,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    1,   47,    2,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    2,   48,    3,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    3,   49,    4,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    4,   50,    5,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    0,   51,    1,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    1,   52,    2,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    2,   53,    3,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    3,   54,    4,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    4,   55,    5,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    0,   56,   16,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    1,   57,   17,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    2,   58,   18,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    3,   59,   19,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    4,   60,   20,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    0,   51,    1,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    1,   52,    2,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    2,   53,    3,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    3,   54,    4,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    4,   55,    5,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    0,   56,   16,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    1,   57,   17,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    2,   58,   18,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    3,   59,   19,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    4,   60,   20,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    0,    1,   21,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    1,    2,   22,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    2,    3,   23,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    3,    4,   24,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    4,    5,   25,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    0,   56,   16,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    1,   57,   17,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    2,   58,   18,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    3,   59,   19,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    4,   60,   20,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    0,    1,   21,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    1,    2,   22,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    2,    3,   23,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    3,    4,   24,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_S_T @ RbPlus
+    {   2,    4,    5,   25,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_S_T @ RbPlus
 };
 
-const UINT_64 SW_4K_S3_X[][12]=
+const ADDR_SW_PATINFO SW_64K_D_T_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             X2 ^ Y2 ^ Z2,   X2,             Z2,             Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X2 ^ Z2,   X2,             Z2,             Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             X1 ^ Y1 ^ Z2,   X1,             Z2,             Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X3 ^ Z3,   X2 ^ Z2 ^ Y3,   Z2,             Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X3 ^ Z3,   X2 ^ Y2 ^ Z2,   Z2,             Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X2 ^ Z3,   X1 ^ Y2 ^ Z2,   Z2,             Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X4 ^ Z4,   X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X4 ^ Z4,   X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X3 ^ Z4,   X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X5 ^ Z5,   X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X5 ^ Z5,   X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X4 ^ Z5,   X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X5 ^ Z5,   X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X5 ^ Z5,   X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X4 ^ Z5,   X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X5 ^ Z5,   X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X5 ^ Z5,   X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X4 ^ Z5,   X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y3 ^ Z3,   Z3,             Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y3 ^ Z3,   Z3,             Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z2 ^ Y3,   Z2,             Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y2 ^ Z2,   Z2,             Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y2 ^ Z2,   Z2,             Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X3 ^ Y3,   Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Y2 ^ Z2 ^ X3,   Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             X2 ^ Y2 ^ Z2,   Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
+    {   1,    5,    1,    1,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_D_T @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_D_T @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_D_T @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_D_T @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    5,   36,    1,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    1,   37,    2,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_D_T @ RbPlus
+    {   2,   39,   38,    3,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    6,   39,    4,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    7,   40,    5,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    5,   41,    1,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    1,   42,    2,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_D_T @ RbPlus
+    {   2,   39,   43,    3,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    6,   44,    4,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    7,   45,    5,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    5,   46,    1,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    1,   47,    2,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_D_T @ RbPlus
+    {   2,   39,   48,    3,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    6,   49,    4,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    7,   50,    5,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    5,   41,    1,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    1,   42,    2,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_D_T @ RbPlus
+    {   2,   39,   43,    3,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    6,   44,    4,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    7,   45,    5,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    5,   46,    1,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    1,   47,    2,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_D_T @ RbPlus
+    {   2,   39,   48,    3,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    6,   49,    4,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    7,   50,    5,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    5,   51,    1,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    1,   52,    2,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_D_T @ RbPlus
+    {   2,   39,   53,    3,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    6,   54,    4,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    7,   55,    5,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    5,   46,    1,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    1,   47,    2,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_D_T @ RbPlus
+    {   2,   39,   48,    3,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    6,   49,    4,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    7,   50,    5,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    5,   51,    1,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    1,   52,    2,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_D_T @ RbPlus
+    {   2,   39,   53,    3,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    6,   54,    4,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    7,   55,    5,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    5,   56,   16,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    1,   57,   17,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_D_T @ RbPlus
+    {   2,   39,   58,   18,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    6,   59,   19,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    7,   60,   20,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    5,   51,    1,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    1,   52,    2,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_D_T @ RbPlus
+    {   2,   39,   53,    3,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    6,   54,    4,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    7,   55,    5,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    5,   56,   16,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    1,   57,   17,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_D_T @ RbPlus
+    {   2,   39,   58,   18,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    6,   59,   19,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    7,   60,   20,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    5,    1,   21,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    1,    2,   22,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_D_T @ RbPlus
+    {   2,   39,    3,   23,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    6,    4,   24,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    7,    5,   25,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    5,   56,   16,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    1,   57,   17,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_D_T @ RbPlus
+    {   2,   39,   58,   18,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    6,   59,   19,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    7,   60,   20,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    5,    1,   21,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    1,    2,   22,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_D_T @ RbPlus
+    {   2,   39,    3,   23,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    6,    4,   24,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_D_T @ RbPlus
+    {   2,    7,    5,   25,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_D_T @ RbPlus
 };
 
-const UINT_64 SW_64K_S3[][16]=
+const ADDR_SW_PATINFO SW_64K_S_X_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
+    {   1,    0,    1,    1,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_S_X @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_S_X @ RbPlus
+    {   1,    2,    3,    3,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_S_X @ RbPlus
+    {   1,    3,    4,    4,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_S_X @ RbPlus
+    {   1,    4,    5,    5,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    0,    6,    1,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    1,    7,    2,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    2,    8,    3,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    3,    9,    4,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    4,   10,    5,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    0,  210,    1,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    1,  211,    2,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    2,  212,    3,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    3,  213,    4,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    4,  214,    5,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    0,  215,    1,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    1,  216,    2,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    2,  217,    3,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    3,  218,    4,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    4,  219,    5,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    0,   11,    1,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    1,   12,    2,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    2,   13,    3,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    3,   14,    4,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    4,   15,    5,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    0,  220,    1,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    1,  221,    2,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    2,  222,    3,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    3,  223,    4,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    4,  224,    5,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    0,  225,    1,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    1,  226,    2,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    2,  227,    3,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    3,  228,    4,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    4,  229,    5,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    0,   16,    1,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    1,   17,    2,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    2,   18,    3,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    3,   19,    4,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    4,   20,    5,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    0,  230,    1,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    1,  231,    2,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    2,  232,    3,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    3,  233,    4,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    4,  234,    5,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    0,  250,    6,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    1,  251,    7,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    2,  252,    8,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    3,  253,    9,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    4,  254,   10,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    0,   21,    1,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    1,   22,    2,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    2,   23,    3,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    3,   24,    4,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    4,   25,    5,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    0,  255,    6,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    1,  256,    7,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    2,  257,    8,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    3,  258,    9,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    4,  259,   10,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    0,  260,   11,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    1,  261,   12,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    2,  262,   13,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    3,  263,   14,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    4,  264,   15,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    0,   26,    6,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    1,   27,    7,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    2,   28,    8,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    3,   29,    9,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    4,   30,   10,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    0,  265,   11,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    1,  266,   12,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    2,  267,   13,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    3,  268,   14,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_S_X @ RbPlus
+    {   3,    4,  269,   15,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_S_X @ RbPlus
 };
 
-const UINT_64 SW_64K_S3_X[][16]=
+const ADDR_SW_PATINFO SW_64K_D_X_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             X2 ^ Y2 ^ Z2,   X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X2 ^ Z2,   X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             X1 ^ Y1 ^ Z2,   X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X3 ^ Z3,   X2 ^ Z2 ^ Y3,   Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X3 ^ Z3,   X2 ^ Y2 ^ Z2,   Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X2 ^ Z3,   X1 ^ Y2 ^ Z2,   Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X4 ^ Z4,   X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X4 ^ Z4,   X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X3 ^ Z4,   X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X5 ^ Z5,   X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X5 ^ Z5,   X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X4 ^ Z5,   X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X7 ^ Z7,   X3 ^ Y6 ^ Z6,   Z3 ^ Y5 ^ X6,   Y3 ^ X5 ^ Z5,   X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X6 ^ Z7,   X2 ^ Y6 ^ Z6,   Z3 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z5,   X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X6 ^ Z6,   X2 ^ Z5 ^ Y6,   Z2 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z4,   X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X6 ^ Z6,   X2 ^ Y5 ^ Z5,   Z2 ^ Y4 ^ X5,   Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X5 ^ Z6,   X1 ^ Y5 ^ Z5,   Z2 ^ X4 ^ Y4,   Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X8 ^ Z8,   X3 ^ Y7 ^ Z7,   Z3 ^ Y6 ^ X7,   Y3 ^ X6 ^ Z6,   X4 ^ Y5 ^ Z5,   Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X7 ^ Z8,   X2 ^ Y7 ^ Z7,   Z3 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z6,   X3 ^ Y5 ^ Z5,   X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X7 ^ Z7,   X2 ^ Z6 ^ Y7,   Z2 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z5,   X3 ^ Z4 ^ Y5,   Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X7 ^ Z7,   X2 ^ Y6 ^ Z6,   Z2 ^ Y5 ^ X6,   Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X6 ^ Z7,   X1 ^ Y6 ^ Z6,   Z2 ^ X5 ^ Y5,   Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z2 ^ Y3,   Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y2 ^ Z2,   Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y2 ^ Z2,   Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y6 ^ Z6,   Z3 ^ Y5 ^ X6,   Y3 ^ X5 ^ Z5,   X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y6 ^ Z6,   Z3 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z5,   X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z5 ^ Y6,   Z2 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z4,   X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y5 ^ Z5,   Z2 ^ Y4 ^ X5,   Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y5 ^ Z5,   Z2 ^ X4 ^ Y4,   Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y7 ^ Z7,   Z3 ^ Y6 ^ X7,   Y3 ^ X6 ^ Z6,   X4 ^ Y5 ^ Z5,   Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y7 ^ Z7,   Z3 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z6,   X3 ^ Y5 ^ Z5,   X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z6 ^ Y7,   Z2 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z5,   X3 ^ Z4 ^ Y5,   Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y6 ^ Z6,   Z2 ^ Y5 ^ X6,   Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y6 ^ Z6,   Z2 ^ X5 ^ Y5,   Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y8 ^ Z8,   Z3 ^ Y7 ^ X8,   Y3 ^ X7 ^ Z7,   X4 ^ Y6 ^ Z6,   Z4 ^ Y5 ^ X6,   Y4 ^ X5 ^ Z5,   X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y8 ^ Z8,   Z3 ^ X7 ^ Y7,   Y3 ^ X6 ^ Z7,   X3 ^ Y6 ^ Z6,   Z4 ^ X5 ^ Y5,   X4 ^ Y4 ^ Z5,   X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z7 ^ Y8,   Z2 ^ X7 ^ Y7,   Y3 ^ X6 ^ Z6,   X3 ^ Z5 ^ Y6,   Z3 ^ X5 ^ Y5,   X4 ^ Y4 ^ Z4,   X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y7 ^ Z7,   Z2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y7 ^ Z7,   Z2 ^ X6 ^ Y6,   Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y5 ^ X6,   Y3 ^ X5 ^ Z5,   X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z5,   X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z4,   X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y4 ^ X5,   Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X4 ^ Y4,   Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y6 ^ X7,   Y3 ^ X6 ^ Z6,   X4 ^ Y5 ^ Z5,   Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z6,   X3 ^ Y5 ^ Z5,   X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z5,   X3 ^ Z4 ^ Y5,   Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y5 ^ X6,   Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X5 ^ Y5,   Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y7 ^ X8,   Y3 ^ X7 ^ Z7,   X4 ^ Y6 ^ Z6,   Z4 ^ Y5 ^ X6,   Y4 ^ X5 ^ Z5,   X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X7 ^ Y7,   Y3 ^ X6 ^ Z7,   X3 ^ Y6 ^ Z6,   Z4 ^ X5 ^ Y5,   X4 ^ Y4 ^ Z5,   X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X7 ^ Y7,   Y3 ^ X6 ^ Z6,   X3 ^ Z5 ^ Y6,   Z3 ^ X5 ^ Y5,   X4 ^ Y4 ^ Z4,   X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X6 ^ Y6,   Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y8 ^ X9,   Y3 ^ X8 ^ Z8,   X4 ^ Y7 ^ Z7,   Z4 ^ Y6 ^ X7,   Y4 ^ X6 ^ Z6,   X5 ^ Y5 ^ Z5    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X8 ^ Y8,   Y3 ^ X7 ^ Z8,   X3 ^ Y7 ^ Z7,   Z4 ^ X6 ^ Y6,   Y4 ^ X5 ^ Z6,   X4 ^ Y5 ^ Z5    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X8 ^ Y8,   Y3 ^ X7 ^ Z7,   X3 ^ Z6 ^ Y7,   Z3 ^ X6 ^ Y6,   Y4 ^ X5 ^ Z5,   X4 ^ Z4 ^ Y5    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y7 ^ X8,   Y2 ^ X7 ^ Z7,   X3 ^ Y6 ^ Z6,   Z3 ^ Y5 ^ X6,   Y3 ^ X5 ^ Z5,   X4 ^ Y4 ^ Z4    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X7 ^ Y7,   Y2 ^ X6 ^ Z7,   X2 ^ Y6 ^ Z6,   Z3 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z5,   X3 ^ Y4 ^ Z4    },
+    {   1,    5,    1,    1,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_D_X @ RbPlus
+    {   1,    1,    2,    2,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_D_X @ RbPlus
+    {   1,   39,    3,    3,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_D_X @ RbPlus
+    {   1,    6,    4,    4,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_D_X @ RbPlus
+    {   1,    7,    5,    5,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    5,    6,    1,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    1,    7,    2,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_D_X @ RbPlus
+    {   3,   39,    8,    3,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    6,    9,    4,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    7,   10,    5,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    5,  210,    1,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    1,  211,    2,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_D_X @ RbPlus
+    {   3,   39,  212,    3,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    6,  213,    4,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    7,  214,    5,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    5,  215,    1,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    1,  216,    2,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_D_X @ RbPlus
+    {   3,   39,  217,    3,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    6,  218,    4,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    7,  219,    5,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    5,   11,    1,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    1,   12,    2,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_D_X @ RbPlus
+    {   3,   39,   13,    3,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    6,   14,    4,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    7,   15,    5,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    5,  220,    1,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    1,  221,    2,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_D_X @ RbPlus
+    {   3,   39,  222,    3,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    6,  223,    4,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    7,  224,    5,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    5,  225,    1,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    1,  226,    2,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_D_X @ RbPlus
+    {   3,   39,  227,    3,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    6,  228,    4,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    7,  229,    5,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    5,   16,    1,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    1,   17,    2,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_D_X @ RbPlus
+    {   3,   39,   18,    3,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    6,   19,    4,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    7,   20,    5,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    5,  230,    1,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    1,  231,    2,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_D_X @ RbPlus
+    {   3,   39,  232,    3,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    6,  233,    4,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    7,  234,    5,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    5,  250,    6,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    1,  251,    7,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_D_X @ RbPlus
+    {   3,   39,  252,    8,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    6,  253,    9,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    7,  254,   10,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    5,   21,    1,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    1,   22,    2,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_D_X @ RbPlus
+    {   3,   39,   23,    3,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    6,   24,    4,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    7,   25,    5,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    5,  255,    6,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    1,  256,    7,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_D_X @ RbPlus
+    {   3,   39,  257,    8,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    6,  258,    9,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    7,  259,   10,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    5,  260,   11,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    1,  261,   12,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_D_X @ RbPlus
+    {   3,   39,  262,   13,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    6,  263,   14,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    7,  264,   15,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    5,   26,    6,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    1,   27,    7,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_D_X @ RbPlus
+    {   3,   39,   28,    8,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    6,   29,    9,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    7,   30,   10,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    5,  265,   11,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    1,  266,   12,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_D_X @ RbPlus
+    {   3,   39,  267,   13,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    6,  268,   14,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_D_X @ RbPlus
+    {   3,    7,  269,   15,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_D_X @ RbPlus
 };
 
-const UINT_64 SW_64K_S3_T[][16]=
+const ADDR_SW_PATINFO SW_64K_R_X_1xaa_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             X2 ^ Y2 ^ Z2,   X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X2 ^ Z2,   X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             X1 ^ Y1 ^ Z2,   X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X3 ^ Z3,   X2 ^ Z2 ^ Y3,   Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X3 ^ Z3,   X2 ^ Y2 ^ Z2,   Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X2 ^ Z3,   X1 ^ Y2 ^ Z2,   Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X5,        X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X4,        X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X4,        X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X4,        X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X3,        X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X5,        X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3 ^ X4,        X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3 ^ X4,        X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4,        X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3,        X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z2 ^ Y3,   Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y2 ^ Z2,   Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y2 ^ Z2,   Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X5,        X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3 ^ X4,        X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3 ^ X4,        X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4,        X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3,        X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4 ^ X5,        X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             X4 ^ Y4,        X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             X4 ^ Y4,        X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X4,        X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             X3 ^ Y3,        X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X5,        X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3 ^ X4,        X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3 ^ X4,        X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4,        X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3,        X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4 ^ X5,        X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             X4 ^ Y4,        X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             X4 ^ Y4,        X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X4,        X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             X3 ^ Y3,        X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
+    {   2,    0,  347,  193,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   2,    1,  348,  366,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   2,   39,  349,  195,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   2,    6,  350,  367,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   2,    7,  351,  368,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    0,  352,  193,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    1,  353,  194,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,   39,  354,  195,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    6,  355,  369,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    7,  356,  370,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    0,  280,  193,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    1,  281,  194,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,   39,  282,  195,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    6,  283,  196,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    7,  284,  197,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    0,  394,  219,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    1,  395,  371,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,   39,  396,  372,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    6,  397,  373,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    7,  398,  374,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    0,  290,  203,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    1,  291,  204,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,   39,  292,  205,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    6,  293,  206,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    7,  294,  207,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    0,  295,  219,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    1,  296,  375,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,   39,  297,  376,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    6,  298,  377,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    7,  299,  378,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    0,  399,  379,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    1,  399,  380,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,   39,  399,  381,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    6,  399,  382,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    7,  399,  383,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    0,  400,  669,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    1,  401,  670,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,   39,  402,  671,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    6,  304,  387,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    7,  305,  388,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    0,  307,  379,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    1,  307,  389,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,   39,  307,  381,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    6,  307,  382,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    7,  307,  390,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    0,  307,  672,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    1,  307,  673,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,   39,  307,  674,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    6,  307,  675,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    7,  307,  676,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    0,  309,  677,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    1,  309,  678,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,   39,  309,  679,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    6,  309,  399,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    7,  323,  400,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    0,  309,  680,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    1,  309,  681,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,   39,  309,  682,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    6,  309,  404,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    7,  323,  405,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    0,  309,  505,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    1,  309,  506,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,   39,  309,  507,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    6,  309,  683,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    7,  323,  684,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    0,  311,  685,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    1,  311,  686,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,   39,  311,  687,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    6,  318,  411,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    7,  324,  412,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    0,  311,  513,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    1,  311,  514,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,   39,  311,  515,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    6,  318,  413,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_R_X 1xaa @ RbPlus
+    {   3,    7,  324,  414,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_R_X 1xaa @ RbPlus
 };
 
-const UINT_64 SW_64K_D3_X[][16]=
+const ADDR_SW_PATINFO SW_64K_R_X_2xaa_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             X3 ^ Y3,        X3,             Z3,             Y2,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X3 ^ Y3,        X2,             Z3,             Y2,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X3 ^ Y3,        X2,             Z2,             Y2,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X3 ^ Y3,        X2,             Z2,             Y1,             X3,             Z3,             Y2,             X4              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X3 ^ Y3,        X1,             Z2,             Y1,             X2,             Z3,             Y2,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             X3 ^ Y3,        X4 ^ Y4,        Z3,             Y2,             X3,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X3 ^ Y3,        X4 ^ Y4,        Z3,             Y2,             X2,             Z4,             Y3,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X3 ^ Y3,        X4 ^ Y4,        Z2,             Y2,             X2,             Z3,             Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X3 ^ Y3,        X4 ^ Y4,        Z2,             Y1,             X2,             Z3,             Y2,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X3 ^ Y3,        X1 ^ X4 ^ Y4,   Z2,             Y1,             X2,             Z3,             Y2,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             X3 ^ Y3,        X4 ^ Y4,        X5 ^ Y5,        Z3,             Y2,             X3,             Z4,             Y4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X3 ^ Y3,        X4 ^ Y4,        Z3 ^ X5 ^ Y5,   Y2,             X2,             Z4,             Y3,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ X5 ^ Y5,   Y2,             X2,             Z3,             Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ X5 ^ Y5,   Y1,             X2,             Z3,             Y2,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X3 ^ Y3,        X1 ^ X4 ^ Y4,   Z2 ^ X5 ^ Y5,   Y1,             X2,             Z3,             Y2,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             X3 ^ Y3,        X4 ^ Y4,        Y2 ^ Y5 ^ X6,   X5 ^ Y6,        Z3,             Y3,             X4,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X3 ^ Y3,        X4 ^ Y4,        Z3 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   X2,             Z4,             Y3,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   X2,             Z3,             Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6,   X2,             Z3,             Y2,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X3 ^ Y3,        X1 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6,   X2,             Z3,             Y2,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             X3 ^ Y3,        X4 ^ Y4,        Y2 ^ Y5 ^ X7,   X5 ^ Y7,        Z3 ^ X6 ^ Y6,   Y3,             X4,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X3 ^ Y3,        X4 ^ Y4,        Z3 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Z4,             Y3,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Z3,             Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X7,   Y1 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Z3,             Y2,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X3 ^ Y3,        X1 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Y1 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Z3,             Y2,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             X3 ^ Y3,        X4 ^ Y4,        Y2 ^ Y5 ^ X8,   X5 ^ Y8,        Z3 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X3 ^ Y3,        X4 ^ Y4,        Z3 ^ Y5 ^ X8,   Y2 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X8,   Y2 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7,   Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X8,   Y1 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7,   Y2,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X3 ^ Y3,        X1 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Y1 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7,   Y2,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             X3,             X3 ^ Y3,        Z3,             Y2,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X2,             X3 ^ Y3,        Z3,             Y2,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X2,             X3 ^ Y3,        Z2,             Y2,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X2,             X3 ^ Y3,        Z2,             Y1,             X3,             Z3,             Y2,             X4              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X1,             X3 ^ Y3,        Z2,             Y1,             X2,             Z3,             Y2,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Z3,             X3 ^ Y3,        X4 ^ Y4,        Y2,             X3,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Z3,             X3 ^ Y3,        X4 ^ Y4,        Y2,             X2,             Z4,             Y3,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Z2,             X3 ^ Y3,        X4 ^ Y4,        Y2,             X2,             Z3,             Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z2,             X3 ^ Y3,        X4 ^ Y4,        Y1,             X2,             Z3,             Y2,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z2,             X3 ^ Y3,        X1 ^ X4 ^ Y4,   Y1,             X2,             Z3,             Y2,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Z3,             X3 ^ Y3,        X4 ^ Y4,        X5 ^ Y5,        Y2,             X3,             Z4,             Y4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y2,             X3 ^ Y3,        X4 ^ Y4,        Z3 ^ X5 ^ Y5,   X2,             Z4,             Y3,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y2,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ X5 ^ Y5,   X2,             Z3,             Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y1,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ X5 ^ Y5,   X2,             Z3,             Y2,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y1,             X3 ^ Y3,        X1 ^ X4 ^ Y4,   Z2 ^ X5 ^ Y5,   X2,             Z3,             Y2,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Z3,             X3 ^ Y3,        X4 ^ Y4,        Y2 ^ Y5 ^ X6,   X5 ^ Y6,        Y3,             X4,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X2,             X3 ^ Y3,        X4 ^ Y4,        Z3 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   Z4,             Y3,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X2,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   Z3,             Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X2,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6,   Z3,             Y2,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X2,             X3 ^ Y3,        X1 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6,   Z3,             Y2,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y3,             X3 ^ Y3,        X4 ^ Y4,        Y2 ^ Y5 ^ X7,   X5 ^ Y7,        Z3 ^ X6 ^ Y6,   X4,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Z4,             X3 ^ Y3,        X4 ^ Y4,        Z3 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Y3,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Z3,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z3,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X7,   Y1 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Y2,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z3,             X3 ^ Y3,        X1 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Y1 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Y2,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y3,             X3 ^ Y3,        X4 ^ Y4,        Y2 ^ Y5 ^ X8,   X5 ^ Y8,        Z3 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7,   X4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y3,             X3 ^ Y3,        X4 ^ Y4,        Z3 ^ Y5 ^ X8,   Y2 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7,   X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y3,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X8,   Y2 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7,   X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y2,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X8,   Y1 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7,   X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y2,             X3 ^ Y3,        X1 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Y1 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7,   X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             X3,             Z3,             X3 ^ Y3,        Y2,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X2,             Z3,             X3 ^ Y3,        Y2,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X2,             Z2,             X3 ^ Y3,        Y2,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X2,             Z2,             X3 ^ Y3,        Y1,             X3,             Z3,             Y2,             X4              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X1,             Z2,             X3 ^ Y3,        Y1,             X2,             Z3,             Y2,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Z3,             Y2,             X3 ^ Y3,        X4 ^ Y4,        X3,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Z3,             Y2,             X3 ^ Y3,        X4 ^ Y4,        X2,             Z4,             Y3,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Z2,             Y2,             X3 ^ Y3,        X4 ^ Y4,        X2,             Z3,             Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z2,             Y1,             X3 ^ Y3,        X4 ^ Y4,        X2,             Z3,             Y2,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z2,             Y1,             X3 ^ Y3,        X1 ^ X4 ^ Y4,   X2,             Z3,             Y2,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Z3,             Y2,             X3 ^ Y3,        X4 ^ Y4,        X5 ^ Y5,        X3,             Z4,             Y4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y2,             X2,             X3 ^ Y3,        X4 ^ Y4,        Z3 ^ X5 ^ Y5,   Z4,             Y3,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y2,             X2,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ X5 ^ Y5,   Z3,             Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y1,             X2,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ X5 ^ Y5,   Z3,             Y2,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y1,             X2,             X3 ^ Y3,        X1 ^ X4 ^ Y4,   Z2 ^ X5 ^ Y5,   Z3,             Y2,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Z3,             Y3,             X3 ^ Y3,        X4 ^ Y4,        Y2 ^ Y5 ^ X6,   X5 ^ Y6,        X4,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X2,             Z4,             X3 ^ Y3,        X4 ^ Y4,        Z3 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   Y3,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X2,             Z3,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   Y3,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X2,             Z3,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6,   Y2,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X2,             Z3,             X3 ^ Y3,        X1 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6,   Y2,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y3,             X4,             X3 ^ Y3,        X4 ^ Y4,        Y2 ^ Y5 ^ X7,   X5 ^ Y7,        Z3 ^ X6 ^ Y6,   Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Z4,             Y3,             X3 ^ Y3,        X4 ^ Y4,        Z3 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Z3,             Y3,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z3,             Y2,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X7,   Y1 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z3,             Y2,             X3 ^ Y3,        X1 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Y1 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y3,             X4,             X3 ^ Y3,        X4 ^ Y4,        Y2 ^ Y5 ^ X8,   X5 ^ Y8,        Z3 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7    },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y3,             X4,             X3 ^ Y3,        X4 ^ Y4,        Z3 ^ Y5 ^ X8,   Y2 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7    },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y3,             X4,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X8,   Y2 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y2,             X3,             X3 ^ Y3,        X4 ^ Y4,        Z2 ^ Y5 ^ X8,   Y1 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y2,             X3,             X3 ^ Y3,        X1 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Y1 ^ X5 ^ Y8,   X2 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7    },
+    {   3,    0,  424,  526,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    1,  348,  527,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,   39,  358,  528,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    6,  350,  688,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    7,  359,  689,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    0,  352,  526,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    1,  353,  527,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,   39,  354,  528,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    6,  355,  688,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    7,  356,  690,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    0,  280,  526,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    1,  281,  527,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,   39,  282,  528,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    6,  283,  529,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    7,  284,  530,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    0,  394,  691,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    1,  395,  692,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,   39,  396,  693,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    6,  397,  694,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    7,  425,  695,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    0,  290,  534,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    1,  291,  535,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,   39,  292,  536,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    6,  293,  537,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    7,  294,  538,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    0,  295,  691,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    1,  296,  696,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,   39,  297,  697,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    6,  298,  698,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    7,  299,  699,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    0,  399,  700,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    1,  399,  701,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,   39,  399,  702,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    6,  399,  703,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    7,  426,  429,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    0,  400,  704,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    1,  401,  705,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,   39,  402,  706,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    6,  304,  707,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    7,  364,  708,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    0,  307,  700,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    1,  307,  701,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,   39,  307,  702,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    6,  307,  703,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    7,  427,  390,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    0,  307,  709,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    1,  307,  710,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,   39,  307,  711,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    6,  307,  712,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    7,  427,  676,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    0,  309,  713,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    1,  309,  714,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,   39,  309,  715,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    6,  323,  716,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    7,  428,  400,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    0,  309,  717,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    1,  309,  718,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,   39,  309,  719,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    6,  323,  720,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    7,  428,  405,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    0,  309,  721,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    1,  309,  722,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,   39,  309,  723,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    6,  323,  724,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    7,  428,  684,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    0,  318,  725,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    1,  318,  726,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,   39,  318,  727,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    6,  324,  728,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    7,  429,  412,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    0,  318,  729,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    1,  318,  730,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,   39,  318,  731,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    6,  324,  732,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_R_X 2xaa @ RbPlus
+    {   3,    7,  429,  414,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_R_X 2xaa @ RbPlus
 };
 
-// Meta data swizzle pattern
-const UINT_64 HTILE_64K[][18]=
+const ADDR_SW_PATINFO SW_64K_R_X_4xaa_RBPLUS_PATINFO[] =
 {
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X4,             X5,             Y5,             X6,             Z0 ^ X3 ^ Y3,   Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X4,             X5,             Y5,             X6,             Z0 ^ X3 ^ Y3,   Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X4,             X5,             Y5,             X6,             Z0 ^ X3 ^ Y3,   Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X4,             X5,             Y5,             X6,             Z0 ^ X3 ^ Y3,   Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X5,             Y5,             X6,             Y6,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X5,             Y5,             X6,             Y6,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X5,             Y5,             X6,             Y6,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X5,             Y5,             X6,             Y6,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             Y5,             X6,             Y6,             X7,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             Y5,             X6,             Y6,             X7,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             Y5,             X6,             Y6,             X7,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             Y5,             X6,             Y6,             X7,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X6,             Y6,             X7,             Y7,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y4,             X6,             Y6,             X7,             Y7,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y4,             X6,             Y6,             X7,             Y7,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y4,             X6,             Y6,             X7,             Y7,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y4,             Y6,             X7,             Y7,             X8,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y8,             X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y4,             Y6,             X7,             Y7,             X8,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y8,             X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y4,             Y6,             X7,             Y7,             X8,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   X6 ^ Y6,        Y8,             X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y4,             Y6,             X7,             Y7,             X8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y8,             X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   X9,             Y9,             X10             },
-    {0,              0,              0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   X6 ^ Y7,        X9,             Y9,             X10             },
-    {0,              0,              0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y6 ^ X7,        X6 ^ Y7,        X9,             Y9,             X10             },
-    {0,              0,              0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X9,             Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             Z0 ^ X3 ^ Y3,   X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             Z0 ^ X3 ^ Y3,   X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             Z0 ^ X3 ^ Y3,   X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             Z0 ^ X3 ^ Y3,   X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   X6 ^ Y6,        X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y9,             X10             },
-    {0,              0,              0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   X6 ^ Y7,        Y9,             X10             },
-    {0,              0,              0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y6 ^ X7,        X6 ^ Y7,        Y9,             X10             },
-    {0,              0,              0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X3 ^ Y3,   Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X3 ^ Y3,   Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X3 ^ Y3,   Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X3 ^ Y3,   Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X9,             0,              0               },
-    {0,              0,              0,              X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X9,             0,              0               },
-    {0,              0,              0,              X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X9,             0,              0               },
-    {0,              0,              0,              X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y9,             0               },
-    {0,              0,              0,              X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y9,             0               },
-    {0,              0,              0,              X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   X6 ^ Y6,        Y9,             0               },
-    {0,              0,              0,              X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y9,             0               },
-    {0,              0,              0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   X10             },
-    {0,              0,              0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   X6 ^ Y7,        X10             },
-    {0,              0,              0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y6 ^ X7,        X6 ^ Y7,        X10             },
-    {0,              0,              0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X10             },
+    {   3,    0,  347,  566,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    1,  348,  733,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,   39,  349,  568,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    6,  350,  734,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    7,  351,  735,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    0,  352,  566,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    1,  353,  567,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,   39,  354,  568,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    6,  355,  736,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    7,  356,  737,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    0,  280,  566,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    1,  281,  567,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,   39,  282,  568,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    6,  283,  569,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    7,  284,  570,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    0,  394,  587,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    1,  395,  738,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,   39,  396,  739,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    6,  397,  740,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    7,  430,  741,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    0,  290,  576,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    1,  291,  577,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,   39,  292,  578,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    6,  293,  579,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    7,  405,  580,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    0,  295,  587,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    1,  296,  742,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,   39,  297,  743,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    6,  298,  740,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    7,  431,  699,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    0,  399,  744,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    1,  399,  745,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,   39,  399,  746,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    6,  432,  747,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    7,  433,  429,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    0,  400,  748,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    1,  401,  749,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,   39,  402,  750,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    6,  434,  707,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    7,  435,  708,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    0,  307,  744,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    1,  307,  751,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,   39,  307,  746,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    6,  436,  703,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    7,  437,  390,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    0,  307,  752,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    1,  307,  753,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,   39,  307,  754,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    6,  436,  712,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    7,  437,  676,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    0,  323,  755,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    1,  323,  756,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,   39,  323,  757,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    6,  438,  716,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    7,  439,  400,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    0,  323,  758,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    1,  323,  759,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,   39,  323,  760,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    6,  438,  720,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    7,  439,  405,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    0,  323,  761,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    1,  323,  762,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,   39,  323,  763,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    6,  438,  724,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    7,  439,  684,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    0,  324,  764,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    1,  324,  765,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,   39,  324,  766,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    6,  440,  728,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    7,  441,  412,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    0,  324,  767,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    1,  324,  768,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,   39,  324,  769,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    6,  440,  732,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_R_X 4xaa @ RbPlus
+    {   3,    7,  441,  414,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_R_X 4xaa @ RbPlus
 };
 
-const UINT_64 CMASK_64K[][17]=
+const ADDR_SW_PATINFO SW_64K_R_X_8xaa_RBPLUS_PATINFO[] =
 {
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X3 ^ Y3,   X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X3 ^ Y3,   X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X3 ^ Y3,   X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X3 ^ Y3,   X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0               },
-    {X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0               },
-    {X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0               },
-    {X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y6 ^ X7,        Z0 ^ X6 ^ Y7,   0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X3 ^ Y3,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X3 ^ Y3,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X3 ^ Y3,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X3 ^ Y3,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0               },
-    {X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0               },
-    {X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0               },
-    {X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y6 ^ X7,        Z0 ^ X6 ^ Y7,   0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z0 ^ X3 ^ Y3,   X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z0 ^ X3 ^ Y3,   X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z0 ^ X3 ^ Y3,   X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z0 ^ X3 ^ Y3,   X9,             0,              0,              0,              0               },
-    {X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0               },
-    {X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0               },
-    {X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0               },
-    {X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0               },
-    {X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0               },
-    {X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0               },
-    {X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0               },
-    {X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0               },
-    {X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y6 ^ X7,        Z0 ^ X6 ^ Y7    },
+    {   3,    0,  424,  619,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    1,  348,  620,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,   39,  358,  621,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    6,  350,  770,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    7,  359,  771,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    0,  352,  619,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    1,  353,  620,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,   39,  354,  621,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    6,  355,  770,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    7,  378,  772,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    0,  280,  619,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    1,  281,  620,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,   39,  282,  621,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    6,  283,  622,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    7,  413,  623,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    0,  394,  773,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    1,  395,  774,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,   39,  442,  775,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    6,  443,  776,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    7,  444,  777,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    0,  415,  629,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    1,  291,  630,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,   39,  292,  631,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    6,  416,  632,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    7,  417,  580,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    0,  295,  773,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    1,  296,  778,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,   39,  297,  779,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    6,  445,  780,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    7,  446,  699,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    0,  399,  781,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    1,  399,  782,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,   39,  447,  783,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    6,  448,  784,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    7,  449,  429,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    0,  450,  785,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    1,  302,  786,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,   39,  303,  787,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    6,  420,  788,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    7,  451,  708,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    0,  339,  781,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    1,  339,  782,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,   39,  422,  746,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    6,  452,  703,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    7,  453,  390,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    0,  339,  789,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    1,  339,  790,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,   39,  422,  754,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    6,  452,  712,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    7,  453,  676,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    0,  343,  791,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    1,  341,  792,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,   39,  423,  757,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    6,  454,  716,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    7,  455,  400,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    0,  343,  793,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    1,  341,  794,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,   39,  423,  760,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    6,  454,  720,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    7,  455,  405,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    0,  343,  795,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    1,  341,  796,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,   39,  423,  763,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    6,  454,  724,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    7,  455,  684,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    0,  344,  797,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    1,  345,  798,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,   39,  456,  766,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    6,  457,  728,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    7,  458,  412,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    0,  344,  799,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    1,  345,  800,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,   39,  456,  769,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    6,  457,  732,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_R_X 8xaa @ RbPlus
+    {   3,    7,  458,  414,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_R_X 8xaa @ RbPlus
 };
 
-const UINT_64 DCC_64K_R_X[][17]=
+const ADDR_SW_PATINFO SW_64K_Z_X_1xaa_RBPLUS_PATINFO[] =
 {
-    {0,              X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X3 ^ Y3,        X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              X3 ^ Y3,        X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X3 ^ Y3,        X4 ^ Y4,        X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              X3 ^ Y3,        X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X3 ^ Y3,   Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X3 ^ Y3,   X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X3 ^ Y3,   Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             Z0 ^ X3 ^ Y3,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y4,             X4,             X5,             Y5,             X6,             Z0 ^ X3 ^ Y3,   Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y4,             X5,             Y5,             X6,             Y6,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X7,             Y7,             0,              0,              0,              0               },
-    {0,              Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y9,             0,              0,              0,              0               },
-    {0,              Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {0,              X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y4,             Y5,             X6,             Y6,             X7,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             0,              0,              0,              0               },
-    {0,              X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {0,              Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {0,              X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y4,             X6,             Y6,             X7,             Y7,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {0,              Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {0,              Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {0,              X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {0,              Y2,             X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {0,              X2,             X3,             Y4,             Y6,             X7,             Y7,             Y2,             X8,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   0,              0,              0               },
-    {0,              X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0               },
-    {0,              Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0               },
-    {0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0               },
-    {0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             Y2,             X9,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0               },
-    {0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X2,             Y2,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   0,              0               },
-    {0,              X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X3 ^ Y3,        X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              X3 ^ Y3,        X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X3 ^ Y3,        X4 ^ Y4,        X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              X3 ^ Y3,        X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z0 ^ X3 ^ Y3,   X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X3 ^ Y3,   Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X3 ^ Y3,   X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X3 ^ Y3,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             Z0 ^ X3 ^ Y3,   X7,             Y7,             0,              0,              0,              0               },
-    {0,              X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y9,             0,              0,              0,              0               },
-    {0,              Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {0,              X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   Y7,             0,              0,              0,              0               },
-    {0,              Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {0,              Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {0,              X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {0,              X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {0,              Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {0,              X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {0,              Y2,             X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {0,              Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {0,              Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {0,              X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {0,              Y2,             X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {0,              X2,             X3,             Y4,             Y6,             X7,             Y7,             Y2,             X8,             Y8,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   0,              0               },
-    {0,              X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0               },
-    {0,              Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0               },
-    {0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0               },
-    {0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             Y2,             X9,             Y9,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0               },
-    {0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X2,             Y2,             X9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   0               },
-    {0,              X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X3 ^ Y3,        X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              X3 ^ Y3,        X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X3 ^ Y3,        X4 ^ Y4,        X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              X3 ^ Y3,        X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z0 ^ X3 ^ Y3,   Y9,             0,              0,              0,              0               },
-    {0,              Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z0 ^ X3 ^ Y3,   X9,             0,              0,              0,              0               },
-    {0,              X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X3 ^ Y3,   Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X3 ^ Y3,   X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y4,             X4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X3 ^ Y3,   Y7,             0,              0,              0,              0               },
-    {0,              X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {0,              Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {0,              X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z1 ^ X3 ^ Y3,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {0,              Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {0,              Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {0,              X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {0,              Y2,             X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y4,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z2 ^ X3 ^ Y3,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {0,              X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0               },
-    {0,              Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0               },
-    {0,              X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0               },
-    {0,              Y2,             X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0               },
-    {0,              X2,             Y2,             X3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0               },
-    {0,              Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0               },
-    {0,              Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0               },
-    {0,              X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0               },
-    {0,              Y2,             X3,             Y4,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0               },
-    {0,              X2,             X3,             Y4,             Y6,             X7,             Y7,             Y2,             X8,             Y8,             X9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   0               },
-    {0,              X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            Y11,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X3 ^ Y3 ^ Z5,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             Y2,             X9,             Y9,             X10,            X3 ^ Y3 ^ Z4,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              X3,             Y4,             X7,             Y7,             X8,             Y8,             X2,             Y2,             X9,             Y9,             X3 ^ Y3 ^ Z3,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+    {   2,    8,  347,  193,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   2,    9,  348,  366,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   2,   10,  349,  195,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   2,   11,  350,  367,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   2,    7,  351,  368,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    8,  352,  193,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    9,  353,  194,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   10,  354,  195,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   11,  355,  369,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    7,  356,  370,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    8,  280,  193,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    9,  281,  194,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   10,  282,  195,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   11,  283,  196,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    7,  284,  197,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    8,  285,  219,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    9,  286,  371,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   10,  287,  372,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   11,  288,  373,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    7,  289,  374,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    8,  290,  203,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    9,  291,  204,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   10,  292,  205,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   11,  293,  206,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    7,  294,  207,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    8,  295,  219,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    9,  296,  375,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   10,  297,  376,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   11,  298,  377,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    7,  299,  378,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    8,  300,  379,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    9,  300,  380,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   10,  300,  381,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   11,  300,  382,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    7,  300,  383,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    8,  301,  384,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    9,  302,  385,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   10,  303,  386,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   11,  304,  387,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    7,  305,  388,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    8,  306,  379,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    9,  306,  389,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   10,  306,  381,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   11,  307,  382,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    7,  307,  390,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    8,  306,  391,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    9,  306,  392,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   10,  306,  393,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   11,  307,  394,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    7,  307,  395,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    8,  308,  396,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    9,  308,  397,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   10,  308,  398,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   11,  309,  399,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    7,  323,  400,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    8,  308,  401,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    9,  308,  402,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   10,  308,  403,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   11,  309,  404,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    7,  323,  405,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    8,  308,  240,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    9,  308,  241,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   10,  308,  242,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   11,  309,  406,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    7,  323,  407,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    8,  310,  408,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    9,  310,  409,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   10,  310,  410,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   11,  318,  411,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    7,  324,  412,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    8,  310,  250,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    9,  310,  251,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   10,  310,  252,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,   11,  318,  413,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_Z_X 1xaa @ RbPlus
+    {   3,    7,  324,  414,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_Z_X 1xaa @ RbPlus
 };
 
-// Rb plus color data swizzle pattern
-const UINT_64 SW_256_S_RBPLUS[][8]=
+const ADDR_SW_PATINFO SW_64K_Z_X_2xaa_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1              },
+    {   2,   13,  357,  415,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   2,   14,  349,  195,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   15,  358,  263,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   16,  350,  416,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   17,  359,  417,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   13,  360,  415,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   14,  354,  195,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   15,  354,  263,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   16,  361,  418,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   17,  356,  419,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   13,  281,  262,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   14,  282,  195,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   15,  282,  263,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   16,  317,  264,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   17,  284,  265,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   13,  286,  420,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   14,  287,  376,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   15,  287,  421,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   16,  289,  422,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   17,  289,  423,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   13,  291,  268,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   14,  292,  205,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   15,  292,  269,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   16,  293,  270,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   17,  294,  271,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   13,  296,  420,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   14,  297,  376,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   15,  297,  421,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   16,  298,  424,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   17,  299,  423,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   13,  300,  425,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   14,  300,  426,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   15,  300,  427,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   16,  362,  428,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   17,  363,  429,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   13,  302,  430,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   14,  303,  386,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   15,  303,  431,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   16,  305,  432,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   17,  364,  433,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   13,  306,  380,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   14,  306,  381,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   15,  306,  434,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   16,  307,  435,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   17,  365,  435,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   13,  306,  402,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   14,  306,  403,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   15,  306,  436,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   16,  307,  405,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   17,  365,  405,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   13,  308,  397,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   14,  308,  398,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   15,  308,  437,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   16,  323,  438,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   17,  366,  438,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   13,  308,  402,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   14,  308,  403,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   15,  308,  436,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   16,  323,  439,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   17,  366,  439,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   13,  308,  440,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   14,  308,  242,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   15,  308,  441,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   16,  323,  442,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   17,  366,  442,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   13,  310,  443,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   14,  310,  410,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   15,  310,  444,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   16,  324,  412,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   17,  367,  412,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   13,  310,  445,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   14,  310,  252,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   15,  310,  446,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   16,  324,  414,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_Z_X 2xaa @ RbPlus
+    {   3,   17,  367,  414,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_Z_X 2xaa @ RbPlus
 };
 
-const UINT_64 SW_256_D_RBPLUS[][8]=
+const ADDR_SW_PATINFO SW_64K_Z_X_4xaa_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1              },
+    {   2,   18,  349,  195,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   19,  349,  447,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   20,  349,  448,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   21,  350,  449,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   22,  351,  450,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   18,  354,  195,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   19,  368,  451,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   20,  354,  299,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   21,  355,  452,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   22,  356,  453,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   18,  282,  195,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   19,  282,  298,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   20,  282,  299,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   21,  283,  300,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   22,  284,  301,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   18,  287,  372,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   19,  287,  454,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   20,  287,  455,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   21,  288,  456,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   22,  331,  457,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   18,  292,  205,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   19,  292,  306,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   20,  292,  307,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   21,  320,  308,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   22,  321,  309,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   18,  297,  376,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   19,  297,  458,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   20,  297,  459,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   21,  299,  460,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   22,  369,  461,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   18,  300,  381,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   19,  300,  462,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   20,  300,  463,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   21,  363,  464,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   22,  370,  465,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   18,  303,  386,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   19,  303,  466,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   20,  303,  467,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   21,  371,  468,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   22,  337,  469,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   18,  306,  381,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   19,  306,  462,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   20,  306,  470,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   21,  372,  470,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   22,  373,  470,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   18,  306,  393,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   19,  306,  471,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   20,  306,  472,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   21,  372,  472,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   22,  373,  472,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   18,  308,  398,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   19,  308,  473,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   20,  308,  438,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   21,  374,  438,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   22,  375,  438,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   18,  308,  403,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   19,  308,  471,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   20,  308,  439,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   21,  374,  439,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   22,  375,  439,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   18,  308,  242,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   19,  308,  441,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   20,  308,  442,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   21,  374,  442,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   22,  375,  442,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   18,  310,  410,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   19,  310,  474,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   20,  310,  412,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   21,  376,  412,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   22,  377,  412,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   18,  310,  252,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   19,  310,  475,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   20,  310,  414,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   21,  376,  414,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_Z_X 4xaa @ RbPlus
+    {   3,   22,  377,  414,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_Z_X 4xaa @ RbPlus
 };
 
-const UINT_64 SW_4K_S_RBPLUS[][12]=
+const ADDR_SW_PATINFO SW_64K_Z_X_8xaa_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3              },
+    {   3,   23,  358,  263,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   24,  349,  448,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   25,  358,  332,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   26,  350,  476,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   27,  359,  477,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   23,  354,  263,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   24,  354,  299,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   25,  354,  332,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   26,  361,  478,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   27,  378,  479,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   23,  282,  263,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   24,  282,  299,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   25,  282,  332,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   26,  317,  333,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   27,  329,  334,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   23,  287,  421,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   24,  287,  480,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   25,  287,  481,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   26,  379,  482,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   27,  380,  483,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   23,  292,  269,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   24,  292,  307,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   25,  292,  339,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   26,  332,  340,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   27,  333,  341,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   23,  297,  421,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   24,  297,  459,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   25,  297,  481,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   26,  381,  484,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   27,  382,  485,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   23,  300,  434,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   24,  300,  463,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   25,  383,  486,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   26,  384,  487,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   27,  385,  488,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   23,  303,  431,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   24,  303,  467,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   25,  303,  489,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   26,  337,  469,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   27,  386,  469,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   23,  306,  434,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   24,  306,  470,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   25,  387,  490,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   26,  373,  470,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   27,  388,  470,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   23,  306,  436,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   24,  306,  472,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   25,  387,  491,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   26,  373,  472,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   27,  388,  492,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   23,  308,  437,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   24,  308,  438,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   25,  389,  493,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   26,  375,  438,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   27,  390,  438,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   23,  308,  436,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   24,  308,  439,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   25,  391,  494,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   26,  375,  439,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   27,  390,  439,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   23,  308,  441,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   24,  308,  442,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   25,  391,  495,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   26,  375,  442,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   27,  390,  442,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   23,  310,  444,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   24,  310,  412,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   25,  392,  496,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   26,  377,  412,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   27,  393,  412,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   23,  310,  446,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   24,  310,  414,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   25,  367,  414,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   26,  377,  414,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_Z_X 8xaa @ RbPlus
+    {   3,   27,  393,  414,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_Z_X 8xaa @ RbPlus
 };
 
-const UINT_64 SW_4K_D_RBPLUS[][12]=
+const ADDR_SW_PATINFO SW_64K_S3_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3              },
+    {   1,   29,  131,  148,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   29,  131,  148,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   29,  131,  148,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   29,  131,  148,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   29,  131,  148,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   29,  131,  148,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   29,  131,  148,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   29,  131,  148,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   29,  131,  148,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   29,  131,  148,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   29,  131,  148,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   29,  131,  148,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   29,  131,  148,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   29,  131,  148,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   29,  131,  148,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_S3 @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_S3 @ RbPlus
 };
 
-const UINT_64 SW_4K_S_X_RBPLUS[][12]=
+const ADDR_SW_PATINFO SW_64K_S3_X_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z0 ^ Y3 ^ X4,   X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Z0 ^ Y2 ^ X3,   X3,             Y3,             X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Z0 ^ X2 ^ Y2,   X2,             Y3,             X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X5,        Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X5,        Z0 ^ X4 ^ Y4,   Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X4,        Z0 ^ X3 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X4,        Z0 ^ X3 ^ Y3,   Y3,             X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X3,        Z0 ^ X2 ^ Y3,   Y3,             X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6,        X4 ^ Y6,        Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X5,        X3 ^ Y4,        Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X4,        X2 ^ Y4,        Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Z1 ^ Y2 ^ X4,   Z0 ^ X3 ^ Y3,   Y3,             X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Z1 ^ Y2 ^ X3,   Z0 ^ X2 ^ Y3,   Y3,             X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6,        Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X6,        Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X5,        Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X5,        Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X4,        Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7,        X4 ^ Y7,        Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X6,        X3 ^ Y6,        Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X6,        X3 ^ Y5,        Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X5,        X2 ^ Y5,        Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ Z2 ^ X5,   Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ Z2 ^ X4,   Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7,        Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X6,        Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X6,        Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X5,        X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7,        X4 ^ Y7,        Z2 ^ Y5 ^ X6,   Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Z2 ^ Y4 ^ X6,   Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X6,        X3 ^ Y6,        Z2 ^ Y4 ^ X5,   Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X6,        X3 ^ Y5,        Z2 ^ Y3 ^ X5,   Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X5,        X2 ^ Y5,        Z2 ^ Y3 ^ X4,   Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ Z3 ^ X5,   X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7,        Z3 ^ X4 ^ Y7,   Z2 ^ Y5 ^ X6,   Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        Z3 ^ X4 ^ Y6,   Z2 ^ Y4 ^ X6,   Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X6,        X3 ^ Z3 ^ Y6,   Z2 ^ Y4 ^ X5,   Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X6,        X3 ^ Z3 ^ Y5,   Z2 ^ Y3 ^ X5,   Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X5,        X2 ^ Z3 ^ Y5,   Z2 ^ Y3 ^ X4,   Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7,        X4 ^ Y7,        Z3 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Z3 ^ Y4 ^ X6,   Z2 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X6,        X3 ^ Y6,        Z3 ^ Y4 ^ X5,   Z2 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X6,        X3 ^ Y5,        Y3 ^ Z3 ^ X5,   Z2 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X5,        X2 ^ Y5,        Y3 ^ Z3 ^ X4,   Z2 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ Z3 ^ X5,   X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7,        Z3 ^ X4 ^ Y7,   Z2 ^ Y5 ^ X6,   Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        Z3 ^ X4 ^ Y6,   Z2 ^ Y4 ^ X6,   Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X6,        X3 ^ Z3 ^ Y6,   Z2 ^ Y4 ^ X5,   Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X6,        X3 ^ Z3 ^ Y5,   Z2 ^ Y3 ^ X5,   Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X5,        X2 ^ Z3 ^ Y5,   Z2 ^ Y3 ^ X4,   Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z0 ^ X3 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z0 ^ X3 ^ Y3,   Y3,             X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             Z0 ^ X2 ^ Y3,   Y3,             X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y6,        Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y5,        Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y5,        Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y4,        Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y4,        Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y5,        Y3 ^ X5,        Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y7,        Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y6,        Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y5,        Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y5,        Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y5,        Y3 ^ X5,        Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y7,        Z2 ^ Y5 ^ X6,   Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Z2 ^ Y4 ^ X6,   Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y6,        Z2 ^ Y4 ^ X5,   Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y5,        Z2 ^ Y3 ^ X5,   Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y5,        Z2 ^ Y3 ^ X4,   Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        Z2 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        Z2 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        Z2 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y5,        Y3 ^ X5,        Z2 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        Z2 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y7,        Z2 ^ Y5 ^ X6,   Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Z2 ^ Y4 ^ X6,   Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y6,        Z2 ^ Y4 ^ X5,   Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y5,        Z2 ^ Y3 ^ X5,   Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y5,        Z2 ^ Y3 ^ X4,   Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        Z2 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        Z2 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        Z2 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y5,        Y3 ^ X5,        Z2 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        Z2 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y7,        Z2 ^ Y5 ^ X6,   Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Z2 ^ Y4 ^ X6,   Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y6,        Z2 ^ Y4 ^ X5,   Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y5,        Z2 ^ Y3 ^ X5,   Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y5,        Z2 ^ Y3 ^ X4,   Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X6,        Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X5,        Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X4,        Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5         },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4         },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X6,        Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X5,        Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X4,        Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5         },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4         },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X6,        Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X5,        Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X4,        Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5         },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4         },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X6,        Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X5,        Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X4,        Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5         },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4         },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X6,        Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X5,        Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X4,        Z1 ^ X3 ^ Y4    },
+    {   1,   29,  131,  148,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_S3_X @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_S3_X @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_S3_X @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_S3_X @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   29,  136,  148,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   30,  137,  149,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   31,  138,  150,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   32,  139,  151,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   33,  140,  152,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   29,  141,  148,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   30,  142,  149,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   31,  143,  150,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   32,  144,  151,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   33,  145,  152,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   29,  146,  148,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   30,  147,  149,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   31,  148,  150,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   32,  149,  151,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   33,  150,  152,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   29,  141,  148,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   30,  142,  149,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   31,  143,  150,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   32,  144,  151,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   33,  145,  152,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   29,  146,  148,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   30,  147,  149,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   31,  148,  150,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   32,  149,  151,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   33,  150,  152,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   29,  151,  148,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   30,  152,  149,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   31,  153,  150,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   32,  154,  151,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   33,  155,  152,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   29,  146,  148,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   30,  147,  149,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   31,  148,  150,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   32,  149,  151,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   33,  150,  152,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   29,  151,  148,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   30,  152,  149,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   31,  153,  150,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   32,  154,  151,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   33,  155,  152,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   29,  156,  153,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   30,  157,  154,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   31,  158,  155,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   32,  159,  156,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   33,  160,  157,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   29,  151,  148,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   30,  152,  149,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   31,  153,  150,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   32,  154,  151,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   33,  155,  152,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   29,  156,  153,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   30,  157,  154,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   31,  158,  155,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   32,  159,  156,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   33,  160,  157,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   29,  161,  158,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   30,  162,  159,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   31,  163,  160,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   32,  164,  161,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   33,  165,  162,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   29,  156,  153,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   30,  157,  154,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   31,  158,  155,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   32,  159,  156,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   33,  160,  157,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   29,  161,  158,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   30,  162,  159,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   31,  163,  160,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   32,  164,  161,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_S3_X @ RbPlus
+    {   3,   33,  165,  162,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_S3_X @ RbPlus
 };
 
-const UINT_64 SW_4K_D_X_RBPLUS[][12]=
+const ADDR_SW_PATINFO SW_64K_S3_T_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z0 ^ Y3 ^ X4,   X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z0 ^ Y2 ^ X3,   X3,             Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z0 ^ X2 ^ Y2,   X2,             Y3,             X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X5,        Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X5,        Z0 ^ X4 ^ Y4,   Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X4,        Z0 ^ X3 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X4,        Z0 ^ X3 ^ Y3,   Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X3,        Z0 ^ X2 ^ Y3,   Y3,             X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X6,        X4 ^ Y6,        Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X5,        X3 ^ Y5,        Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X5,        X3 ^ Y4,        Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X4,        X2 ^ Y4,        Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z1 ^ Y2 ^ X4,   Z0 ^ X3 ^ Y3,   Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ Y2 ^ X3,   Z0 ^ X2 ^ Y3,   Y3,             X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X6,        Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X6,        Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X5,        Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X5,        Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X4,        Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X7,        X4 ^ Y7,        Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X6,        X3 ^ Y6,        Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X6,        X3 ^ Y5,        Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X5,        X2 ^ Y5,        Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ Z2 ^ X5,   Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ Z2 ^ X4,   Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X7,        Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X6,        Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X6,        Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X5,        X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X7,        X4 ^ Y7,        Z2 ^ Y5 ^ X6,   Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Z2 ^ Y4 ^ X6,   Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X6,        X3 ^ Y6,        Z2 ^ Y4 ^ X5,   Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X6,        X3 ^ Y5,        Z2 ^ Y3 ^ X5,   Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X5,        X2 ^ Y5,        Z2 ^ Y3 ^ X4,   Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ Z3 ^ X5,   X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X7,        Z3 ^ X4 ^ Y7,   Z2 ^ Y5 ^ X6,   Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        Z3 ^ X4 ^ Y6,   Z2 ^ Y4 ^ X6,   Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X6,        X3 ^ Z3 ^ Y6,   Z2 ^ Y4 ^ X5,   Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X6,        X3 ^ Z3 ^ Y5,   Z2 ^ Y3 ^ X5,   Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X5,        X2 ^ Z3 ^ Y5,   Z2 ^ Y3 ^ X4,   Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X7,        X4 ^ Y7,        Z3 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Z3 ^ Y4 ^ X6,   Z2 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X6,        X3 ^ Y6,        Z3 ^ Y4 ^ X5,   Z2 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X6,        X3 ^ Y5,        Y3 ^ Z3 ^ X5,   Z2 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X5,        X2 ^ Y5,        Y3 ^ Z3 ^ X4,   Z2 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ Z3 ^ X5,   X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X7,        Z3 ^ X4 ^ Y7,   Z2 ^ Y5 ^ X6,   Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        Z3 ^ X4 ^ Y6,   Z2 ^ Y4 ^ X6,   Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X6,        X3 ^ Z3 ^ Y6,   Z2 ^ Y4 ^ X5,   Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X6,        X3 ^ Z3 ^ Y5,   Z2 ^ Y3 ^ X5,   Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X5,        X2 ^ Z3 ^ Y5,   Z2 ^ Y3 ^ X4,   Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             Z0 ^ X3 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z0 ^ X3 ^ Y3,   Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             Z0 ^ X2 ^ Y3,   Y3,             X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y6,        Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y5,        Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y5,        Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y4,        Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y4,        Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y5,        Y3 ^ X5,        Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y7,        Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y6,        Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y5,        Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y5,        Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y5,        Y3 ^ X5,        Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y7,        Z2 ^ Y5 ^ X6,   Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Z2 ^ Y4 ^ X6,   Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y6,        Z2 ^ Y4 ^ X5,   Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y5,        Z2 ^ Y3 ^ X5,   Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y5,        Z2 ^ Y3 ^ X4,   Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        Z2 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        Z2 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        Z2 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y5,        Y3 ^ X5,        Z2 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        Z2 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y7,        Z2 ^ Y5 ^ X6,   Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Z2 ^ Y4 ^ X6,   Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y6,        Z2 ^ Y4 ^ X5,   Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y5,        Z2 ^ Y3 ^ X5,   Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y5,        Z2 ^ Y3 ^ X4,   Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        Z2 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        Z2 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        Z2 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y5,        Y3 ^ X5,        Z2 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        Z2 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y7,        Z2 ^ Y5 ^ X6,   Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Z2 ^ Y4 ^ X6,   Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y6,        Z2 ^ Y4 ^ X5,   Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y5,        Z2 ^ Y3 ^ X5,   Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y5,        Z2 ^ Y3 ^ X4,   Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z0 ^ X5 ^ Y5,   X5              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z0 ^ Y4 ^ X5,   X5              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Z0 ^ X4 ^ Y4,   X4              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z0 ^ Y3 ^ X4,   X4              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X6,        Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X5,        Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X5,        Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X4,        Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X6,        Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X5,        Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X5,        Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X4,        Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X6,        Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X5,        Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X5,        Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X4,        Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X6,        Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X5,        Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X5,        Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X4,        Z1 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4         },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X6,        Z1 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        Z1 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X5,        Z1 ^ X4 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X5,        Z1 ^ X4 ^ Y4    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X4,        Z1 ^ X3 ^ Y4    },
+    {   1,   29,  131,  148,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_S3_T @ RbPlus
+    {   1,   30,  132,  149,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_S3_T @ RbPlus
+    {   1,   31,  133,  150,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_S3_T @ RbPlus
+    {   1,   32,  134,  151,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_S3_T @ RbPlus
+    {   1,   33,  135,  152,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   29,  136,  148,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   30,  137,  149,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   31,  138,  150,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   32,  139,  151,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   33,  140,  152,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   29,  141,  148,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   30,  142,  149,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   31,  143,  150,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   32,  144,  151,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   33,  145,  152,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   29,  166,  148,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   30,  167,  149,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   31,  168,  150,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   32,  169,  151,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   33,  170,  152,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   29,  141,  148,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   30,  142,  149,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   31,  143,  150,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   32,  144,  151,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   33,  145,  152,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   29,  166,  148,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   30,  167,  149,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   31,  168,  150,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   32,  169,  151,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   33,  170,  152,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   29,  171,  148,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   30,  172,  149,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   31,  173,  150,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   32,  174,  151,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   33,  175,  152,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   29,  166,  148,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   30,  167,  149,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   31,  168,  150,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   32,  169,  151,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   33,  170,  152,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   29,  171,  148,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   30,  172,  149,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   31,  173,  150,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   32,  174,  151,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   33,  175,  152,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   29,  176,  153,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   30,  177,  154,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   31,  178,  155,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   32,  179,  156,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   33,  180,  157,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   29,  171,  148,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   30,  172,  149,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   31,  173,  150,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   32,  174,  151,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   33,  175,  152,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   29,  176,  153,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   30,  177,  154,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   31,  178,  155,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   32,  179,  156,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   33,  180,  157,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   29,  131,  163,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   30,  132,  164,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   31,  133,  165,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   32,  134,  166,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   33,  135,  167,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   29,  176,  153,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   30,  177,  154,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   31,  178,  155,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   32,  179,  156,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   33,  180,  157,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   29,  131,  163,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   30,  132,  164,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   31,  133,  165,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   32,  134,  166,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_S3_T @ RbPlus
+    {   3,   33,  135,  167,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_S3_T @ RbPlus
 };
 
-const UINT_64 SW_64K_S_RBPLUS[][16]=
+const ADDR_SW_PATINFO SW_64K_D3_X_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
+    {   1,   34,  131,  148,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_64K_D3_X @ RbPlus
+    {   1,   35,  132,  149,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_64K_D3_X @ RbPlus
+    {   1,   36,  133,  150,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_64K_D3_X @ RbPlus
+    {   1,   37,  134,  151,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_64K_D3_X @ RbPlus
+    {   1,   38,  135,  152,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_64K_D3_X @ RbPlus
+    {   2,   34,  459,  170,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_64K_D3_X @ RbPlus
+    {   2,   35,  459,  801,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_64K_D3_X @ RbPlus
+    {   2,   36,  460,  802,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_64K_D3_X @ RbPlus
+    {   2,   37,  461,  152,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   38,  462,  152,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   34,  463,  803,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   35,  463,  804,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   36,  464,  805,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   37,  465,  806,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   38,  466,  806,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   34,  467,  803,    0, } , // 8 pipes (2 PKRs) 1 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   35,  467,  804,    0, } , // 8 pipes (2 PKRs) 2 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   36,  468,  805,    0, } , // 8 pipes (2 PKRs) 4 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   37,  469,  806,    0, } , // 8 pipes (2 PKRs) 8 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   38,  470,  806,    0, } , // 8 pipes (2 PKRs) 16 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   34,  471,  807,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   35,  472,  808,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   36,  473,  809,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   37,  474,  810,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   38,  475,  811,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   34,  476,  812,    0, } , // 8 pipes (4 PKRs) 1 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   35,  477,  804,    0, } , // 8 pipes (4 PKRs) 2 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   36,  478,  805,    0, } , // 8 pipes (4 PKRs) 4 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   37,  479,  806,    0, } , // 8 pipes (4 PKRs) 8 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   38,  480,  806,    0, } , // 8 pipes (4 PKRs) 16 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   34,  481,  813,    0, } , // 16 pipes (4 PKRs) 1 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   35,  482,  804,    0, } , // 16 pipes (4 PKRs) 2 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   36,  483,  805,    0, } , // 16 pipes (4 PKRs) 4 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   37,  484,  806,    0, } , // 16 pipes (4 PKRs) 8 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   38,  485,  806,    0, } , // 16 pipes (4 PKRs) 16 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   34,  486,  814,    0, } , // 8 pipes (8 PKRs) 1 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   35,  486,  815,    0, } , // 8 pipes (8 PKRs) 2 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   36,  486,  816,    0, } , // 8 pipes (8 PKRs) 4 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   37,  487,  817,    0, } , // 8 pipes (8 PKRs) 8 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   38,  488,  817,    0, } , // 8 pipes (8 PKRs) 16 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   34,  489,  812,    0, } , // 16 pipes (8 PKRs) 1 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   35,  490,  804,    0, } , // 16 pipes (8 PKRs) 2 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   36,  491,  805,    0, } , // 16 pipes (8 PKRs) 4 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   37,  492,  806,    0, } , // 16 pipes (8 PKRs) 8 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   38,  493,  806,    0, } , // 16 pipes (8 PKRs) 16 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   34,  489,  818,    0, } , // 32 pipes (8 PKRs) 1 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   35,  494,  819,    0, } , // 32 pipes (8 PKRs) 2 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   36,  494,  820,    0, } , // 32 pipes (8 PKRs) 4 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   37,  495,  821,    0, } , // 32 pipes (8 PKRs) 8 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   38,  496,  821,    0, } , // 32 pipes (8 PKRs) 16 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   34,  497,  822,    0, } , // 16 pipes (16 PKRs) 1 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   35,  498,  823,    0, } , // 16 pipes (16 PKRs) 2 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   36,  499,  824,    0, } , // 16 pipes (16 PKRs) 4 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   37,  500,  825,    0, } , // 16 pipes (16 PKRs) 8 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   38,  501,  825,    0, } , // 16 pipes (16 PKRs) 16 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   34,  497,  826,    0, } , // 32 pipes (16 PKRs) 1 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   35,  498,  827,    0, } , // 32 pipes (16 PKRs) 2 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   36,  499,  828,    0, } , // 32 pipes (16 PKRs) 4 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   37,  500,  829,    0, } , // 32 pipes (16 PKRs) 8 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   38,  501,  829,    0, } , // 32 pipes (16 PKRs) 16 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   34,  497,  830,    0, } , // 64 pipes (16 PKRs) 1 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   35,  502,  831,    0, } , // 64 pipes (16 PKRs) 2 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   36,  502,  832,    0, } , // 64 pipes (16 PKRs) 4 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   37,  503,  833,    0, } , // 64 pipes (16 PKRs) 8 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   38,  504,  833,    0, } , // 64 pipes (16 PKRs) 16 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   34,  505,  834,    0, } , // 32 pipes (32 PKRs) 1 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   35,  506,  835,    0, } , // 32 pipes (32 PKRs) 2 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   36,  507,  836,    0, } , // 32 pipes (32 PKRs) 4 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   37,  508,  837,    0, } , // 32 pipes (32 PKRs) 8 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   38,  509,  837,    0, } , // 32 pipes (32 PKRs) 16 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   34,  505,  838,    0, } , // 64 pipes (32 PKRs) 1 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   35,  506,  839,    0, } , // 64 pipes (32 PKRs) 2 bpe @ SW_64K_D3_X @ RbPlus
+    {   3,   36,  507,  840,    0, } , // 64 pipes (32 PKRs) 4 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   37,  508,  841,    0, } , // 64 pipes (32 PKRs) 8 bpe @ SW_64K_D3_X @ RbPlus
+    {   4,   38,  509,  841,    0, } , // 64 pipes (32 PKRs) 16 bpe @ SW_64K_D3_X @ RbPlus
 };
 
-const UINT_64 SW_64K_D_RBPLUS[][16]=
+const ADDR_SW_PATINFO SW_VAR_R_X_1xaa_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
+    {   2,    0,  270,  183,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   2,    1,  271,  184,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   2,   39,  272,  185,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   2,    6,  273,  186,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   2,    7,  274,  187,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    0,  275,  188,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    1,  276,  189,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,   39,  277,  190,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    6,  278,  191,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    7,  279,  192,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    0,  280,  193,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    1,  281,  194,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,   39,  282,  195,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    6,  283,  196,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    7,  284,  197,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    0,  394,  198,    1, } , // 8 pipes (2 PKRs) 1 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    1,  395,  199,    2, } , // 8 pipes (2 PKRs) 2 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,   39,  396,  200,    3, } , // 8 pipes (2 PKRs) 4 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    6,  397,  201,    4, } , // 8 pipes (2 PKRs) 8 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    7,  398,  202,    5, } , // 8 pipes (2 PKRs) 16 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    0,  290,  203,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    1,  291,  204,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,   39,  292,  205,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    6,  293,  206,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    7,  294,  207,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    0,  295,  208,    6, } , // 8 pipes (4 PKRs) 1 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    1,  296,  209,    2, } , // 8 pipes (4 PKRs) 2 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,   39,  297,  210,    7, } , // 8 pipes (4 PKRs) 4 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    6,  298,  211,    4, } , // 8 pipes (4 PKRs) 8 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    7,  299,  212,    8, } , // 8 pipes (4 PKRs) 16 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    0,  399,  213,    9, } , // 16 pipes (4 PKRs) 1 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    1,  399,  214,   10, } , // 16 pipes (4 PKRs) 2 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,   39,  399,  215,   11, } , // 16 pipes (4 PKRs) 4 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    6,  399,  216,   12, } , // 16 pipes (4 PKRs) 8 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    7,  399,  217,   13, } , // 16 pipes (4 PKRs) 16 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    0,  400,  218,   15, } , // 8 pipes (8 PKRs) 1 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    1,  401,  219,   15, } , // 8 pipes (8 PKRs) 2 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,   39,  402,  220,   15, } , // 8 pipes (8 PKRs) 4 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    6,  304,  221,   15, } , // 8 pipes (8 PKRs) 8 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    7,  305,  222,   15, } , // 8 pipes (8 PKRs) 16 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    0,  307,  213,    9, } , // 16 pipes (8 PKRs) 1 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    1,  307,  223,   16, } , // 16 pipes (8 PKRs) 2 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,   39,  307,  215,   11, } , // 16 pipes (8 PKRs) 4 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    6,  307,  216,   17, } , // 16 pipes (8 PKRs) 8 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    7,  307,  224,   13, } , // 16 pipes (8 PKRs) 16 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    0,  307,  497,   18, } , // 32 pipes (8 PKRs) 1 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    1,  307,  498,   19, } , // 32 pipes (8 PKRs) 2 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,   39,  307,  499,   20, } , // 32 pipes (8 PKRs) 4 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    6,  307,  500,   21, } , // 32 pipes (8 PKRs) 8 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    7,  307,  501,   22, } , // 32 pipes (8 PKRs) 16 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    0,  309,  230,  125, } , // 16 pipes (16 PKRs) 1 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    1,  309,  231,  126, } , // 16 pipes (16 PKRs) 2 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,   39,  309,  232,  127, } , // 16 pipes (16 PKRs) 4 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    6,  309,  233,   26, } , // 16 pipes (16 PKRs) 8 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    7,  309,  234,   27, } , // 16 pipes (16 PKRs) 16 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    0,  309,  502,   28, } , // 32 pipes (16 PKRs) 1 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    1,  309,  503,   19, } , // 32 pipes (16 PKRs) 2 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,   39,  309,  504,   29, } , // 32 pipes (16 PKRs) 4 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    6,  309,  238,   30, } , // 32 pipes (16 PKRs) 8 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    7,  309,  239,   31, } , // 32 pipes (16 PKRs) 16 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    0,  309,  505,   32, } , // 64 pipes (16 PKRs) 1 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    1,  309,  506,   33, } , // 64 pipes (16 PKRs) 2 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,   39,  309,  507,   34, } , // 64 pipes (16 PKRs) 4 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    6,  309,  508,   35, } , // 64 pipes (16 PKRs) 8 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    7,  309,  509,   36, } , // 64 pipes (16 PKRs) 16 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    0,  311,  510,  128, } , // 32 pipes (32 PKRs) 1 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    1,  311,  511,  129, } , // 32 pipes (32 PKRs) 2 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,   39,  311,  512,  130, } , // 32 pipes (32 PKRs) 4 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    6,  311,  248,   40, } , // 32 pipes (32 PKRs) 8 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    7,  311,  249,   41, } , // 32 pipes (32 PKRs) 16 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    0,  311,  513,   32, } , // 64 pipes (32 PKRs) 1 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    1,  311,  514,   42, } , // 64 pipes (32 PKRs) 2 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,   39,  311,  515,   34, } , // 64 pipes (32 PKRs) 4 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    6,  311,  253,   43, } , // 64 pipes (32 PKRs) 8 bpe @ SW_VAR_R_X 1xaa @ RbPlus
+    {   3,    7,  311,  254,   44, } , // 64 pipes (32 PKRs) 16 bpe @ SW_VAR_R_X 1xaa @ RbPlus
 };
 
-const UINT_64 SW_64K_S_T_RBPLUS[][16]=
+const ADDR_SW_PATINFO SW_VAR_R_X_2xaa_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X3,        X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             X2 ^ Y2,        X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X4,        X3 ^ Y3,        Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X3,        X2 ^ Y3,        Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X5,        X3 ^ Y4,        Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X4,        X2 ^ Y4,        X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X4,        X3 ^ Y3,        Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X3,        X2 ^ Y3,        Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X5,        X3 ^ Y4,        Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X4,        X2 ^ Y4,        X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7,        X4 ^ Y7,        Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X6,        X3 ^ Y6,        Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X6,        X3 ^ Y5,        Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X5,        X2 ^ Y5,        Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X5,        X3 ^ Y4,        Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X4,        X2 ^ Y4,        X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7,        X4 ^ Y7,        Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X6,        X3 ^ Y6,        Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X6,        X3 ^ Y5,        Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X5,        X2 ^ Y5,        Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7,        X4 ^ Y7,        Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X6,        X3 ^ Y6,        Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X6,        X3 ^ Y5,        Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X5,        X2 ^ Y5,        Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y5,        Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y4,        Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y4,        Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y3,        Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y3,        Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y4,        Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y4,        X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y5,        Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y4,        Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y4,        X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y5,        Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y5,        Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             X7 ^ Y7,        X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6 ^ X7,        X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             X6 ^ Y6,        X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X6,        X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             X5 ^ Y5,        X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             X7 ^ Y7,        X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6 ^ X7,        X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             X6 ^ Y6,        X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X6,        X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             X5 ^ Y5,        X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             X7 ^ Y7,        X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6 ^ X7,        X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             X6 ^ Y6,        X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X6,        X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             X5 ^ Y5,        X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             X7 ^ Y7,        X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6 ^ X7,        X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             X6 ^ Y6,        X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X6,        X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             X5 ^ Y5,        X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             X7 ^ Y7,        X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6 ^ X7,        X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             X6 ^ Y6,        X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X6,        X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             X5 ^ Y5,        X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
+    {   3,    0,  403,  516,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    1,  271,  517,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,   39,  313,  518,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    6,  273,  519,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    7,  314,  520,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    0,  404,  521,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    1,  276,  522,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,   39,  315,  523,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    6,  278,  524,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    7,  316,  525,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    0,  280,  526,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    1,  281,  527,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,   39,  282,  528,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    6,  283,  529,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    7,  284,  530,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    0,  394,  208,  131, } , // 8 pipes (2 PKRs) 1 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    1,  395,  531,  132, } , // 8 pipes (2 PKRs) 2 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,   39,  396,  302,  133, } , // 8 pipes (2 PKRs) 4 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    6,  397,  532,  134, } , // 8 pipes (2 PKRs) 8 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    7,  398,  533,  135, } , // 8 pipes (2 PKRs) 16 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    0,  290,  534,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    1,  291,  535,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,   39,  292,  536,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    6,  293,  537,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    7,  294,  538,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    0,  295,  208,  131, } , // 8 pipes (4 PKRs) 1 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    1,  296,  209,  132, } , // 8 pipes (4 PKRs) 2 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,   39,  297,  210,  133, } , // 8 pipes (4 PKRs) 4 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    6,  298,  211,  134, } , // 8 pipes (4 PKRs) 8 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    7,  299,  212,  135, } , // 8 pipes (4 PKRs) 16 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    0,  399,  539,  136, } , // 16 pipes (4 PKRs) 1 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    1,  399,  214,  137, } , // 16 pipes (4 PKRs) 2 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,   39,  399,  280,  138, } , // 16 pipes (4 PKRs) 4 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    6,  399,  216,  139, } , // 16 pipes (4 PKRs) 8 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    7,  399,  224,  140, } , // 16 pipes (4 PKRs) 16 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    0,  400,  540,   15, } , // 8 pipes (8 PKRs) 1 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    1,  401,  541,   15, } , // 8 pipes (8 PKRs) 2 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,   39,  402,  542,   15, } , // 8 pipes (8 PKRs) 4 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    6,  304,  543,   15, } , // 8 pipes (8 PKRs) 8 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    7,  305,  544,   15, } , // 8 pipes (8 PKRs) 16 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    0,  307,  539,  136, } , // 16 pipes (8 PKRs) 1 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    1,  307,  214,  137, } , // 16 pipes (8 PKRs) 2 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,   39,  307,  280,  138, } , // 16 pipes (8 PKRs) 4 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    6,  307,  216,  139, } , // 16 pipes (8 PKRs) 8 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    7,  307,  224,  140, } , // 16 pipes (8 PKRs) 16 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    0,  307,  545,  141, } , // 32 pipes (8 PKRs) 1 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    1,  307,  498,  142, } , // 32 pipes (8 PKRs) 2 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,   39,  307,  546,  143, } , // 32 pipes (8 PKRs) 4 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    6,  307,  500,  144, } , // 32 pipes (8 PKRs) 8 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    7,  307,  547,  145, } , // 32 pipes (8 PKRs) 16 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    0,  309,  548,  146, } , // 16 pipes (16 PKRs) 1 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    1,  309,  231,  147, } , // 16 pipes (16 PKRs) 2 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,   39,  309,  285,  148, } , // 16 pipes (16 PKRs) 4 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    6,  309,  233,  149, } , // 16 pipes (16 PKRs) 8 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    7,  309,  286,  150, } , // 16 pipes (16 PKRs) 16 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    0,  309,  502,  141, } , // 32 pipes (16 PKRs) 1 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    1,  309,  503,  151, } , // 32 pipes (16 PKRs) 2 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,   39,  309,  504,  143, } , // 32 pipes (16 PKRs) 4 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    6,  309,  238,  152, } , // 32 pipes (16 PKRs) 8 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    7,  309,  239,  153, } , // 32 pipes (16 PKRs) 16 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    0,  309,  505,  154, } , // 64 pipes (16 PKRs) 1 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    1,  309,  506,  155, } , // 64 pipes (16 PKRs) 2 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,   39,  309,  507,  156, } , // 64 pipes (16 PKRs) 4 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    6,  309,  508,  157, } , // 64 pipes (16 PKRs) 8 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    7,  309,  509,  158, } , // 64 pipes (16 PKRs) 16 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    0,  318,  549,  159, } , // 32 pipes (32 PKRs) 1 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    1,  318,  550,  160, } , // 32 pipes (32 PKRs) 2 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,   39,  318,  551,  161, } , // 32 pipes (32 PKRs) 4 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    6,  318,  287,  162, } , // 32 pipes (32 PKRs) 8 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    7,  318,  288,  163, } , // 32 pipes (32 PKRs) 16 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    0,  318,  552,  154, } , // 64 pipes (32 PKRs) 1 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    1,  318,  553,  155, } , // 64 pipes (32 PKRs) 2 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,   39,  318,  554,  156, } , // 64 pipes (32 PKRs) 4 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    6,  318,  555,  157, } , // 64 pipes (32 PKRs) 8 bpe @ SW_VAR_R_X 2xaa @ RbPlus
+    {   3,    7,  318,  290,  158, } , // 64 pipes (32 PKRs) 16 bpe @ SW_VAR_R_X 2xaa @ RbPlus
 };
 
-const UINT_64 SW_64K_D_T_RBPLUS[][16]=
+const ADDR_SW_PATINFO SW_VAR_R_X_4xaa_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X3,        X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2 ^ Y2,        X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X4,        X3 ^ Y3,        Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X3,        X2 ^ Y3,        Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X5,        X3 ^ Y4,        Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X4,        X2 ^ Y4,        X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X4,        X3 ^ Y3,        Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X3,        X2 ^ Y3,        Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X5,        X3 ^ Y4,        Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X4,        X2 ^ Y4,        X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X7,        X4 ^ Y7,        Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X6,        X3 ^ Y6,        Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X6,        X3 ^ Y5,        Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X5,        X2 ^ Y5,        Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X5,        X3 ^ Y4,        Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X4,        X2 ^ Y4,        X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X7,        X4 ^ Y7,        Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X6,        X3 ^ Y6,        Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X6,        X3 ^ Y5,        Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X5,        X2 ^ Y5,        Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X7,        X4 ^ Y7,        Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X6,        X3 ^ Y6,        Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X6,        X3 ^ Y5,        Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X5,        X2 ^ Y5,        Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y5,        Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y4,        Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y4,        Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y3,        Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y3,        Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y4,        Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y4,        X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y5,        Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y4,        Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y4,        X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y5,        Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y5,        Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             X7 ^ Y7,        X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6 ^ X7,        X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             X6 ^ Y6,        X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X6,        X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             X5 ^ Y5,        X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             X7 ^ Y7,        X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6 ^ X7,        X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             X6 ^ Y6,        X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X6,        X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             X5 ^ Y5,        X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             X5 ^ Y5,        X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X5,        X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             X4 ^ Y4,        X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X4,        X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             X3 ^ Y3,        X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X5,        X4 ^ Y4,        Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X4,        X3 ^ Y4,        Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6,        X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        X5 ^ Y5,        X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Y4 ^ X5,        X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        X4 ^ Y4,        X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             X7 ^ Y7,        X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6 ^ X7,        X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             X6 ^ Y6,        X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X6,        X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             X5 ^ Y5,        X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6 ^ X7,        X6 ^ Y7,        Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X7,        X6 ^ Y6,        Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5 ^ X6,        X5 ^ Y6,        Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        X5 ^ Y5,        Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        X4 ^ Y5,        Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             X7 ^ Y7,        X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6 ^ X7,        X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             X6 ^ Y6,        X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X6,        X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             X5 ^ Y5,        X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             X7 ^ Y7,        X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6 ^ X7,        X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             X6 ^ Y6,        X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5 ^ X6,        X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             X5 ^ Y5,        X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
+    {   3,    0,  270,  556,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    1,  271,  557,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,   39,  272,  558,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    6,  273,  559,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    7,  274,  560,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    0,  275,  561,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    1,  276,  562,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,   39,  277,  563,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    6,  278,  564,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    7,  279,  565,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    0,  280,  566,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    1,  281,  567,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,   39,  282,  568,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    6,  283,  569,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    7,  284,  570,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    0,  394,  571,  164, } , // 8 pipes (2 PKRs) 1 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    1,  395,  572,  165, } , // 8 pipes (2 PKRs) 2 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,   39,  396,  573,  166, } , // 8 pipes (2 PKRs) 4 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    6,  397,  574,  167, } , // 8 pipes (2 PKRs) 8 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    7,  398,  575,  168, } , // 8 pipes (2 PKRs) 16 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    0,  290,  576,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    1,  291,  577,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,   39,  292,  578,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    6,  293,  579,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    7,  405,  580,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    0,  295,  581,  169, } , // 8 pipes (4 PKRs) 1 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    1,  296,  582,  165, } , // 8 pipes (4 PKRs) 2 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,   39,  297,  583,  170, } , // 8 pipes (4 PKRs) 4 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    6,  298,  584,  167, } , // 8 pipes (4 PKRs) 8 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    7,  299,  585,  168, } , // 8 pipes (4 PKRs) 16 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    0,  399,  213,  171, } , // 16 pipes (4 PKRs) 1 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    1,  399,  214,  172, } , // 16 pipes (4 PKRs) 2 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,   39,  399,  215,  173, } , // 16 pipes (4 PKRs) 4 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    6,  399,  216,  174, } , // 16 pipes (4 PKRs) 8 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    7,  399,  217,  175, } , // 16 pipes (4 PKRs) 16 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    0,  400,  586,   15, } , // 8 pipes (8 PKRs) 1 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    1,  401,  587,   15, } , // 8 pipes (8 PKRs) 2 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,   39,  402,  588,   15, } , // 8 pipes (8 PKRs) 4 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    6,  304,  589,   15, } , // 8 pipes (8 PKRs) 8 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    7,  406,  544,   15, } , // 8 pipes (8 PKRs) 16 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    0,  307,  213,  171, } , // 16 pipes (8 PKRs) 1 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    1,  307,  223,  176, } , // 16 pipes (8 PKRs) 2 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,   39,  307,  215,  173, } , // 16 pipes (8 PKRs) 4 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    6,  307,  216,  177, } , // 16 pipes (8 PKRs) 8 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    7,  307,  224,  175, } , // 16 pipes (8 PKRs) 16 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    0,  307,  497,  178, } , // 32 pipes (8 PKRs) 1 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    1,  307,  498,  179, } , // 32 pipes (8 PKRs) 2 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,   39,  307,  499,  180, } , // 32 pipes (8 PKRs) 4 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    6,  307,  500,  181, } , // 32 pipes (8 PKRs) 8 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    7,  307,  501,  182, } , // 32 pipes (8 PKRs) 16 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    0,  323,  590,  183, } , // 16 pipes (16 PKRs) 1 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    1,  323,  591,  184, } , // 16 pipes (16 PKRs) 2 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,   39,  323,  592,  185, } , // 16 pipes (16 PKRs) 4 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    6,  323,  593,  186, } , // 16 pipes (16 PKRs) 8 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    7,  323,  286,  187, } , // 16 pipes (16 PKRs) 16 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    0,  323,  594,  188, } , // 32 pipes (16 PKRs) 1 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    1,  323,  595,  179, } , // 32 pipes (16 PKRs) 2 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,   39,  323,  596,  189, } , // 32 pipes (16 PKRs) 4 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    6,  323,  321,  190, } , // 32 pipes (16 PKRs) 8 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    7,  323,  322,  191, } , // 32 pipes (16 PKRs) 16 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    0,  323,  597,  192, } , // 64 pipes (16 PKRs) 1 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    1,  323,  598,  193, } , // 64 pipes (16 PKRs) 2 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,   39,  323,  599,  194, } , // 64 pipes (16 PKRs) 4 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    6,  323,  600,  195, } , // 64 pipes (16 PKRs) 8 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    7,  323,  601,  196, } , // 64 pipes (16 PKRs) 16 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    0,  324,  602,  197, } , // 32 pipes (32 PKRs) 1 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    1,  324,  603,  198, } , // 32 pipes (32 PKRs) 2 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,   39,  324,  604,  199, } , // 32 pipes (32 PKRs) 4 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    6,  324,  605,  200, } , // 32 pipes (32 PKRs) 8 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    7,  324,  606,  201, } , // 32 pipes (32 PKRs) 16 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    0,  324,  607,  192, } , // 64 pipes (32 PKRs) 1 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    1,  324,  608,  202, } , // 64 pipes (32 PKRs) 2 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,   39,  324,  609,  194, } , // 64 pipes (32 PKRs) 4 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    6,  324,  327,  203, } , // 64 pipes (32 PKRs) 8 bpe @ SW_VAR_R_X 4xaa @ RbPlus
+    {   3,    7,  324,  328,  204, } , // 64 pipes (32 PKRs) 16 bpe @ SW_VAR_R_X 4xaa @ RbPlus
 };
 
-const UINT_64 SW_64K_S_X_RBPLUS[][16]=
+const ADDR_SW_PATINFO SW_VAR_R_X_8xaa_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Z0 ^ Y2 ^ X3,   X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Z0 ^ X2 ^ Y2,   X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X5,        Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X5,        Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X4,        Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X4,        Z0 ^ X3 ^ Y3,   Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X3,        Z0 ^ X2 ^ Y3,   Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6,        X4 ^ Y6,        Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X5,        X3 ^ Y4,        Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X4,        X2 ^ Y4,        Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Z1 ^ Y2 ^ X4,   Z0 ^ X3 ^ Y3,   Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Z1 ^ Y2 ^ X3,   Z0 ^ X2 ^ Y3,   Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6,        Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X6,        Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X5,        Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X5,        Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X4,        Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7,        X4 ^ Y7,        Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X6,        X3 ^ Y6,        Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X6,        X3 ^ Y5,        Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X5,        X2 ^ Y5,        Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ Z2 ^ X5,   Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ Z2 ^ X4,   Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7,        Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X6,        Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X6,        Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X5,        X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X8,        X4 ^ Y8,        Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X8,        X4 ^ Y7,        Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X7,        X3 ^ Y7,        Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X7,        X3 ^ Y6,        Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X6,        X2 ^ Y6,        Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ Z3 ^ X5,   X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X8,        Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X8,        Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X7,        X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X7,        X3 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X6,        X2 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X8,        X3 ^ Y8,        Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X8,        X3 ^ Y7,        Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X7,        X2 ^ Y7,        Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ Z4 ^ X7,   X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ Z4 ^ X7,   X3 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ Z4 ^ X6,   X2 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X9,        X4 ^ Z4 ^ Y9,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3 ^ X8,        X3 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2 ^ X8,        X3 ^ Z4 ^ Y7,   Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2 ^ X7,        X2 ^ Z4 ^ Y7,   Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z0 ^ X3 ^ Y3,   Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             Z0 ^ X2 ^ Y3,   Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y6,        Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y5,        Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y5,        Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y4,        Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y4,        Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y5,        Y3 ^ X5,        Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y7,        Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y6,        Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y5,        Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y5,        Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y8,        Y5 ^ X7,        Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y7,        Y4 ^ X7,        Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y7,        Y4 ^ X6,        Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y6,        Y3 ^ X6,        Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y6,        Y3 ^ X5,        Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y8,        Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y7,        Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y7,        Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y6,        Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y6,        Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y9,        Y5 ^ X8,        Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y8,        Y4 ^ X8,        Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y8,        Y4 ^ X7,        Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y7,        Y3 ^ X7,        Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y7,        Y3 ^ X6,        Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Y9,        Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y8,        Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y8,        Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y7,        Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y7,        Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^Y10,        Y5 ^ X9,        Z3 ^ X5 ^ Y9,   Z2 ^ Y6 ^ X8,   Z1 ^ X6 ^ Y8,   Z0 ^ X7 ^ Y7,   X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        Z3 ^ X5 ^ Y8,   Z2 ^ Y5 ^ X8,   Z1 ^ X6 ^ Y7,   Z0 ^ Y6 ^ X7,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y9,        Y4 ^ X8,        Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y8,        Y3 ^ X8,        Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y8,        Y3 ^ X7,        X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^ Z4 ^ Y9,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Z4 ^ Y7,   Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Z4 ^ Y7,   Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4 ^Y10,        Z4 ^ Y5 ^ X9,   Z3 ^ X5 ^ Y9,   Z2 ^ Y6 ^ X8,   Z1 ^ X6 ^ Y8,   Z0 ^ X7 ^ Y7,   X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ Z4 ^ X9,   Z3 ^ X5 ^ Y8,   Z2 ^ Y5 ^ X8,   Z1 ^ X6 ^ Y7,   Z0 ^ Y6 ^ X7,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3 ^ Y9,        Y4 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3 ^ Y8,        Y3 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2 ^ Y8,        Y3 ^ Z4 ^ X7,   X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X6,        Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X5,        Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X5,        Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X4,        Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X7,        Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X6,        Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X6,        Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X5,        Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X8,        X5 ^ Y8,        Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X8,        X5 ^ Y7,        Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X7,        X4 ^ Y7,        Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X6,        X3 ^ Y6,        Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X8,        Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X8,        Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X7,        Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X7,        Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X6,        Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X9,        X5 ^ Y9,        Z2 ^ Y6 ^ X8,   Z1 ^ X6 ^ Y8,   Z0 ^ X7 ^ Y7,   X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X9,        X5 ^ Y8,        Z2 ^ Y5 ^ X8,   Z1 ^ X6 ^ Y7,   Z0 ^ Y6 ^ X7,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X8,        X4 ^ Y8,        Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X8,        X4 ^ Y7,        Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X7,        X3 ^ Y7,        Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^ X9,        Z3 ^ X5 ^ Y9,   Z2 ^ Y6 ^ X8,   Z1 ^ X6 ^ Y8,   Z0 ^ X7 ^ Y7,   X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X9,        Z3 ^ X5 ^ Y8,   Z2 ^ Y5 ^ X8,   Z1 ^ X6 ^ Y7,   Z0 ^ Y6 ^ X7,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X8,        Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X8,        Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X7,        X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^X10,        X5 ^Y10,        Z3 ^ Y6 ^ X9,   Z2 ^ X6 ^ Y9,   Z1 ^ Y7 ^ X8,   Z0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Z3 ^ Y5 ^ X9,   Z2 ^ X6 ^ Y8,   Z1 ^ Y6 ^ X8,   Z0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X9,        X4 ^ Y9,        Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X8,        X3 ^ Y8,        Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Z4 ^ Y5 ^ X9,   Z3 ^ X5 ^ Y9,   Z2 ^ Y6 ^ X8,   Z1 ^ X6 ^ Y8,   Z0 ^ X7 ^ Y7,   X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ Z4 ^ X9,   Z3 ^ X5 ^ Y8,   Z2 ^ Y5 ^ X8,   Z1 ^ X6 ^ Y7,   Z0 ^ Y6 ^ X7,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6              },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ Z4 ^ X7,   X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X4,             Y5 ^X10,        Z4 ^ X5 ^Y10,   Z3 ^ Y6 ^ X9,   Z2 ^ X6 ^ Y9,   Z1 ^ Y7 ^ X8,   Z0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        Z4 ^ X5 ^ Y9,   Z3 ^ Y5 ^ X9,   Z2 ^ X6 ^ Y8,   Z1 ^ Y6 ^ X8,   Z0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             Y2,             X2,             Y3,             X3,             Y4 ^ X9,        X4 ^ Z4 ^ Y9,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             Y1,             X1,             X2,             Y2,             X3,             Y3 ^ X9,        X4 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              Y0,             Y1,             X0,             X1,             Y2,             X2,             Y3 ^ X8,        X3 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
+    {   3,    0,  407,  610,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    1,  408,  611,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,   39,  409,  612,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    6,  410,  613,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    7,  411,  614,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    0,  404,  615,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    1,  276,  616,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,   39,  315,  617,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    6,  278,  618,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    7,  412,  565,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    0,  280,  619,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    1,  281,  620,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,   39,  282,  621,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    6,  283,  622,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    7,  413,  623,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    0,  394,  624,  205, } , // 8 pipes (2 PKRs) 1 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    1,  395,  625,  206, } , // 8 pipes (2 PKRs) 2 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,   39,  396,  626,  207, } , // 8 pipes (2 PKRs) 4 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    6,  397,  627,  208, } , // 8 pipes (2 PKRs) 8 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    7,  414,  628,  209, } , // 8 pipes (2 PKRs) 16 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    0,  415,  629,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    1,  291,  630,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,   39,  292,  631,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    6,  416,  632,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    7,  417,  580,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    0,  295,  624,  205, } , // 8 pipes (4 PKRs) 1 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    1,  296,  633,  206, } , // 8 pipes (4 PKRs) 2 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,   39,  297,  634,  207, } , // 8 pipes (4 PKRs) 4 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    6,  298,  627,  208, } , // 8 pipes (4 PKRs) 8 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    7,  418,  635,  210, } , // 8 pipes (4 PKRs) 16 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    0,  399,  636,  211, } , // 16 pipes (4 PKRs) 1 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    1,  399,  637,  212, } , // 16 pipes (4 PKRs) 2 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,   39,  399,  638,  213, } , // 16 pipes (4 PKRs) 4 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    6,  399,  639,  214, } , // 16 pipes (4 PKRs) 8 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    7,  419,  640,  215, } , // 16 pipes (4 PKRs) 16 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    0,  301,  641,  216, } , // 8 pipes (8 PKRs) 1 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    1,  302,  642,  216, } , // 8 pipes (8 PKRs) 2 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,   39,  303,  643,  216, } , // 8 pipes (8 PKRs) 4 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    6,  420,  589,  105, } , // 8 pipes (8 PKRs) 8 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    7,  421,  544,  217, } , // 8 pipes (8 PKRs) 16 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    0,  339,  636,  211, } , // 16 pipes (8 PKRs) 1 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    1,  339,  637,  212, } , // 16 pipes (8 PKRs) 2 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,   39,  339,  638,  213, } , // 16 pipes (8 PKRs) 4 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    6,  339,  639,  214, } , // 16 pipes (8 PKRs) 8 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    7,  422,  224,  175, } , // 16 pipes (8 PKRs) 16 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    0,  339,  545,  218, } , // 32 pipes (8 PKRs) 1 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    1,  339,  498,  219, } , // 32 pipes (8 PKRs) 2 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,   39,  339,  546,  220, } , // 32 pipes (8 PKRs) 4 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    6,  339,  500,  221, } , // 32 pipes (8 PKRs) 8 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    7,  339,  644,  222, } , // 32 pipes (8 PKRs) 16 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    0,  343,  645,  223, } , // 16 pipes (16 PKRs) 1 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    1,  343,  646,  224, } , // 16 pipes (16 PKRs) 2 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,   39,  343,  647,  225, } , // 16 pipes (16 PKRs) 4 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    6,  341,  648,  226, } , // 16 pipes (16 PKRs) 8 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    7,  423,  286,  187, } , // 16 pipes (16 PKRs) 16 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    0,  343,  649,  218, } , // 32 pipes (16 PKRs) 1 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    1,  343,  650,  227, } , // 32 pipes (16 PKRs) 2 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,   39,  343,  651,  220, } , // 32 pipes (16 PKRs) 4 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    6,  343,  652,  221, } , // 32 pipes (16 PKRs) 8 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    7,  341,  653,  228, } , // 32 pipes (16 PKRs) 16 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    0,  343,  654,  229, } , // 64 pipes (16 PKRs) 1 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    1,  343,  655,  230, } , // 64 pipes (16 PKRs) 2 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,   39,  343,  656,  231, } , // 64 pipes (16 PKRs) 4 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    6,  343,  657,  232, } , // 64 pipes (16 PKRs) 8 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    7,  343,  658,  233, } , // 64 pipes (16 PKRs) 16 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    0,  346,  659,  234, } , // 32 pipes (32 PKRs) 1 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    1,  346,  660,  235, } , // 32 pipes (32 PKRs) 2 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,   39,  346,  661,  236, } , // 32 pipes (32 PKRs) 4 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    6,  344,  662,  237, } , // 32 pipes (32 PKRs) 8 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    7,  345,  663,  238, } , // 32 pipes (32 PKRs) 16 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    0,  346,  664,  229, } , // 64 pipes (32 PKRs) 1 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    1,  346,  665,  230, } , // 64 pipes (32 PKRs) 2 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,   39,  346,  666,  231, } , // 64 pipes (32 PKRs) 4 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    6,  346,  667,  232, } , // 64 pipes (32 PKRs) 8 bpe @ SW_VAR_R_X 8xaa @ RbPlus
+    {   3,    7,  344,  668,  204, } , // 64 pipes (32 PKRs) 16 bpe @ SW_VAR_R_X 8xaa @ RbPlus
 };
 
-const UINT_64 SW_64K_D_X_RBPLUS[][16]=
+const ADDR_SW_PATINFO SW_VAR_Z_X_1xaa_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z0 ^ Y2 ^ X3,   X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z0 ^ X2 ^ Y2,   X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X5,        Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X5,        Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X4,        Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X4,        Z0 ^ X3 ^ Y3,   Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X3,        Z0 ^ X2 ^ Y3,   Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X6,        X4 ^ Y6,        Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X5,        X3 ^ Y5,        Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X5,        X3 ^ Y4,        Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X4,        X2 ^ Y4,        Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z1 ^ Y2 ^ X4,   Z0 ^ X3 ^ Y3,   Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z1 ^ Y2 ^ X3,   Z0 ^ X2 ^ Y3,   Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X6,        Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X6,        Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X5,        Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X5,        Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X4,        Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X7,        X4 ^ Y7,        Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X6,        X3 ^ Y6,        Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X6,        X3 ^ Y5,        Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X5,        X2 ^ Y5,        Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ Z2 ^ X5,   Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ Z2 ^ X4,   Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X7,        Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X7,        Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X6,        Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X6,        Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X5,        X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X8,        X4 ^ Y8,        Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X8,        X4 ^ Y7,        Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X7,        X3 ^ Y7,        Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X7,        X3 ^ Y6,        Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X6,        X2 ^ Y6,        Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ Z3 ^ X5,   X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X8,        Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X8,        Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X7,        X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X7,        X3 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X6,        X2 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X8,        X3 ^ Y8,        Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X8,        X3 ^ Y7,        Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X7,        X2 ^ Y7,        Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ Z4 ^ X7,   X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ Z4 ^ X7,   X3 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ Z4 ^ X6,   X2 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4 ^ X9,        X4 ^ Z4 ^ Y9,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3 ^ X8,        X3 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2 ^ X8,        X3 ^ Z4 ^ Y7,   Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2 ^ X7,        X2 ^ Z4 ^ Y7,   Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z0 ^ X3 ^ Y3,   Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             Z0 ^ X2 ^ Y3,   Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y6,        Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y5,        Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y5,        Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y4,        Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y4,        Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y7,        Y5 ^ X6,        Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Y4 ^ X6,        Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y6,        Y4 ^ X5,        Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y5,        Y3 ^ X5,        Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y5,        Y3 ^ X4,        Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z1 ^ X3 ^ Y4,   Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             Z1 ^ X2 ^ Y4,   Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y7,        Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y6,        Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y6,        Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y5,        Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y5,        Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y8,        Y5 ^ X7,        Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y7,        Y4 ^ X7,        Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y7,        Y4 ^ X6,        Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y6,        Y3 ^ X6,        Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y6,        Y3 ^ X5,        Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z2 ^ X3 ^ Y5,   Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Z2 ^ Y5,   Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y8,        Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y7,        Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y7,        Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y6,        Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y6,        Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y9,        Y5 ^ X8,        Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y8,        Y4 ^ X8,        Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y8,        Y4 ^ X7,        Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y7,        Y3 ^ X7,        Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y7,        Y3 ^ X6,        Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Z3 ^ Y6,   Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Y9,        Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y8,        Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y8,        Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y7,        Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y7,        Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^Y10,        Y5 ^ X9,        Z3 ^ X5 ^ Y9,   Z2 ^ Y6 ^ X8,   Z1 ^ X6 ^ Y8,   Z0 ^ X7 ^ Y7,   X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        Z3 ^ X5 ^ Y8,   Z2 ^ Y5 ^ X8,   Z1 ^ X6 ^ Y7,   Z0 ^ Y6 ^ X7,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y9,        Y4 ^ X8,        Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y8,        Y3 ^ X8,        Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y8,        Y3 ^ X7,        X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^ Z4 ^ Y9,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Z4 ^ Y7,   Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Z4 ^ Y7,   Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4 ^Y10,        Z4 ^ Y5 ^ X9,   Z3 ^ X5 ^ Y9,   Z2 ^ Y6 ^ X8,   Z1 ^ X6 ^ Y8,   Z0 ^ X7 ^ Y7,   X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ Z4 ^ X9,   Z3 ^ X5 ^ Y8,   Z2 ^ Y5 ^ X8,   Z1 ^ X6 ^ Y7,   Z0 ^ Y6 ^ X7,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3 ^ Y9,        Y4 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3 ^ Y8,        Y3 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2 ^ Y8,        Y3 ^ Z4 ^ X7,   X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5,             X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4,             X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3,             X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z0 ^ X5 ^ Y5,   X5,             Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z0 ^ Y4 ^ X5,   X5,             Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Z0 ^ X4 ^ Y4,   X4,             Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z0 ^ Y3 ^ X4,   X4,             Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z0 ^ X3 ^ Y3,   X3,             Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X6,        Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X6,        Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X5,        Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X5,        Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X4,        Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X7,        X5 ^ Y7,        Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        X5 ^ Y6,        Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X6,        X4 ^ Y6,        Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X6,        X4 ^ Y5,        Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X5,        X3 ^ Y5,        Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z1 ^ Y3 ^ X5,   Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z1 ^ Y3 ^ X4,   Z0 ^ X3 ^ Y4,   Y4,             X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X7,        Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X7,        Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X6,        Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X6,        Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X5,        Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X8,        X5 ^ Y8,        Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X8,        X5 ^ Y7,        Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X7,        X4 ^ Y7,        Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X7,        X4 ^ Y6,        Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X6,        X3 ^ Y6,        Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5,             Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z2 ^ Y3 ^ X6,   Z1 ^ X4 ^ Y5,   Z0 ^ Y4 ^ X5,   X5,             Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Z2 ^ Y3 ^ X5,   Z1 ^ X3 ^ Y5,   Z0 ^ X4 ^ Y4,   X4,             Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X8,        Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X8,        Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X7,        Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X7,        Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X6,        Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X9,        X5 ^ Y9,        Z2 ^ Y6 ^ X8,   Z1 ^ X6 ^ Y8,   Z0 ^ X7 ^ Y7,   X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X9,        X5 ^ Y8,        Z2 ^ Y5 ^ X8,   Z1 ^ X6 ^ Y7,   Z0 ^ Y6 ^ X7,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X8,        X4 ^ Y8,        Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X8,        X4 ^ Y7,        Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X7,        X3 ^ Y7,        Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7,             X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6,   Y6,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ Z3 ^ X7,   Z2 ^ X4 ^ Y6,   Z1 ^ Y4 ^ X6,   Z0 ^ X5 ^ Y5,   Y5,             X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ Z3 ^ X6,   Z2 ^ X3 ^ Y6,   Z1 ^ Y4 ^ X5,   Z0 ^ X4 ^ Y5,   Y5,             X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^ X9,        Z3 ^ X5 ^ Y9,   Z2 ^ Y6 ^ X8,   Z1 ^ X6 ^ Y8,   Z0 ^ X7 ^ Y7,   X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ X9,        Z3 ^ X5 ^ Y8,   Z2 ^ Y5 ^ X8,   Z1 ^ X6 ^ Y7,   Z0 ^ Y6 ^ X7,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X8,        Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X8,        Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X7,        X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^X10,        X5 ^Y10,        Z3 ^ Y6 ^ X9,   Z2 ^ X6 ^ Y9,   Z1 ^ Y7 ^ X8,   Z0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Z3 ^ Y5 ^ X9,   Z2 ^ X6 ^ Y8,   Z1 ^ Y6 ^ X8,   Z0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X9,        X4 ^ Y9,        Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X8,        X3 ^ Y8,        Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Z4 ^ Y5 ^ X9,   Z3 ^ X5 ^ Y9,   Z2 ^ Y6 ^ X8,   Z1 ^ X6 ^ Y8,   Z0 ^ X7 ^ Y7,   X7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^ Z4 ^ X9,   Z3 ^ X5 ^ Y8,   Z2 ^ Y5 ^ X8,   Z1 ^ X6 ^ Y7,   Z0 ^ Y6 ^ X7,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y8,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ Z4 ^ X8,   Z3 ^ X4 ^ Y7,   Z2 ^ Y4 ^ X7,   Z1 ^ X5 ^ Y6,   Z0 ^ Y5 ^ X6,   X6              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ Z4 ^ X7,   X3 ^ Z3 ^ Y7,   Z2 ^ Y4 ^ X6,   Z1 ^ X4 ^ Y6,   Z0 ^ X5 ^ Y5,   X5              },
-    {X0,             X1,             X2,             Y1,             Y0,             Y2,             X3,             Y3,             Y4,             X4,             Y5 ^X10,        Z4 ^ X5 ^Y10,   Z3 ^ Y6 ^ X9,   Z2 ^ X6 ^ Y9,   Z1 ^ Y7 ^ X8,   Z0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        Z4 ^ X5 ^ Y9,   Z3 ^ Y5 ^ X9,   Z2 ^ X6 ^ Y8,   Z1 ^ Y6 ^ X8,   Z0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y3,             X3,             Y4 ^ X9,        X4 ^ Z4 ^ Y9,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X8,   Z2 ^ X5 ^ Y7,   Z1 ^ Y5 ^ X7,   Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y2,             X2,             Y3 ^ X8,        X3 ^ Z4 ^ Y8,   Z3 ^ Y4 ^ X7,   Z2 ^ X4 ^ Y7,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6    },
+    {   2,    8,  270,  183,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   2,    9,  271,  184,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   2,   10,  272,  185,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   2,   11,  273,  186,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   2,    7,  274,  187,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    8,  275,  188,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    9,  276,  189,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   10,  277,  190,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   11,  278,  191,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    7,  279,  192,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    8,  280,  193,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    9,  281,  194,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   10,  282,  195,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   11,  283,  196,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    7,  284,  197,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    8,  285,  198,    1, } , // 8 pipes (2 PKRs) 1 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    9,  286,  199,    2, } , // 8 pipes (2 PKRs) 2 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   10,  287,  200,    3, } , // 8 pipes (2 PKRs) 4 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   11,  288,  201,    4, } , // 8 pipes (2 PKRs) 8 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    7,  289,  202,    5, } , // 8 pipes (2 PKRs) 16 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    8,  290,  203,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    9,  291,  204,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   10,  292,  205,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   11,  293,  206,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    7,  294,  207,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    8,  295,  208,    6, } , // 8 pipes (4 PKRs) 1 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    9,  296,  209,    2, } , // 8 pipes (4 PKRs) 2 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   10,  297,  210,    7, } , // 8 pipes (4 PKRs) 4 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   11,  298,  211,    4, } , // 8 pipes (4 PKRs) 8 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    7,  299,  212,    8, } , // 8 pipes (4 PKRs) 16 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    8,  300,  213,    9, } , // 16 pipes (4 PKRs) 1 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    9,  300,  214,   10, } , // 16 pipes (4 PKRs) 2 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   10,  300,  215,   11, } , // 16 pipes (4 PKRs) 4 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   11,  300,  216,   12, } , // 16 pipes (4 PKRs) 8 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    7,  300,  217,   13, } , // 16 pipes (4 PKRs) 16 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    8,  301,  218,   14, } , // 8 pipes (8 PKRs) 1 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    9,  302,  219,   14, } , // 8 pipes (8 PKRs) 2 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   10,  303,  220,   14, } , // 8 pipes (8 PKRs) 4 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   11,  304,  221,   15, } , // 8 pipes (8 PKRs) 8 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    7,  305,  222,   15, } , // 8 pipes (8 PKRs) 16 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    8,  306,  213,    9, } , // 16 pipes (8 PKRs) 1 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    9,  306,  223,   16, } , // 16 pipes (8 PKRs) 2 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   10,  306,  215,   11, } , // 16 pipes (8 PKRs) 4 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   11,  307,  216,   17, } , // 16 pipes (8 PKRs) 8 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    7,  307,  224,   13, } , // 16 pipes (8 PKRs) 16 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    8,  306,  225,   18, } , // 32 pipes (8 PKRs) 1 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    9,  306,  226,   19, } , // 32 pipes (8 PKRs) 2 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   10,  306,  227,   20, } , // 32 pipes (8 PKRs) 4 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   11,  307,  228,   21, } , // 32 pipes (8 PKRs) 8 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    7,  307,  229,   22, } , // 32 pipes (8 PKRs) 16 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    8,  308,  230,   23, } , // 16 pipes (16 PKRs) 1 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    9,  308,  231,   24, } , // 16 pipes (16 PKRs) 2 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   10,  308,  232,   25, } , // 16 pipes (16 PKRs) 4 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   11,  309,  233,   26, } , // 16 pipes (16 PKRs) 8 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    7,  309,  234,   27, } , // 16 pipes (16 PKRs) 16 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    8,  308,  235,   28, } , // 32 pipes (16 PKRs) 1 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    9,  308,  236,   19, } , // 32 pipes (16 PKRs) 2 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   10,  308,  237,   29, } , // 32 pipes (16 PKRs) 4 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   11,  309,  238,   30, } , // 32 pipes (16 PKRs) 8 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    7,  309,  239,   31, } , // 32 pipes (16 PKRs) 16 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    8,  308,  240,   32, } , // 64 pipes (16 PKRs) 1 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    9,  308,  241,   33, } , // 64 pipes (16 PKRs) 2 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   10,  308,  242,   34, } , // 64 pipes (16 PKRs) 4 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   11,  309,  243,   35, } , // 64 pipes (16 PKRs) 8 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    7,  309,  244,   36, } , // 64 pipes (16 PKRs) 16 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    8,  310,  245,   37, } , // 32 pipes (32 PKRs) 1 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    9,  310,  246,   38, } , // 32 pipes (32 PKRs) 2 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   10,  310,  247,   39, } , // 32 pipes (32 PKRs) 4 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   11,  311,  248,   40, } , // 32 pipes (32 PKRs) 8 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    7,  311,  249,   41, } , // 32 pipes (32 PKRs) 16 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    8,  310,  250,   32, } , // 64 pipes (32 PKRs) 1 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    9,  310,  251,   42, } , // 64 pipes (32 PKRs) 2 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   10,  310,  252,   34, } , // 64 pipes (32 PKRs) 4 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,   11,  311,  253,   43, } , // 64 pipes (32 PKRs) 8 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
+    {   3,    7,  311,  254,   44, } , // 64 pipes (32 PKRs) 16 bpe @ SW_VAR_Z_X 1xaa @ RbPlus
 };
 
-const UINT_64 SW_64K_R_X_1xaa_RBPLUS[][16]=
+const ADDR_SW_PATINFO SW_VAR_Z_X_2xaa_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X4,             Y4,             X5 ^Y10,        Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Y5 ^ X9,        X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y8,        Y3 ^ X8,        X4 ^ Y7,        Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4,             X5 ^ Y9,        X6 ^ Y8,        Y5 ^ X9,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Z0 ^ X4 ^ Y4,   X3,             Y3,             Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z0 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X9,        X5 ^ Y7,        Y4 ^ X8,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z0 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X8,        X3 ^ Y7,        Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5,             Y5,             X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             X5,             X6 ^ Y8,        Y5 ^ X9,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X8,        X5 ^ Y7,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X7,        X3 ^ Y7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y5,             X6,             Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y3,             Y5,             X6 ^ Y8,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   X3,             Y3,             Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y2,             X3,             Y3 ^ X8,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   X2,             Y2,             Y3 ^ X7,        X3 ^ Y6,        Y5 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5,             X6,             Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8,        Z0 ^ X5 ^ Y5    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5,             X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X2,             Y2,             X3 ^ Y7,        Y3 ^ X6,        X5 ^ Y6,        Z0 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             X6,             Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5,             X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             X3,             Y3 ^ X7,        X5 ^ Y7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X2,             Y2,             X3 ^ Y7,        Y3 ^ X6,        X5 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   X6,             Y6,             X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y3,             X6,             Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   X3,             Y3,             X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y2,             X3,             Y3 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   X2,             Y2,             X3 ^ Y6,        Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X6,             Y6,             X7 ^ Y8,        Y7 ^ X8,        Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y3,             X6,             X7 ^ Y7,        Y6 ^ X8,        Z0 ^ X5 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X3,             Y3,             X6 ^ Y7,        Y6 ^ X7,        Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y2,             X3,             Y3 ^ X7,        X6 ^ Y6,        Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y6,        Z0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6,             Y6,             X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X6,             X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3,             Y3,             X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2,             X3,             Y3 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   Y6,             X7,             Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   Y3,             Y6,             X7 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   X3,             Y3,             Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   Y2,             X3,             Y3 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3 ^ X8 ^ Y8,   X2,             Y2,             Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   X6,             X7,             Y7 ^ X8,        Z0 ^ X6 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Y3,             X6,             X7 ^ Y7,        Z0 ^ X6 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   X3,             Y3,             X6 ^ Y7,        Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Y2,             X3,             Y3 ^ X7,        Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   X2,             X3,             Y3 ^ X6,        Y2 ^ X6 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             X7,             Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y3,             X6,             X7 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3,             Y3,             X6 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y2,             X3,             Y3 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2,             X3,             Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9,   X7,             Y7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9,   Y3,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9,   X3,             Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9,   Y2,             Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9,   X2,             Y3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   X7,             Y7,             Z0 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Y3,             X7,             Z0 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   X3,             Y3,             Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X3,             Y3,             Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   X7,             Y7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y3,             X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3,             Y3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X4,             Y4,             X5 ^Y10,        Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Y5 ^ X9,        X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y8,        Y3 ^ X8,        X4 ^ Y7,        Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z0 ^ X4 ^ Y4,   X5,             Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5 ^ Y9,        X6 ^ Y8,        Y5 ^ X9,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X9,        X5 ^ Y7,        Y4 ^ X8,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X4 ^ Y4,   Y2,             Y3 ^ X8,        X3 ^ Y7,        Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y5,             X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5,             X6 ^ Y8,        Y5 ^ X9,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X8,        X5 ^ Y7,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y2,             Y3 ^ X7,        X3 ^ Y7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   X6,             Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y5,             X6 ^ Y8,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y3,             Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   X3,             Y3 ^ X8,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y2,             Y3 ^ X7,        X3 ^ Y6,        Y5 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X6,             Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8,        Z0 ^ X5 ^ Y5    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5,             X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y2,             X3 ^ Y7,        Y3 ^ X6,        X5 ^ Y6,        Z0 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X6,             Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3 ^ X7,        X5 ^ Y7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             X3 ^ Y7,        Y3 ^ X6,        X5 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y6,             X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   X6,             Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y3,             X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   X3,             Y3 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y2,             X3 ^ Y6,        Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y6,             X7 ^ Y8,        Y7 ^ X8,        Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X6,             X7 ^ Y7,        Y6 ^ X8,        Z0 ^ X5 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y3,             X6 ^ Y7,        Y6 ^ X7,        Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X3,             Y3 ^ X7,        X6 ^ Y6,        Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y2,             Y3 ^ X6,        X3 ^ Y6,        Z0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6,             X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3,             Y3 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2,             Y3 ^ X6,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   X7,             Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   Y6,             X7 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   Y3,             Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   X3,             Y3 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3 ^ X8 ^ Y8,   Y2,             Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   X7,             Y7 ^ X8,        Z0 ^ X6 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   X6,             X7 ^ Y7,        Z0 ^ X6 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Y3,             X6 ^ Y7,        Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   X3,             Y3 ^ X7,        Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   X3,             Y3 ^ X6,        Y2 ^ X6 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X7,             Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             X7 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y3,             X6 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3,             Y3 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3,             Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X7,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9,   Y7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9,   Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9,   Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9,   Y3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X7,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Y7,             Z0 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   X7,             Z0 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Y3,             Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y3,             Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y3,             X2 ^ X6 ^ Y7    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X7,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y7              },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   X7              },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X4,             Y4,             X5 ^Y10,        Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Y5 ^ X9,        X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y8,        Y3 ^ X8,        X4 ^ Y7,        Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X5,             Z0 ^ X4 ^ Y4,   Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4,             Z0 ^ X4 ^ Y4,   X5 ^ Y9,        X6 ^ Y8,        Y5 ^ X9,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3 ^ X9,        X5 ^ Y7,        Y4 ^ X8,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X4 ^ Y4,   Y3 ^ X8,        X3 ^ Y7,        Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X6 ^ Y8,        Y5 ^ X9,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3 ^ X8,        X5 ^ Y7,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3 ^ X7,        X3 ^ Y7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y5,             X6,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   X6 ^ Y8,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y3 ^ X8,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y3 ^ X7,        X3 ^ Y6,        Y5 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             X6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8,        Z0 ^ X5 ^ Y5    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3 ^ Y7,        Y3 ^ X6,        X5 ^ Y6,        Z0 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             X6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3 ^ X7,        X5 ^ Y7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3 ^ Y7,        Y3 ^ X6,        X5 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y3 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   X3 ^ Y6,        Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X7 ^ Y8,        Y7 ^ X8,        Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X7 ^ Y7,        Y6 ^ X8,        Z0 ^ X5 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X6 ^ Y7,        Y6 ^ X7,        Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y3 ^ X7,        X6 ^ Y6,        Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y3 ^ X6,        X3 ^ Y6,        Z0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3 ^ X6,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y6,             X7,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   X7 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   Y3 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3 ^ X8 ^ Y8,   Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             X7,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Y7 ^ X8,        Z0 ^ X6 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X6,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   X7 ^ Y7,        Z0 ^ X6 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   X6 ^ Y7,        Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Y3 ^ X7,        Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y3 ^ X6,        Y2 ^ X6 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             X7,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y7 ^ X8         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X6,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X7 ^ Y7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y3 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X7,             Y7,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X7,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X7,             Y7,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X7,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X7,             Y7,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X7,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+    {   2,   13,  312,  255,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   2,   14,  272,  185,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   15,  313,  256,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   16,  273,  257,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   17,  314,  258,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   13,  276,  189,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   14,  277,  190,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   15,  315,  259,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   16,  278,  260,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   17,  316,  261,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   13,  281,  262,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   14,  282,  195,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   15,  282,  263,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   16,  317,  264,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   17,  284,  265,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   13,  286,  209,    2, } , // 8 pipes (2 PKRs) 1 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   14,  287,  266,    3, } , // 8 pipes (2 PKRs) 2 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   15,  287,  210,   45, } , // 8 pipes (2 PKRs) 4 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   16,  288,  211,   46, } , // 8 pipes (2 PKRs) 8 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   17,  289,  267,   47, } , // 8 pipes (2 PKRs) 16 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   13,  291,  268,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   14,  292,  205,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   15,  292,  269,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   16,  293,  270,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   17,  294,  271,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   13,  296,  209,    2, } , // 8 pipes (4 PKRs) 1 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   14,  297,  210,    7, } , // 8 pipes (4 PKRs) 2 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   15,  297,  210,   45, } , // 8 pipes (4 PKRs) 4 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   16,  298,  211,   46, } , // 8 pipes (4 PKRs) 8 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   17,  299,  212,   47, } , // 8 pipes (4 PKRs) 16 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   13,  300,  272,   48, } , // 16 pipes (4 PKRs) 1 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   14,  300,  273,   11, } , // 16 pipes (4 PKRs) 2 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   15,  300,  273,   49, } , // 16 pipes (4 PKRs) 4 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   16,  300,  274,   50, } , // 16 pipes (4 PKRs) 8 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   17,  300,  275,   51, } , // 16 pipes (4 PKRs) 16 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   13,  302,  219,   14, } , // 8 pipes (8 PKRs) 1 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   14,  303,  220,   14, } , // 8 pipes (8 PKRs) 2 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   15,  303,  276,   14, } , // 8 pipes (8 PKRs) 4 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   16,  304,  277,   15, } , // 8 pipes (8 PKRs) 8 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   17,  305,  278,   15, } , // 8 pipes (8 PKRs) 16 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   13,  306,  279,   48, } , // 16 pipes (8 PKRs) 1 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   14,  306,  215,   11, } , // 16 pipes (8 PKRs) 2 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   15,  306,  280,   49, } , // 16 pipes (8 PKRs) 4 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   16,  307,  281,   52, } , // 16 pipes (8 PKRs) 8 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   17,  307,  224,   53, } , // 16 pipes (8 PKRs) 16 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   13,  306,  236,   19, } , // 32 pipes (8 PKRs) 1 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   14,  306,  237,   54, } , // 32 pipes (8 PKRs) 2 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   15,  306,  237,   55, } , // 32 pipes (8 PKRs) 4 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   16,  307,  282,   56, } , // 32 pipes (8 PKRs) 8 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   17,  307,  283,   57, } , // 32 pipes (8 PKRs) 16 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   13,  308,  284,   24, } , // 16 pipes (16 PKRs) 1 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   14,  308,  232,   25, } , // 16 pipes (16 PKRs) 2 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   15,  308,  285,   58, } , // 16 pipes (16 PKRs) 4 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   16,  309,  233,   59, } , // 16 pipes (16 PKRs) 8 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   17,  309,  286,   60, } , // 16 pipes (16 PKRs) 16 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   13,  308,  236,   19, } , // 32 pipes (16 PKRs) 1 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   14,  308,  237,   29, } , // 32 pipes (16 PKRs) 2 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   15,  308,  237,   55, } , // 32 pipes (16 PKRs) 4 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   16,  309,  238,   56, } , // 32 pipes (16 PKRs) 8 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   17,  309,  239,   61, } , // 32 pipes (16 PKRs) 16 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   13,  308,  241,   62, } , // 64 pipes (16 PKRs) 1 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   14,  308,  242,   34, } , // 64 pipes (16 PKRs) 2 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   15,  308,  242,   63, } , // 64 pipes (16 PKRs) 4 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   16,  309,  243,   64, } , // 64 pipes (16 PKRs) 8 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   17,  309,  244,   65, } , // 64 pipes (16 PKRs) 16 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   13,  310,  246,   38, } , // 32 pipes (32 PKRs) 1 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   14,  310,  247,   39, } , // 32 pipes (32 PKRs) 2 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   15,  310,  247,   66, } , // 32 pipes (32 PKRs) 4 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   16,  318,  287,   67, } , // 32 pipes (32 PKRs) 8 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   17,  318,  288,   68, } , // 32 pipes (32 PKRs) 16 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   13,  310,  251,   62, } , // 64 pipes (32 PKRs) 1 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   14,  310,  252,   34, } , // 64 pipes (32 PKRs) 2 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   15,  310,  252,   63, } , // 64 pipes (32 PKRs) 4 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   16,  318,  289,   69, } , // 64 pipes (32 PKRs) 8 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
+    {   3,   17,  318,  290,   65, } , // 64 pipes (32 PKRs) 16 bpe @ SW_VAR_Z_X 2xaa @ RbPlus
 };
 
-const UINT_64 SW_64K_R_X_2xaa_RBPLUS[][16]=
+const ADDR_SW_PATINFO SW_VAR_Z_X_4xaa_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X4,             Y4,             Y5 ^X10,        X5 ^Y10,        Y6 ^ X9,        X6 ^ Y9,        Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Y5 ^ X9,        X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3 ^ X8,        X3 ^ Y8,        Y4 ^ X7,        X4 ^ Y7,        Y5 ^ X6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5 ^X10,        Y6 ^ X9,        X6 ^ Y9,        Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4,             X5 ^ Y9,        Y5 ^ X9,        X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Z0 ^ X4 ^ Y4,   X3,             Y3,             Y4 ^ X9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z0 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X9,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z0 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X8,        Y4 ^ X7,        X3 ^ Y7,        Y5 ^ X6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5,             Y5,             Y6 ^ X9,        X6 ^ Y9,        Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             X5,             Y5 ^ X9,        X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3,             Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X7,        X3 ^ Y7,        Y5 ^ X6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y5,             X6,             Y6 ^ X9,        Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y3,             Y5,             X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   X3,             Y3,             Y5 ^ X8,        Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y2,             X3,             Y3 ^ X8,        Y5 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   S0 ^ X6 ^ Y6,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y6,        X5 ^ Y5         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5,             X6,             Y6 ^ X9,        Y7 ^ X8,        S0 ^ X7 ^ Y8,   Z0 ^ X5 ^ Y5    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5,             X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        Y6 ^ X7,        S0 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X7,        X5 ^ Y7,        S0 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6,   Z0 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             X6,             Y6 ^ X9,        Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5,             X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3,             X5 ^ Y8,        Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             X3,             Y3 ^ X7,        X5 ^ Y7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   X6,             Y6,             Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y3,             X6,             Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   X3,             Y3,             Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y2,             X3,             Y3 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   S0 ^ X7 ^ Y7,   X2,             Y2,             Y3 ^ X5,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X6,             Y6,             Y7 ^ X8,        S0 ^ X7 ^ Y8,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y3,             X6,             Y6 ^ X8,        S0 ^ X7 ^ Y7,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X3,             Y3,             Y6 ^ X7,        S0 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y2,             X3,             Y3 ^ X7,        S0 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6,             Y6,             Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X6,             Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3,             Y3,             Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2,             X3,             Y3 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   Y6,             Y7,             S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   Y3,             Y6,             S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S0 ^ X8 ^ Y8,   X3,             Y3,             X6 ^ Y6         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S0 ^ X8 ^ Y8,   Y2,             X3,             Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   X3 ^ X8 ^ Y8,   X2,             Y2,             Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   X6,             Y7,             S0 ^ X7 ^ Y8,   Z0 ^ X6 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Y3,             X6,             S0 ^ X7 ^ Y7,   Z0 ^ X6 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   X3,             Y3,             S0 ^ X6 ^ Y7,   Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2,             X3,             Y3 ^ X6,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   X2,             X3,             Y3 ^ X6,        Y2 ^ X6 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             Y7,             S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y3,             X6,             S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3,             Y3,             S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   Y2,             X3,             Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2,             X3,             Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9,   Y7,             S0 ^ X7         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9,   Y3,             S0 ^ X7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   S0 ^ X9 ^ Y9,   X3,             Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9,   Y2,             Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9,   X2,             Y3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Y7,             S0 ^ X7,        Z4 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Y3,             S0 ^ X7,        Z4 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   X3,             Y3,             S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   X3,             Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7,   Y7,             S0 ^ X7         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7,   Y3,             S0 ^ X7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3,             Y3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X4,             Y4,             Y5 ^X10,        X5 ^Y10,        Y6 ^ X9,        X6 ^ Y9,        Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Y5 ^ X9,        X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3 ^ X8,        X3 ^ Y8,        Y4 ^ X7,        X4 ^ Y7,        Y5 ^ X6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z0 ^ X4 ^ Y4,   X5,             Y5 ^X10,        Y6 ^ X9,        X6 ^ Y9,        Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5 ^ Y9,        Y5 ^ X9,        X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4 ^ X9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X9,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X4 ^ Y4,   Y2,             Y3 ^ X8,        Y4 ^ X7,        X3 ^ Y7,        Y5 ^ X6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y5,             Y6 ^ X9,        X6 ^ Y9,        Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5,             Y5 ^ X9,        X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y2,             Y3 ^ X7,        X3 ^ Y7,        Y5 ^ X6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   X6,             Y6 ^ X9,        Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y5,             X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y3,             Y5 ^ X8,        Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   X3,             Y3 ^ X8,        Y5 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   S0 ^ X6 ^ Y6,   Y2,             Y3 ^ X6,        X3 ^ Y6,        X5 ^ Y5         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X6,             Y6 ^ X9,        Y7 ^ X8,        S0 ^ X7 ^ Y8,   Z0 ^ X5 ^ Y5    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5,             X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        Y6 ^ X7,        S0 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3 ^ X7,        X5 ^ Y7,        S0 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y2,             Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6,   Z0 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X6,             Y6 ^ X9,        Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5 ^ Y8,        Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3 ^ X7,        X5 ^ Y7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y6,             Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   X6,             Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y3,             Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   X3,             Y3 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   S0 ^ X7 ^ Y7,   Y2,             Y3 ^ X5,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y6,             Y7 ^ X8,        S0 ^ X7 ^ Y8,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X6,             Y6 ^ X8,        S0 ^ X7 ^ Y7,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y3,             Y6 ^ X7,        S0 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X3,             Y3 ^ X7,        S0 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y2,             Y3 ^ X6,        X3 ^ Y6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6,             Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3,             Y3 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   Y2,             Y3 ^ X6,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   Y7,             S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   Y6,             S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S0 ^ X8 ^ Y8,   Y3,             X6 ^ Y6         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S0 ^ X8 ^ Y8,   X3,             Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   X3 ^ X8 ^ Y8,   Y2,             Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Y7,             S0 ^ X7 ^ Y8,   Z0 ^ X6 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   X6,             S0 ^ X7 ^ Y7,   Z0 ^ X6 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Y3,             S0 ^ X6 ^ Y7,   Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   X3,             Y3 ^ X6,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   X3,             Y3 ^ X6,        Y2 ^ X6 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y7,             S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6,             S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y3,             S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X3,             Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3,             Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y7,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9,   S0 ^ X7         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9,   S0 ^ X7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   S0 ^ X9 ^ Y9,   Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9,   Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9,   Y3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y7,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   S0 ^ X7,        Z4 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   S0 ^ X7,        Z4 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Y3,             S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y3,             X2 ^ X6 ^ Y7    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y7,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7,   S0 ^ X7         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7,   S0 ^ X7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7,   Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X4,             Y4,             Y5 ^X10,        X5 ^Y10,        Y6 ^ X9,        X6 ^ Y9,        Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Y5 ^ X9,        X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3 ^ X8,        X3 ^ Y8,        Y4 ^ X7,        X4 ^ Y7,        Y5 ^ X6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X5,             Z0 ^ X4 ^ Y4,   Y5 ^X10,        Y6 ^ X9,        X6 ^ Y9,        Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4,             Z0 ^ X4 ^ Y4,   X5 ^ Y9,        Y5 ^ X9,        X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4 ^ X9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3 ^ X9,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X4 ^ Y4,   Y3 ^ X8,        Y4 ^ X7,        X3 ^ Y7,        Y5 ^ X6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y6 ^ X9,        X6 ^ Y9,        Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y5 ^ X9,        X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3 ^ X7,        X3 ^ Y7,        Y5 ^ X6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y5,             X6,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y6 ^ X9,        Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y5 ^ X8,        Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y3 ^ X8,        Y5 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   S0 ^ X6 ^ Y6,   Y3 ^ X6,        X3 ^ Y6,        X5 ^ Y5         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             X6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y6 ^ X9,        Y7 ^ X8,        S0 ^ X7 ^ Y8,   Z0 ^ X5 ^ Y5    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5 ^ Y8,        Y6 ^ X7,        S0 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3 ^ X7,        X5 ^ Y7,        S0 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6,   Z0 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             X6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y6 ^ X9,        Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X6 ^ Y8,        Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y8,        Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3 ^ X7,        X5 ^ Y7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y3 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   S0 ^ X7 ^ Y7,   Y3 ^ X5,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y7 ^ X8,        S0 ^ X7 ^ Y8,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y6 ^ X8,        S0 ^ X7 ^ Y7,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y6 ^ X7,        S0 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y3 ^ X7,        S0 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y3 ^ X6,        X3 ^ Y6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y7 ^ X8,        S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6 ^ X8,        S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6 ^ X7,        S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   Y3 ^ X6,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y6,             Y7,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S0 ^ X8 ^ Y8,   X6 ^ Y6         },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S0 ^ X8 ^ Y8,   Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   X3 ^ X8 ^ Y8,   Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y7,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   S0 ^ X7 ^ Y8,   Z0 ^ X6 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X6,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   S0 ^ X7 ^ Y7,   Z0 ^ X6 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   S0 ^ X6 ^ Y7,   Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y3 ^ X6,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y3 ^ X6,        Y2 ^ X6 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y7,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   S0 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X6,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   S0 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y7,             S0 ^ X7,        Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X7,        Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   S0 ^ X9 ^ Y9    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y7,             S0 ^ X7,        Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X7,        Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y7,             S0 ^ X7,        Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X7,        Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   Z4 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Z0 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+    {   2,   18,  272,  185,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   19,  272,  291,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   20,  272,  292,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   21,  273,  293,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   22,  274,  294,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   18,  277,  190,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   19,  315,  259,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   20,  277,  295,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   21,  319,  296,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   22,  279,  297,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   18,  282,  195,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   19,  282,  298,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   20,  282,  299,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   21,  283,  300,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   22,  284,  301,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   18,  287,  200,    3, } , // 8 pipes (2 PKRs) 1 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   19,  287,  302,   45, } , // 8 pipes (2 PKRs) 2 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   20,  287,  303,   70, } , // 8 pipes (2 PKRs) 4 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   21,  289,  304,   71, } , // 8 pipes (2 PKRs) 8 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   22,  289,  305,   72, } , // 8 pipes (2 PKRs) 16 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   18,  292,  205,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   19,  292,  306,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   20,  292,  307,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   21,  320,  308,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   22,  321,  309,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   18,  297,  210,    7, } , // 8 pipes (4 PKRs) 1 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   19,  297,  210,   45, } , // 8 pipes (4 PKRs) 2 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   20,  297,  310,   45, } , // 8 pipes (4 PKRs) 4 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   21,  298,  311,   71, } , // 8 pipes (4 PKRs) 8 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   22,  299,  312,   47, } , // 8 pipes (4 PKRs) 16 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   18,  300,  215,   11, } , // 16 pipes (4 PKRs) 1 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   19,  300,  215,   73, } , // 16 pipes (4 PKRs) 2 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   20,  300,  215,   74, } , // 16 pipes (4 PKRs) 4 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   21,  300,  216,   75, } , // 16 pipes (4 PKRs) 8 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   22,  300,  217,   76, } , // 16 pipes (4 PKRs) 16 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   18,  303,  220,   14, } , // 8 pipes (8 PKRs) 1 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   19,  303,  276,   14, } , // 8 pipes (8 PKRs) 2 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   20,  303,  313,   14, } , // 8 pipes (8 PKRs) 4 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   21,  305,  314,   15, } , // 8 pipes (8 PKRs) 8 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   22,  322,  315,   15, } , // 8 pipes (8 PKRs) 16 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   18,  306,  215,   11, } , // 16 pipes (8 PKRs) 1 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   19,  306,  232,   77, } , // 16 pipes (8 PKRs) 2 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   20,  306,  215,   78, } , // 16 pipes (8 PKRs) 4 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   21,  307,  216,   79, } , // 16 pipes (8 PKRs) 8 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   22,  307,  224,   80, } , // 16 pipes (8 PKRs) 16 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   18,  306,  227,   20, } , // 32 pipes (8 PKRs) 1 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   19,  306,  316,   55, } , // 32 pipes (8 PKRs) 2 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   20,  306,  227,   81, } , // 32 pipes (8 PKRs) 4 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   21,  307,  317,   82, } , // 32 pipes (8 PKRs) 8 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   22,  307,  229,   83, } , // 32 pipes (8 PKRs) 16 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   18,  308,  232,   25, } , // 16 pipes (16 PKRs) 1 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   19,  308,  232,   84, } , // 16 pipes (16 PKRs) 2 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   20,  308,  318,   84, } , // 16 pipes (16 PKRs) 4 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   21,  323,  319,   85, } , // 16 pipes (16 PKRs) 8 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   22,  323,  320,   86, } , // 16 pipes (16 PKRs) 16 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   18,  308,  237,   29, } , // 32 pipes (16 PKRs) 1 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   19,  308,  237,   55, } , // 32 pipes (16 PKRs) 2 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   20,  308,  237,   87, } , // 32 pipes (16 PKRs) 4 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   21,  323,  321,   88, } , // 32 pipes (16 PKRs) 8 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   22,  323,  322,   89, } , // 32 pipes (16 PKRs) 16 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   18,  308,  242,   34, } , // 64 pipes (16 PKRs) 1 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   19,  308,  242,   90, } , // 64 pipes (16 PKRs) 2 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   20,  308,  242,   91, } , // 64 pipes (16 PKRs) 4 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   21,  323,  323,   92, } , // 64 pipes (16 PKRs) 8 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   22,  323,  324,   93, } , // 64 pipes (16 PKRs) 16 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   18,  310,  247,   39, } , // 32 pipes (32 PKRs) 1 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   19,  310,  247,   66, } , // 32 pipes (32 PKRs) 2 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   20,  310,  247,   94, } , // 32 pipes (32 PKRs) 4 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   21,  324,  325,   95, } , // 32 pipes (32 PKRs) 8 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   22,  324,  326,   96, } , // 32 pipes (32 PKRs) 16 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   18,  310,  252,   34, } , // 64 pipes (32 PKRs) 1 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   19,  310,  252,   97, } , // 64 pipes (32 PKRs) 2 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   20,  310,  252,   98, } , // 64 pipes (32 PKRs) 4 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   21,  324,  327,   99, } , // 64 pipes (32 PKRs) 8 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
+    {   3,   22,  324,  328,  100, } , // 64 pipes (32 PKRs) 16 bpe @ SW_VAR_Z_X 4xaa @ RbPlus
 };
 
-const UINT_64 SW_64K_R_X_4xaa_RBPLUS[][16]=
+const ADDR_SW_PATINFO SW_VAR_Z_X_8xaa_RBPLUS_PATINFO[] =
 {
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X4,             Y4,             X5 ^Y10,        Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Y5 ^ X9,        X6 ^ Y8,        S0 ^ Y6 ^ X8,   S1 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        S0 ^ Y5 ^ X7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y8,        Y3 ^ X8,        X4 ^ Y7,        Y4 ^ X7,        S0 ^ X5 ^ Y6,   S1 ^ Y5 ^ X6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4,             X5 ^ Y9,        X6 ^ Y8,        Y5 ^ X9,        S0 ^ X7 ^ Y7,   S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Z0 ^ X4 ^ Y4,   X3,             Y3,             Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z0 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X9,        X5 ^ Y7,        Y4 ^ X8,        S0 ^ X6 ^ Y6,   S1 ^ Y5 ^ X7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z0 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X8,        X3 ^ Y7,        Y4 ^ X7,        S0 ^ X5 ^ Y6,   S1 ^ Y5 ^ X6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5,             Y5,             X6 ^ Y9,        Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             X5,             X6 ^ Y8,        Y5 ^ X9,        S0 ^ X7 ^ Y7,   S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        Y5 ^ X8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X8,        X5 ^ Y7,        S0 ^ X6 ^ Y6,   S1 ^ Y5 ^ X7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X7,        X3 ^ Y7,        S0 ^ X5 ^ Y6,   S1 ^ Y5 ^ X6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y5,             X6,             Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y3,             Y5,             X6 ^ Y8,        S0 ^ X7 ^ Y7,   S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   X3,             Y3,             Y5 ^ X8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y2,             X3,             Y3 ^ X8,        S0 ^ X6 ^ Y6,   S1 ^ Y5 ^ X7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   S1 ^ X6 ^ Y6,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y6,        S0 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5,             X6,             Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8,   Z0 ^ X5 ^ Y5    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5,             X6 ^ Y8,        S0 ^ Y6 ^ X8,   S1 ^ X7 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X8,        S0 ^ X6 ^ Y6,   S1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6,   S1 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             X6,             Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5,             X6 ^ Y8,        S0 ^ Y6 ^ X8,   S1 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3,             X5 ^ Y8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             X3,             Y3 ^ X8,        S0 ^ X6 ^ Y6,   S1 ^ Y5 ^ X7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   S1 ^ X5 ^ Y5,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   X6,             Y6,             S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y3,             X6,             S0 ^ Y6 ^ X8,   S1 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   X3,             Y3,             S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   S1 ^ X7 ^ Y7,   Y2,             X3,             Y3 ^ X7,        S0 ^ Y5 ^ X6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   S1 ^ X5 ^ Y5,   S0 ^ X7 ^ Y7,   X2,             Y2,             Y3 ^ X5,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X6,             Y6,             S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y3,             X6,             S0 ^ X7 ^ Y7,   S1 ^ Y6 ^ X8,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X3,             Y3,             S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   Y2,             X3,             Y3 ^ X7,        S0 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6,             Y6,             S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X6,             S0 ^ X7 ^ Y7,   S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3,             Y3,             S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2,             X3,             Y3 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   Y6,             S0 ^ X7,        S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   Y3,             S0 ^ X7,        S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S1 ^ X8 ^ Y8,   X3,             Y3,             S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S0 ^ X8 ^ Y8,   Y2,             X3,             Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   X3 ^ X8 ^ Y8,   X2,             Y2,             Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   X6,             S0 ^ X7,        S1 ^ Y7 ^ X8,   Z3 ^ X6 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y3,             S0 ^ X7,        S1 ^ Y6 ^ X8,   Z3 ^ X6 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   X3,             Y3,             S0 ^ X6 ^ Y7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2,             X3,             Y3 ^ X6,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   X2,             X3,             Y3 ^ X6,        Y2 ^ X6 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   X6,             S0 ^ X7,        S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   Y3,             S0 ^ X7,        S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   X3,             Y3,             S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   Y2,             X3,             Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2,             X3,             Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9,   S0 ^ X7,        S1 ^ Y7         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   S1 ^ X9 ^ Y9,   Y3,             S0 ^ X7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   S0 ^ X9 ^ Y9,   X3,             Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9,   Y2,             Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9,   X2,             Y3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Z4 ^ Y6 ^ X7,   S0 ^ X7,        S1 ^ Y7,        Z3 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   Y3,             S0 ^ X7,        Z3 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   X3,             Y3,             S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   X3,             Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Z4 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7,   S0 ^ X7,        S1 ^ Y7         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7,   Y3,             S0 ^ X7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3,             Y3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X4,             Y4,             X5 ^Y10,        Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Y5 ^ X9,        X6 ^ Y8,        S0 ^ Y6 ^ X8,   S1 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        S0 ^ Y5 ^ X7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y8,        Y3 ^ X8,        X4 ^ Y7,        Y4 ^ X7,        S0 ^ X5 ^ Y6,   S1 ^ Y5 ^ X6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z0 ^ X4 ^ Y4,   X5,             Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5 ^ Y9,        X6 ^ Y8,        Y5 ^ X9,        S0 ^ X7 ^ Y7,   S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X9,        X5 ^ Y7,        Y4 ^ X8,        S0 ^ X6 ^ Y6,   S1 ^ Y5 ^ X7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X4 ^ Y4,   Y2,             Y3 ^ X8,        X3 ^ Y7,        Y4 ^ X7,        S0 ^ X5 ^ Y6,   S1 ^ Y5 ^ X6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y5,             X6 ^ Y9,        Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5,             X6 ^ Y8,        Y5 ^ X9,        S0 ^ X7 ^ Y7,   S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        Y5 ^ X8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X8,        X5 ^ Y7,        S0 ^ X6 ^ Y6,   S1 ^ Y5 ^ X7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y2,             Y3 ^ X7,        X3 ^ Y7,        S0 ^ X5 ^ Y6,   S1 ^ Y5 ^ X6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   X6,             Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y5,             X6 ^ Y8,        S0 ^ X7 ^ Y7,   S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y3,             Y5 ^ X8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   X3,             Y3 ^ X8,        S0 ^ X6 ^ Y6,   S1 ^ Y5 ^ X7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   S1 ^ X6 ^ Y6,   Y2,             Y3 ^ X6,        X3 ^ Y6,        S0 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X6,             Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8,   Z0 ^ X5 ^ Y5    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5,             X6 ^ Y8,        S0 ^ Y6 ^ X8,   S1 ^ X7 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3 ^ X8,        S0 ^ X6 ^ Y6,   S1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y2,             Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6,   S1 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X6,             Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             X6 ^ Y8,        S0 ^ Y6 ^ X8,   S1 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5 ^ Y8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3 ^ X8,        S0 ^ X6 ^ Y6,   S1 ^ Y5 ^ X7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   S1 ^ X5 ^ Y5,   Y2,             Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y6,             S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   X6,             S0 ^ Y6 ^ X8,   S1 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y3,             S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   S1 ^ X7 ^ Y7,   X3,             Y3 ^ X7,        S0 ^ Y5 ^ X6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   S1 ^ X5 ^ Y5,   S0 ^ X7 ^ Y7,   Y2,             Y3 ^ X5,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y6,             S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X6,             S0 ^ X7 ^ Y7,   S1 ^ Y6 ^ X8,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y3,             S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   X3,             Y3 ^ X7,        S0 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   Y2,             Y3 ^ X6,        X3 ^ Y6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y6,             S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6,             S0 ^ X7 ^ Y7,   S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3,             Y3 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   Y2,             Y3 ^ X6,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   S0 ^ X7,        S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   S0 ^ X7,        S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S1 ^ X8 ^ Y8,   Y3,             S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S0 ^ X8 ^ Y8,   X3,             Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   X3 ^ X8 ^ Y8,   Y2,             Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X7,        S1 ^ Y7 ^ X8,   Z3 ^ X6 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X7,        S1 ^ Y6 ^ X8,   Z3 ^ X6 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y3,             S0 ^ X6 ^ Y7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   X3,             Y3 ^ X6,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   X3,             Y3 ^ X6,        Y2 ^ X6 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   S0 ^ X7,        S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   S0 ^ X7,        S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   Y3,             S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X3,             Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3,             Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             S0 ^ X7,        Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9,   S1 ^ Y7         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   S1 ^ X9 ^ Y9,   S0 ^ X7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   S0 ^ X9 ^ Y9,   Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9,   Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9,   Y3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             S0 ^ X7,        Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Z4 ^ Y6 ^ X7,   S1 ^ Y7,        Z3 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S0 ^ X7,        Z3 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   Y3,             S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y3,             X2 ^ X6 ^ Y7    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             S0 ^ X7,        Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Z4 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7,   S1 ^ Y7         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7,   S0 ^ X7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7,   Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X4,             Y4,             X5 ^Y10,        Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Y5 ^ X9,        X6 ^ Y8,        S0 ^ Y6 ^ X8,   S1 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        S0 ^ Y5 ^ X7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y8,        Y3 ^ X8,        X4 ^ Y7,        Y4 ^ X7,        S0 ^ X5 ^ Y6,   S1 ^ Y5 ^ X6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X5,             Z0 ^ X4 ^ Y4,   Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4,             Z0 ^ X4 ^ Y4,   X5 ^ Y9,        X6 ^ Y8,        Y5 ^ X9,        S0 ^ X7 ^ Y7,   S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3 ^ X9,        X5 ^ Y7,        Y4 ^ X8,        S0 ^ X6 ^ Y6,   S1 ^ Y5 ^ X7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X4 ^ Y4,   Y3 ^ X8,        X3 ^ Y7,        Y4 ^ X7,        S0 ^ X5 ^ Y6,   S1 ^ Y5 ^ X6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X6 ^ Y9,        Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X6 ^ Y8,        Y5 ^ X9,        S0 ^ X7 ^ Y7,   S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y8,        Y5 ^ X8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3 ^ X8,        X5 ^ Y7,        S0 ^ X6 ^ Y6,   S1 ^ Y5 ^ X7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3 ^ X7,        X3 ^ Y7,        S0 ^ X5 ^ Y6,   S1 ^ Y5 ^ X6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y5,             X6,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   X6 ^ Y8,        S0 ^ X7 ^ Y7,   S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y5 ^ X8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y3 ^ X8,        S0 ^ X6 ^ Y6,   S1 ^ Y5 ^ X7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   S1 ^ X6 ^ Y6,   Y3 ^ X6,        X3 ^ Y6,        S0 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             X6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8,   Z0 ^ X5 ^ Y5    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X6 ^ Y8,        S0 ^ Y6 ^ X8,   S1 ^ X7 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5 ^ Y8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3 ^ X8,        S0 ^ X6 ^ Y6,   S1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6,   S1 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             X6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y6 ^ X9,        S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X6 ^ Y8,        S0 ^ Y6 ^ X8,   S1 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y8,        S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3 ^ X8,        S0 ^ X6 ^ Y6,   S1 ^ Y5 ^ X7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   S1 ^ X5 ^ Y5,   Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   S0 ^ Y6 ^ X8,   S1 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   S1 ^ X7 ^ Y7,   Y3 ^ X7,        S0 ^ Y5 ^ X6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   S1 ^ X5 ^ Y5,   S0 ^ X7 ^ Y7,   Y3 ^ X5,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8,   Z0 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   S0 ^ X7 ^ Y7,   S1 ^ Y6 ^ X8,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   Y3 ^ X7,        S0 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   Y3 ^ X6,        X3 ^ Y6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             Y6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S0 ^ X7 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S0 ^ X7 ^ Y7,   S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   Y3 ^ X6,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y6,             S0 ^ X7,        Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X7,        Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ X8 ^ Y8,   S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S1 ^ X8 ^ Y8,   S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   S0 ^ X8 ^ Y8,   Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   X3 ^ X8 ^ Y8,   Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             S0 ^ X7,        Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S1 ^ Y7 ^ X8,   Z3 ^ X6 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X7,        Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S1 ^ Y6 ^ X8,   Z3 ^ X6 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y3 ^ X6,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y3 ^ X6,        Y2 ^ X6 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X6,             S0 ^ X7,        Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   S1 ^ Y7 ^ X8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X7,        Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   S1 ^ Y6 ^ X8    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             S0 ^ X7,        S1 ^ Y7,        Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   X6 ^ X9 ^ Y9    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X7,        Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Z3 ^ X6 ^ Y6,   S1 ^ X9 ^ Y9    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   S0 ^ X9 ^ Y9    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             S0 ^ X7,        S1 ^ Y7,        Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Z4 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X7,        Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             S0 ^ X7,        S1 ^ Y7,        Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Z4 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X7,        Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+    {   3,   23,  313,  256,    0, } , // 1 pipes (1 PKRs) 1 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   24,  272,  292,    0, } , // 1 pipes (1 PKRs) 2 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   25,  325,  292,    0, } , // 1 pipes (1 PKRs) 4 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   26,  326,  329,    0, } , // 1 pipes (1 PKRs) 8 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   27,  327,  294,    0, } , // 1 pipes (1 PKRs) 16 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   23,  315,  259,    0, } , // 2 pipes (1-2 PKRs) 1 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   24,  277,  295,    0, } , // 2 pipes (1-2 PKRs) 2 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   25,  315,  330,    0, } , // 2 pipes (1-2 PKRs) 4 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   26,  278,  331,    0, } , // 2 pipes (1-2 PKRs) 8 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   27,  328,  331,    0, } , // 2 pipes (1-2 PKRs) 16 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   23,  282,  263,    0, } , // 4 pipes (1-2 PKRs) 1 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   24,  282,  299,    0, } , // 4 pipes (1-2 PKRs) 2 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   25,  282,  332,    0, } , // 4 pipes (1-2 PKRs) 4 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   26,  317,  333,    0, } , // 4 pipes (1-2 PKRs) 8 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   27,  329,  334,    0, } , // 4 pipes (1-2 PKRs) 16 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   23,  287,  210,   45, } , // 8 pipes (2 PKRs) 1 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   24,  287,  335,   70, } , // 8 pipes (2 PKRs) 2 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   25,  287,  336,   70, } , // 8 pipes (2 PKRs) 4 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   26,  330,  337,   72, } , // 8 pipes (2 PKRs) 8 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   27,  331,  338,  101, } , // 8 pipes (2 PKRs) 16 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   23,  292,  269,    0, } , // 4 pipes (4 PKRs) 1 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   24,  292,  307,    0, } , // 4 pipes (4 PKRs) 2 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   25,  292,  339,    0, } , // 4 pipes (4 PKRs) 4 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   26,  332,  340,    0, } , // 4 pipes (4 PKRs) 8 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   27,  333,  341,    0, } , // 4 pipes (4 PKRs) 16 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   23,  297,  210,   45, } , // 8 pipes (4 PKRs) 1 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   24,  297,  310,   45, } , // 8 pipes (4 PKRs) 2 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   25,  297,  342,   45, } , // 8 pipes (4 PKRs) 4 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   26,  299,  343,  102, } , // 8 pipes (4 PKRs) 8 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   27,  334,  344,  103, } , // 8 pipes (4 PKRs) 16 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   23,  300,  273,   49, } , // 16 pipes (4 PKRs) 1 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   24,  300,  273,   74, } , // 16 pipes (4 PKRs) 2 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   25,  300,  345,   74, } , // 16 pipes (4 PKRs) 4 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   26,  335,  346,   76, } , // 16 pipes (4 PKRs) 8 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   27,  336,  286,  104, } , // 16 pipes (4 PKRs) 16 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   23,  303,  276,   14, } , // 8 pipes (8 PKRs) 1 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   24,  303,  313,   14, } , // 8 pipes (8 PKRs) 2 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   25,  303,  347,   14, } , // 8 pipes (8 PKRs) 4 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   26,  337,  348,  105, } , // 8 pipes (8 PKRs) 8 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   27,  338,  349,  106, } , // 8 pipes (8 PKRs) 16 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   23,  306,  280,   49, } , // 16 pipes (8 PKRs) 1 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   24,  306,  215,   78, } , // 16 pipes (8 PKRs) 2 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   25,  306,  350,   74, } , // 16 pipes (8 PKRs) 4 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   26,  339,  351,  107, } , // 16 pipes (8 PKRs) 8 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   27,  340,  351,  108, } , // 16 pipes (8 PKRs) 16 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   23,  306,  237,   55, } , // 32 pipes (8 PKRs) 1 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   24,  306,  237,  109, } , // 32 pipes (8 PKRs) 2 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   25,  306,  237,  110, } , // 32 pipes (8 PKRs) 4 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   26,  339,  352,  111, } , // 32 pipes (8 PKRs) 8 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   27,  339,  353,  112, } , // 32 pipes (8 PKRs) 16 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   23,  308,  285,   58, } , // 16 pipes (16 PKRs) 1 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   24,  308,  318,   84, } , // 16 pipes (16 PKRs) 2 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   25,  308,  354,   84, } , // 16 pipes (16 PKRs) 4 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   26,  341,  355,  113, } , // 16 pipes (16 PKRs) 8 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   27,  342,  356,  114, } , // 16 pipes (16 PKRs) 16 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   23,  308,  237,   55, } , // 32 pipes (16 PKRs) 1 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   24,  308,  237,   87, } , // 32 pipes (16 PKRs) 2 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   25,  308,  237,  115, } , // 32 pipes (16 PKRs) 4 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   26,  343,  357,  116, } , // 32 pipes (16 PKRs) 8 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   27,  341,  358,  117, } , // 32 pipes (16 PKRs) 16 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   23,  308,  242,   63, } , // 64 pipes (16 PKRs) 1 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   24,  308,  242,   91, } , // 64 pipes (16 PKRs) 2 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   25,  308,  242,  118, } , // 64 pipes (16 PKRs) 4 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   26,  343,  359,  119, } , // 64 pipes (16 PKRs) 8 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   27,  343,  360,  120, } , // 64 pipes (16 PKRs) 16 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   23,  310,  247,   66, } , // 32 pipes (32 PKRs) 1 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   24,  310,  247,   94, } , // 32 pipes (32 PKRs) 2 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   25,  310,  361,   94, } , // 32 pipes (32 PKRs) 4 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   26,  344,  362,  121, } , // 32 pipes (32 PKRs) 8 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   27,  345,  363,  122, } , // 32 pipes (32 PKRs) 16 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   23,  310,  252,   63, } , // 64 pipes (32 PKRs) 1 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   24,  310,  252,   98, } , // 64 pipes (32 PKRs) 2 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   25,  310,  252,  118, } , // 64 pipes (32 PKRs) 4 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   26,  346,  364,  123, } , // 64 pipes (32 PKRs) 8 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
+    {   3,   27,  344,  365,  124, } , // 64 pipes (32 PKRs) 16 bpe @ SW_VAR_Z_X 8xaa @ RbPlus
 };
 
-const UINT_64 SW_64K_R_X_8xaa_RBPLUS[][16]=
+const UINT_64 GFX10_SW_PATTERN_NIBBLE01[][8] =
 {
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X4,             Y4,             Y5 ^X10,        X5 ^Y10,        Y6 ^ X9,        S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Y5 ^ X9,        S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Y5 ^ X8,        S0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        S0 ^ X5 ^ Y7,   S1 ^ Y5 ^ X7,   S2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3 ^ X8,        X3 ^ Y8,        Y4 ^ X7,        S0 ^ X4 ^ Y7,   S1 ^ Y5 ^ X6,   S2 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5 ^X10,        Y6 ^ X9,        S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4,             X5 ^ Y9,        Y5 ^ X9,        S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Z0 ^ X4 ^ Y4,   X3,             Y3,             Y4 ^ X9,        Y5 ^ X8,        S0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Z0 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X9,        Y4 ^ X8,        S0 ^ X5 ^ Y7,   S1 ^ Y5 ^ X7,   S2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z0 ^ X4 ^ Y4,   X2,             Y2,             X3 ^ Y7,        Y3 ^ X7,        S0 ^ X4 ^ Y6,   S1 ^ Y4 ^ X6,   S2 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5,             Y5,             Y6 ^ X9,        S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             X5,             Y5 ^ X9,        S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3,             Y5 ^ X8,        S0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X8,        S0 ^ X5 ^ Y7,   S1 ^ Y5 ^ X7,   S2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X5 ^ Y5,   S2 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y7,        S0 ^ X4 ^ Y6,   S1 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y5,             Y6,             S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y3,             Y5,             S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   S2 ^ X6 ^ Y6,   X3,             Y3,             Y5 ^ X7,        S0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   S2 ^ X6 ^ Y6,   Y2,             X3,             Y3 ^ X7,        S0 ^ X5 ^ Y6,   S1 ^ Y5 ^ X6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X5 ^ Y5,   S2 ^ X4 ^ Y4,   S1 ^ X6 ^ Y6,   X2,             Y2,             Y3 ^ X5,        X3 ^ Y6,        S0 ^ X4 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5,             Y6,             S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8,   Z0 ^ X5 ^ Y5    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5,             S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3,             S0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X7,        S0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   S2 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   S2 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6,   S1 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             Y6,             S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5,             S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3,             S0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   S2 ^ X5 ^ Y5,   Y2,             X3,             Y3 ^ X7,        S0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   S2 ^ X4 ^ Y4,   S1 ^ X5 ^ Y5,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y6,             S0 ^ X6,        S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   Y3,             S0 ^ X6,        S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   S2 ^ X7 ^ Y7,   X3,             Y3,             S0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   S2 ^ X5 ^ Y5,   S1 ^ X7 ^ Y7,   Y2,             X3,             Y3 ^ X6,        S0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   S2 ^ X4 ^ Y4,   S1 ^ X5 ^ Y5,   S0 ^ X7 ^ Y7,   X2,             Y2,             Y3 ^ X5,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y6,             S0 ^ X6,        S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8,   Z2 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y3,             S0 ^ X6,        S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7,   Z2 ^ X5 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X3,             Y3,             S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7,   S2 ^ X5 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X6,   Y2,             X3,             Y3 ^ X7,        S0 ^ X6 ^ Y6,   S1 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   Y6,             S0 ^ X6,        S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   Y3,             S0 ^ X6,        S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S2 ^ X5 ^ Y6,   X3,             Y3,             S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X6,   S1 ^ X5 ^ Y6,   Y2,             X3,             Y3 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   S2 ^ X8 ^ Y8,   Y6,             S0 ^ X6,        S1 ^ X7 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   S2 ^ X8 ^ Y8,   Y3,             S0 ^ X6,        S1 ^ Y6 ^ X7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S2 ^ X5 ^ Y6,   S1 ^ X8 ^ Y8,   X3,             Y3,             S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X6,   S1 ^ X5 ^ Y6,   S0 ^ X8 ^ Y8,   Y2,             X3,             Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   X3 ^ X8 ^ Y8,   X2,             Y2,             Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   S0 ^ X6,        S1 ^ Y7,        S2 ^ X7 ^ Y8,   Z2 ^ X6 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   Y3,             S0 ^ X6,        S1 ^ X7 ^ Y7,   S2 ^ X6 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S2 ^ X5 ^ Y7,   X3,             Y3,             S0 ^ X6 ^ Y7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X7,   S1 ^ X5 ^ Y7,   Y2,             X3,             Y3 ^ X6,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   X2,             X3,             Y3 ^ X6,        Y2 ^ X6 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   Z2 ^ X6 ^ Y6,   S0 ^ X6,        S1 ^ Y7,        S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   S2 ^ X6 ^ Y6,   Y3,             S0 ^ X6,        S1 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S2 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   X3,             Y3,             S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X7,   S1 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   Y2,             X3,             Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2,             X3,             Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   Z2 ^ X6 ^ Y6,   S2 ^ X9 ^ Y9,   S0 ^ X6,        S1 ^ Y7         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   S2 ^ X6 ^ Y6,   S1 ^ X9 ^ Y9,   Y3,             S0 ^ X6         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S2 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   S0 ^ X9 ^ Y9,   X3,             Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X7,   S1 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9,   Y2,             Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9,   X2,             Y3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   Z2 ^ Y6 ^ X7,   S0 ^ X7,        S1 ^ Y7,        S2 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   S2 ^ Y6 ^ X7,   Y3,             S0 ^ X7,        S1 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S2 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   X3,             Y3,             S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X8,   S1 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   X3,             Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X9 ^ Y9,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   Z2 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7,   S0 ^ X7,        S1 ^ Y7         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   S2 ^ Y6 ^ X7,   S1 ^ X6 ^ Y7,   Y3,             S0 ^ X7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S2 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X8,   S1 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X9 ^ Y9,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3,             Y3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X4,             Y4,             Y5 ^X10,        X5 ^Y10,        Y6 ^ X9,        S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Y5 ^ X9,        S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Y5 ^ X8,        S0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        S0 ^ X5 ^ Y7,   S1 ^ Y5 ^ X7,   S2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3 ^ X8,        X3 ^ Y8,        Y4 ^ X7,        S0 ^ X4 ^ Y7,   S1 ^ Y5 ^ X6,   S2 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             Z0 ^ X4 ^ Y4,   X5,             Y5 ^X10,        Y6 ^ X9,        S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5 ^ Y9,        Y5 ^ X9,        S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4 ^ X9,        Y5 ^ X8,        S0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X9,        Y4 ^ X8,        S0 ^ X5 ^ Y7,   S1 ^ Y5 ^ X7,   S2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X4 ^ Y4,   Y2,             X3 ^ Y7,        Y3 ^ X7,        S0 ^ X4 ^ Y6,   S1 ^ Y4 ^ X6,   S2 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y5,             Y6 ^ X9,        S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5,             Y5 ^ X9,        S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             Y5 ^ X8,        S0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X8,        S0 ^ X5 ^ Y7,   S1 ^ Y5 ^ X7,   S2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   S2 ^ X4 ^ Y4,   Y2,             Y3 ^ X6,        X3 ^ Y7,        S0 ^ X4 ^ Y6,   S1 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y6,             S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   Y5,             S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   S2 ^ X6 ^ Y6,   Y3,             Y5 ^ X7,        S0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   S2 ^ X6 ^ Y6,   X3,             Y3 ^ X7,        S0 ^ X5 ^ Y6,   S1 ^ Y5 ^ X6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   S2 ^ X4 ^ Y4,   S1 ^ X6 ^ Y6,   Y2,             Y3 ^ X5,        X3 ^ Y6,        S0 ^ X4 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y6,             S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8,   Z0 ^ X5 ^ Y5    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5,             S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             S0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X7,        S0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   S2 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   S2 ^ X4 ^ Y4,   Y2,             Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6,   S1 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y6,             S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             S0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   S2 ^ X5 ^ Y5,   X3,             Y3 ^ X7,        S0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   S2 ^ X4 ^ Y4,   S1 ^ X5 ^ Y5,   Y2,             Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   S0 ^ X6,        S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   S0 ^ X6,        S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   S2 ^ X7 ^ Y7,   Y3,             S0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   S2 ^ X5 ^ Y5,   S1 ^ X7 ^ Y7,   X3,             Y3 ^ X6,        S0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   S2 ^ X4 ^ Y4,   S1 ^ X5 ^ Y5,   S0 ^ X7 ^ Y7,   Y2,             Y3 ^ X5,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y6,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S0 ^ X6,        S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8,   Z2 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S0 ^ X6,        S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7,   Z2 ^ X5 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y3,             S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7,   S2 ^ X5 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X6,   X3,             Y3 ^ X7,        S0 ^ X6 ^ Y6,   S1 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   Y2,             Y3 ^ X6,        X3 ^ Y6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y6,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   S0 ^ X6,        S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   S0 ^ X6,        S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S2 ^ X5 ^ Y6,   Y3,             S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X6,   S1 ^ X5 ^ Y6,   X3,             Y3 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   Y2,             Y3 ^ X6,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y6,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   S2 ^ X8 ^ Y8,   S0 ^ X6,        S1 ^ X7 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   S2 ^ X8 ^ Y8,   S0 ^ X6,        S1 ^ Y6 ^ X7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S2 ^ X5 ^ Y6,   S1 ^ X8 ^ Y8,   Y3,             S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X6,   S1 ^ X5 ^ Y6,   S0 ^ X8 ^ Y8,   X3,             Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   X3 ^ X8 ^ Y8,   Y2,             Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             S0 ^ X6,        Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   S1 ^ Y7,        S2 ^ X7 ^ Y8,   Z2 ^ X6 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   S0 ^ X6,        S1 ^ X7 ^ Y7,   S2 ^ X6 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S2 ^ X5 ^ Y7,   Y3,             S0 ^ X6 ^ Y7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X7,   S1 ^ X5 ^ Y7,   X3,             Y3 ^ X6,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   X3,             Y3 ^ X6,        Y2 ^ X6 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             S0 ^ X6,        Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   Z2 ^ X6 ^ Y6,   S1 ^ Y7,        S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   S2 ^ X6 ^ Y6,   S0 ^ X6,        S1 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S2 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   Y3,             S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X7,   S1 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X3,             Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3,             Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             S0 ^ X6,        Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   Z2 ^ X6 ^ Y6,   S2 ^ X9 ^ Y9,   S1 ^ Y7         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   S2 ^ X6 ^ Y6,   S1 ^ X9 ^ Y9,   S0 ^ X6         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S2 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   S0 ^ X9 ^ Y9,   Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X7,   S1 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9,   Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9,   Y3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             S0 ^ X7,        Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   Z2 ^ Y6 ^ X7,   S1 ^ Y7,        S2 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   S2 ^ Y6 ^ X7,   S0 ^ X7,        S1 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S2 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   Y3,             S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X8,   S1 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X9 ^ Y9,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y3,             X2 ^ X6 ^ Y7    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             S0 ^ X7,        Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   Z2 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7,   S1 ^ Y7         },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   S2 ^ Y6 ^ X7,   S1 ^ X6 ^ Y7,   S0 ^ X7         },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S2 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7,   Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X8,   S1 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X9 ^ Y9,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3              },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X4,             Y4,             Y5 ^X10,        X5 ^Y10,        Y6 ^ X9,        S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Y5 ^ X9,        S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Y5 ^ X8,        S0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        S0 ^ X5 ^ Y7,   S1 ^ Y5 ^ X7,   S2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3 ^ X8,        X3 ^ Y8,        Y4 ^ X7,        S0 ^ X4 ^ Y7,   S1 ^ Y5 ^ X6,   S2 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y4,             X5,             Z0 ^ X4 ^ Y4,   Y5 ^X10,        Y6 ^ X9,        S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y4,             Z0 ^ X4 ^ Y4,   X5 ^ Y9,        Y5 ^ X9,        S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4 ^ X9,        Y5 ^ X8,        S0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3 ^ X9,        Y4 ^ X8,        S0 ^ X5 ^ Y7,   S1 ^ Y5 ^ X7,   S2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X4 ^ Y4,   X3 ^ Y7,        Y3 ^ X7,        S0 ^ X4 ^ Y6,   S1 ^ Y4 ^ X6,   S2 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y6 ^ X9,        S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y5 ^ X9,        S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y5 ^ X8,        S0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3 ^ X8,        S0 ^ X5 ^ Y7,   S1 ^ Y5 ^ X7,   S2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   S2 ^ X4 ^ Y4,   Y3 ^ X6,        X3 ^ Y7,        S0 ^ X4 ^ Y6,   S1 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y5,             Y6,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             Y5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ X6 ^ Y6,   S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   S2 ^ X6 ^ Y6,   Y5 ^ X7,        S0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   S2 ^ X6 ^ Y6,   Y3 ^ X7,        S0 ^ X5 ^ Y6,   S1 ^ Y5 ^ X6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   S2 ^ X4 ^ Y4,   S1 ^ X6 ^ Y6,   Y3 ^ X5,        X3 ^ Y6,        S0 ^ X4 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8,   Z0 ^ X5 ^ Y5    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   S0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y3 ^ X7,        S0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   S2 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   S2 ^ X4 ^ Y4,   Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6,   S1 ^ X5 ^ Y5    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             X5,             Y6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   S0 ^ X6 ^ Y9,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   S0 ^ X6 ^ Y8,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   S0 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   S2 ^ X5 ^ Y5,   Y3 ^ X7,        S0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   S2 ^ X4 ^ Y4,   S1 ^ X5 ^ Y5,   Y3 ^ X6,        X3 ^ Y7,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y6,             S0 ^ X6,        Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X6,        Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ X7 ^ Y7,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   S2 ^ X7 ^ Y7,   S0 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   S2 ^ X5 ^ Y5,   S1 ^ X7 ^ Y7,   Y3 ^ X6,        S0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   S2 ^ X4 ^ Y4,   S1 ^ X5 ^ Y5,   S0 ^ X7 ^ Y7,   Y3 ^ X5,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y6,             S0 ^ X6,        Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8,   Z2 ^ X5 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X6,        Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7,   Z2 ^ X5 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7,   S2 ^ X5 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X6,   Y3 ^ X7,        S0 ^ X6 ^ Y6,   S1 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   Y3 ^ X6,        X3 ^ Y6,        S0 ^ X5 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y6,             S0 ^ X6,        Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   S1 ^ Y7 ^ X8,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X6,        Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   S1 ^ Y6 ^ X8,   S2 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S2 ^ X5 ^ Y6,   S0 ^ X6 ^ Y7,   S1 ^ Y6 ^ X7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X6,   S1 ^ X5 ^ Y6,   Y3 ^ X7,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   Y3 ^ X6,        X3 ^ Y6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             Y6,             S0 ^ X6,        Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   S2 ^ X8 ^ Y8,   S1 ^ X7 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X6,        Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   S2 ^ X8 ^ Y8,   S1 ^ Y6 ^ X7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   S2 ^ X5 ^ Y6,   S1 ^ X8 ^ Y8,   S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X6,   S1 ^ X5 ^ Y6,   S0 ^ X8 ^ Y8,   Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X6,   S0 ^ X5 ^ Y6,   X3 ^ X8 ^ Y8,   Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             S0 ^ X6,        S1 ^ Y7,        Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   S2 ^ X7 ^ Y8,   Z2 ^ X6 ^ Y6    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X6,        Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   S1 ^ X7 ^ Y7,   S2 ^ X6 ^ Y6    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S2 ^ X5 ^ Y7,   S0 ^ X6 ^ Y7,   S1 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X7,   S1 ^ X5 ^ Y7,   Y3 ^ X6,        S0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y3 ^ X6,        Y2 ^ X6 ^ Y6    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             S0 ^ X6,        S1 ^ Y7,        Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   Z2 ^ X6 ^ Y6,   S2 ^ X7 ^ Y8    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X6,        Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   S2 ^ X6 ^ Y6,   S1 ^ X7 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S2 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X7,   S1 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   Y3 ^ X6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3 ^ X6         },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             S0 ^ X6,        S1 ^ Y7,        Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   Z2 ^ X6 ^ Y6,   S2 ^ X9 ^ Y9    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X6,        Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   S2 ^ X6 ^ Y6,   S1 ^ X9 ^ Y9    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   S2 ^ X5 ^ Y7,   S1 ^ X6 ^ Y6,   S0 ^ X9 ^ Y9    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X7,   S1 ^ X5 ^ Y7,   S0 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y3,             Y4 ^ X8 ^ Y8,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X7,   S0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ X9 ^ Y9    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             S0 ^ X7,        S1 ^ Y7,        Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   Z2 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X7,        Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   S2 ^ Y6 ^ X7,   S1 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S2 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X8,   S1 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {X0,             X1,             X2,             X3,             Y0,             Y1,             Y2,             Y3,             S0 ^ X7,        S1 ^ Y7,        Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   Z2 ^ Y6 ^ X7,   S2 ^ X6 ^ Y7    },
-    {0,              X0,             X1,             X2,             Y0,             Y1,             Y2,             X3,             Y3,             S0 ^ X7,        Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   S2 ^ Y6 ^ X7,   S1 ^ X6 ^ Y7    },
-    {0,              0,              X0,             X1,             Y0,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   S2 ^ X5 ^ Y8,   S1 ^ Y6 ^ X7,   S0 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             X1,             X2,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   S2 ^ Y5 ^ X8,   S1 ^ X5 ^ Y8,   S0 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   S2 ^ X4 ^ Y4,   S1 ^ Y5 ^ X8,   S0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+    {X0,            X1,            X2,            X3,            Y0,            Y1,            Y2,            Y3,            }, // 0
+    {0,             X0,            X1,            X2,            Y0,            Y1,            Y2,            X3,            }, // 1
+    {0,             0,             X0,            X1,            Y0,            Y1,            Y2,            X2,            }, // 2
+    {0,             0,             0,             X0,            Y0,            Y1,            X1,            X2,            }, // 3
+    {0,             0,             0,             0,             Y0,            Y1,            X0,            X1,            }, // 4
+    {X0,            X1,            X2,            Y1,            Y0,            Y2,            X3,            Y3,            }, // 5
+    {0,             0,             0,             X0,            Y0,            X1,            X2,            Y1,            }, // 6
+    {0,             0,             0,             0,             X0,            Y0,            X1,            Y1,            }, // 7
+    {X0,            Y0,            X1,            Y1,            X2,            Y2,            X3,            Y3,            }, // 8
+    {0,             X0,            Y0,            X1,            Y1,            X2,            Y2,            X3,            }, // 9
+    {0,             0,             X0,            Y0,            X1,            Y1,            X2,            Y2,            }, // 10
+    {0,             0,             0,             X0,            Y0,            X1,            Y1,            X2,            }, // 11
+    {X0,            Y0,            X1,            Y1,            X2,            Y2,            X3,            Y4,            }, // 12
+    {S0,            X0,            Y0,            X1,            Y1,            X2,            Y2,            X3,            }, // 13
+    {0,             S0,            X0,            Y0,            X1,            Y1,            X2,            Y2,            }, // 14
+    {0,             0,             S0,            X0,            Y0,            X1,            Y1,            X2,            }, // 15
+    {0,             0,             0,             S0,            X0,            Y0,            X1,            Y1,            }, // 16
+    {0,             0,             0,             0,             S0,            X0,            Y0,            X1,            }, // 17
+    {S0,            S1,            X0,            Y0,            X1,            Y1,            X2,            Y2,            }, // 18
+    {0,             S0,            S1,            X0,            Y0,            X1,            Y1,            X2,            }, // 19
+    {0,             0,             S0,            S1,            X0,            Y0,            X1,            Y1,            }, // 20
+    {0,             0,             0,             S0,            S1,            X0,            Y0,            X1,            }, // 21
+    {0,             0,             0,             0,             S0,            S1,            X0,            Y0,            }, // 22
+    {S0,            S1,            S2,            X0,            Y0,            X1,            Y1,            X2,            }, // 23
+    {0,             S0,            S1,            S2,            X0,            Y0,            X1,            Y1,            }, // 24
+    {0,             0,             S0,            S1,            S2,            X0,            Y0,            X1,            }, // 25
+    {0,             0,             0,             S0,            S1,            S2,            X0,            Y0,            }, // 26
+    {0,             0,             0,             0,             S0,            S1,            S2,            X0,            }, // 27
+    {X0,            X1,            X2,            Y1,            Y0,            Y2,            X3,            Y4,            }, // 28
+    {X0,            X1,            Z0,            Y0,            Z1,            Y1,            X2,            Z2,            }, // 29
+    {0,             X0,            Z0,            Y0,            Z1,            Y1,            X1,            Z2,            }, // 30
+    {0,             0,             X0,            Y0,            Z0,            Y1,            X1,            Z1,            }, // 31
+    {0,             0,             0,             X0,            Z0,            Y0,            X1,            Z1,            }, // 32
+    {0,             0,             0,             0,             Z0,            Y0,            X0,            Z1,            }, // 33
+    {X0,            X1,            Z0,            Y0,            Y1,            Z1,            X2,            Z2,            }, // 34
+    {0,             X0,            Z0,            Y0,            X1,            Z1,            Y1,            Z2,            }, // 35
+    {0,             0,             X0,            Y0,            X1,            Z0,            Y1,            Z1,            }, // 36
+    {0,             0,             0,             X0,            Y0,            Z0,            X1,            Z1,            }, // 37
+    {0,             0,             0,             0,             X0,            Z0,            Y0,            Z1,            }, // 38
+    {0,             0,             X0,            X1,            Y0,            Y1,            X2,            Y2,            }, // 39
 };
 
-const UINT_64 SW_64K_Z_X_1xaa_RBPLUS[][16]=
+const UINT_64 GFX10_SW_PATTERN_NIBBLE2[][4] =
 {
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5 ^Y10,        Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Y5 ^ X9,        X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y8,        Y3 ^ X8,        X4 ^ Y7,        Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5,             Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4,             X5 ^ Y9,        X6 ^ Y8,        Y5 ^ X9,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X4 ^ Y4,   X3,             Y3,             Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X9,        X5 ^ Y7,        Y4 ^ X8,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Z0 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X8,        X3 ^ Y7,        Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5,             Y5,             X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             X5,             X6 ^ Y8,        Y5 ^ X9,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X8,        X5 ^ Y7,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X7,        X3 ^ Y7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y5,             X6,             Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y3,             Y5,             X6 ^ Y8,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X3,             Y3,             Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y2,             X3,             Y3 ^ X8,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X2,             Y2,             Y3 ^ X7,        X3 ^ Y6,        Y5 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5,             X6,             Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8,        Z0 ^ X5 ^ Y5    },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5,             X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X2,             Y2,             X3 ^ Y7,        Y3 ^ X6,        X5 ^ Y6,        Z0 ^ X5 ^ Y5    },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             X6,             Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5,             X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             X3,             Y3 ^ X7,        X5 ^ Y7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X2,             Y2,             X3 ^ Y7,        Y3 ^ X6,        X5 ^ Y6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X6,             Y6,             X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y3,             X6,             Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X3,             Y3,             X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y2,             X3,             Y3 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X2,             Y2,             X3 ^ Y6,        Y3 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X6,             Y6,             X7 ^ Y8,        Y7 ^ X8,        X5 ^ Y6         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y3,             X6,             X7 ^ Y7,        Y6 ^ X8,        X5 ^ Y6         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X3,             Y3,             X6 ^ Y7,        Y6 ^ X7,        X5 ^ Y6         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y2,             X3,             Y3 ^ X7,        X6 ^ Y6,        Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y6,        Z0 ^ X5 ^ Y6    },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6,             Y6,             X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y3,             X6,             X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X3,             Y3,             X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2,             X3,             Y3 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y6,             X7,             Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y3,             Y6,             X7 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        X3,             Y3,             Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        Y2,             X3,             Y3 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3 ^ Y6,        X2,             Y2,             Y3 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6,             X7,             Y7 ^ X8,        X6 ^ Y6         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y3,             X6,             X7 ^ Y7,        X6 ^ Y6         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X3,             Y3,             X6 ^ Y7,        X6 ^ Y6         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Y2,             X3,             Y3 ^ X7,        Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   X2,             X3,             Y3 ^ X6,        Y2 ^ X6 ^ Y6    },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6,             X7,             Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y3,             X6,             X7 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X3,             Y3,             X6 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y2,             X3,             Y3 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2,             X3,             Y3 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        X7,             Y7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        Y3,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        X3,             Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3 ^ Y8,        Y2,             Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ Y8,        X2,             Y3              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X7,             Y7,             X6 ^ Y7         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y3,             X7,             X6 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X3,             Y3,             X6 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X3,             Y3,             Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X7,             Y7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y3,             X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X3,             Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3,             Y3              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5 ^Y10,        Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Y5 ^ X9,        X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y8,        Y3 ^ X8,        X4 ^ Y7,        Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4,             Z0 ^ X4 ^ Y4,   X5,             Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             X5 ^ Y9,        X6 ^ Y8,        Y5 ^ X9,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X9,        X5 ^ Y7,        Y4 ^ X8,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X4 ^ Y4,   Y2,             Y3 ^ X8,        X3 ^ Y7,        Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y5,             X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5,             X6 ^ Y8,        Y5 ^ X9,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X8,        X5 ^ Y7,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y2,             Y3 ^ X7,        X3 ^ Y7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X6,             Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y5,             X6 ^ Y8,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y3,             Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X3,             Y3 ^ X8,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y2,             Y3 ^ X7,        X3 ^ Y6,        Y5 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X6,             Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8,        Z0 ^ X5 ^ Y5    },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5,             X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y2,             X3 ^ Y7,        Y3 ^ X6,        X5 ^ Y6,        Z0 ^ X5 ^ Y5    },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X6,             Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3 ^ X7,        X5 ^ Y7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             X3 ^ Y7,        Y3 ^ X6,        X5 ^ Y6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y6,             X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X6,             Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y3,             X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X3,             Y3 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y2,             X3 ^ Y6,        Y3 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y6,             X7 ^ Y8,        Y7 ^ X8,        X5 ^ Y6         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X6,             X7 ^ Y7,        Y6 ^ X8,        X5 ^ Y6         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y3,             X6 ^ Y7,        Y6 ^ X7,        X5 ^ Y6         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X3,             Y3 ^ X7,        X6 ^ Y6,        Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y2,             Y3 ^ X6,        X3 ^ Y6,        Z0 ^ X5 ^ Y6    },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y6,             X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6,             X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y3,             X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3,             Y3 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2,             Y3 ^ X6,        X3 ^ Y6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y6,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        X7,             Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y6,             X7 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y3,             Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        X3,             Y3 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3 ^ Y6,        Y2,             Y3 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X7,             Y7 ^ X8,        X6 ^ Y6         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6,             X7 ^ Y7,        X6 ^ Y6         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y3,             X6 ^ Y7,        X6 ^ Y6         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   X3,             Y3 ^ X7,        Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   X3,             Y3 ^ X6,        Y2 ^ X6 ^ Y6    },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X7,             Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6,             X7 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y3,             X6 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3,             Y3 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3,             Y3 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X7,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        Y7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3 ^ Y8,        Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ Y8,        Y3              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X7,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y7,             X6 ^ Y7         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X7,             X6 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y3,             X6 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y3,             Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y3,             X2 ^ X6 ^ Y7    },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X7,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y7              },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X7              },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y3              },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   Y3              },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3              },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4,             Y4,             X5 ^Y10,        Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        X5 ^ Y9,        Y5 ^ X9,        X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3 ^ Y8,        Y3 ^ X8,        X4 ^ Y7,        Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4,             X5,             Z0 ^ X4 ^ Y4,   Y5 ^X10,        X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4,             Z0 ^ X4 ^ Y4,   X5 ^ Y9,        X6 ^ Y8,        Y5 ^ X9,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3 ^ X9,        X5 ^ Y7,        Y4 ^ X8,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X4 ^ Y4,   Y3 ^ X8,        X3 ^ Y7,        Y4 ^ X7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X5,             Y5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X6 ^ Y9,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X6 ^ Y8,        Y5 ^ X9,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3 ^ X8,        X5 ^ Y7,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3 ^ X7,        X3 ^ Y7,        X5 ^ Y6,        Y5 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y5,             X6,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X6 ^ Y8,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y3 ^ X8,        X6 ^ Y6,        Y5 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y3 ^ X7,        X3 ^ Y6,        Y5 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X5,             X6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8,        Z0 ^ X5 ^ Y5    },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3 ^ X7,        X5 ^ Y7,        X6 ^ Y6,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3 ^ Y7,        Y3 ^ X6,        X5 ^ Y6,        Z0 ^ X5 ^ Y5    },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X5,             X6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y6 ^ X9,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X6 ^ Y8,        Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3 ^ X7,        X5 ^ Y7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3 ^ Y7,        Y3 ^ X6,        X5 ^ Y6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y6 ^ X8,        X7 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y3 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X3 ^ Y6,        Y3 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y6,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X7 ^ Y8,        Y7 ^ X8,        X5 ^ Y6         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X7 ^ Y7,        Y6 ^ X8,        X5 ^ Y6         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X6 ^ Y7,        Y6 ^ X7,        X5 ^ Y6         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y3 ^ X7,        X6 ^ Y6,        Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y3 ^ X6,        X3 ^ Y6,        Z0 ^ X5 ^ Y6    },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y6,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X7 ^ Y8,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X7 ^ Y7,        Y6 ^ X8         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3 ^ X7,        X6 ^ Y6         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3 ^ X6,        X3 ^ Y6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y6,             X7,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y6,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        X7 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y6 ^ X7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        Y3 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3 ^ Y6,        Y3 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             X7,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y7 ^ X8,        X6 ^ Y6         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X7 ^ Y7,        X6 ^ Y6         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y7,        X6 ^ Y6         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Y3 ^ X7,        Z0 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y3 ^ X6,        Y2 ^ X6 ^ Y6    },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             X7,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y7 ^ X8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X7 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   Y3 ^ X7         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3 ^ X6         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X7,             Y7,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X7,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             Y3,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3 ^ Y8         },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ Y8         },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X7,             Y7,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X7,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X7,             Y7,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7         },
-    {0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X7,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7         },
-    {0,              0,              X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7         },
-    {0,              0,              0,              X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+    {0,             0,             0,             0,             }, // 0
+    {Y4,            X4,            Y5,            X5,            }, // 1
+    {Y3,            X4,            Y4,            X5,            }, // 2
+    {Y3,            X3,            Y4,            X4,            }, // 3
+    {Y2,            X3,            Y3,            X4,            }, // 4
+    {Y2,            X2,            Y3,            X3,            }, // 5
+    {Z0^X4^Y4,      X4,            Y5,            X5,            }, // 6
+    {Z0^Y3^X4,      X4,            Y4,            X5,            }, // 7
+    {Z0^X3^Y3,      X3,            Y4,            X4,            }, // 8
+    {Z0^Y2^X3,      X3,            Y3,            X4,            }, // 9
+    {Z0^X2^Y2,      X2,            Y3,            X3,            }, // 10
+    {Z1^Y4^X5,      Z0^X4^Y5,      Y5,            X5,            }, // 11
+    {Z1^Y3^X5,      Z0^X4^Y4,      Y4,            X5,            }, // 12
+    {Z1^Y3^X4,      Z0^X3^Y4,      Y4,            X4,            }, // 13
+    {Z1^Y2^X4,      Z0^X3^Y3,      Y3,            X4,            }, // 14
+    {Z1^Y2^X3,      Z0^X2^Y3,      Y3,            X3,            }, // 15
+    {Z2^Y4^X6,      Z1^X4^Y6,      Z0^X5^Y5,      X5,            }, // 16
+    {Z2^Y3^X6,      Z1^X4^Y5,      Z0^Y4^X5,      X5,            }, // 17
+    {Z2^Y3^X5,      Z1^X3^Y5,      Z0^X4^Y4,      X4,            }, // 18
+    {Y2^Z2^X5,      Z1^X3^Y4,      Z0^Y3^X4,      X4,            }, // 19
+    {Y2^Z2^X4,      Z1^X2^Y4,      Z0^X3^Y3,      X3,            }, // 20
+    {Z3^Y4^X7,      Z2^X4^Y7,      Z1^Y5^X6,      Z0^X5^Y6,      }, // 21
+    {Y3^Z3^X7,      Z2^X4^Y6,      Z1^Y4^X6,      Z0^X5^Y5,      }, // 22
+    {Y3^Z3^X6,      Z2^X3^Y6,      Z1^Y4^X5,      Z0^X4^Y5,      }, // 23
+    {Y2^Z3^X6,      Z2^X3^Y5,      Z1^Y3^X5,      Z0^X4^Y4,      }, // 24
+    {Y2^Z3^X5,      X2^Z2^Y5,      Z1^Y3^X4,      Z0^X3^Y4,      }, // 25
+    {Y4^Z4^X8,      Z3^X4^Y8,      Z2^Y5^X7,      Z1^X5^Y7,      }, // 26
+    {Y3^Z4^X8,      Z3^X4^Y7,      Z2^Y4^X7,      Z1^X5^Y6,      }, // 27
+    {Y3^Z4^X7,      X3^Z3^Y7,      Z2^Y4^X6,      Z1^X4^Y6,      }, // 28
+    {Y2^Z4^X7,      X3^Z3^Y6,      Z2^Y3^X6,      Z1^X4^Y5,      }, // 29
+    {Y2^Z4^X6,      X2^Z3^Y6,      Z2^Y3^X5,      Z1^X3^Y5,      }, // 30
+    {Y4^Z5^X9,      X4^Z4^Y9,      Z3^Y5^X8,      Z2^X5^Y8,      }, // 31
+    {Y3^Z5^X9,      X4^Z4^Y8,      Z3^Y4^X8,      Z2^X5^Y7,      }, // 32
+    {Y3^Z5^X8,      X3^Z4^Y8,      Z3^Y4^X7,      Z2^X4^Y7,      }, // 33
+    {Y2^Z5^X8,      X3^Z4^Y7,      Y3^Z3^X7,      Z2^X4^Y6,      }, // 34
+    {Y2^Z5^X7,      X2^Z4^Y7,      Y3^Z3^X6,      Z2^X3^Y6,      }, // 35
+    {X4^Y4,         X4,            Y5,            X5,            }, // 36
+    {Y3^X4,         X4,            Y4,            X5,            }, // 37
+    {X3^Y3,         X3,            Y4,            X4,            }, // 38
+    {Y2^X3,         X3,            Y3,            X4,            }, // 39
+    {X2^Y2,         X2,            Y3,            X3,            }, // 40
+    {Y4^X5,         X4^Y5,         Y5,            X5,            }, // 41
+    {Y3^X5,         X4^Y4,         Y4,            X5,            }, // 42
+    {Y3^X4,         X3^Y4,         Y4,            X4,            }, // 43
+    {Y2^X4,         X3^Y3,         Y3,            X4,            }, // 44
+    {Y2^X3,         X2^Y3,         Y3,            X3,            }, // 45
+    {Y4^X6,         X4^Y6,         X5^Y5,         X5,            }, // 46
+    {Y3^X6,         X4^Y5,         Y4^X5,         X5,            }, // 47
+    {Y3^X5,         X3^Y5,         X4^Y4,         X4,            }, // 48
+    {Y2^X5,         X3^Y4,         Y3^X4,         X4,            }, // 49
+    {Y2^X4,         X2^Y4,         X3^Y3,         X3,            }, // 50
+    {Y4^X7,         X4^Y7,         Y5^X6,         X5^Y6,         }, // 51
+    {Y3^X7,         X4^Y6,         Y4^X6,         X5^Y5,         }, // 52
+    {Y3^X6,         X3^Y6,         Y4^X5,         X4^Y5,         }, // 53
+    {Y2^X6,         X3^Y5,         Y3^X5,         X4^Y4,         }, // 54
+    {Y2^X5,         X2^Y5,         Y3^X4,         X3^Y4,         }, // 55
+    {Y4,            X4,            Y5^X7,         X5^Y7,         }, // 56
+    {Y3,            X4,            Y4^X7,         X5^Y6,         }, // 57
+    {Y3,            X3,            Y4^X6,         X4^Y6,         }, // 58
+    {Y2,            X3,            Y3^X6,         X4^Y5,         }, // 59
+    {Y2,            X2,            Y3^X5,         X3^Y5,         }, // 60
+    {Z0^X3^Y3,      X4,            Y5,            X5,            }, // 61
+    {Z0^X3^Y3,      X4,            Y4,            X5,            }, // 62
+    {Z0^X3^Y3,      X3,            Y2,            X4,            }, // 63
+    {Z0^X3^Y3,      X2,            Y2,            X3,            }, // 64
+    {Z1^X3^Y3,      Z0^X4^Y4,      Y5,            X5,            }, // 65
+    {Z1^X3^Y3,      Z0^X4^Y4,      Y4,            X5,            }, // 66
+    {Z1^X3^Y3,      Z0^X4^Y4,      Y3,            X4,            }, // 67
+    {Z1^X3^Y3,      Z0^X4^Y4,      Y2,            X3,            }, // 68
+    {Z1^X3^Y3,      Z0^X4^Y4,      Y2,            X2,            }, // 69
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^X5^Y5,      X5,            }, // 70
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^X5^Y5,      X4,            }, // 71
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^X5^Y5,      X3,            }, // 72
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^X5^Y5,      X2,            }, // 73
+    {X3^Y3^Z3,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      }, // 74
+    {X3^Y3^Z4,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      }, // 75
+    {X3^Y3^Z3,      Z2^X4^Y4,      Z1^Y5^X7,      Z0^X5^Y7,      }, // 76
+    {X3^Y3^Z5,      X4^Y4^Z4,      Z3^Y5^X8,      Z2^X5^Y8,      }, // 77
+    {X3^Y3^Z4,      Z3^X4^Y4,      Z2^Y5^X8,      Z1^X5^Y8,      }, // 78
+    {X3^Y3^Z3,      Z2^X4^Y4,      Z1^Y5^X8,      Z0^X5^Y8,      }, // 79
+    {Y3,            Y4,            X4,            Y5,            }, // 80
+    {X2,            Y3,            X3,            Y4,            }, // 81
+    {Z0^X3^Y3,      Y4,            X4,            Y5,            }, // 82
+    {Z0^X3^Y3,      X2,            X3,            Y4,            }, // 83
+    {Z1^X3^Y3,      Z0^X4^Y4,      Y4,            Y5,            }, // 84
+    {Z1^X3^Y3,      Z0^X4^Y4,      X2,            Y3,            }, // 85
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^X5^Y5,      Y4,            }, // 86
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X6,      Y2^X5^Y6,      }, // 87
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X7,      Y2^X5^Y7,      }, // 88
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X8,      Y2^X5^Y8,      }, // 89
+    {X3,            Y3,            X4,            Y4,            }, // 90
+    {Z0^X3^Y3,      X3,            X4,            Y4,            }, // 91
+    {Z1^X3^Y3,      Z0^X4^Y4,      X3,            Y4,            }, // 92
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^X5^Y5,      Y2,            }, // 93
+    {Z1^X3^Y3,      Z0^X4^Y4,      Y2^X5^Y5,      X2,            }, // 94
+    {Z2^X3^Y3,      Z1^X4^Y4,      Y2^Y5^X6,      Z0^X5^Y6,      }, // 95
+    {Z1^X3^Y3,      Z0^X4^Y4,      Y2^Y5^X6,      X1^X5^Y6,      }, // 96
+    {Z2^X3^Y3,      Z1^X4^Y4,      Y2^Y5^X7,      Z0^X5^Y7,      }, // 97
+    {Z1^X3^Y3,      Z0^X4^Y4,      Y2^Y5^X7,      X1^X5^Y7,      }, // 98
+    {Z2^X3^Y3,      Z1^X4^Y4,      Y2^Y5^X8,      Z0^X5^Y8,      }, // 99
+    {Z1^X3^Y3,      Z0^X4^Y4,      Y2^Y5^X8,      X1^X5^Y8,      }, // 100
+    {Z0^X3^Y3,      Y2,            X3,            Y4,            }, // 101
+    {Z1^X3^Y3,      Z0^X4^Y4,      X2,            Y2,            }, // 102
+    {Z1^X3^Y3,      Z0^X4^Y4,      Y2^X5^Y5,      Y3,            }, // 103
+    {Z1^X3^Y3,      Z0^X4^Y4,      Y0^X5^Y5,      Y2,            }, // 104
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X6,      Z3^X5^Y6,      }, // 105
+    {Z1^X3^Y3,      Z0^X4^Y4,      Y0^Y5^X6,      X1^X5^Y6,      }, // 106
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X7,      Z4^X5^Y7,      }, // 107
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X7,      Z3^X5^Y7,      }, // 108
+    {Z1^X3^Y3,      Z0^X4^Y4,      Y0^Y5^X7,      X1^X5^Y7,      }, // 109
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X8,      Z4^X5^Y8,      }, // 110
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X8,      Z3^X5^Y8,      }, // 111
+    {Z1^X3^Y3,      Z0^X4^Y4,      Y0^Y5^X8,      X1^X5^Y8,      }, // 112
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X6,      S0^X5^Y6,      }, // 113
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X7,      S0^X5^Y7,      }, // 114
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X8,      S0^X5^Y8,      }, // 115
+    {Z1^X3^Y3,      Z0^X4^Y4,      S1^X5^Y5,      X2,            }, // 116
+    {Z2^X3^Y3,      Z1^X4^Y4,      S1^Y5^X6,      Z0^X5^Y6,      }, // 117
+    {Z1^X3^Y3,      Z0^X4^Y4,      S1^Y5^X6,      S0^X5^Y6,      }, // 118
+    {Z2^X3^Y3,      Z1^X4^Y4,      S1^Y5^X7,      Z0^X5^Y7,      }, // 119
+    {Z1^X3^Y3,      Z0^X4^Y4,      S1^Y5^X7,      S0^X5^Y7,      }, // 120
+    {Z2^X3^Y3,      Z1^X4^Y4,      S1^Y5^X8,      Z0^X5^Y8,      }, // 121
+    {Z1^X3^Y3,      Z0^X4^Y4,      S1^Y5^X8,      S0^X5^Y8,      }, // 122
+    {Z1^X3^Y3,      Z0^X4^Y4,      S2^X5^Y5,      Y2,            }, // 123
+    {Z1^X3^Y3,      Z0^X4^Y4,      S2^X5^Y5,      X2,            }, // 124
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X6,      S2^X5^Y6,      }, // 125
+    {Z1^X3^Y3,      Z0^X4^Y4,      S2^Y5^X6,      S1^X5^Y6,      }, // 126
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X7,      S2^X5^Y7,      }, // 127
+    {Z1^X3^Y3,      Z0^X4^Y4,      S2^Y5^X7,      S1^X5^Y7,      }, // 128
+    {Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X8,      S2^X5^Y8,      }, // 129
+    {Z1^X3^Y3,      Z0^X4^Y4,      S2^Y5^X8,      S1^X5^Y8,      }, // 130
+    {Y2,            X3,            Z3,            Y3,            }, // 131
+    {Y2,            X2,            Z3,            Y3,            }, // 132
+    {Y2,            X2,            Z2,            Y3,            }, // 133
+    {Y1,            X2,            Z2,            Y2,            }, // 134
+    {Y1,            X1,            Z2,            Y2,            }, // 135
+    {Y2^X3^Z3,      X3,            Z3,            Y3,            }, // 136
+    {X2^Y2^Z3,      X2,            Z3,            Y3,            }, // 137
+    {X2^Y2^Z2,      X2,            Z2,            Y3,            }, // 138
+    {Y1^X2^Z2,      X2,            Z2,            Y2,            }, // 139
+    {X1^Y1^Z2,      X1,            Z2,            Y2,            }, // 140
+    {Y2^X4^Z4,      X3^Y3^Z3,      Z3,            Y3,            }, // 141
+    {Y2^X3^Z4,      X2^Y3^Z3,      Z3,            Y3,            }, // 142
+    {Y2^X3^Z3,      X2^Z2^Y3,      Z2,            Y3,            }, // 143
+    {Y1^X3^Z3,      X2^Y2^Z2,      Z2,            Y2,            }, // 144
+    {Y1^X2^Z3,      X1^Y2^Z2,      Z2,            Y2,            }, // 145
+    {Y2^X5^Z5,      X3^Y4^Z4,      Y3^Z3^X4,      Y3,            }, // 146
+    {Y2^X4^Z5,      X2^Y4^Z4,      X3^Y3^Z3,      Y3,            }, // 147
+    {Y2^X4^Z4,      X2^Z3^Y4,      Z2^X3^Y3,      Y3,            }, // 148
+    {Y1^X4^Z4,      X2^Y3^Z3,      Y2^Z2^X3,      Y2,            }, // 149
+    {Y1^X3^Z4,      X1^Y3^Z3,      X2^Y2^Z2,      Y2,            }, // 150
+    {Y2^X6^Z6,      X3^Y5^Z5,      Z3^Y4^X5,      Y3^X4^Z4,      }, // 151
+    {Y2^X5^Z6,      X2^Y5^Z5,      Z3^X4^Y4,      X3^Y3^Z4,      }, // 152
+    {Y2^X5^Z5,      X2^Z4^Y5,      Z2^X4^Y4,      X3^Y3^Z3,      }, // 153
+    {Y1^X5^Z5,      X2^Y4^Z4,      Z2^Y3^X4,      Y2^X3^Z3,      }, // 154
+    {Y1^X4^Z5,      X1^Y4^Z4,      Z2^X3^Y3,      X2^Y2^Z3,      }, // 155
+    {Y2^X7^Z7,      X3^Y6^Z6,      Z3^Y5^X6,      Y3^X5^Z5,      }, // 156
+    {Y2^X6^Z7,      X2^Y6^Z6,      Z3^X5^Y5,      Y3^X4^Z5,      }, // 157
+    {Y2^X6^Z6,      X2^Z5^Y6,      Z2^X5^Y5,      Y3^X4^Z4,      }, // 158
+    {Y1^X6^Z6,      X2^Y5^Z5,      Z2^Y4^X5,      Y2^X4^Z4,      }, // 159
+    {Y1^X5^Z6,      X1^Y5^Z5,      Z2^X4^Y4,      Y2^X3^Z4,      }, // 160
+    {Y2^X8^Z8,      X3^Y7^Z7,      Z3^Y6^X7,      Y3^X6^Z6,      }, // 161
+    {Y2^X7^Z8,      X2^Y7^Z7,      Z3^X6^Y6,      Y3^X5^Z6,      }, // 162
+    {Y2^X7^Z7,      X2^Z6^Y7,      Z2^X6^Y6,      Y3^X5^Z5,      }, // 163
+    {Y1^X7^Z7,      X2^Y6^Z6,      Z2^Y5^X6,      Y2^X5^Z5,      }, // 164
+    {Y1^X6^Z7,      X1^Y6^Z6,      Z2^X5^Y5,      Y2^X4^Z5,      }, // 165
+    {Y2^X5,         X3^Y4^Z4,      Y3^Z3^X4,      Y3,            }, // 166
+    {Y2^X4,         X2^Y4^Z4,      X3^Y3^Z3,      Y3,            }, // 167
+    {Y2^X4,         X2^Z3^Y4,      Z2^X3^Y3,      Y3,            }, // 168
+    {Y1^X4,         X2^Y3^Z3,      Y2^Z2^X3,      Y2,            }, // 169
+    {Y1^X3,         X1^Y3^Z3,      X2^Y2^Z2,      Y2,            }, // 170
+    {Y2,            X3,            Z3^Y4^X5,      Y3^X4^Z4,      }, // 171
+    {Y2,            X2,            Z3^X4^Y4,      X3^Y3^Z4,      }, // 172
+    {Y2,            X2,            Z2^X4^Y4,      X3^Y3^Z3,      }, // 173
+    {Y1,            X2,            Z2^Y3^X4,      Y2^X3^Z3,      }, // 174
+    {Y1,            X1,            Z2^X3^Y3,      X2^Y2^Z3,      }, // 175
+    {Y2,            X3,            Z3,            Y3^X5,         }, // 176
+    {Y2,            X2,            Z3,            Y3^X4,         }, // 177
+    {Y2,            X2,            Z2,            Y3^X4,         }, // 178
+    {Y1,            X2,            Z2,            Y2^X4,         }, // 179
+    {Y1,            X1,            Z2,            Y2^X3,         }, // 180
+    {X3^Y3,         X3,            Z3,            Y2,            }, // 181
+    {X3^Y3,         X2,            Z3,            Y2,            }, // 182
+    {X3^Y3,         X2,            Z2,            Y2,            }, // 183
+    {X3^Y3,         X2,            Z2,            Y1,            }, // 184
+    {X3^Y3,         X1,            Z2,            Y1,            }, // 185
+    {X3^Y3,         X4^Y4,         Z3,            Y2,            }, // 186
+    {X3^Y3,         X4^Y4,         Z2,            Y2,            }, // 187
+    {X3^Y3,         X4^Y4,         Z2,            Y1,            }, // 188
+    {X3^Y3,         X1^X4^Y4,      Z2,            Y1,            }, // 189
+    {X3^Y3,         X4^Y4,         X5^Y5,         Z3,            }, // 190
+    {X3^Y3,         X4^Y4,         Z3^X5^Y5,      Y2,            }, // 191
+    {X3^Y3,         X4^Y4,         Z2^X5^Y5,      Y2,            }, // 192
+    {X3^Y3,         X4^Y4,         Z2^X5^Y5,      Y1,            }, // 193
+    {X3^Y3,         X1^X4^Y4,      Z2^X5^Y5,      Y1,            }, // 194
+    {X3^Y3,         X4^Y4,         Y2^Y5^X6,      X5^Y6,         }, // 195
+    {X3^Y3,         X4^Y4,         Z3^Y5^X6,      Y2^X5^Y6,      }, // 196
+    {X3^Y3,         X4^Y4,         Z2^Y5^X6,      Y2^X5^Y6,      }, // 197
+    {X3^Y3,         X4^Y4,         Z2^Y5^X6,      Y1^X5^Y6,      }, // 198
+    {X3^Y3,         X1^X4^Y4,      Z2^Y5^X6,      Y1^X5^Y6,      }, // 199
+    {X3^Y3,         X4^Y4,         Y2^Y5^X7,      X5^Y7,         }, // 200
+    {X3^Y3,         X4^Y4,         Z3^Y5^X7,      Y2^X5^Y7,      }, // 201
+    {X3^Y3,         X4^Y4,         Z2^Y5^X7,      Y2^X5^Y7,      }, // 202
+    {X3^Y3,         X4^Y4,         Z2^Y5^X7,      Y1^X5^Y7,      }, // 203
+    {X3^Y3,         X1^X4^Y4,      Z2^Y5^X7,      Y1^X5^Y7,      }, // 204
+    {X3^Y3,         X4^Y4,         Y2^Y5^X8,      X5^Y8,         }, // 205
+    {X3^Y3,         X4^Y4,         Z3^Y5^X8,      Y2^X5^Y8,      }, // 206
+    {X3^Y3,         X4^Y4,         Z2^Y5^X8,      Y2^X5^Y8,      }, // 207
+    {X3^Y3,         X4^Y4,         Z2^Y5^X8,      Y1^X5^Y8,      }, // 208
+    {X3^Y3,         X1^X4^Y4,      Z2^Y5^X8,      Y1^X5^Y8,      }, // 209
+    {Y4^X5,         Z0^X4^Y5,      Y5,            X5,            }, // 210
+    {Y3^X5,         Z0^X4^Y4,      Y4,            X5,            }, // 211
+    {Y3^X4,         Z0^X3^Y4,      Y4,            X4,            }, // 212
+    {Y2^X4,         Z0^X3^Y3,      Y3,            X4,            }, // 213
+    {Y2^X3,         Z0^X2^Y3,      Y3,            X3,            }, // 214
+    {Y4^X6,         X4^Y6,         Z0^X5^Y5,      X5,            }, // 215
+    {Y3^X6,         X4^Y5,         Z0^Y4^X5,      X5,            }, // 216
+    {Y3^X5,         X3^Y5,         Z0^X4^Y4,      X4,            }, // 217
+    {Y2^X5,         X3^Y4,         Z0^Y3^X4,      X4,            }, // 218
+    {Y2^X4,         X2^Y4,         Z0^X3^Y3,      X3,            }, // 219
+    {Y4^X6,         Z1^X4^Y6,      Z0^X5^Y5,      X5,            }, // 220
+    {Y3^X6,         Z1^X4^Y5,      Z0^Y4^X5,      X5,            }, // 221
+    {Y3^X5,         Z1^X3^Y5,      Z0^X4^Y4,      X4,            }, // 222
+    {Y2^X5,         Z1^X3^Y4,      Z0^Y3^X4,      X4,            }, // 223
+    {Y2^X4,         Z1^X2^Y4,      Z0^X3^Y3,      X3,            }, // 224
+    {Y4^X7,         X4^Y7,         Z1^Y5^X6,      Z0^X5^Y6,      }, // 225
+    {Y3^X7,         X4^Y6,         Z1^Y4^X6,      Z0^X5^Y5,      }, // 226
+    {Y3^X6,         X3^Y6,         Z1^Y4^X5,      Z0^X4^Y5,      }, // 227
+    {Y2^X6,         X3^Y5,         Z1^Y3^X5,      Z0^X4^Y4,      }, // 228
+    {Y2^X5,         X2^Y5,         Z1^Y3^X4,      Z0^X3^Y4,      }, // 229
+    {Y4^X7,         Z2^X4^Y7,      Z1^Y5^X6,      Z0^X5^Y6,      }, // 230
+    {Y3^X7,         Z2^X4^Y6,      Z1^Y4^X6,      Z0^X5^Y5,      }, // 231
+    {Y3^X6,         Z2^X3^Y6,      Z1^Y4^X5,      Z0^X4^Y5,      }, // 232
+    {Y2^X6,         Z2^X3^Y5,      Z1^Y3^X5,      Z0^X4^Y4,      }, // 233
+    {Y2^X5,         X2^Z2^Y5,      Z1^Y3^X4,      Z0^X3^Y4,      }, // 234
+    {Y4^X7,         X4^Y7,         Z2^Y5^X6,      Z1^X5^Y6,      }, // 235
+    {Y3^X7,         X4^Y6,         Z2^Y4^X6,      Z1^X5^Y5,      }, // 236
+    {Y3^X6,         X3^Y6,         Z2^Y4^X5,      Z1^X4^Y5,      }, // 237
+    {Y2^X6,         X3^Y5,         Z2^Y3^X5,      Z1^X4^Y4,      }, // 238
+    {Y2^X5,         X2^Y5,         Z2^Y3^X4,      Z1^X3^Y4,      }, // 239
+    {Y4^X7,         Z3^X4^Y7,      Z2^Y5^X6,      Z1^X5^Y6,      }, // 240
+    {Y3^X7,         Z3^X4^Y6,      Z2^Y4^X6,      Z1^X5^Y5,      }, // 241
+    {Y3^X6,         X3^Z3^Y6,      Z2^Y4^X5,      Z1^X4^Y5,      }, // 242
+    {Y2^X6,         X3^Z3^Y5,      Z2^Y3^X5,      Z1^X4^Y4,      }, // 243
+    {Y2^X5,         X2^Z3^Y5,      Z2^Y3^X4,      Z1^X3^Y4,      }, // 244
+    {Y4^X7,         X4^Y7,         Z3^Y5^X6,      Z2^X5^Y6,      }, // 245
+    {Y3^X7,         X4^Y6,         Z3^Y4^X6,      Z2^X5^Y5,      }, // 246
+    {Y3^X6,         X3^Y6,         Z3^Y4^X5,      Z2^X4^Y5,      }, // 247
+    {Y2^X6,         X3^Y5,         Y3^Z3^X5,      Z2^X4^Y4,      }, // 248
+    {Y2^X5,         X2^Y5,         Y3^Z3^X4,      Z2^X3^Y4,      }, // 249
+    {Y4^X8,         X4^Y8,         Z2^Y5^X7,      Z1^X5^Y7,      }, // 250
+    {Y3^X8,         X4^Y7,         Z2^Y4^X7,      Z1^X5^Y6,      }, // 251
+    {Y3^X7,         X3^Y7,         Z2^Y4^X6,      Z1^X4^Y6,      }, // 252
+    {Y2^X7,         X3^Y6,         Z2^Y3^X6,      Z1^X4^Y5,      }, // 253
+    {Y2^X6,         X2^Y6,         Z2^Y3^X5,      Z1^X3^Y5,      }, // 254
+    {Y4^X8,         Z3^X4^Y8,      Z2^Y5^X7,      Z1^X5^Y7,      }, // 255
+    {Y3^X8,         Z3^X4^Y7,      Z2^Y4^X7,      Z1^X5^Y6,      }, // 256
+    {Y3^X7,         X3^Z3^Y7,      Z2^Y4^X6,      Z1^X4^Y6,      }, // 257
+    {Y2^X7,         X3^Z3^Y6,      Z2^Y3^X6,      Z1^X4^Y5,      }, // 258
+    {Y2^X6,         X2^Z3^Y6,      Z2^Y3^X5,      Z1^X3^Y5,      }, // 259
+    {Y4^X9,         X4^Y9,         Z3^Y5^X8,      Z2^X5^Y8,      }, // 260
+    {Y3^X9,         X4^Y8,         Z3^Y4^X8,      Z2^X5^Y7,      }, // 261
+    {Y3^X8,         X3^Y8,         Z3^Y4^X7,      Z2^X4^Y7,      }, // 262
+    {Y2^X8,         X3^Y7,         Y3^Z3^X7,      Z2^X4^Y6,      }, // 263
+    {Y2^X7,         X2^Y7,         Y3^Z3^X6,      Z2^X3^Y6,      }, // 264
+    {Y4^X9,         X4^Z4^Y9,      Z3^Y5^X8,      Z2^X5^Y8,      }, // 265
+    {Y3^X9,         X4^Z4^Y8,      Z3^Y4^X8,      Z2^X5^Y7,      }, // 266
+    {Y3^X8,         X3^Z4^Y8,      Z3^Y4^X7,      Z2^X4^Y7,      }, // 267
+    {Y2^X8,         X3^Z4^Y7,      Y3^Z3^X7,      Z2^X4^Y6,      }, // 268
+    {Y2^X7,         X2^Z4^Y7,      Y3^Z3^X6,      Z2^X3^Y6,      }, // 269
+    {X4,            Y4,            X5^Y8,         Y5^X8,         }, // 270
+    {Y3,            X4,            Y4^X8,         X5^Y7,         }, // 271
+    {X3,            Y3,            X4^Y7,         Y4^X7,         }, // 272
+    {Y2,            X3,            Y3^X7,         X4^Y6,         }, // 273
+    {X2,            Y2,            X3^Y6,         Y3^X6,         }, // 274
+    {Z0^X4^Y4,      Y4,            X5,            X6^Y8,         }, // 275
+    {Z0^X4^Y4,      Y3,            Y4,            X5^Y8,         }, // 276
+    {Z0^X4^Y4,      X3,            Y3,            X5^Y7,         }, // 277
+    {Z0^X4^Y4,      Y2,            X3,            Y3^X8,         }, // 278
+    {Z0^X4^Y4,      X2,            Y2,            X3^Y6,         }, // 279
+    {Y4^X5^Y5,      Z0^X4^Y4,      X5,            Y5,            }, // 280
+    {Y4^X5^Y5,      Z0^X4^Y4,      Y3,            X5,            }, // 281
+    {Y4^X5^Y5,      Z0^X4^Y4,      X3,            Y3,            }, // 282
+    {Y4^X5^Y5,      Z0^X4^Y4,      Y2,            X3,            }, // 283
+    {Y4^X5^Y5,      Z0^X4^Y4,      X2,            Y2,            }, // 284
+    {Y4^X5^Y5,      Z0^X4^Y4,      X5^Y5,         Y5,            }, // 285
+    {Y4^X5^Y5,      Z0^X4^Y4,      X5^Y5,         Y3,            }, // 286
+    {Y4^X5^Y5,      Z0^X4^Y4,      X5^Y5,         X3,            }, // 287
+    {Y4^X5^Y5,      Z0^X4^Y4,      X5^Y5,         Y2,            }, // 288
+    {Y4^X5^Y5,      Z0^X4^Y4,      X5^Y5,         X2,            }, // 289
+    {Y4^X6^Y6,      Z1^X4^Y4,      X5,            X6,            }, // 290
+    {Y4^X6^Y6,      Z1^X4^Y4,      Y3,            X5,            }, // 291
+    {Y4^X6^Y6,      Z1^X4^Y4,      X3,            Y3,            }, // 292
+    {Y4^X6^Y6,      Z1^X4^Y4,      Y2,            X3,            }, // 293
+    {Y4^X6^Y6,      Z1^X4^Y4,      X2,            Y2,            }, // 294
+    {Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X5,            }, // 295
+    {Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      Y3,            }, // 296
+    {Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X3,            }, // 297
+    {Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      Y2,            }, // 298
+    {Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X2,            }, // 299
+    {Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X5^Y6,         }, // 300
+    {Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      X6,            }, // 301
+    {Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      Y3,            }, // 302
+    {Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      X3,            }, // 303
+    {Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      Y2,            }, // 304
+    {Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      X2,            }, // 305
+    {Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      X5^Y6,         }, // 306
+    {Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      }, // 307
+    {Y4^X8^Y8,      Z1^X4^Y4,      Z0^Y5^X7,      X5^Y7,         }, // 308
+    {Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      }, // 309
+    {Y4^X9^Y9,      Z1^X4^Y4,      Z0^Y5^X8,      X5^Y8,         }, // 310
+    {Y4^X9^Y9,      X4^Y4^Z4,      Z3^Y5^X8,      Z2^X5^Y8,      }, // 311
+    {Y3,            X4,            Y4^X8,         Y5^X7,         }, // 312
+    {X3,            Y3,            Y4^X7,         X4^Y7,         }, // 313
+    {X2,            Y2,            Y3^X6,         X3^Y6,         }, // 314
+    {Z0^X4^Y4,      X3,            Y3,            Y4^X8,         }, // 315
+    {Z0^X4^Y4,      X2,            Y2,            Y3^X7,         }, // 316
+    {Y4^X5^Y5,      Z0^X4^Y4,      X2,            X3,            }, // 317
+    {Y4^X9^Y9,      Z3^X4^Y4,      Z2^Y5^X8,      Z1^X5^Y8,      }, // 318
+    {Z0^X4^Y4,      X2,            X3,            Y3^X8,         }, // 319
+    {Y4^X6^Y6,      Z1^X4^Y4,      X2,            X3,            }, // 320
+    {Y4^X6^Y6,      Z0^X4^Y4,      X2,            X3,            }, // 321
+    {Y4^X7^Y7,      Z1^X4^Y4,      Y1^Y5^X6,      X2,            }, // 322
+    {Y4^X8^Y8,      Z2^X4^Y4,      Z1^Y5^X7,      Z0^X5^Y7,      }, // 323
+    {Y4^X9^Y9,      Z2^X4^Y4,      Z1^Y5^X8,      Z0^X5^Y8,      }, // 324
+    {X3,            Y3,            Y4^X7,         Y1^X4^Y7,      }, // 325
+    {Y2,            X3,            Y3^X7,         X1^X4^Y6,      }, // 326
+    {X2,            Y2,            Y3^X6,         Y0^X3^Y6,      }, // 327
+    {Y0^X4^Y4,      Y2,            X3,            Y3^X8,         }, // 328
+    {Y4^X5^Y5,      Y0^X4^Y4,      X2,            X3,            }, // 329
+    {Y4^X5^Y5,      Z0^X4^Y4,      X2^X5^Y5,      Y2,            }, // 330
+    {Y4^X5^Y5,      Z0^X4^Y4,      Y1^X5^Y5,      X2,            }, // 331
+    {Y4^X6^Y6,      Z0^X4^Y4,      X3,            Y3,            }, // 332
+    {Y4^X6^Y6,      Y0^X4^Y4,      X3,            Y3,            }, // 333
+    {Y4^X6^Y6,      Z0^X4^Y4,      Y0^X5^Y5,      X2,            }, // 334
+    {Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X2^X5^Y5,      }, // 335
+    {Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      Y1^X5^Y5,      }, // 336
+    {Y4^X7^Y7,      Z0^X4^Y4,      Y1^Y5^X6,      X3,            }, // 337
+    {Y4^X7^Y7,      Z0^X4^Y4,      Y0^Y5^X6,      X3,            }, // 338
+    {Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      Z2^X5^Y6,      }, // 339
+    {Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      Y0^X5^Y6,      }, // 340
+    {Y4^X8^Y8,      Z1^X4^Y4,      Z0^Y5^X7,      Z2^X5^Y7,      }, // 341
+    {Y4^X8^Y8,      Z1^X4^Y4,      Z0^Y5^X7,      Y0^X5^Y7,      }, // 342
+    {Y4^X8^Y8,      Z1^X4^Y4,      Z0^Y5^X7,      Z3^X5^Y7,      }, // 343
+    {Y4^X9^Y9,      Z1^X4^Y4,      Z0^Y5^X8,      Z3^X5^Y8,      }, // 344
+    {Y4^X9^Y9,      Z1^X4^Y4,      Z0^Y5^X8,      Z2^X5^Y8,      }, // 345
+    {Y4^X9^Y9,      Z1^X4^Y4,      Z0^Y5^X8,      Z4^X5^Y8,      }, // 346
+    {X4,            Y4,            X5^Y10,        Y5^X10,        }, // 347
+    {Y3,            X4,            Y4^X10,        X5^Y9,         }, // 348
+    {X3,            Y3,            X4^Y9,         Y4^X9,         }, // 349
+    {Y2,            X3,            Y3^X9,         X4^Y8,         }, // 350
+    {X2,            Y2,            X3^Y8,         Y3^X8,         }, // 351
+    {Z0^X4^Y4,      Y4,            X5,            Y5^X10,        }, // 352
+    {Z0^X4^Y4,      Y3,            Y4,            X5^Y9,         }, // 353
+    {Z0^X4^Y4,      X3,            Y3,            Y4^X9,         }, // 354
+    {Z0^X4^Y4,      Y2,            X3,            Y3^X9,         }, // 355
+    {Z0^X4^Y4,      X2,            Y2,            Y3^X8,         }, // 356
+    {Y3,            X4,            Y4^X10,        Y5^X9,         }, // 357
+    {X3,            Y3,            Y4^X9,         X4^Y9,         }, // 358
+    {X2,            Y2,            Y3^X8,         X3^Y8,         }, // 359
+    {Z0^X4^Y4,      Y3,            Y4,            Y5^X9,         }, // 360
+    {Z0^X4^Y4,      X2,            X3,            Y3^X9,         }, // 361
+    {Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X2^X5^Y6,      }, // 362
+    {Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      Y1^X5^Y6,      }, // 363
+    {Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      X2,            }, // 364
+    {Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      Y1^X5^Y6,      }, // 365
+    {Y4^X8^Y8,      Z1^X4^Y4,      Z0^Y5^X7,      Y1^X5^Y7,      }, // 366
+    {Y4^X9^Y9,      Z1^X4^Y4,      Z0^Y5^X8,      Y1^X5^Y8,      }, // 367
+    {Z0^X4^Y4,      X3,            Y3,            X5^Y8,         }, // 368
+    {Y4^X6^Y6,      Z0^X4^Y4,      Y1^X5^Y5,      X2,            }, // 369
+    {Y4^X6^Y6,      Z0^X4^Y4,      Y1^X5^Y5,      X1^X5^Y6,      }, // 370
+    {Y4^X7^Y7,      Z1^X4^Y4,      Y1^Y5^X6,      X3,            }, // 371
+    {Y4^X7^Y7,      Z1^X4^Y4,      Y1^Y5^X6,      Z0^X5^Y6,      }, // 372
+    {Y4^X7^Y7,      Z0^X4^Y4,      Y1^Y5^X6,      X1^X5^Y6,      }, // 373
+    {Y4^X8^Y8,      Z1^X4^Y4,      Y1^Y5^X7,      Z0^X5^Y7,      }, // 374
+    {Y4^X8^Y8,      Z0^X4^Y4,      Y1^Y5^X7,      X1^X5^Y7,      }, // 375
+    {Y4^X9^Y9,      Z1^X4^Y4,      Y1^Y5^X8,      Z0^X5^Y8,      }, // 376
+    {Y4^X9^Y9,      Z0^X4^Y4,      Y1^Y5^X8,      X1^X5^Y8,      }, // 377
+    {Z0^X4^Y4,      X2,            Y2,            X3^Y7,         }, // 378
+    {Y4^X5^Y5,      Z0^X4^Y4,      Y2^X5^Y5,      X2,            }, // 379
+    {Y4^X5^Y5,      Y0^X4^Y4,      X1^X5^Y5,      X2,            }, // 380
+    {Y4^X6^Y6,      Z0^X4^Y4,      Y1^X5^Y5,      X3,            }, // 381
+    {Y4^X6^Y6,      Y0^X4^Y4,      Y1^X5^Y5,      X3,            }, // 382
+    {Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      Y2^X5^Y6,      }, // 383
+    {Y4^X6^Y6,      Z0^X4^Y4,      Y1^X5^Y5,      X2^X5^Y6,      }, // 384
+    {Y4^X6^Y6,      Y0^X4^Y4,      Y1^X5^Y5,      Y2^X5^Y6,      }, // 385
+    {Y4^X7^Y7,      Y0^X4^Y4,      Y1^Y5^X6,      X3,            }, // 386
+    {Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      Y2^X5^Y6,      }, // 387
+    {Y4^X7^Y7,      Y0^X4^Y4,      Y1^Y5^X6,      X1^X5^Y6,      }, // 388
+    {Y4^X8^Y8,      Z1^X4^Y4,      Z0^Y5^X7,      Y2^X5^Y7,      }, // 389
+    {Y4^X8^Y8,      Y0^X4^Y4,      Y1^Y5^X7,      X1^X5^Y7,      }, // 390
+    {Y4^X8^Y8,      Z1^X4^Y4,      Z0^Y5^X7,      X2^X5^Y7,      }, // 391
+    {Y4^X9^Y9,      Z1^X4^Y4,      Z0^Y5^X8,      X2^X5^Y8,      }, // 392
+    {Y4^X9^Y9,      Y0^X4^Y4,      Y1^Y5^X8,      X1^X5^Y8,      }, // 393
+    {Y4^X5^Y5,      Z0^X4^Y4,      X5^X6^Y6,      Y5,            }, // 394
+    {Y4^X5^Y5,      Z0^X4^Y4,      X5^X6^Y6,      Y3,            }, // 395
+    {Y4^X5^Y5,      Z0^X4^Y4,      X5^X6^Y6,      X3,            }, // 396
+    {Y4^X5^Y5,      Z0^X4^Y4,      X5^X6^Y6,      Y2,            }, // 397
+    {Y4^X5^Y5,      Z0^X4^Y4,      X5^X6^Y6,      X2,            }, // 398
+    {Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X5^X7^Y7,      }, // 399
+    {Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      X6,            }, // 400
+    {Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      Y3,            }, // 401
+    {Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      X3,            }, // 402
+    {X4,            Y4,            Y5^X8,         X5^Y8,         }, // 403
+    {Z0^X4^Y4,      Y4,            X5,            Y5^X9,         }, // 404
+    {Y4^X6^Y6,      Z0^X4^Y4,      X2,            Y2,            }, // 405
+    {Y4^X7^Y7,      Z1^X4^Y4,      S1^Y5^X6,      X2,            }, // 406
+    {X4,            Y4,            Y5^X8,         S0^X5^Y8,      }, // 407
+    {Y3,            X4,            Y4^X8,         S0^X5^Y7,      }, // 408
+    {X3,            Y3,            Y4^X7,         S0^X4^Y7,      }, // 409
+    {Y2,            X3,            Y3^X7,         S0^X4^Y6,      }, // 410
+    {X2,            Y2,            Y3^X6,         S0^X3^Y6,      }, // 411
+    {S2^X4^Y4,      X2,            Y2,            X3^Y6,         }, // 412
+    {Y4^X5^Y5,      S2^X4^Y4,      X2,            Y2,            }, // 413
+    {Y4^X5^Y5,      Z0^X4^Y4,      X3^X6^Y6,      X2,            }, // 414
+    {Y4^X6^Y6,      Z1^X4^Y4,      X5,            Y6,            }, // 415
+    {Y4^X6^Y6,      Z0^X4^Y4,      Y2,            X3,            }, // 416
+    {Y4^X6^Y6,      S2^X4^Y4,      X2,            Y2,            }, // 417
+    {Y4^X6^Y6,      Z0^X4^Y4,      S2^X5^Y5,      X2,            }, // 418
+    {Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X3^X7^Y7,      }, // 419
+    {Y4^X7^Y7,      Z0^X4^Y4,      S2^Y5^X6,      Y2,            }, // 420
+    {Y4^X7^Y7,      Z0^X4^Y4,      S2^Y5^X6,      X2,            }, // 421
+    {Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      S2^X5^Y6,      }, // 422
+    {Y4^X8^Y8,      Z1^X4^Y4,      Z0^Y5^X7,      S2^X5^Y7,      }, // 423
+    {X4,            Y4,            Y5^X10,        X5^Y10,        }, // 424
+    {Y4^X5^Y5,      Z0^X4^Y4,      S0^X6^Y6,      X2,            }, // 425
+    {Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      S0^X7^Y7,      }, // 426
+    {Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      S0^X5^Y6,      }, // 427
+    {Y4^X8^Y8,      Z1^X4^Y4,      Z0^Y5^X7,      S0^X5^Y7,      }, // 428
+    {Y4^X9^Y9,      Z1^X4^Y4,      Z0^Y5^X8,      S0^X5^Y8,      }, // 429
+    {Y4^X5^Y5,      Z0^X4^Y4,      S1^X6^Y6,      X2,            }, // 430
+    {Y4^X6^Y6,      Z0^X4^Y4,      S1^X5^Y5,      X2,            }, // 431
+    {Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      S1^X7^Y7,      }, // 432
+    {Y4^X6^Y6,      Z0^X4^Y4,      S1^X5^Y5,      S0^X7^Y7,      }, // 433
+    {Y4^X7^Y7,      Z1^X4^Y4,      S1^Y5^X6,      Y2,            }, // 434
+    {Y4^X7^Y7,      Z0^X4^Y4,      S1^Y5^X6,      X2,            }, // 435
+    {Y4^X7^Y7,      Z1^X4^Y4,      S1^Y5^X6,      Z0^X5^Y6,      }, // 436
+    {Y4^X7^Y7,      Z0^X4^Y4,      S1^Y5^X6,      S0^X5^Y6,      }, // 437
+    {Y4^X8^Y8,      Z1^X4^Y4,      S1^Y5^X7,      Z0^X5^Y7,      }, // 438
+    {Y4^X8^Y8,      Z0^X4^Y4,      S1^Y5^X7,      S0^X5^Y7,      }, // 439
+    {Y4^X9^Y9,      Z1^X4^Y4,      S1^Y5^X8,      Z0^X5^Y8,      }, // 440
+    {Y4^X9^Y9,      Z0^X4^Y4,      S1^Y5^X8,      S0^X5^Y8,      }, // 441
+    {Y4^X5^Y5,      Z0^X4^Y4,      S2^X6^Y6,      X3,            }, // 442
+    {Y4^X5^Y5,      Z0^X4^Y4,      S2^X6^Y6,      Y2,            }, // 443
+    {Y4^X5^Y5,      S2^X4^Y4,      S1^X6^Y6,      X2,            }, // 444
+    {Y4^X6^Y6,      Z0^X4^Y4,      S2^X5^Y5,      Y2,            }, // 445
+    {Y4^X6^Y6,      S2^X4^Y4,      S1^X5^Y5,      X2,            }, // 446
+    {Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      S2^X7^Y7,      }, // 447
+    {Y4^X6^Y6,      Z0^X4^Y4,      S2^X5^Y5,      S1^X7^Y7,      }, // 448
+    {Y4^X6^Y6,      S2^X4^Y4,      S1^X5^Y5,      S0^X7^Y7,      }, // 449
+    {Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      Y6,            }, // 450
+    {Y4^X7^Y7,      S2^X4^Y4,      S1^Y5^X6,      X2,            }, // 451
+    {Y4^X7^Y7,      Z0^X4^Y4,      S2^Y5^X6,      S1^X5^Y6,      }, // 452
+    {Y4^X7^Y7,      S2^X4^Y4,      S1^Y5^X6,      S0^X5^Y6,      }, // 453
+    {Y4^X8^Y8,      Z0^X4^Y4,      S2^Y5^X7,      S1^X5^Y7,      }, // 454
+    {Y4^X8^Y8,      S2^X4^Y4,      S1^Y5^X7,      S0^X5^Y7,      }, // 455
+    {Y4^X9^Y9,      Z1^X4^Y4,      Z0^Y5^X8,      S2^X5^Y8,      }, // 456
+    {Y4^X9^Y9,      Z0^X4^Y4,      S2^Y5^X8,      S1^X5^Y8,      }, // 457
+    {Y4^X9^Y9,      S2^X4^Y4,      S1^Y5^X8,      S0^X5^Y8,      }, // 458
+    {X4^Y4,         Y2,            Z3,            Y3,            }, // 459
+    {X4^Y4,         Y2,            Z2,            Y3,            }, // 460
+    {X4^Y4,         Y1,            Z2,            Y2,            }, // 461
+    {Y1^X4^Y4,      X1,            Z2,            Y2,            }, // 462
+    {Y4^X5^Y5,      X4^Y4,         Y2,            Z3,            }, // 463
+    {Y4^X5^Y5,      X4^Y4,         Y2,            Z2,            }, // 464
+    {Z3^Y4^X5^Y5,   X4^Y4,         Y1,            Z2,            }, // 465
+    {Z3^Y4^X5^Y5,   Y1^X4^Y4,      X1,            Z2,            }, // 466
+    {Y4^X5^Y5,      X4^Y4,         Z3^X5,         Y2,            }, // 467
+    {Y4^X5^Y5,      X4^Y4,         Z2^X5,         Y2,            }, // 468
+    {Z3^Y4^X5^Y5,   X4^Y4,         Z2^X5,         Y1,            }, // 469
+    {Z3^Y4^X5^Y5,   Y1^X4^Y4,      Z2^X5,         X1,            }, // 470
+    {Y4^X6^Y6,      X4^Y4,         Y2,            Y3,            }, // 471
+    {Y4^X6^Y6,      X4^Y4,         Z3,            Y3,            }, // 472
+    {Y4^X6^Y6,      X4^Y4,         Z2,            Y3,            }, // 473
+    {Z3^Y4^X6^Y6,   X4^Y4,         Z2,            Y2,            }, // 474
+    {Z3^Y4^X6^Y6,   Y1^X4^Y4,      Z2,            Y2,            }, // 475
+    {Y4^X6^Y6,      X4^Y4,         X5^Y5,         Y2,            }, // 476
+    {Y4^X6^Y6,      X4^Y4,         Y2^X5^Y5,      Z3,            }, // 477
+    {Y4^X6^Y6,      X4^Y4,         Y2^X5^Y5,      Z2,            }, // 478
+    {Z3^Y4^X6^Y6,   X4^Y4,         Y1^X5^Y5,      Z2,            }, // 479
+    {Z3^Y4^X6^Y6,   Y1^X4^Y4,      X1^X5^Y5,      Z2,            }, // 480
+    {Y4^X6^Y6,      X4^Y4,         X5^Y5,         Z3^X6,         }, // 481
+    {Y4^X6^Y6,      X4^Y4,         Y2^X5^Y5,      Z3^X6,         }, // 482
+    {Y4^X6^Y6,      X4^Y4,         Y2^X5^Y5,      Z2^X6,         }, // 483
+    {Z3^Y4^X6^Y6,   X4^Y4,         Y1^X5^Y5,      Z2^X6,         }, // 484
+    {Z3^Y4^X6^Y6,   Y1^X4^Y4,      X1^X5^Y5,      Z2^X6,         }, // 485
+    {Y4^X7^Y7,      X4^Y4,         Y2^Y5^X6,      Y3,            }, // 486
+    {Z3^Y4^X7^Y7,   X4^Y4,         Y1^Y5^X6,      Y2,            }, // 487
+    {Z3^Y4^X7^Y7,   Y1^X4^Y4,      X1^Y5^X6,      Y2,            }, // 488
+    {Y4^X7^Y7,      X4^Y4,         Y2^Y5^X6,      X5^Y6,         }, // 489
+    {Y4^X7^Y7,      X4^Y4,         Y2^Y5^X6,      Z3^X5^Y6,      }, // 490
+    {Y4^X7^Y7,      X4^Y4,         Y2^Y5^X6,      Z2^X5^Y6,      }, // 491
+    {Z3^Y4^X7^Y7,   X4^Y4,         Y1^Y5^X6,      Z2^X5^Y6,      }, // 492
+    {Z3^Y4^X7^Y7,   Y1^X4^Y4,      X1^Y5^X6,      Z2^X5^Y6,      }, // 493
+    {Y4^X7^Y7,      X4^Y4,         Y2^Y5^X6,      Y3^X5^Y6,      }, // 494
+    {Z3^Y4^X7^Y7,   X4^Y4,         Y1^Y5^X6,      Y2^X5^Y6,      }, // 495
+    {Z3^Y4^X7^Y7,   Y1^X4^Y4,      X1^Y5^X6,      Y2^X5^Y6,      }, // 496
+    {Y4^X8^Y8,      X4^Y4,         Y2^Y5^X7,      X5^Y7,         }, // 497
+    {Y4^X8^Y8,      X4^Y4,         Y2^Y5^X7,      Z3^X5^Y7,      }, // 498
+    {Y4^X8^Y8,      X4^Y4,         Y2^Y5^X7,      Z2^X5^Y7,      }, // 499
+    {Z3^Y4^X8^Y8,   X4^Y4,         Y1^Y5^X7,      Z2^X5^Y7,      }, // 500
+    {Z3^Y4^X8^Y8,   Y1^X4^Y4,      X1^Y5^X7,      Z2^X5^Y7,      }, // 501
+    {Y4^X8^Y8,      X4^Y4,         Y2^Y5^X7,      Y3^X5^Y7,      }, // 502
+    {Z3^Y4^X8^Y8,   X4^Y4,         Y1^Y5^X7,      Y2^X5^Y7,      }, // 503
+    {Z3^Y4^X8^Y8,   Y1^X4^Y4,      X1^Y5^X7,      Y2^X5^Y7,      }, // 504
+    {Y4^X9^Y9,      X4^Y4,         Y2^Y5^X8,      X5^Y8,         }, // 505
+    {Y4^X9^Y9,      X4^Y4,         Y2^Y5^X8,      Z3^X5^Y8,      }, // 506
+    {Y4^X9^Y9,      X4^Y4,         Y2^Y5^X8,      Z2^X5^Y8,      }, // 507
+    {Z3^Y4^X9^Y9,   X4^Y4,         Y1^Y5^X8,      Z2^X5^Y8,      }, // 508
+    {Z3^Y4^X9^Y9,   Y1^X4^Y4,      X1^Y5^X8,      Z2^X5^Y8,      }, // 509
 };
 
-const UINT_64 SW_64K_Z_X_2xaa_RBPLUS[][16]=
+const UINT_64 GFX10_SW_PATTERN_NIBBLE3[][4] =
 {
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        Y5 ^ X9,        X5 ^ Y9,        Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y2,             Y3 ^ X8,        X3 ^ Y8,        Y4 ^ X7,        X4 ^ Y7,        Y5 ^ X6,        Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4,             Y5 ^ X9,        X5 ^ Y9,        Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X4 ^ Y4,   X3,             Y3,             Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X4 ^ Y4,   X3,             Y3,             Y4 ^ X9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Z0 ^ X4 ^ Y4,   X2,             X3,             Y3 ^ X9,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Z0 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X8,        Y4 ^ X7,        X3 ^ Y7,        Y5 ^ X6,        Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             X5,             Y5 ^ X9,        Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3,             Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X2,             X3,             Y3 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X7,        X3 ^ Y7,        Y5 ^ X6,        Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y3,             X5,             Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X3,             Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X3,             Y3,             X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X2,             X3,             Y3 ^ X7,        X5 ^ Y7,        Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X2,             Y2,             Y3 ^ X6,        X3 ^ Y7,        Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5,             Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7,        Z0 ^ X5 ^ Y5    },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X7,        X5 ^ Y7,        X2 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y7,        Y1 ^ X5 ^ Y6,   Z0 ^ X5 ^ Y5    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5,             Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3,             X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             X3,             Y3 ^ X7,        X5 ^ Y7,        X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y7,        Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y3,             X5,             X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X3,             Y3,             X5 ^ Y8,        X6 ^ Y7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X3,             Y3,             X5 ^ Y8,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X2 ^ X5 ^ Y6,   Y2,             X3,             Y3 ^ X6,        X5 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y1 ^ X5 ^ Y6,   X2,             Y2,             Y3 ^ X5,        X3 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y3,             X6,             Y6 ^ X8,        X7 ^ Y7,        X5 ^ Y6         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X3,             Y3,             X6 ^ Y7,        Y6 ^ X7,        X5 ^ Y6         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X3,             Y3,             Y6 ^ X7,        Y2 ^ X6 ^ Y7,   X5 ^ Y6         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X2,             X3,             Y3 ^ X7,        Y2 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X2,             X3,             Y3 ^ X7,        Y2 ^ X6 ^ Y6,   Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y3,             X6,             Y6 ^ X8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X3,             Y3,             X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X3,             Y3,             Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X2,             X3,             Y3 ^ X7,        Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6,   X2,             X3,             Y3 ^ X7,        Y2 ^ X6 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y3,             X6,             X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        X3,             Y3,             X6 ^ Y7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        X3,             Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2 ^ X6 ^ Y6,   X2,             X3,             Y3 ^ X6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6,   Y2 ^ X6 ^ Y6,   X2,             X3,             Y3 ^ X6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y3,             X6,             X7 ^ Y7,        X6 ^ Y6         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X3,             Y3,             X6 ^ Y7,        X6 ^ Y6         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X3,             Y3,             Y2 ^ X6 ^ Y7,   X6 ^ Y6         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   X3,             Y3,             X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y1 ^ X5 ^ Y7,   X3,             Y3,             X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y3,             X6,             X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X3,             Y3,             X6 ^ Y7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X3,             Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        Y3,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        X3,             Y3              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y2 ^ X6 ^ Y8,   X3,             Y3              },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8,   X3,             Y3              },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8,   X3,             Y3              },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y3,             Y7,             X6 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X3,             Y3,             X6 ^ Y7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X3,             Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Y1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y3,             Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X3,             Y3              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Y1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3,             Y3              },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        Y5 ^ X9,        X5 ^ Y9,        Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y2,             Y3 ^ X8,        X3 ^ Y8,        Y4 ^ X7,        X4 ^ Y7,        Y5 ^ X6,        Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4,             Y5 ^ X9,        X5 ^ Y9,        Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4 ^ X9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X9,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Z0 ^ X4 ^ Y4,   Y2,             Y3 ^ X8,        Y4 ^ X7,        X3 ^ Y7,        Y5 ^ X6,        Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5,             Y5 ^ X9,        Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y2,             Y3 ^ X7,        X3 ^ Y7,        Y5 ^ X6,        Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X5,             Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y3,             X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X3,             Y3 ^ X7,        X5 ^ Y7,        Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y2,             Y3 ^ X6,        X3 ^ Y7,        Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5,             Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7,        Z0 ^ X5 ^ Y5    },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3 ^ X7,        X5 ^ Y7,        X2 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y2,             Y3 ^ X6,        X3 ^ Y7,        Y1 ^ X5 ^ Y6,   Z0 ^ X5 ^ Y5    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5,             Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3 ^ X7,        X5 ^ Y7,        X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2,             Y3 ^ X6,        X3 ^ Y7,        Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X5,             X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y3,             X5 ^ Y8,        X6 ^ Y7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y3,             X5 ^ Y8,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X2 ^ X5 ^ Y6,   X3,             Y3 ^ X6,        X5 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y1 ^ X5 ^ Y6,   Y2,             Y3 ^ X5,        X3 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X6,             Y6 ^ X8,        X7 ^ Y7,        X5 ^ Y6         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y3,             X6 ^ Y7,        Y6 ^ X7,        X5 ^ Y6         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y3,             Y6 ^ X7,        Y2 ^ X6 ^ Y7,   X5 ^ Y6         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   X3,             Y3 ^ X7,        Y2 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X3,             Y3 ^ X7,        Y2 ^ X6 ^ Y6,   Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6,             Y6 ^ X8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y3,             X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y3,             Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3,             Y3 ^ X7,        Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6,   X3,             Y3 ^ X7,        Y2 ^ X6 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        X6,             X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y3,             X6 ^ Y7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2 ^ X6 ^ Y6,   X3,             Y3 ^ X6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6,   Y2 ^ X6 ^ Y6,   X3,             Y3 ^ X6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6,             X7 ^ Y7,        X6 ^ Y6         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y3,             X6 ^ Y7,        X6 ^ Y6         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y3,             Y2 ^ X6 ^ Y7,   X6 ^ Y6         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y3,             X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y1 ^ X5 ^ Y7,   Y3,             X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6,             X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y3,             X6 ^ Y7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3,             X2 ^ X6 ^ Y7    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        Y3              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y2 ^ X6 ^ Y8,   Y3              },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8,   Y3              },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8,   Y3              },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y7,             X6 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y3,             X6 ^ Y7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Y1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y3,             X2 ^ X6 ^ Y7    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y7              },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y3              },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7,   Y3              },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3              },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Y1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3              },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4,             Y4 ^X10,        Y5 ^ X9,        X5 ^ Y9,        Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y2,             Y3 ^ X8,        X3 ^ Y8,        Y4 ^ X7,        X4 ^ Y7,        Y5 ^ X6,        Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4,             Z0 ^ X4 ^ Y4,   Y5 ^ X9,        X5 ^ Y9,        Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4 ^ X9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Z0 ^ X4 ^ Y4,   Y3 ^ X9,        Y4 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y2,             Z0 ^ X4 ^ Y4,   Y3 ^ X8,        Y4 ^ X7,        X3 ^ Y7,        Y5 ^ X6,        Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y5 ^ X9,        Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3 ^ X8,        X5 ^ Y7,        Y5 ^ X7,        Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3 ^ X7,        X3 ^ Y7,        Y5 ^ X6,        Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X5,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y3 ^ X7,        X5 ^ Y7,        Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y3 ^ X6,        X3 ^ Y7,        Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7,        Z0 ^ X5 ^ Y5    },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7,        Z0 ^ X5 ^ Y5    },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3 ^ X7,        X5 ^ Y7,        X2 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3 ^ X6,        X3 ^ Y7,        Y1 ^ X5 ^ Y6,   Z0 ^ X5 ^ Y5    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y6 ^ X8,        X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3 ^ X7,        X5 ^ Y7,        X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3 ^ X6,        X3 ^ Y7,        Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X5,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X6 ^ Y8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X5 ^ Y8,        X6 ^ Y7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X5 ^ Y8,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X2 ^ X5 ^ Y6,   Y3 ^ X6,        X5 ^ Y6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y1 ^ X5 ^ Y6,   Y3 ^ X5,        X3 ^ Y6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y6 ^ X8,        X7 ^ Y7,        X5 ^ Y6         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X6 ^ Y7,        Y6 ^ X7,        X5 ^ Y6         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y6 ^ X7,        Y2 ^ X6 ^ Y7,   X5 ^ Y6         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Y3 ^ X7,        Y2 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y3 ^ X7,        Y2 ^ X6 ^ Y6,   Y1 ^ X5 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y6 ^ X8,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3 ^ X7,        Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6,   Y3 ^ X7,        Y2 ^ X6 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        X6 ^ Y7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2 ^ X6 ^ Y6,   Y3 ^ X6         },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6,   Y2 ^ X6 ^ Y6,   Y3 ^ X6         },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X7 ^ Y7,        X6 ^ Y6         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y7,        X6 ^ Y6         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y2 ^ X6 ^ Y7,   X6 ^ Y6         },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y1 ^ X5 ^ Y7,   X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X6,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X7 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y7    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y7,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y2 ^ X6 ^ Y8    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y7,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Y1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y7,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7         },
-    {0,              S0,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7         },
-    {0,              0,              S0,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Y1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+    {0,             0,             0,             0,             }, // 0
+    {Y6,            X6,            Y7,            X7,            }, // 1
+    {Y5,            X6,            Y6,            X7,            }, // 2
+    {Y5,            X5,            Y6,            X6,            }, // 3
+    {Y4,            X5,            Y5,            X6,            }, // 4
+    {Y4,            X4,            Y5,            X5,            }, // 5
+    {Z0^X6^Y6,      X6,            Y7,            X7,            }, // 6
+    {Z0^Y5^X6,      X6,            Y6,            X7,            }, // 7
+    {Z0^X5^Y5,      X5,            Y6,            X6,            }, // 8
+    {Z0^Y4^X5,      X5,            Y5,            X6,            }, // 9
+    {Z0^X4^Y4,      X4,            Y5,            X5,            }, // 10
+    {Z1^Y6^X7,      Z0^X6^Y7,      Y7,            X7,            }, // 11
+    {Z1^Y5^X7,      Z0^X6^Y6,      Y6,            X7,            }, // 12
+    {Z1^Y5^X6,      Z0^X5^Y6,      Y6,            X6,            }, // 13
+    {Z1^Y4^X6,      Z0^X5^Y5,      Y5,            X6,            }, // 14
+    {Z1^Y4^X5,      Z0^X4^Y5,      Y5,            X5,            }, // 15
+    {X6^Y6,         X6,            Y7,            X7,            }, // 16
+    {Y5^X6,         X6,            Y6,            X7,            }, // 17
+    {X5^Y5,         X5,            Y6,            X6,            }, // 18
+    {Y4^X5,         X5,            Y5,            X6,            }, // 19
+    {X4^Y4,         X4,            Y5,            X5,            }, // 20
+    {Y6^X7,         X6^Y7,         Y7,            X7,            }, // 21
+    {Y5^X7,         X6^Y6,         Y6,            X7,            }, // 22
+    {Y5^X6,         X5^Y6,         Y6,            X6,            }, // 23
+    {Y4^X6,         X5^Y5,         Y5,            X6,            }, // 24
+    {Y4^X5,         X4^Y5,         Y5,            X5,            }, // 25
+    {Y3,            X4,            Y5,            X5,            }, // 26
+    {Y4,            X5,            Y6,            X6,            }, // 27
+    {Y2,            X4,            Y5,            X6,            }, // 28
+    {Y2,            X3,            Y4,            X5,            }, // 29
+    {Y4,            X6,            Y6,            X7,            }, // 30
+    {Y3,            X4,            Y6,            X6,            }, // 31
+    {Y2,            X3,            Y4,            X6,            }, // 32
+    {Y2,            X2,            Y3,            X4,            }, // 33
+    {Z0^X6^Y6,      X4,            Y6,            X7,            }, // 34
+    {Z0^X6^Y6,      X3,            Y4,            X6,            }, // 35
+    {Z0^X6^Y6,      Y2,            X3,            Y4,            }, // 36
+    {Y2^X6^Y6,      X2,            Y3,            X4,            }, // 37
+    {Z1^Y6^X7,      Z0^X6^Y7,      Y4,            X7,            }, // 38
+    {Z1^Y6^X7,      Z0^X6^Y7,      Y3,            X4,            }, // 39
+    {Y2^Y6^X7,      Z0^X6^Y7,      Y3,            X4,            }, // 40
+    {Y2^Y6^X7,      X2^X6^Y7,      Y3,            X4,            }, // 41
+    {X5,            Y6,            X6,            Y7,            }, // 42
+    {Y5,            X5,            Y6,            Y2^Y7,         }, // 43
+    {X4,            Y5,            X5,            Y2^Y6,         }, // 44
+    {Y4,            X4,            Y5,            Y1^Y6,         }, // 45
+    {Y3,            X4,            Y5,            Y1^Y6,         }, // 46
+    {Y4,            X5,            Y6,            Y2^Y7,         }, // 47
+    {X3,            Y4,            X5,            Y2^Y6,         }, // 48
+    {Y2,            X3,            Y4,            Y1^Y6,         }, // 49
+    {Y4,            Y6,            X6,            Y7,            }, // 50
+    {Y3,            X4,            Y6,            Y2^Y7,         }, // 51
+    {X2,            Y3,            X4,            Y2^Y6,         }, // 52
+    {Y1,            X3,            Y4,            X2^Y6,         }, // 53
+    {Z0^X6^Y6,      Y4,            X6,            Y7,            }, // 54
+    {Z0^X6^Y6,      X3,            Y4,            Y2^Y7,         }, // 55
+    {Y2^X6^Y6,      Y3,            X4,            X2^Y7,         }, // 56
+    {X2^X6^Y6,      X3,            Y4,            Y1^Y7,         }, // 57
+    {Z0^Y6^X7,      Z5^X6^Y7,      Y4,            Y7,            }, // 58
+    {Z0^Y6^X7,      Z5^X6^Y7,      Y3,            X4,            }, // 59
+    {Z0^Y6^X7,      Y2^X6^Y7,      X3,            Y4,            }, // 60
+    {X2^Y6^X7,      Y1^X6^Y7,      X3,            Y4,            }, // 61
+    {X5,            Y5,            X6,            Y2^Y6,         }, // 62
+    {Y5,            X5,            Y2^Y6,         X2^Y7,         }, // 63
+    {Y4,            X5,            Y1^Y5,         X2^Y6,         }, // 64
+    {Y4,            X4,            Y1^Y5,         X1^Y6,         }, // 65
+    {Y5,            X5,            X2^Y6,         Y2^Y7,         }, // 66
+    {Y4,            X5,            X2^Y5,         Y1^Y6,         }, // 67
+    {Y4,            X4,            X1^Y5,         Y1^Y6,         }, // 68
+    {Y3,            X4,            Y1^Y5,         X1^Y6,         }, // 69
+    {X4,            Y5,            X6,            Y2^Y6,         }, // 70
+    {Y4,            X5,            X2^Y6,         Y2^Y7,         }, // 71
+    {X3,            Y4,            Y1^Y5,         X2^Y6,         }, // 72
+    {Y3,            X4,            X1^Y6,         Y1^Y7,         }, // 73
+    {X3,            Y4,            X6,            Y2^Y6,         }, // 74
+    {Y3,            X4,            Y2^Y6,         X2^Y7,         }, // 75
+    {Y3,            X4,            Y1^Y6,         X2^Y7,         }, // 76
+    {Z4^X6^Y6,      X3,            Y4,            X6,            }, // 77
+    {Z4^X6^Y6,      X3,            Y4,            Y2^Y6,         }, // 78
+    {Y1^X6^Y6,      Y3,            X4,            X2^Y7,         }, // 79
+    {Z5^Y6^X7,      Z4^X6^Y7,      Y3,            X4,            }, // 80
+    {Y2^Y6^X7,      Z4^X6^Y7,      Y3,            X4,            }, // 81
+    {Y1^Y6^X7,      X2^X6^Y7,      Y3,            X4,            }, // 82
+    {Y5,            Y1^Y6,         Y2^Y7,         X2^Y8,         }, // 83
+    {X4,            Y1^Y5,         X1^Y6,         Y2^Y7,         }, // 84
+    {Y4,            Y0^Y5,         Y1^Y6,         X1^Y7,         }, // 85
+    {Y5,            Y1^Y6,         X2^Y7,         Y2^Y8,         }, // 86
+    {X4,            X1^Y5,         Y1^Y6,         X2^Y7,         }, // 87
+    {Y4,            Y0^Y5,         X1^Y6,         Y1^Y7,         }, // 88
+    {X3,            Y0^Y5,         X1^Y6,         Y1^Y7,         }, // 89
+    {Y4,            Y1^Y6,         X2^Y7,         Y2^Y8,         }, // 90
+    {X4,            X1^Y6,         Y1^Y7,         X2^Y8,         }, // 91
+    {X3,            X1^Y6,         Y1^Y7,         X2^Y8,         }, // 92
+    {X3,            Y4,            X2^Y6,         Y1^Y7,         }, // 93
+    {X3,            Y1^Y6,         X2^Y7,         Y2^Y8,         }, // 94
+    {Z3^X6^Y6,      X3,            Y4,            Y2^Y7,         }, // 95
+    {Y2^X6^Y6,      X3,            X2^Y7,         Y1^Y8,         }, // 96
+    {Z3^Y6^X7,      Y2^X6^Y7,      X3,            Y4,            }, // 97
+    {Y2^Y6^X7,      X2^X6^Y7,      X3,            Y1^Y7,         }, // 98
+    {Y6,            X6,            Y7,            S0^Y8,         }, // 99
+    {Y5,            X6,            Y6,            S0^Y7,         }, // 100
+    {Y5,            X5,            Y6,            S0^Y7,         }, // 101
+    {Y4,            X5,            Y5,            S0^Y6,         }, // 102
+    {Y4,            X4,            Y5,            S0^Y6,         }, // 103
+    {Y3,            X4,            Y5,            S0^Y6,         }, // 104
+    {Y4,            X5,            Y6,            S0^Y7,         }, // 105
+    {Y2,            X4,            Y5,            S0^Y6,         }, // 106
+    {Y2,            X3,            Y4,            S0^Y6,         }, // 107
+    {Y4,            X6,            Y6,            S0^Y7,         }, // 108
+    {Y3,            X4,            Y6,            S0^Y7,         }, // 109
+    {Z0^X6^Y6,      X6,            Y7,            S0^Y8,         }, // 110
+    {Z0^X6^Y6,      X4,            Y6,            S0^Y7,         }, // 111
+    {Z0^X6^Y6,      X3,            Y4,            S0^Y7,         }, // 112
+    {S0^X6^Y6,      Y2,            X3,            Y4,            }, // 113
+    {Z0^Y6^X7,      Z5^X6^Y7,      Y7,            S0^Y8,         }, // 114
+    {Z0^Y6^X7,      Z5^X6^Y7,      Y4,            S0^Y7,         }, // 115
+    {Z0^Y6^X7,      S0^X6^Y7,      Y3,            X4,            }, // 116
+    {S0^Y6^X7,      Y2^X6^Y7,      X3,            Y4,            }, // 117
+    {Y6,            X6,            S0^Y7,         S1^Y8,         }, // 118
+    {Y5,            X6,            S0^Y6,         S1^Y7,         }, // 119
+    {Y5,            X5,            S0^Y6,         S1^Y7,         }, // 120
+    {Y4,            X5,            S0^Y5,         S1^Y6,         }, // 121
+    {Y4,            X4,            S0^Y5,         S1^Y6,         }, // 122
+    {Y3,            X4,            S0^Y5,         S1^Y6,         }, // 123
+    {Y4,            X5,            S0^Y6,         S1^Y7,         }, // 124
+    {X3,            Y4,            S0^Y5,         S1^Y6,         }, // 125
+    {Y4,            X6,            S0^Y6,         S1^Y7,         }, // 126
+    {Y3,            X4,            S0^Y6,         S1^Y7,         }, // 127
+    {Z4^X6^Y6,      X6,            S0^Y7,         S1^Y8,         }, // 128
+    {Z4^X6^Y6,      Y4,            S0^Y6,         S1^Y7,         }, // 129
+    {S1^X6^Y6,      X3,            Y4,            S0^Y7,         }, // 130
+    {Z5^Y6^X7,      Z4^X6^Y7,      S0^Y7,         S1^Y8,         }, // 131
+    {S1^Y6^X7,      Z4^X6^Y7,      Y4,            S0^Y7,         }, // 132
+    {S1^Y6^X7,      S0^X6^Y7,      Y3,            X4,            }, // 133
+    {Y6,            S0^Y7,         S1^Y8,         S2^Y9,         }, // 134
+    {Y5,            S0^Y6,         S1^Y7,         S2^Y8,         }, // 135
+    {Y4,            S0^Y5,         S1^Y6,         S2^Y7,         }, // 136
+    {X3,            S0^Y5,         S1^Y6,         S2^Y7,         }, // 137
+    {Y4,            S0^Y6,         S1^Y7,         S2^Y8,         }, // 138
+    {X3,            Y4,            S0^Y6,         S1^Y7,         }, // 139
+    {Y2,            X3,            S0^Y6,         S1^Y7,         }, // 140
+    {X2,            Y2,            X3,            S0^Y6,         }, // 141
+    {Z3^X6^Y6,      S0^Y7,         S1^Y8,         S2^Y9,         }, // 142
+    {S2^X6^Y6,      Y4,            S0^Y7,         S1^Y8,         }, // 143
+    {S0^X6^Y6,      X2,            Y2,            X3,            }, // 144
+    {Z3^Y6^X7,      S2^X6^Y7,      S0^Y7,         S1^Y8,         }, // 145
+    {S2^Y6^X7,      S1^X6^Y7,      Y4,            S0^Y7,         }, // 146
+    {S0^Y6^X7,      X2^X6^Y7,      Y2,            X3,            }, // 147
+    {X4,            Z4,            Y4,            X5,            }, // 148
+    {X3,            Z4,            Y4,            X4,            }, // 149
+    {X3,            Z3,            Y4,            X4,            }, // 150
+    {X3,            Z3,            Y3,            X4,            }, // 151
+    {X2,            Z3,            Y3,            X3,            }, // 152
+    {X4^Y4^Z4,      Z4,            Y4,            X5,            }, // 153
+    {X3^Y4^Z4,      Z4,            Y4,            X4,            }, // 154
+    {X3^Z3^Y4,      Z3,            Y4,            X4,            }, // 155
+    {X3^Y3^Z3,      Z3,            Y3,            X4,            }, // 156
+    {X2^Y3^Z3,      Z3,            Y3,            X3,            }, // 157
+    {X4^Y5^Z5,      Y4^Z4^X5,      Y4,            X5,            }, // 158
+    {X3^Y5^Z5,      X4^Y4^Z4,      Y4,            X4,            }, // 159
+    {X3^Z4^Y5,      Z3^X4^Y4,      Y4,            X4,            }, // 160
+    {X3^Y4^Z4,      Y3^Z3^X4,      Y3,            X4,            }, // 161
+    {X2^Y4^Z4,      X3^Y3^Z3,      Y3,            X3,            }, // 162
+    {X4,            Y4^Z4^X5,      Y4,            X5,            }, // 163
+    {X3,            X4^Y4^Z4,      Y4,            X4,            }, // 164
+    {X3,            Z3^X4^Y4,      Y4,            X4,            }, // 165
+    {X3,            Y3^Z3^X4,      Y3,            X4,            }, // 166
+    {X2,            X3^Y3^Z3,      Y3,            X3,            }, // 167
+    {X3,            Z3,            Y2,            X4,            }, // 168
+    {X2,            Z3,            Y2,            X3,            }, // 169
+    {X3,            Z4,            Y4,            X5,            }, // 170
+    {X2,            Z4,            Y3,            X4,            }, // 171
+    {X2,            Z3,            Y3,            X4,            }, // 172
+    {Y2,            X3,            Z4,            Y4,            }, // 173
+    {Z3,            Y3,            X4,            Z4,            }, // 174
+    {Z3^X6^Y6,      Y3,            X4,            Z4,            }, // 175
+    {X2^X6^Y6,      Z4,            Y3,            X4,            }, // 176
+    {X2^X6^Y6,      Z3,            Y3,            X4,            }, // 177
+    {X2^X6^Y6,      Z3,            Y2,            X3,            }, // 178
+    {Z3^Y6^X7,      Z4^X6^Y7,      Y3,            X4,            }, // 179
+    {X2^Y6^X7,      Z4^X6^Y7,      Y3,            X4,            }, // 180
+    {X2^Y6^X7,      Z3^X6^Y7,      Y3,            X4,            }, // 181
+    {X2^Y6^X7,      Z3^X6^Y7,      Y2,            X3,            }, // 182
+    {X6^Y7,         Y6^X7,         0,             0,             }, // 183
+    {Y5^X7,         X6^Y6,         0,             0,             }, // 184
+    {X5^Y6,         Y5^X6,         0,             0,             }, // 185
+    {Y4^X6,         X5^Y5,         0,             0,             }, // 186
+    {X4^Y5,         Y4^X5,         0,             0,             }, // 187
+    {Y5^X9,         X7^Y7,         Y6^X8,         0,             }, // 188
+    {Y5^X8,         X6^Y7,         Y6^X7,         0,             }, // 189
+    {Y4^X8,         X6^Y6,         Y5^X7,         0,             }, // 190
+    {Y4^X7,         X5^Y6,         Y5^X6,         0,             }, // 191
+    {Y3^X7,         X5^Y5,         Y4^X6,         0,             }, // 192
+    {X6^Y9,         Y6^X9,         X7^Y8,         Y7^X8,         }, // 193
+    {X6^Y8,         Y5^X9,         X7^Y7,         Y6^X8,         }, // 194
+    {X5^Y8,         Y5^X8,         X6^Y7,         Y6^X7,         }, // 195
+    {Y3^X8,         X5^Y7,         X6^Y6,         Y5^X7,         }, // 196
+    {Y3^X7,         X3^Y7,         X5^Y6,         Y5^X6,         }, // 197
+    {X6,            X7^Y9,         Y6^X10,        X8^Y8,         }, // 198
+    {Y5,            X6^Y9,         Y6^X9,         X7^Y8,         }, // 199
+    {Y3,            X6^Y8,         Y5^X9,         X7^Y7,         }, // 200
+    {X3,            Y3^X9,         Y5^X8,         X6^Y7,         }, // 201
+    {Y2,            X3^Y7,         Y3^X8,         X6^Y6,         }, // 202
+    {Y6^X9,         X7^Y8,         Y7^X8,         Z0^X5^Y5,      }, // 203
+    {X6^Y8,         Y6^X8,         X7^Y7,         Z0^X5^Y5,      }, // 204
+    {X5^Y8,         X6^Y7,         Y6^X7,         Z0^X5^Y5,      }, // 205
+    {Y3^X7,         X5^Y7,         X6^Y6,         Z0^X5^Y5,      }, // 206
+    {X3^Y7,         Y3^X6,         X5^Y6,         Z0^X5^Y5,      }, // 207
+    {X6,            Y6^X10,        X7^Y9,         Y7^X9,         }, // 208
+    {X5,            X6^Y9,         Y6^X9,         X7^Y8,         }, // 209
+    {Y3,            X5^Y9,         X6^Y8,         Y6^X8,         }, // 210
+    {X3,            Y3^X8,         X5^Y8,         X6^Y7,         }, // 211
+    {Y2,            X3^Y8,         Y3^X7,         X5^Y7,         }, // 212
+    {X6,            Y6,            X7^Y10,        Y7^X10,        }, // 213
+    {Y3,            X6,            Y6^X10,        X7^Y9,         }, // 214
+    {X3,            Y3,            X6^Y9,         Y6^X9,         }, // 215
+    {Y2,            X3,            Y3^X9,         X6^Y8,         }, // 216
+    {X2,            Y2,            X3^Y8,         Y3^X8,         }, // 217
+    {Y6,            X7^Y9,         X8^Y8,         Y7^X9,         }, // 218
+    {X6,            Y6^X9,         X7^Y8,         Y7^X8,         }, // 219
+    {Y3,            X6^Y8,         X7^Y7,         Y6^X8,         }, // 220
+    {X3,            Y3^X8,         X6^Y7,         Y6^X7,         }, // 221
+    {Y2,            X3^Y7,         Y3^X7,         X6^Y6,         }, // 222
+    {Y3,            X6,            X7^Y9,         Y6^X10,        }, // 223
+    {X2,            Y2,            Y3^X8,         X3^Y8,         }, // 224
+    {X6^Y6,         Y6,            X7,            X8^Y10,        }, // 225
+    {X6^Y6,         Y3,            Y6,            X7^Y10,        }, // 226
+    {X6^Y6,         X3,            Y3,            X7^Y9,         }, // 227
+    {X6^Y6,         Y2,            X3,            Y3^X10,        }, // 228
+    {X6^Y6,         X2,            Y2,            X3^Y8,         }, // 229
+    {X6,            X7,            Y7^X10,        X8^Y9,         }, // 230
+    {Y3,            X6,            X7^Y9,         Y7^X9,         }, // 231
+    {X3,            Y3,            X6^Y9,         X7^Y8,         }, // 232
+    {Y2,            X3,            Y3^X8,         X6^Y8,         }, // 233
+    {X2,            Y2,            X3^Y8,         Y3^X7,         }, // 234
+    {X6^Y6,         X6,            X7,            Y7^X11,        }, // 235
+    {X6^Y6,         Y3,            X6,            X7^Y10,        }, // 236
+    {X6^Y6,         X3,            Y3,            X6^Y10,        }, // 237
+    {Z0^X6^Y6,      Y2,            X3,            Y3^X9,         }, // 238
+    {Z0^X6^Y6,      X2,            Y2,            X3^Y9,         }, // 239
+    {X6^Y6,         X6^Y8,         X7,            Y7,            }, // 240
+    {X6^Y6,         X6^Y8,         Y3,            X7,            }, // 241
+    {X6^Y6,         X6^Y8,         X3,            Y3,            }, // 242
+    {Z0^X6^Y6,      X6^Y8,         Y2,            X3,            }, // 243
+    {Z0^X6^Y6,      X6^Y8,         X2,            Y2,            }, // 244
+    {Y6^X7,         X7,            Y7,            X8^Y10,        }, // 245
+    {Y6^X7,         Y3,            X7,            Y7^X10,        }, // 246
+    {Y6^X7,         X3,            Y3,            X7^Y9,         }, // 247
+    {Z1^Y6^X7,      Y2,            X3,            Y3^X9,         }, // 248
+    {Z1^Y6^X7,      X2,            Y2,            X3^Y8,         }, // 249
+    {Y6^X7,         X6^Y7,         X7,            Y7,            }, // 250
+    {Y6^X7,         X6^Y7,         Y3,            X7,            }, // 251
+    {Y6^X7,         X6^Y7,         X3,            Y3,            }, // 252
+    {Z1^Y6^X7,      Z0^X6^Y7,      Y2,            X3,            }, // 253
+    {Z1^Y6^X7,      Z0^X6^Y7,      X2,            Y2,            }, // 254
+    {X5^Y7,         X6^Y6,         0,             0,             }, // 255
+    {Y5^X6,         Y2^X5^Y6,      0,             0,             }, // 256
+    {Y4^X6,         X2^X5^Y5,      0,             0,             }, // 257
+    {Y4^X5,         Y1^X4^Y5,      0,             0,             }, // 258
+    {X5^Y7,         Y5^X7,         Y2^X6^Y6,      0,             }, // 259
+    {X5^Y6,         Y4^X7,         X2^Y5^X6,      0,             }, // 260
+    {X3^Y6,         Y4^X6,         Y1^X5^Y5,      0,             }, // 261
+    {Y5^X9,         Y6^X8,         X6^Y8,         X7^Y7,         }, // 262
+    {Y5^X8,         X5^Y8,         Y6^X7,         Y2^X6^Y7,      }, // 263
+    {Y3^X8,         X5^Y7,         Y5^X7,         Y2^X6^Y6,      }, // 264
+    {Y3^X7,         X3^Y7,         Y5^X6,         Y1^X5^Y6,      }, // 265
+    {Y3,            X5^Y9,         X6^Y8,         X7^Y7,         }, // 266
+    {Y2,            Y3^X7,         X3^Y8,         X5^Y7,         }, // 267
+    {Y6^X8,         X6^Y8,         X7^Y7,         Z0^X5^Y5,      }, // 268
+    {X5^Y8,         Y6^X7,         Y2^X6^Y7,      Z0^X5^Y5,      }, // 269
+    {Y3^X7,         X5^Y7,         X2^X6^Y6,      Z0^X5^Y5,      }, // 270
+    {Y3^X6,         X3^Y7,         Y1^X5^Y6,      Z0^X5^Y5,      }, // 271
+    {Y3,            X5,            X6^Y10,        Y7^X9,         }, // 272
+    {X3,            Y3,            X5^Y10,        X6^Y9,         }, // 273
+    {Y2,            X3,            Y3^X8,         X5^Y9,         }, // 274
+    {X2,            Y2,            Y3^X7,         X3^Y9,         }, // 275
+    {Y3,            X6^Y8,         Y6^X8,         Y2^X7^Y7,      }, // 276
+    {X3,            Y3^X8,         X6^Y7,         X2^Y6^X7,      }, // 277
+    {Y2,            Y3^X7,         X3^Y7,         Y1^X6^Y6,      }, // 278
+    {Y3,            X6,            Y6^X10,        Y7^X9,         }, // 279
+    {X3,            Y3,            Y6^X9,         X6^Y9,         }, // 280
+    {X2,            X3,            Y3^X9,         X6^Y8,         }, // 281
+    {X6^Y6,         Y2,            X3,            Y3^X9,         }, // 282
+    {X6^Y6,         X2,            Y2,            Y3^X8,         }, // 283
+    {Y3,            X6,            Y7^X9,         X7^Y9,         }, // 284
+    {X3,            Y3,            X6^Y9,         Y7^X8,         }, // 285
+    {X2,            Y2,            Y3^X7,         X3^Y8,         }, // 286
+    {Z0^Y6^X7,      Y2,            X3,            Y3^X9,         }, // 287
+    {Z0^Y6^X7,      X2,            Y2,            Y3^X8,         }, // 288
+    {Z0^Y6^X7,      Z4^X6^Y7,      X2,            X3,            }, // 289
+    {Z0^Y6^X7,      Z4^X6^Y7,      X2,            Y2,            }, // 290
+    {X5^Y6,         Y2^Y5^X6,      0,             0,             }, // 291
+    {X2^X5^Y6,      Y2^Y5^X6,      0,             0,             }, // 292
+    {X2^X5^Y5,      Y1^Y4^X6,      0,             0,             }, // 293
+    {X1^X4^Y5,      Y1^Y4^X5,      0,             0,             }, // 294
+    {Y4^X8,         X2^X6^Y6,      Y2^Y5^X7,      0,             }, // 295
+    {Y4^X7,         Y2^Y5^X6,      Y1^X5^Y6,      0,             }, // 296
+    {Y3^X7,         X1^X5^Y5,      Y1^Y4^X6,      0,             }, // 297
+    {X5^Y8,         X6^Y7,         Y5^X8,         Y2^Y6^X7,      }, // 298
+    {X5^Y8,         Y5^X8,         X2^Y6^X7,      Y2^X6^Y7,      }, // 299
+    {Y3^X8,         X5^Y7,         X2^Y5^X7,      Y1^X6^Y6,      }, // 300
+    {Y3^X7,         X3^Y7,         X1^Y5^X6,      Y1^X5^Y6,      }, // 301
+    {Y3,            Y5^X9,         X6^Y8,         Y6^X8,         }, // 302
+    {Y3,            X6^Y8,         Y5^X9,         X2^X7^Y7,      }, // 303
+    {X3,            Y3^X9,         Y5^X8,         Y2^Y6^X7,      }, // 304
+    {Y2,            X3^Y7,         Y3^X8,         X1^X6^Y6,      }, // 305
+    {X5^Y8,         X6^Y7,         Y2^Y6^X7,      Z0^X5^Y5,      }, // 306
+    {X5^Y8,         X2^X6^Y7,      Y2^Y6^X7,      Z0^X5^Y5,      }, // 307
+    {Y3^X8,         Y2^Y5^X7,      Y1^X6^Y6,      Z0^X5^Y5,      }, // 308
+    {Y3^X7,         Y2^X6^Y6,      X1^X5^Y7,      Y1^X5^Y5,      }, // 309
+    {Y3,            X5^Y9,         X6^Y8,         X2^Y6^X8,      }, // 310
+    {X3,            Y3^X8,         X5^Y8,         X2^Y6^X7,      }, // 311
+    {Y2,            Y3^X8,         X3^Y7,         X1^Y5^X7,      }, // 312
+    {Y3,            X6^Y8,         X2^X7^Y7,      Y2^Y6^X8,      }, // 313
+    {X3,            Y3^X8,         Y2^Y6^X7,      Y1^X6^Y7,      }, // 314
+    {X3,            Y3^X8,         Y2^Y6^X7,      X1^X6^Y7,      }, // 315
+    {X6^Y6,         X3,            Y3,            Y6^X10,        }, // 316
+    {X6^Y6,         X2,            X3,            Y3^X10,        }, // 317
+    {X3,            Y3,            X6^Y9,         X2^X7^Y8,      }, // 318
+    {X2,            X3,            Y3^X9,         Y2^Y6^X8,      }, // 319
+    {X2,            X3,            Y3^X8,         Y2^X7^Y7,      }, // 320
+    {Z3^X6^Y6,      Y2,            X3,            Y3^X9,         }, // 321
+    {Z3^X6^Y6,      X2,            Y2,            Y3^X9,         }, // 322
+    {Z3^X6^Y6,      X6^Y8,         Y2,            X3,            }, // 323
+    {Z3^X6^Y6,      X6^Y8,         X2,            Y2,            }, // 324
+    {Z4^Y6^X7,      X2,            X3,            Y3^X9,         }, // 325
+    {Y1^Y6^X7,      X2,            X3,            Y3^X9,         }, // 326
+    {Z4^Y6^X7,      Z3^X6^Y7,      Y2,            X3,            }, // 327
+    {Z4^Y6^X7,      Z3^X6^Y7,      X2,            Y2,            }, // 328
+    {Y1^Y4^X6,      X2^X5^Y5,      0,             0,             }, // 329
+    {Y1^X5^Y7,      X2^X6^Y6,      Y2^Y5^X7,      0,             }, // 330
+    {X1^X5^Y6,      Y1^Y4^X7,      X2^Y5^X6,      0,             }, // 331
+    {Y5^X8,         Y1^X5^Y8,      X2^X6^Y7,      Y2^Y6^X7,      }, // 332
+    {Y3^X8,         Y1^X5^Y7,      X1^Y5^X7,      Y2^X6^Y6,      }, // 333
+    {Y3^X7,         Y1^X4^Y7,      Y2^X5^Y6,      X1^Y5^X6,      }, // 334
+    {Y3,            X5^Y9,         X6^Y8,         X2^X7^Y7,      }, // 335
+    {Y3,            X5^Y9,         Y1^X6^Y8,      X2^X7^Y7,      }, // 336
+    {X3,            Y3^X8,         X5^Y7,         X1^X6^Y6,      }, // 337
+    {Y2,            Y3^X7,         X3^Y7,         Y0^X5^Y6,      }, // 338
+    {Y1^X5^Y8,      X2^X6^Y7,      Y2^Y6^X7,      Z0^X5^Y5,      }, // 339
+    {X1^X5^Y8,      Y2^Y6^X7,      X2^X6^Y7,      Y1^X5^Y5,      }, // 340
+    {X1^X5^Y8,      X2^X6^Y7,      Y2^Y6^X7,      Y1^X5^Y5,      }, // 341
+    {Y3,            X5^Y9,         Y1^X6^Y8,      X2^Y6^X8,      }, // 342
+    {X3,            Y3^X9,         Y1^X6^Y7,      X1^Y5^X8,      }, // 343
+    {X3,            Y3^X8,         Y1^X5^Y8,      Y2^X6^Y7,      }, // 344
+    {X3,            Y3,            X5^Y10,        Y1^X6^Y9,      }, // 345
+    {Y2,            X3,            Y3^X8,         X5^Y8,         }, // 346
+    {Y3,            Y1^X6^Y8,      X2^X7^Y7,      Y2^Y6^X8,      }, // 347
+    {Y3,            X1^X6^Y8,      Y2^Y6^X8,      X2^X7^Y7,      }, // 348
+    {Y3,            X1^X6^Y8,      X2^X7^Y7,      Y2^Y6^X8,      }, // 349
+    {X3,            Y3,            Y6^X9,         Y1^X6^Y9,      }, // 350
+    {X2,            X3,            Y3^X9,         Y1^X6^Y8,      }, // 351
+    {X2^X6^Y6,      Y2,            X3,            Y3^X9,         }, // 352
+    {Y1^X6^Y6,      X2,            Y2,            Y3^X8,         }, // 353
+    {X3,            Y3,            Y1^X6^Y9,      X2^X7^Y8,      }, // 354
+    {X3,            Y3,            X1^X6^Y9,      Y2^Y7^X8,      }, // 355
+    {X3,            Y3,            X1^X6^Y9,      X2^X7^Y8,      }, // 356
+    {Z2^X6^Y6,      X2,            X3,            Y3^X10,        }, // 357
+    {Y0^X6^Y6,      X2,            X3,            Y3^X9,         }, // 358
+    {Z2^X6^Y6,      X6^Y8,         Y2,            X3,            }, // 359
+    {Z2^X6^Y6,      Y1^X6^Y8,      X2,            Y2,            }, // 360
+    {Y6^X7,         X3,            Y3,            Y1^X7^Y9,      }, // 361
+    {Y1^Y6^X7,      X3,            Y3,            X1^X7^Y9,      }, // 362
+    {Y0^Y6^X7,      X3,            Y3,            X1^X7^Y9,      }, // 363
+    {Z3^Y6^X7,      Z2^X6^Y7,      X2,            X3,            }, // 364
+    {Z2^Y6^X7,      Y0^X6^Y7,      X2,            X3,            }, // 365
+    {Y5^X9,         X6^Y8,         Y6^X8,         X7^Y7,         }, // 366
+    {Y4^X8,         X5^Y7,         Y5^X7,         X6^Y6,         }, // 367
+    {X4^Y7,         Y4^X7,         X5^Y6,         Y5^X6,         }, // 368
+    {X5^Y7,         Y4^X8,         X6^Y6,         Y5^X7,         }, // 369
+    {X3^Y7,         Y4^X7,         X5^Y6,         Y5^X6,         }, // 370
+    {Y5,            X6^Y8,         X7^Y7,         Y6^X8,         }, // 371
+    {Y3,            Y5^X8,         X6^Y7,         Y6^X7,         }, // 372
+    {X3,            Y3^X8,         X6^Y6,         Y5^X7,         }, // 373
+    {Y2,            Y3^X7,         X3^Y6,         Y5^X6,         }, // 374
+    {X5,            X6^Y8,         Y6^X8,         X7^Y7,         }, // 375
+    {Y3,            X5^Y8,         X6^Y7,         Y6^X7,         }, // 376
+    {X3,            Y3^X7,         X5^Y7,         X6^Y6,         }, // 377
+    {Y2,            X3^Y7,         Y3^X6,         X5^Y6,         }, // 378
+    {X6,            Y6,            X7^Y8,         Y7^X8,         }, // 379
+    {Y3,            X6,            Y6^X8,         X7^Y7,         }, // 380
+    {X3,            Y3,            X6^Y7,         Y6^X7,         }, // 381
+    {Y2,            X3,            Y3^X7,         X6^Y6,         }, // 382
+    {X2,            Y2,            X3^Y6,         Y3^X6,         }, // 383
+    {Y6,            X7^Y8,         Y7^X8,         X5^Y6,         }, // 384
+    {X6,            X7^Y7,         Y6^X8,         X5^Y6,         }, // 385
+    {Y3,            X6^Y7,         Y6^X7,         X5^Y6,         }, // 386
+    {X3,            Y3^X7,         X6^Y6,         Z0^X5^Y6,      }, // 387
+    {Y2,            Y3^X6,         X3^Y6,         Z0^X5^Y6,      }, // 388
+    {Y3,            X6,            X7^Y7,         Y6^X8,         }, // 389
+    {X2,            Y2,            Y3^X6,         X3^Y6,         }, // 390
+    {X6^Y6,         Y6,            X7,            Y7^X8,         }, // 391
+    {X6^Y6,         Y3,            Y6,            X7^Y7,         }, // 392
+    {X6^Y6,         X3,            Y3,            Y6^X7,         }, // 393
+    {X6^Y6,         Y2,            X3,            Y3^X7,         }, // 394
+    {X3^Y6,         X2,            Y2,            Y3^X6,         }, // 395
+    {X6,            X7,            Y7^X8,         X6^Y6,         }, // 396
+    {Y3,            X6,            X7^Y7,         X6^Y6,         }, // 397
+    {X3,            Y3,            X6^Y7,         X6^Y6,         }, // 398
+    {Y2,            X3,            Y3^X7,         Z0^X6^Y6,      }, // 399
+    {X2,            X3,            Y3^X6,         Y2^X6^Y6,      }, // 400
+    {X6^Y6,         X6,            X7,            Y7^X8,         }, // 401
+    {X6^Y6,         Y3,            X6,            X7^Y7,         }, // 402
+    {X6^Y6,         X3,            Y3,            X6^Y7,         }, // 403
+    {Z0^X6^Y6,      Y2,            X3,            Y3^X7,         }, // 404
+    {Y2^X6^Y6,      X2,            X3,            Y3^X6,         }, // 405
+    {Z0^X6^Y6,      X3^Y8,         Y2,            Y3,            }, // 406
+    {Y2^X6^Y6,      X3^Y8,         X2,            Y3,            }, // 407
+    {Y6^X7,         X7,            Y7,            X6^Y7,         }, // 408
+    {Y6^X7,         Y3,            X7,            X6^Y7,         }, // 409
+    {Y6^X7,         X3,            Y3,            X6^Y7,         }, // 410
+    {Y2^Y6^X7,      X3,            Y3,            Z0^X6^Y7,      }, // 411
+    {Y2^Y6^X7,      X3,            Y3,            X2^X6^Y7,      }, // 412
+    {Y2^Y6^X7,      Z0^X6^Y7,      X3,            Y3,            }, // 413
+    {Y2^Y6^X7,      X2^X6^Y7,      X3,            Y3,            }, // 414
+    {X5^Y9,         Y6^X8,         X6^Y8,         X7^Y7,         }, // 415
+    {Y4^X8,         X5^Y7,         Y5^X7,         X2^X6^Y6,      }, // 416
+    {Y4^X7,         X4^Y7,         Y5^X6,         Y1^X5^Y6,      }, // 417
+    {Y4^X8,         X5^Y7,         Y5^X7,         Y2^X6^Y6,      }, // 418
+    {Y4^X7,         X3^Y7,         Y5^X6,         Y1^X5^Y6,      }, // 419
+    {X5,            Y6^X8,         X6^Y8,         X7^Y7,         }, // 420
+    {Y3,            X5^Y8,         Y6^X7,         Y2^X6^Y7,      }, // 421
+    {X3,            Y3^X7,         X5^Y7,         Y2^X6^Y6,      }, // 422
+    {Y2,            Y3^X6,         X3^Y7,         Y1^X5^Y6,      }, // 423
+    {X3,            Y3^X7,         X5^Y7,         X2^X6^Y6,      }, // 424
+    {Y3,            X5,            X6^Y8,         X7^Y7,         }, // 425
+    {X3,            Y3,            X5^Y8,         X6^Y7,         }, // 426
+    {X3,            Y3,            X5^Y8,         Y2^X6^Y7,      }, // 427
+    {Y2,            X3,            Y3^X6,         X5^Y6,         }, // 428
+    {X2,            Y2,            Y3^X5,         X3^Y6,         }, // 429
+    {X6,            Y6^X8,         X7^Y7,         X5^Y6,         }, // 430
+    {Y3,            Y6^X7,         Y2^X6^Y7,      X5^Y6,         }, // 431
+    {X3,            Y3^X7,         Y2^X6^Y6,      Z0^X5^Y6,      }, // 432
+    {X3,            Y3^X7,         Y2^X6^Y6,      Y1^X5^Y6,      }, // 433
+    {X3,            Y3,            Y6^X7,         Y2^X6^Y7,      }, // 434
+    {X2,            X3,            Y3^X7,         Y2^X6^Y6,      }, // 435
+    {X6^Y6,         X3,            Y3,            Y2^X6^Y7,      }, // 436
+    {X3,            Y3,            Y2^X6^Y7,      X6^Y6,         }, // 437
+    {X3,            Y3,            X2^X6^Y7,      Y2^X6^Y6,      }, // 438
+    {Y2^X6^Y6,      X3,            Y3,            X2^X6^Y7,      }, // 439
+    {X6^Y6,         X6^Y8,         Y3,            Y7,            }, // 440
+    {X6^Y6,         Y2^X6^Y8,      X3,            Y3,            }, // 441
+    {Y2^X6^Y6,      X2^X6^Y8,      X3,            Y3,            }, // 442
+    {Y6^X7,         Y3,            Y7,            X6^Y7,         }, // 443
+    {Y6^X7,         X3,            Y3,            Y2^X6^Y7,      }, // 444
+    {Y6^X7,         X6^Y7,         Y3,            Y7,            }, // 445
+    {Y6^X7,         Y2^X6^Y7,      X3,            Y3,            }, // 446
+    {X5^Y8,         Y5^X8,         X6^Y7,         Y2^Y6^X7,      }, // 447
+    {X5^Y8,         Y5^X8,         X2^X6^Y7,      Y2^Y6^X7,      }, // 448
+    {Y4^X8,         X5^Y7,         X2^X6^Y6,      Y1^Y5^X7,      }, // 449
+    {X4^Y7,         Y4^X7,         X1^X5^Y6,      Y1^Y5^X6,      }, // 450
+    {Y4^X9,         X6^Y7,         Y5^X8,         Y2^Y6^X7,      }, // 451
+    {X5^Y7,         Y4^X8,         X2^Y5^X7,      Y1^X6^Y6,      }, // 452
+    {X3^Y7,         Y4^X7,         X1^Y5^X6,      Y1^X5^Y6,      }, // 453
+    {Y3,            X6^Y7,         Y5^X8,         Y2^Y6^X7,      }, // 454
+    {Y3,            Y5^X8,         X2^Y6^X7,      Y2^X6^Y7,      }, // 455
+    {X3,            Y3^X8,         X2^Y5^X7,      Y1^X6^Y6,      }, // 456
+    {Y2,            Y3^X6,         X3^Y6,         X1^X5^Y5,      }, // 457
+    {Y3,            X5^Y8,         X6^Y7,         Y2^Y6^X7,      }, // 458
+    {Y3,            X5^Y8,         X2^X6^Y7,      Y2^Y6^X7,      }, // 459
+    {X3,            Y3^X8,         Y2^Y5^X7,      Y1^X6^Y6,      }, // 460
+    {X3,            Y3^X7,         Y2^X6^Y6,      X1^X5^Y7,      }, // 461
+    {X3,            Y3,            X6^Y7,         Y2^Y6^X7,      }, // 462
+    {X3,            Y3,            X2^X6^Y7,      Y2^Y6^X7,      }, // 463
+    {X2,            X3,            Y3^X7,         Y2^Y5^X6,      }, // 464
+    {X2,            X3,            Y3^X6,         Y2^X5^Y6,      }, // 465
+    {Y3,            X6^Y7,         Y2^Y6^X7,      X5^Y6,         }, // 466
+    {Y3,            X2^Y6^X7,      Y2^X6^Y7,      X5^Y6,         }, // 467
+    {Y3,            X2^Y6^X7,      Y2^X6^Y7,      Z0^X5^Y6,      }, // 468
+    {Y3,            X2^Y6^X7,      Y2^X6^Y7,      X1^X5^Y6,      }, // 469
+    {X3,            Y3,            X2^Y6^X7,      Y2^X6^Y7,      }, // 470
+    {X6^Y6,         X3,            Y3,            Y2^Y6^X7,      }, // 471
+    {Y2^X6^Y6,      X3,            Y3,            X2^X6^Y6,      }, // 472
+    {X3,            Y3,            Y2^Y6^X7,      X6^Y6,         }, // 473
+    {Y2^Y6^X7,      X3,            Y3,            X6^Y7,         }, // 474
+    {Y2^Y6^X7,      X6^Y7,         X3,            Y3,            }, // 475
+    {Y4^X8,         X1^X5^Y7,      Y1^Y5^X7,      X2^X6^Y6,      }, // 476
+    {Y4^X7,         Y0^X4^Y7,      X1^X5^Y6,      Y1^Y5^X6,      }, // 477
+    {Y4^X8,         Y1^X5^Y7,      X1^Y5^X7,      Y2^X6^Y6,      }, // 478
+    {Y3^X7,         Y0^X4^Y6,      X1^Y4^X6,      Y1^X5^Y5,      }, // 479
+    {Y3,            X5^Y8,         X2^Y6^X7,      Y2^X6^Y7,      }, // 480
+    {Y3,            Y1^X5^Y8,      X2^X6^Y7,      Y2^Y6^X7,      }, // 481
+    {X3,            Y3^X7,         Y1^X5^Y6,      X1^Y5^X6,      }, // 482
+    {X3,            Y3^X6,         Y1^X4^Y6,      Y2^X5^Y5,      }, // 483
+    {Y3,            X1^X5^Y8,      Y2^Y6^X7,      X2^X6^Y7,      }, // 484
+    {Y3,            X1^X5^Y8,      X2^X6^Y7,      Y2^Y6^X7,      }, // 485
+    {X3,            Y3,            Y1^X5^Y7,      X2^X6^Y6,      }, // 486
+    {X3,            Y3,            X1^X5^Y7,      Y2^X6^Y6,      }, // 487
+    {X3,            Y3,            X1^X5^Y7,      X2^X6^Y6,      }, // 488
+    {Y3,            X2^Y6^X7,      Y1^X6^Y7,      Y2^X5^Y6,      }, // 489
+    {X3,            Y3,            X2^Y6^X7,      Y1^X6^Y7,      }, // 490
+    {X2^X6^Y6,      X3,            Y3,            Y1^X6^Y6,      }, // 491
+    {X2^X6^Y6,      X3,            Y3,            Y2^X6^Y6,      }, // 492
+    {X3,            Y3,            Y1^X6^Y7,      X2^X6^Y6,      }, // 493
+    {Y2^X6^Y6,      X3,            Y3,            Y1^X6^Y7,      }, // 494
+    {Y2^X6^Y6,      Y1^X6^Y8,      X3,            Y3,            }, // 495
+    {Y2^Y6^X7,      X3,            Y3,            Y1^X6^Y7,      }, // 496
+    {X6^X8^Y8,      Y6,            X7,            X8^Y10,        }, // 497
+    {X6^X8^Y8,      Y3,            Y6,            X7^Y10,        }, // 498
+    {X6^X8^Y8,      X3,            Y3,            X7^Y9,         }, // 499
+    {X6^X8^Y8,      Y2,            X3,            Y3^X10,        }, // 500
+    {X6^X8^Y8,      X2,            Y2,            X3^Y8,         }, // 501
+    {Z0^X6^Y6,      X6,            X7,            Y7^X11,        }, // 502
+    {Z0^X6^Y6,      Y3,            X6,            X7^Y10,        }, // 503
+    {Z0^X6^Y6,      X3,            Y3,            X6^Y10,        }, // 504
+    {Z0^X6^Y6,      X6^X9^Y9,      X7,            Y7,            }, // 505
+    {Z0^X6^Y6,      X6^X9^Y9,      Y3,            X7,            }, // 506
+    {Z0^X6^Y6,      X6^X9^Y9,      X3,            Y3,            }, // 507
+    {Z0^X6^Y6,      X6^X9^Y9,      Y2,            X3,            }, // 508
+    {Z0^X6^Y6,      X6^X9^Y9,      X2,            Y2,            }, // 509
+    {Z1^Y6^X7,      X7,            Y7,            X8^Y10,        }, // 510
+    {Z1^Y6^X7,      Y3,            X7,            Y7^X10,        }, // 511
+    {Z1^Y6^X7,      X3,            Y3,            X7^Y9,         }, // 512
+    {Z1^Y6^X7,      Z0^X6^Y7,      X7,            Y7,            }, // 513
+    {Z1^Y6^X7,      Z0^X6^Y7,      Y3,            X7,            }, // 514
+    {Z1^Y6^X7,      Z0^X6^Y7,      X3,            Y3,            }, // 515
+    {Y6^X7,         S0^X6^Y7,      0,             0,             }, // 516
+    {Y5^X7,         S0^X6^Y6,      0,             0,             }, // 517
+    {Y5^X6,         S0^X5^Y6,      0,             0,             }, // 518
+    {Y4^X6,         S0^X5^Y5,      0,             0,             }, // 519
+    {Y4^X5,         S0^X4^Y5,      0,             0,             }, // 520
+    {X6^Y8,         Y6^X8,         S0^X7^Y7,      0,             }, // 521
+    {X6^Y7,         Y5^X8,         S0^Y6^X7,      0,             }, // 522
+    {X5^Y7,         Y5^X7,         S0^X6^Y6,      0,             }, // 523
+    {X5^Y6,         Y4^X7,         S0^Y5^X6,      0,             }, // 524
+    {X3^Y6,         Y4^X6,         S0^X5^Y5,      0,             }, // 525
+    {Y6^X9,         X6^Y9,         Y7^X8,         S0^X7^Y8,      }, // 526
+    {Y5^X9,         X6^Y8,         Y6^X8,         S0^X7^Y7,      }, // 527
+    {Y5^X8,         X5^Y8,         Y6^X7,         S0^X6^Y7,      }, // 528
+    {Y3^X8,         X5^Y7,         Y5^X7,         S0^X6^Y6,      }, // 529
+    {Y3^X7,         X3^Y7,         Y5^X6,         S0^X5^Y6,      }, // 530
+    {Y5,            X6^Y9,         X7^Y8,         Y6^X9,         }, // 531
+    {X3,            Y3^X9,         X6^Y7,         Y5^X8,         }, // 532
+    {Y2,            Y3^X8,         X3^Y7,         Y5^X7,         }, // 533
+    {Y6^X9,         Y7^X8,         S0^X7^Y8,      Z0^X5^Y5,      }, // 534
+    {X6^Y8,         Y6^X8,         S0^X7^Y7,      Z0^X5^Y5,      }, // 535
+    {X5^Y8,         Y6^X7,         S0^X6^Y7,      Z0^X5^Y5,      }, // 536
+    {Y3^X7,         X5^Y7,         S0^X6^Y6,      Z0^X5^Y5,      }, // 537
+    {Y3^X6,         X3^Y7,         S0^X5^Y6,      Z0^X5^Y5,      }, // 538
+    {X6,            Y6,            Y7^X10,        X7^Y10,        }, // 539
+    {Y6,            X7^Y9,         Y7^X9,         S0^X8^Y8,      }, // 540
+    {X6,            X7^Y8,         Y6^X9,         S0^Y7^X8,      }, // 541
+    {Y3,            X6^Y8,         Y6^X8,         S0^X7^Y7,      }, // 542
+    {X3,            Y3^X8,         X6^Y7,         S0^Y6^X7,      }, // 543
+    {Y2,            Y3^X7,         X3^Y7,         S0^X6^Y6,      }, // 544
+    {X6^X8^Y8,      Y6,            X7,            Y7^X11,        }, // 545
+    {X6^X8^Y8,      X3,            Y3,            Y6^X10,        }, // 546
+    {X6^X8^Y8,      X2,            Y2,            Y3^X9,         }, // 547
+    {X6,            X7,            Y7^X10,        Y8^X9,         }, // 548
+    {Z0^Y6^X7,      X7,            Y7,            X8^Y10,        }, // 549
+    {Z0^Y6^X7,      Y3,            X7,            X8^Y9,         }, // 550
+    {Z0^Y6^X7,      X3,            Y3,            X7^Y9,         }, // 551
+    {Z0^Y6^X7,      Z4^X6^Y7,      X7,            Y7,            }, // 552
+    {Z0^Y6^X7,      Z4^X6^Y7,      Y3,            X7,            }, // 553
+    {Z0^Y6^X7,      Z4^X6^Y7,      X3,            Y3,            }, // 554
+    {Z0^Y6^X7,      Z4^X6^Y7,      Y2,            X3,            }, // 555
+    {S0^X6^Y7,      S1^Y6^X7,      0,             0,             }, // 556
+    {S0^Y5^X7,      S1^X6^Y6,      0,             0,             }, // 557
+    {S0^X5^Y6,      S1^Y5^X6,      0,             0,             }, // 558
+    {S0^Y4^X6,      S1^X5^Y5,      0,             0,             }, // 559
+    {S0^X4^Y5,      S1^Y4^X5,      0,             0,             }, // 560
+    {Y5^X9,         S0^X7^Y7,      S1^Y6^X8,      0,             }, // 561
+    {Y5^X8,         S0^X6^Y7,      S1^Y6^X7,      0,             }, // 562
+    {Y4^X8,         S0^X6^Y6,      S1^Y5^X7,      0,             }, // 563
+    {Y4^X7,         S0^X5^Y6,      S1^Y5^X6,      0,             }, // 564
+    {Y3^X7,         S0^X5^Y5,      S1^Y4^X6,      0,             }, // 565
+    {X6^Y9,         Y6^X9,         S0^X7^Y8,      S1^Y7^X8,      }, // 566
+    {X6^Y8,         Y5^X9,         S0^X7^Y7,      S1^Y6^X8,      }, // 567
+    {X5^Y8,         Y5^X8,         S0^X6^Y7,      S1^Y6^X7,      }, // 568
+    {Y3^X8,         X5^Y7,         S0^X6^Y6,      S1^Y5^X7,      }, // 569
+    {Y3^X7,         X3^Y7,         S0^X5^Y6,      S1^Y5^X6,      }, // 570
+    {X6,            X7^Y9,         Y6^X10,        S0^X8^Y8,      }, // 571
+    {Y5,            X6^Y9,         Y6^X9,         S0^X7^Y8,      }, // 572
+    {Y3,            X6^Y8,         Y5^X9,         S0^X7^Y7,      }, // 573
+    {X3,            Y3^X9,         Y5^X8,         S0^X6^Y7,      }, // 574
+    {Y2,            X3^Y7,         Y3^X8,         S0^X6^Y6,      }, // 575
+    {Y6^X9,         S0^X7^Y8,      S1^Y7^X8,      Z0^X5^Y5,      }, // 576
+    {X6^Y8,         S0^Y6^X8,      S1^X7^Y7,      Z0^X5^Y5,      }, // 577
+    {X5^Y8,         S0^X6^Y7,      S1^Y6^X7,      Z0^X5^Y5,      }, // 578
+    {Y3^X8,         S0^X6^Y6,      S1^Y5^X7,      Z0^X5^Y5,      }, // 579
+    {Y3^X6,         X3^Y7,         S0^X5^Y6,      S1^X5^Y5,      }, // 580
+    {X6,            Y6^X10,        X7^Y9,         S0^Y7^X9,      }, // 581
+    {X5,            X6^Y9,         Y6^X9,         S0^X7^Y8,      }, // 582
+    {Y3,            X5^Y9,         X6^Y8,         S0^Y6^X8,      }, // 583
+    {X3,            Y3^X8,         X5^Y8,         S0^X6^Y7,      }, // 584
+    {Y2,            Y3^X8,         X3^Y7,         S0^X6^Y6,      }, // 585
+    {Y6,            X7^Y9,         S0^X8^Y8,      S1^Y7^X9,      }, // 586
+    {X6,            Y6^X9,         S0^X7^Y8,      S1^Y7^X8,      }, // 587
+    {Y3,            X6^Y8,         S0^X7^Y7,      S1^Y6^X8,      }, // 588
+    {X3,            Y3^X8,         S0^X6^Y7,      S1^Y6^X7,      }, // 589
+    {X6,            X7,            Y7^X10,        S0^X8^Y9,      }, // 590
+    {Y3,            X6,            X7^Y9,         S0^Y7^X9,      }, // 591
+    {X3,            Y3,            X6^Y9,         S0^X7^Y8,      }, // 592
+    {Y2,            X3,            Y3^X9,         S0^X7^Y7,      }, // 593
+    {Z3^X6^Y6,      X6,            X7,            Y7^X11,        }, // 594
+    {Z3^X6^Y6,      Y3,            X6,            X7^Y10,        }, // 595
+    {Z3^X6^Y6,      X3,            Y3,            X6^Y10,        }, // 596
+    {Z3^X6^Y6,      X6^X9^Y9,      X7,            Y7,            }, // 597
+    {Z3^X6^Y6,      X6^X9^Y9,      Y3,            X7,            }, // 598
+    {Z3^X6^Y6,      X6^X9^Y9,      X3,            Y3,            }, // 599
+    {Z3^X6^Y6,      X6^X9^Y9,      Y2,            X3,            }, // 600
+    {Z3^X6^Y6,      X6^X9^Y9,      X2,            Y2,            }, // 601
+    {Z4^Y6^X7,      X7,            Y7,            X8^Y10,        }, // 602
+    {Z4^Y6^X7,      Y3,            X7,            Y7^X10,        }, // 603
+    {Z4^Y6^X7,      X3,            Y3,            X7^Y9,         }, // 604
+    {Z4^Y6^X7,      Y2,            X3,            Y3^X9,         }, // 605
+    {S1^Y6^X7,      X2,            Y2,            Y3^X8,         }, // 606
+    {Z4^Y6^X7,      Z3^X6^Y7,      X7,            Y7,            }, // 607
+    {Z4^Y6^X7,      Z3^X6^Y7,      Y3,            X7,            }, // 608
+    {Z4^Y6^X7,      Z3^X6^Y7,      X3,            Y3,            }, // 609
+    {S1^Y6^X7,      S2^X6^Y7,      0,             0,             }, // 610
+    {S1^Y5^X7,      S2^X6^Y6,      0,             0,             }, // 611
+    {S1^Y5^X6,      S2^X5^Y6,      0,             0,             }, // 612
+    {S1^Y4^X6,      S2^X5^Y5,      0,             0,             }, // 613
+    {S1^Y4^X5,      S2^X4^Y5,      0,             0,             }, // 614
+    {S0^X6^Y8,      S1^Y6^X8,      S2^X7^Y7,      0,             }, // 615
+    {S0^X6^Y7,      S1^Y5^X8,      S2^Y6^X7,      0,             }, // 616
+    {S0^X5^Y7,      S1^Y5^X7,      S2^X6^Y6,      0,             }, // 617
+    {S0^X5^Y6,      S1^Y4^X7,      S2^Y5^X6,      0,             }, // 618
+    {Y6^X9,         S0^X6^Y9,      S1^Y7^X8,      S2^X7^Y8,      }, // 619
+    {Y5^X9,         S0^X6^Y8,      S1^Y6^X8,      S2^X7^Y7,      }, // 620
+    {Y5^X8,         S0^X5^Y8,      S1^Y6^X7,      S2^X6^Y7,      }, // 621
+    {Y3^X8,         S0^X5^Y7,      S1^Y5^X7,      S2^X6^Y6,      }, // 622
+    {Y3^X6,         X3^Y7,         S0^X4^Y6,      S1^X5^Y5,      }, // 623
+    {X6,            Y6^X10,        S0^X7^Y9,      S1^Y7^X9,      }, // 624
+    {Y5,            X6^Y9,         S0^X7^Y8,      S1^Y6^X9,      }, // 625
+    {Y3,            Y5^X9,         S0^X6^Y8,      S1^Y6^X8,      }, // 626
+    {X3,            Y3^X9,         S0^X6^Y7,      S1^Y5^X8,      }, // 627
+    {Y2,            Y3^X8,         S0^X5^Y7,      S1^Y5^X7,      }, // 628
+    {S0^X6^Y9,      S1^Y7^X8,      S2^X7^Y8,      Z0^X5^Y5,      }, // 629
+    {S0^X6^Y8,      S1^Y6^X8,      S2^X7^Y7,      Z0^X5^Y5,      }, // 630
+    {S0^X5^Y8,      S1^Y6^X7,      S2^X6^Y7,      Z0^X5^Y5,      }, // 631
+    {Y3^X7,         S0^X5^Y7,      S1^X6^Y6,      S2^X5^Y5,      }, // 632
+    {X5,            X6^Y9,         S0^Y6^X9,      S1^X7^Y8,      }, // 633
+    {Y3,            X5^Y9,         S0^X6^Y8,      S1^Y6^X8,      }, // 634
+    {Y2,            Y3^X7,         X3^Y8,         S0^X5^Y7,      }, // 635
+    {X6,            Y6,            Y7^X10,        S0^X7^Y10,     }, // 636
+    {Y3,            X6,            Y6^X10,        S0^X7^Y9,      }, // 637
+    {X3,            Y3,            Y6^X9,         S0^X6^Y9,      }, // 638
+    {Y2,            X3,            Y3^X9,         S0^X6^Y8,      }, // 639
+    {X2,            Y2,            Y3^X8,         S0^X5^Y8,      }, // 640
+    {Y6,            S0^X7^Y9,      S1^Y7^X9,      S2^X8^Y8,      }, // 641
+    {X6,            S0^X7^Y8,      S1^Y6^X9,      S2^Y7^X8,      }, // 642
+    {Y3,            S0^X6^Y8,      S1^Y6^X8,      S2^X7^Y7,      }, // 643
+    {X3^X8^Y8,      X2,            Y2,            Y3^X9,         }, // 644
+    {X6,            Y7,            S0^X7^Y10,     S1^Y8^X9,      }, // 645
+    {Y3,            X6,            S0^X7^Y9,      S1^Y7^X9,      }, // 646
+    {X3,            Y3,            S0^X6^Y9,      S1^Y7^X8,      }, // 647
+    {Y2,            X3,            Y3^X8,         S0^X6^Y8,      }, // 648
+    {Z2^X6^Y6,      X6,            X7,            Y7^X11,        }, // 649
+    {Z2^X6^Y6,      Y3,            X6,            X7^Y10,        }, // 650
+    {Z2^X6^Y6,      X3,            Y3,            X6^Y10,        }, // 651
+    {Z2^X6^Y6,      Y2,            X3,            Y3^X10,        }, // 652
+    {S2^X6^Y6,      X2,            Y2,            Y3^X8,         }, // 653
+    {Z2^X6^Y6,      X6^X9^Y9,      X7,            Y7,            }, // 654
+    {Z2^X6^Y6,      X6^X9^Y9,      Y3,            X7,            }, // 655
+    {Z2^X6^Y6,      X6^X9^Y9,      X3,            Y3,            }, // 656
+    {Z2^X6^Y6,      X6^X9^Y9,      Y2,            X3,            }, // 657
+    {Z2^X6^Y6,      X3^X9^Y9,      X2,            Y2,            }, // 658
+    {Z3^Y6^X7,      X7,            Y7,            S0^X8^Y10,     }, // 659
+    {Z3^Y6^X7,      Y3,            X7,            S0^X8^Y9,      }, // 660
+    {Z3^Y6^X7,      X3,            Y3,            S0^X7^Y9,      }, // 661
+    {S2^Y6^X7,      Y2,            X3,            Y3^X9,         }, // 662
+    {S2^Y6^X7,      X2,            Y2,            Y3^X8,         }, // 663
+    {Z3^Y6^X7,      Z2^X6^Y7,      X7,            Y7,            }, // 664
+    {Z3^Y6^X7,      Z2^X6^Y7,      Y3,            X7,            }, // 665
+    {Z3^Y6^X7,      Z2^X6^Y7,      X3,            Y3,            }, // 666
+    {Z3^Y6^X7,      Z2^X6^Y7,      Y2,            X3,            }, // 667
+    {Z2^Y6^X7,      S2^X6^Y7,      X2,            Y2,            }, // 668
+    {Y6,            X7^Y8,         Y7^X8,         Z0^X5^Y6,      }, // 669
+    {X6,            X7^Y7,         Y6^X8,         Z0^X5^Y6,      }, // 670
+    {Y3,            X6^Y7,         Y6^X7,         Z0^X5^Y6,      }, // 671
+    {X6^X8^Y8,      Y6,            X7,            Y7^X8,         }, // 672
+    {X6^X8^Y8,      Y3,            Y6,            X7^Y7,         }, // 673
+    {X6^X8^Y8,      X3,            Y3,            Y6^X7,         }, // 674
+    {X6^X8^Y8,      Y2,            X3,            Y3^X7,         }, // 675
+    {X3^X8^Y8,      X2,            Y2,            Y3^X6,         }, // 676
+    {X6,            X7,            Y7^X8,         Z0^X6^Y6,      }, // 677
+    {Y3,            X6,            X7^Y7,         Z0^X6^Y6,      }, // 678
+    {X3,            Y3,            X6^Y7,         Z0^X6^Y6,      }, // 679
+    {Z0^X6^Y6,      X6,            X7,            Y7^X8,         }, // 680
+    {Z0^X6^Y6,      Y3,            X6,            X7^Y7,         }, // 681
+    {Z0^X6^Y6,      X3,            Y3,            X6^Y7,         }, // 682
+    {Z0^X6^Y6,      X3^X9^Y9,      Y2,            Y3,            }, // 683
+    {Y2^X6^Y6,      X3^X9^Y9,      X2,            Y3,            }, // 684
+    {Z1^Y6^X7,      X7,            Y7,            Z0^X6^Y7,      }, // 685
+    {Z1^Y6^X7,      Y3,            X7,            Z0^X6^Y7,      }, // 686
+    {Z1^Y6^X7,      X3,            Y3,            Z0^X6^Y7,      }, // 687
+    {Y4^X8,         X5^Y7,         Y5^X7,         S0^X6^Y6,      }, // 688
+    {Y4^X7,         X4^Y7,         Y5^X6,         S0^X5^Y6,      }, // 689
+    {Y4^X7,         X3^Y7,         Y5^X6,         S0^X5^Y6,      }, // 690
+    {X6,            Y6^X9,         Y7^X8,         S0^X7^Y8,      }, // 691
+    {Y5,            X6^Y8,         Y6^X8,         S0^X7^Y7,      }, // 692
+    {Y3,            Y5^X8,         Y6^X7,         S0^X6^Y7,      }, // 693
+    {X3,            Y3^X8,         Y5^X7,         S0^X6^Y6,      }, // 694
+    {Y2,            Y3^X6,         X3^Y6,         X5^Y5,         }, // 695
+    {X5,            X6^Y8,         Y6^X8,         S0^X7^Y7,      }, // 696
+    {Y3,            X5^Y8,         Y6^X7,         S0^X6^Y7,      }, // 697
+    {X3,            Y3^X7,         X5^Y7,         S0^X6^Y6,      }, // 698
+    {Y2,            Y3^X6,         X3^Y7,         S0^X5^Y6,      }, // 699
+    {X6,            Y6,            Y7^X8,         S0^X7^Y8,      }, // 700
+    {Y3,            X6,            Y6^X8,         S0^X7^Y7,      }, // 701
+    {X3,            Y3,            Y6^X7,         S0^X6^Y7,      }, // 702
+    {Y2,            X3,            Y3^X7,         S0^X6^Y6,      }, // 703
+    {Y6,            Y7^X8,         S0^X7^Y8,      Z0^X5^Y6,      }, // 704
+    {X6,            Y6^X8,         S0^X7^Y7,      Z0^X5^Y6,      }, // 705
+    {Y3,            Y6^X7,         S0^X6^Y7,      Z0^X5^Y6,      }, // 706
+    {X3,            Y3^X7,         S0^X6^Y6,      Z0^X5^Y6,      }, // 707
+    {Y2,            Y3^X6,         X3^Y6,         S0^X5^Y6,      }, // 708
+    {X6^X8^Y8,      Y6,            Y7,            S0^X7^Y8,      }, // 709
+    {X6^X8^Y8,      Y3,            Y6,            S0^X7^Y7,      }, // 710
+    {S0^X8^Y8,      X3,            Y3,            X6^Y6,         }, // 711
+    {S0^X8^Y8,      Y2,            X3,            Y3^X6,         }, // 712
+    {X6,            Y7,            S0^X7^Y8,      Z0^X6^Y6,      }, // 713
+    {Y3,            X6,            S0^X7^Y7,      Z0^X6^Y6,      }, // 714
+    {X3,            Y3,            S0^X6^Y7,      Z0^X6^Y6,      }, // 715
+    {Y2,            X3,            Y3^X6,         S0^X6^Y6,      }, // 716
+    {Z0^X6^Y6,      X6,            Y7,            S0^X7^Y8,      }, // 717
+    {Z0^X6^Y6,      Y3,            X6,            S0^X7^Y7,      }, // 718
+    {Z0^X6^Y6,      X3,            Y3,            S0^X6^Y7,      }, // 719
+    {S0^X6^Y6,      Y2,            X3,            Y3^X6,         }, // 720
+    {Z0^X6^Y6,      X6^X9^Y9,      Y7,            S0^X7,         }, // 721
+    {Z0^X6^Y6,      X6^X9^Y9,      Y3,            S0^X7,         }, // 722
+    {Z0^X6^Y6,      S0^X9^Y9,      X3,            Y3,            }, // 723
+    {S0^X6^Y6,      X3^X9^Y9,      Y2,            Y3,            }, // 724
+    {Z0^Y6^X7,      Y7,            S0^X7,         Z4^X6^Y7,      }, // 725
+    {Z0^Y6^X7,      Y3,            S0^X7,         Z4^X6^Y7,      }, // 726
+    {Z0^Y6^X7,      X3,            Y3,            S0^X6^Y7,      }, // 727
+    {S0^Y6^X7,      X3,            Y3,            Y2^X6^Y7,      }, // 728
+    {Z0^Y6^X7,      Z4^X6^Y7,      Y7,            S0^X7,         }, // 729
+    {Z0^Y6^X7,      Z4^X6^Y7,      Y3,            S0^X7,         }, // 730
+    {Z0^Y6^X7,      S0^X6^Y7,      X3,            Y3,            }, // 731
+    {S0^Y6^X7,      Y2^X6^Y7,      X3,            Y3,            }, // 732
+    {Y5^X9,         X6^Y8,         S0^Y6^X8,      S1^X7^Y7,      }, // 733
+    {Y4^X8,         X5^Y7,         S0^Y5^X7,      S1^X6^Y6,      }, // 734
+    {X4^Y7,         Y4^X7,         S0^X5^Y6,      S1^Y5^X6,      }, // 735
+    {X5^Y7,         Y4^X8,         S0^X6^Y6,      S1^Y5^X7,      }, // 736
+    {X3^Y7,         Y4^X7,         S0^X5^Y6,      S1^Y5^X6,      }, // 737
+    {Y5,            X6^Y8,         S0^X7^Y7,      S1^Y6^X8,      }, // 738
+    {Y3,            Y5^X8,         S0^X6^Y7,      S1^Y6^X7,      }, // 739
+    {X3,            Y3^X8,         S0^X6^Y6,      S1^Y5^X7,      }, // 740
+    {Y2,            Y3^X6,         X3^Y6,         S0^X5^Y5,      }, // 741
+    {X5,            X6^Y8,         S0^Y6^X8,      S1^X7^Y7,      }, // 742
+    {Y3,            X5^Y8,         S0^X6^Y7,      S1^Y6^X7,      }, // 743
+    {X6,            Y6,            S0^X7^Y8,      S1^Y7^X8,      }, // 744
+    {Y3,            X6,            S0^Y6^X8,      S1^X7^Y7,      }, // 745
+    {X3,            Y3,            S0^X6^Y7,      S1^Y6^X7,      }, // 746
+    {Y2,            X3,            Y3^X7,         S0^Y5^X6,      }, // 747
+    {Y6,            S0^X7^Y8,      S1^Y7^X8,      Z0^X5^Y6,      }, // 748
+    {X6,            S0^X7^Y7,      S1^Y6^X8,      Z0^X5^Y6,      }, // 749
+    {Y3,            S0^X6^Y7,      S1^Y6^X7,      Z0^X5^Y6,      }, // 750
+    {Y3,            X6,            S0^X7^Y7,      S1^Y6^X8,      }, // 751
+    {X6^X8^Y8,      Y6,            S0^X7,         S1^Y7^X8,      }, // 752
+    {X6^X8^Y8,      Y3,            S0^X7,         S1^Y6^X8,      }, // 753
+    {S1^X8^Y8,      X3,            Y3,            S0^X6^Y6,      }, // 754
+    {X6,            S0^X7,         S1^Y7^X8,      Z3^X6^Y6,      }, // 755
+    {Y3,            S0^X7,         S1^Y6^X8,      Z3^X6^Y6,      }, // 756
+    {X3,            Y3,            S0^X6^Y7,      S1^X6^Y6,      }, // 757
+    {Z3^X6^Y6,      X6,            S0^X7,         S1^Y7^X8,      }, // 758
+    {Z3^X6^Y6,      Y3,            S0^X7,         S1^Y6^X8,      }, // 759
+    {S1^X6^Y6,      X3,            Y3,            S0^X6^Y7,      }, // 760
+    {Z3^X6^Y6,      X6^X9^Y9,      S0^X7,         S1^Y7,         }, // 761
+    {Z3^X6^Y6,      S1^X9^Y9,      Y3,            S0^X7,         }, // 762
+    {S1^X6^Y6,      S0^X9^Y9,      X3,            Y3,            }, // 763
+    {Z4^Y6^X7,      S0^X7,         S1^Y7,         Z3^X6^Y7,      }, // 764
+    {S1^Y6^X7,      Y3,            S0^X7,         Z3^X6^Y7,      }, // 765
+    {S1^Y6^X7,      X3,            Y3,            S0^X6^Y7,      }, // 766
+    {Z4^Y6^X7,      Z3^X6^Y7,      S0^X7,         S1^Y7,         }, // 767
+    {S1^Y6^X7,      Z3^X6^Y7,      Y3,            S0^X7,         }, // 768
+    {S1^Y6^X7,      S0^X6^Y7,      X3,            Y3,            }, // 769
+    {Y4^X8,         S0^X5^Y7,      S1^Y5^X7,      S2^X6^Y6,      }, // 770
+    {Y4^X7,         S0^X4^Y7,      S1^Y5^X6,      S2^X5^Y6,      }, // 771
+    {Y3^X7,         S0^X4^Y6,      S1^Y4^X6,      S2^X5^Y5,      }, // 772
+    {Y6,            S0^X6^Y9,      S1^Y7^X8,      S2^X7^Y8,      }, // 773
+    {Y5,            S0^X6^Y8,      S1^Y6^X8,      S2^X7^Y7,      }, // 774
+    {Y3,            Y5^X7,         S0^X5^Y7,      S1^X6^Y6,      }, // 775
+    {X3,            Y3^X7,         S0^X5^Y6,      S1^Y5^X6,      }, // 776
+    {Y2,            Y3^X5,         X3^Y6,         S0^X4^Y5,      }, // 777
+    {X5,            S0^X6^Y8,      S1^Y6^X8,      S2^X7^Y7,      }, // 778
+    {Y3,            S0^X5^Y8,      S1^Y6^X7,      S2^X6^Y7,      }, // 779
+    {X3,            Y3^X7,         S0^X5^Y7,      S1^X6^Y6,      }, // 780
+    {Y6,            S0^X6,         S1^Y7^X8,      S2^X7^Y8,      }, // 781
+    {Y3,            S0^X6,         S1^Y6^X8,      S2^X7^Y7,      }, // 782
+    {X3,            Y3,            S0^X5^Y7,      S1^X6^Y6,      }, // 783
+    {Y2,            X3,            Y3^X6,         S0^X5^Y6,      }, // 784
+    {S0^X6,         S1^Y7^X8,      S2^X7^Y8,      Z2^X5^Y6,      }, // 785
+    {S0^X6,         S1^Y6^X8,      S2^X7^Y7,      Z2^X5^Y6,      }, // 786
+    {Y3,            S0^X6^Y7,      S1^Y6^X7,      S2^X5^Y6,      }, // 787
+    {X3,            Y3^X7,         S0^X6^Y6,      S1^X5^Y6,      }, // 788
+    {S2^X8^Y8,      Y6,            S0^X6,         S1^X7^Y7,      }, // 789
+    {S2^X8^Y8,      Y3,            S0^X6,         S1^Y6^X7,      }, // 790
+    {S0^X6,         S1^Y7,         S2^X7^Y8,      Z2^X6^Y6,      }, // 791
+    {Y3,            S0^X6,         S1^X7^Y7,      S2^X6^Y6,      }, // 792
+    {Z2^X6^Y6,      S0^X6,         S1^Y7,         S2^X7^Y8,      }, // 793
+    {S2^X6^Y6,      Y3,            S0^X6,         S1^X7^Y7,      }, // 794
+    {Z2^X6^Y6,      S2^X9^Y9,      S0^X6,         S1^Y7,         }, // 795
+    {S2^X6^Y6,      S1^X9^Y9,      Y3,            S0^X6,         }, // 796
+    {Z2^Y6^X7,      S0^X7,         S1^Y7,         S2^X6^Y7,      }, // 797
+    {S2^Y6^X7,      Y3,            S0^X7,         S1^X6^Y7,      }, // 798
+    {Z2^Y6^X7,      S2^X6^Y7,      S0^X7,         S1^Y7,         }, // 799
+    {S2^Y6^X7,      S1^X6^Y7,      Y3,            S0^X7,         }, // 800
+    {X2,            Z4,            Y4,            X3,            }, // 801
+    {X2,            Z3,            Y4,            X3,            }, // 802
+    {Y3,            X3,            Z4,            X5,            }, // 803
+    {Y3,            X2,            Z4,            X3,            }, // 804
+    {Y3,            X2,            Z3,            X3,            }, // 805
+    {Y2,            X2,            Y3,            X3,            }, // 806
+    {Z3,            X3,            Z4,            X5^Y5,         }, // 807
+    {X2,            Z4,            X3,            Y2^X5^Y5,      }, // 808
+    {X2,            Z3,            X3,            Y2^X5^Y5,      }, // 809
+    {X2,            Y3,            X3,            Y1^X5^Y5,      }, // 810
+    {X2,            Y3,            X3,            X1^X5^Y5,      }, // 811
+    {Y3,            Z3,            X3,            Z4,            }, // 812
+    {Y2,            Y3,            X3,            Z4,            }, // 813
+    {Z3,            X3,            Z4,            X5^Y6,         }, // 814
+    {X2,            Z4,            X3,            Z3^X5^Y6,      }, // 815
+    {X2,            Z3,            X3,            Z2^X5^Y6,      }, // 816
+    {X2,            Y3,            X3,            Z2^X5^Y6,      }, // 817
+    {Z3^X7,         Y3,            X3,            Z4,            }, // 818
+    {Z3^X7,         X2,            Z4,            X3,            }, // 819
+    {Z2^X7,         X2,            Z3,            X3,            }, // 820
+    {Z2^X7,         X2,            Y3,            X3,            }, // 821
+    {Z3,            X3,            Z4,            Y3^X6^Y6,      }, // 822
+    {X2,            Z4,            X3,            Y3^X6^Y6,      }, // 823
+    {X2,            Z3,            X3,            Y3^X6^Y6,      }, // 824
+    {X2,            Y3,            X3,            Y2^X6^Y6,      }, // 825
+    {Y3^X6^Y6,      Z3,            X3,            Z4,            }, // 826
+    {Y3^X6^Y6,      X2,            Z4,            X3,            }, // 827
+    {Y3^X6^Y6,      X2,            Z3,            X3,            }, // 828
+    {Y2^X6^Y6,      X2,            Y3,            X3,            }, // 829
+    {Y3^X6^Y6,      Z3^X8,         X3,            Z4,            }, // 830
+    {X2^X6^Y6,      Z3^X8,         Z4,            X3,            }, // 831
+    {X2^X6^Y6,      Z2^X8,         Z3,            X3,            }, // 832
+    {X2^X6^Y6,      Z2^X8,         Y3,            X3,            }, // 833
+    {Y3^Y6^X7,      X3,            Z4,            Z3^X6^Y7,      }, // 834
+    {Y3^Y6^X7,      Z4,            X3,            X2^X6^Y7,      }, // 835
+    {Y3^Y6^X7,      Z3,            X3,            X2^X6^Y7,      }, // 836
+    {Y2^Y6^X7,      Y3,            X3,            X2^X6^Y7,      }, // 837
+    {Y3^Y6^X7,      Z3^X6^Y7,      X3,            Z4,            }, // 838
+    {Y3^Y6^X7,      X2^X6^Y7,      Z4,            X3,            }, // 839
+    {Y3^Y6^X7,      X2^X6^Y7,      Z3,            X3,            }, // 840
+    {Y2^Y6^X7,      X2^X6^Y7,      Y3,            X3,            }, // 841
 };
 
-const UINT_64 SW_64K_Z_X_4xaa_RBPLUS[][16]=
+const UINT_64 GFX10_SW_PATTERN_NIBBLE4[][4] =
 {
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        X2 ^ X6 ^ Y6,   Y1 ^ Y5 ^ X7    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             Y2,             X3 ^ Y8,        Y3 ^ X8,        X4 ^ Y7,        Y4 ^ X7,        X1 ^ X5 ^ Y6,   Y1 ^ Y5 ^ X6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Z0 ^ X4 ^ Y4,   X3,             Y3,             Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        Y4 ^ X9,        X6 ^ Y7,        Y5 ^ X8,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Z0 ^ X4 ^ Y4,   X3,             Y3,             Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Z0 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X9,        X5 ^ Y7,        Y4 ^ X8,        X2 ^ Y5 ^ X7,   Y1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Z0 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X8,        X3 ^ Y7,        Y4 ^ X7,        X1 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        X6 ^ Y7,        Y5 ^ X8,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        Y5 ^ X8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y2,             X3,             Y3 ^ X8,        X5 ^ Y7,        X2 ^ Y5 ^ X7,   Y1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X2,             Y2,             Y3 ^ X7,        X3 ^ Y7,        X1 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X3,             Y3,             Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X3,             Y3,             X6 ^ Y7,        Y5 ^ X8,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X3,             Y3,             Y5 ^ X8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y2,             X3,             Y3 ^ X8,        X2 ^ Y5 ^ X7,   Y1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   X2,             Y2,             Y3 ^ X6,        X3 ^ Y6,        X1 ^ X5 ^ Y5    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7,        Z0 ^ X5 ^ Y5    },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        X6 ^ Y7,        Y2 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X2,             X3,             Y3 ^ X8,        Y2 ^ Y5 ^ X7,   Y1 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   X2,             X3,             Y3 ^ X7,        Y2 ^ X6 ^ Y6,   X1 ^ X5 ^ Y7,   Y1 ^ X5 ^ Y5    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3,             X5 ^ Y8,        X6 ^ Y7,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3,             X5 ^ Y8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X2,             X3,             Y3 ^ X8,        Y2 ^ Y5 ^ X7,   Y1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   X2,             X3,             Y3 ^ X7,        Y2 ^ X6 ^ Y6,   X1 ^ X5 ^ Y7    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X3,             Y3,             X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X3,             Y3,             X6 ^ Y7,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X3,             Y3,             X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y1 ^ X5 ^ Y6,   X2,             X3,             Y3 ^ X7,        Y2 ^ Y5 ^ X6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   X1 ^ X5 ^ Y6,   X2,             X3,             Y3 ^ X6,        Y2 ^ X5 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X3,             Y3,             X6 ^ Y7,        Y6 ^ X7,        X5 ^ Y6         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X3,             Y3,             X6 ^ Y7,        Y2 ^ Y6 ^ X7,   X5 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X3,             Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X5 ^ Y6         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X3,             Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X3,             Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X1 ^ X5 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X3,             Y3,             X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X3,             Y3,             X6 ^ Y7,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X3,             Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3,             Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   X3,             Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        X3,             Y3,             Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        X3,             Y3,             Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y2 ^ X6 ^ Y6,   X3,             Y3,             X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2 ^ X6 ^ Y6,   X3,             Y3,             X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   Y2 ^ X6 ^ Y6,   X3,             Y3,             X2 ^ X6 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X3,             Y3,             X6 ^ Y7,        X6 ^ Y6         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X3,             Y3,             Y2 ^ Y6 ^ X7,   X6 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X3,             Y3,             X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   X3,             Y3,             X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   X3,             Y3,             X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X3,             Y3,             X6 ^ Y7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X3,             Y3,             Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y2 ^ X6 ^ Y6,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        X3,             Y3              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y2 ^ X6 ^ Y8,   X3,             Y3              },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8,   X3,             Y3              },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8,   X3,             Y3              },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8,   X3,             Y3              },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X3,             Y3,             X6 ^ Y7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   X3,             Y3,             X6 ^ Y7         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X3,             Y3              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   X6 ^ Y7,        X3,             Y3              },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3,             Y3              },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        X2 ^ X6 ^ Y6,   Y1 ^ Y5 ^ X7    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             Y2,             X3 ^ Y8,        Y3 ^ X8,        X4 ^ Y7,        Y4 ^ X7,        X1 ^ X5 ^ Y6,   Y1 ^ Y5 ^ X6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Z0 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        Y4 ^ X9,        X6 ^ Y7,        Y5 ^ X8,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y2,             Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X9,        X5 ^ Y7,        Y4 ^ X8,        X2 ^ Y5 ^ X7,   Y1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             Z0 ^ X4 ^ Y4,   Y2,             Y3 ^ X8,        X3 ^ Y7,        Y4 ^ X7,        X1 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        X6 ^ Y7,        Y5 ^ X8,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        Y5 ^ X8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X8,        X5 ^ Y7,        X2 ^ Y5 ^ X7,   Y1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y2,             Y3 ^ X7,        X3 ^ Y7,        X1 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y3,             Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y3,             X6 ^ Y7,        Y5 ^ X8,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y3,             Y5 ^ X8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X3,             Y3 ^ X8,        X2 ^ Y5 ^ X7,   Y1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   Y2,             Y3 ^ X6,        X3 ^ Y6,        X1 ^ X5 ^ Y5    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7,        Z0 ^ X5 ^ Y5    },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        X6 ^ Y7,        Y2 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3 ^ X8,        Y2 ^ Y5 ^ X7,   Y1 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X7,        Y2 ^ X6 ^ Y6,   X1 ^ X5 ^ Y7,   Y1 ^ X5 ^ Y5    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5 ^ Y8,        X6 ^ Y7,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5 ^ Y8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3 ^ X8,        Y2 ^ Y5 ^ X7,   Y1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   X3,             Y3 ^ X7,        Y2 ^ X6 ^ Y6,   X1 ^ X5 ^ Y7    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y3,             X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y3,             X6 ^ Y7,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y3,             X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y1 ^ X5 ^ Y6,   X3,             Y3 ^ X7,        Y2 ^ Y5 ^ X6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   X1 ^ X5 ^ Y6,   X3,             Y3 ^ X6,        Y2 ^ X5 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y3,             X6 ^ Y7,        Y6 ^ X7,        X5 ^ Y6         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y3,             X6 ^ Y7,        Y2 ^ Y6 ^ X7,   X5 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X5 ^ Y6         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X3,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X1 ^ X5 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y3,             X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y3,             X6 ^ Y7,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X3,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y3,             Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y3,             Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y2 ^ X6 ^ Y6,   Y3,             X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2 ^ X6 ^ Y6,   Y3,             X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X3,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   Y2 ^ X6 ^ Y6,   Y3,             X2 ^ X6 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y3,             X6 ^ Y7,        X6 ^ Y6         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y3,             Y2 ^ Y6 ^ X7,   X6 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y3,             X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y3,             X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y3,             X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y3,             X6 ^ Y7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y3,             Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y2 ^ X6 ^ Y6,   Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3,             X2 ^ X6 ^ Y7    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        Y3              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y2 ^ X6 ^ Y8,   Y3              },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8,   Y3              },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8,   Y3              },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8,   Y3              },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y3,             X6 ^ Y7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   Y3,             X6 ^ Y7         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X3,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y3,             X2 ^ X6 ^ Y7    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y3              },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   X6 ^ Y7,        Y3              },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3              },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3              },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X3,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3              },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X5 ^ Y7,        X2 ^ X6 ^ Y6,   Y1 ^ Y5 ^ X7    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             Y2,             X3 ^ Y8,        Y3 ^ X8,        X4 ^ Y7,        Y4 ^ X7,        X1 ^ X5 ^ Y6,   Y1 ^ Y5 ^ X6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   X5 ^ Y8,        Y4 ^ X9,        X6 ^ Y7,        Y5 ^ X8,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y2,             X3,             Z0 ^ X4 ^ Y4,   Y3 ^ X9,        X5 ^ Y7,        Y4 ^ X8,        X2 ^ Y5 ^ X7,   Y1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             Y2,             Z0 ^ X4 ^ Y4,   Y3 ^ X8,        X3 ^ Y7,        Y4 ^ X7,        X1 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y8,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y8,        X6 ^ Y7,        Y5 ^ X8,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y8,        Y5 ^ X8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3 ^ X8,        X5 ^ Y7,        X2 ^ Y5 ^ X7,   Y1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3 ^ X7,        X3 ^ Y7,        X1 ^ Y5 ^ X6,   Y1 ^ X5 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y5 ^ X8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X6 ^ Y7,        Y5 ^ X8,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y5 ^ X8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             Y2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y3 ^ X8,        X2 ^ Y5 ^ X7,   Y1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             Y2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   Y3 ^ X6,        X3 ^ Y6,        X1 ^ X5 ^ Y5    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7,        Z0 ^ X5 ^ Y5    },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5 ^ Y8,        X6 ^ Y7,        Y2 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5 ^ Y8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3 ^ X8,        Y2 ^ Y5 ^ X7,   Y1 ^ X6 ^ Y6,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             X3,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y3 ^ X7,        Y2 ^ X6 ^ Y6,   X1 ^ X5 ^ Y7,   Y1 ^ X5 ^ Y5    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y8,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y8,        X6 ^ Y7,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3 ^ X8,        Y2 ^ Y5 ^ X7,   Y1 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             X3,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   Y3 ^ X7,        Y2 ^ X6 ^ Y6,   X1 ^ X5 ^ Y7    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X6 ^ Y7,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y1 ^ X5 ^ Y6,   Y3 ^ X7,        Y2 ^ Y5 ^ X6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X2,             X3,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   X1 ^ X5 ^ Y6,   Y3 ^ X6,        Y2 ^ X5 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X6 ^ Y7,        Y6 ^ X7,        X5 ^ Y6         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X6 ^ Y7,        Y2 ^ Y6 ^ X7,   X5 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X5 ^ Y6         },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X1 ^ X5 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y7,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y7,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y6 ^ X7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y7,        X6 ^ Y6         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y2 ^ Y6 ^ X7,   X6 ^ Y6         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y7    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y2 ^ X6 ^ Y8    },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   X6 ^ Y7         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             Y2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7         },
-    {0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   X6 ^ Y7         },
-    {0,              0,              S0,             S1,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             X0,             Y0,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+    {0,             0,             0,             0,             }, // 0
+    {Y7^X9,         0,             0,             0,             }, // 1
+    {Y7^X8,         0,             0,             0,             }, // 2
+    {Y6^X8,         0,             0,             0,             }, // 3
+    {Y6^X7,         0,             0,             0,             }, // 4
+    {Y5^X7,         0,             0,             0,             }, // 5
+    {X8^Y8,         0,             0,             0,             }, // 6
+    {X7^Y7,         0,             0,             0,             }, // 7
+    {X6^Y6,         0,             0,             0,             }, // 8
+    {X8^Y9,         Y8^X9,         0,             0,             }, // 9
+    {Y7^X9,         X8^Y8,         0,             0,             }, // 10
+    {X7^Y8,         Y7^X8,         0,             0,             }, // 11
+    {Y6^X8,         X7^Y7,         0,             0,             }, // 12
+    {X6^Y7,         Y6^X7,         0,             0,             }, // 13
+    {X5^Y6,         0,             0,             0,             }, // 14
+    {Z0^X5^Y6,      0,             0,             0,             }, // 15
+    {X8^Y8,         Y7^X9,         0,             0,             }, // 16
+    {X7^Y7,         Y6^X8,         0,             0,             }, // 17
+    {Y7^X11,        X9^Y9,         Y8^X10,        0,             }, // 18
+    {Y7^X10,        X8^Y9,         Y8^X9,         0,             }, // 19
+    {Y6^X10,        X8^Y8,         Y7^X9,         0,             }, // 20
+    {Y6^X9,         X7^Y8,         Y7^X8,         0,             }, // 21
+    {Y3^X9,         X7^Y7,         Y6^X8,         0,             }, // 22
+    {Y8^X9,         X6^Y6,         0,             0,             }, // 23
+    {X8^Y8,         X6^Y6,         0,             0,             }, // 24
+    {Y7^X8,         X6^Y6,         0,             0,             }, // 25
+    {X7^Y7,         Z0^X6^Y6,      0,             0,             }, // 26
+    {X6^Y7,         Z0^X6^Y6,      0,             0,             }, // 27
+    {X8^Y10,        Y8^X10,        X9^Y9,         0,             }, // 28
+    {X7^Y9,         Y7^X9,         X8^Y8,         0,             }, // 29
+    {X6^Y9,         X7^Y8,         Y7^X8,         0,             }, // 30
+    {Y3^X8,         X6^Y8,         X7^Y7,         0,             }, // 31
+    {X8^Y11,        Y8^X11,        X9^Y10,        Y9^X10,        }, // 32
+    {Y7^X11,        X8^Y10,        Y8^X10,        X9^Y9,         }, // 33
+    {X7^Y10,        Y7^X10,        X8^Y9,         Y8^X9,         }, // 34
+    {Y3^X10,        X7^Y9,         Y7^X9,         X8^Y8,         }, // 35
+    {X3^Y9,         Y3^X9,         X7^Y8,         Y7^X8,         }, // 36
+    {X9^Y9,         Y8^X10,        X6^Y7,         0,             }, // 37
+    {X8^Y9,         Y8^X9,         X6^Y7,         0,             }, // 38
+    {X8^Y8,         Y7^X9,         X6^Y7,         0,             }, // 39
+    {X7^Y8,         Y7^X8,         Z0^X6^Y7,      0,             }, // 40
+    {Y3^X8,         X7^Y7,         Z0^X6^Y7,      0,             }, // 41
+    {X8^Y10,        Y7^X11,        X9^Y9,         Y8^X10,        }, // 42
+    {Y3^X10,        X7^Y9,         X8^Y8,         Y7^X9,         }, // 43
+    {Y3^X9,         X3^Y9,         X7^Y8,         Y7^X8,         }, // 44
+    {Y2^X7^Y7,      0,             0,             0,             }, // 45
+    {X2^Y6^X7,      0,             0,             0,             }, // 46
+    {Y1^X6^Y6,      0,             0,             0,             }, // 47
+    {X7^Y9,         X8^Y8,         0,             0,             }, // 48
+    {Y7^X8,         Y2^X7^Y8,      0,             0,             }, // 49
+    {X6^Y8,         X2^X7^Y7,      0,             0,             }, // 50
+    {X5^Y8,         Y1^X6^Y7,      0,             0,             }, // 51
+    {Y6^X8,         Y2^X7^Y7,      0,             0,             }, // 52
+    {Y6^X7,         Y1^X6^Y7,      0,             0,             }, // 53
+    {X7^Y9,         X8^Y8,         Y7^X9,         0,             }, // 54
+    {X7^Y9,         Y7^X9,         Y2^X8^Y8,      0,             }, // 55
+    {X6^Y9,         X7^Y8,         X2^Y7^X8,      0,             }, // 56
+    {X3^Y9,         X6^Y8,         Y1^X7^Y7,      0,             }, // 57
+    {Y2^X7^Y8,      X6^Y6,         0,             0,             }, // 58
+    {X2^X7^Y7,      Z0^X6^Y6,      0,             0,             }, // 59
+    {Y1^X6^Y7,      Z0^X6^Y6,      0,             0,             }, // 60
+    {Y3^X8,         X6^Y8,         Y1^X7^Y7,      0,             }, // 61
+    {Y7^X11,        Y8^X10,        X8^Y10,        X9^Y9,         }, // 62
+    {Y7^X10,        X7^Y10,        Y8^X9,         Y2^X8^Y9,      }, // 63
+    {Y3^X10,        X7^Y9,         Y7^X9,         X2^X8^Y8,      }, // 64
+    {Y3^X9,         X3^Y9,         Y7^X8,         Y1^X7^Y8,      }, // 65
+    {Y7^X9,         Y2^X8^Y8,      X6^Y7,         0,             }, // 66
+    {X7^Y8,         X2^Y7^X8,      Z4^X6^Y7,      0,             }, // 67
+    {X3^Y8,         Y1^X7^Y7,      Z4^X6^Y7,      0,             }, // 68
+    {Y3^X10,        X7^Y9,         Y7^X9,         Y2^X8^Y8,      }, // 69
+    {Y2^Y6^X8,      0,             0,             0,             }, // 70
+    {Y1^X6^Y7,      0,             0,             0,             }, // 71
+    {Y1^Y5^X7,      0,             0,             0,             }, // 72
+    {X7^Y8,         Y2^Y7^X8,      0,             0,             }, // 73
+    {X2^X7^Y8,      Y2^Y7^X8,      0,             0,             }, // 74
+    {X2^X7^Y7,      Y1^Y6^X8,      0,             0,             }, // 75
+    {X1^X6^Y7,      Y1^Y6^X7,      0,             0,             }, // 76
+    {Y6^X9,         Y2^Y7^X8,      0,             0,             }, // 77
+    {X2^Y7^X8,      Y2^X7^Y8,      0,             0,             }, // 78
+    {X2^Y6^X8,      Y1^X7^Y7,      0,             0,             }, // 79
+    {X1^Y6^X7,      Y1^X6^Y7,      0,             0,             }, // 80
+    {Y6^X10,        X2^X8^Y8,      Y2^Y7^X9,      0,             }, // 81
+    {Y6^X9,         Y2^Y7^X8,      Y1^X7^Y8,      0,             }, // 82
+    {Y3^X9,         X1^X7^Y7,      Y1^Y6^X8,      0,             }, // 83
+    {Y2^Y7^X8,      X6^Y6,         0,             0,             }, // 84
+    {Y1^X7^Y7,      Z3^X6^Y6,      0,             0,             }, // 85
+    {X1^X6^Y8,      Y1^X6^Y6,      0,             0,             }, // 86
+    {X7^Y9,         X2^Y7^X9,      Y2^X8^Y8,      0,             }, // 87
+    {X6^Y9,         X2^Y7^X8,      Y1^X7^Y8,      0,             }, // 88
+    {X3^Y8,         X1^Y6^X8,      Y1^X7^Y7,      0,             }, // 89
+    {X7^Y10,        Y7^X10,        X8^Y9,         Y2^Y8^X9,      }, // 90
+    {X7^Y10,        Y7^X10,        X2^X8^Y9,      Y2^Y8^X9,      }, // 91
+    {Y3^X10,        X7^Y9,         X2^X8^Y8,      Y1^Y7^X9,      }, // 92
+    {X3^Y9,         Y3^X9,         X1^X7^Y8,      Y1^Y7^X8,      }, // 93
+    {X2^X8^Y8,      Y2^Y7^X9,      X6^Y7,         0,             }, // 94
+    {Y2^Y7^X8,      Y1^X7^Y8,      Z3^X6^Y7,      0,             }, // 95
+    {Y2^Y7^X8,      X1^X7^Y8,      Z3^X6^Y7,      0,             }, // 96
+    {X7^Y10,        X8^Y9,         Y7^X10,        Y2^Y8^X9,      }, // 97
+    {X7^Y10,        Y7^X10,        X2^Y8^X9,      Y2^X8^Y9,      }, // 98
+    {Y3^X10,        X7^Y9,         X2^Y7^X9,      Y1^X8^Y8,      }, // 99
+    {Y3^X9,         X3^Y9,         X1^Y7^X8,      Y1^X7^Y8,      }, // 100
+    {X1^Y5^X6,      0,             0,             0,             }, // 101
+    {Y2^Y6^X7,      0,             0,             0,             }, // 102
+    {X1^Y6^X7,      0,             0,             0,             }, // 103
+    {Y0^X5^Y7,      X1^X6^Y6,      0,             0,             }, // 104
+    {Z1^X5^Y6,      0,             0,             0,             }, // 105
+    {Y1^X5^Y6,      0,             0,             0,             }, // 106
+    {X1^Y6^X8,      Y2^X7^Y7,      0,             0,             }, // 107
+    {Y2^X7^Y7,      X1^Y6^X8,      0,             0,             }, // 108
+    {X7^Y9,         X2^X8^Y8,      Y2^Y7^X9,      0,             }, // 109
+    {Y1^X7^Y9,      X2^X8^Y8,      Y2^Y7^X9,      0,             }, // 110
+    {X6^Y8,         X1^X7^Y7,      Y1^Y6^X8,      0,             }, // 111
+    {X3^Y8,         Y0^X6^Y7,      X1^Y6^X7,      0,             }, // 112
+    {X2^X7^Y8,      Y1^X6^Y6,      0,             0,             }, // 113
+    {Y2^Y7^X8,      Y1^X6^Y6,      0,             0,             }, // 114
+    {Y1^X7^Y9,      X2^Y7^X9,      Y2^X8^Y8,      0,             }, // 115
+    {Y1^X7^Y8,      X1^Y6^X9,      Y2^Y7^X8,      0,             }, // 116
+    {Y1^X6^Y9,      Y2^X7^Y8,      X1^Y7^X8,      0,             }, // 117
+    {Y7^X10,        Y1^X7^Y10,     X2^X8^Y9,      Y2^Y8^X9,      }, // 118
+    {Y3^X10,        X1^X7^Y9,      Y1^Y7^X9,      X2^X8^Y8,      }, // 119
+    {Y3^X8,         X3^Y9,         Y0^X6^Y8,      X1^X7^Y7,      }, // 120
+    {Y2^Y7^X9,      X2^X8^Y8,      Z2^X6^Y7,      0,             }, // 121
+    {X2^X8^Y8,      Y2^Y7^X9,      Y1^X6^Y7,      0,             }, // 122
+    {Y3^X10,        Y1^X7^Y9,      X1^Y7^X9,      Y2^X8^Y8,      }, // 123
+    {Y3^X10,        Y1^X7^Y9,      Y2^X8^Y8,      X1^Y7^X9,      }, // 124
+    {Y8^X9,         Z0^X6^Y6,      0,             0,             }, // 125
+    {X8^Y8,         Z0^X6^Y6,      0,             0,             }, // 126
+    {Y7^X8,         Z0^X6^Y6,      0,             0,             }, // 127
+    {X9^Y9,         Y8^X10,        Z0^X6^Y7,      0,             }, // 128
+    {X8^Y9,         Y8^X9,         Z0^X6^Y7,      0,             }, // 129
+    {X8^Y8,         Y7^X9,         Z0^X6^Y7,      0,             }, // 130
+    {S0^X8^Y8,      0,             0,             0,             }, // 131
+    {S0^Y7^X8,      0,             0,             0,             }, // 132
+    {S0^X7^Y7,      0,             0,             0,             }, // 133
+    {S0^Y6^X7,      0,             0,             0,             }, // 134
+    {S0^X6^Y6,      0,             0,             0,             }, // 135
+    {Y8^X9,         S0^X8^Y9,      0,             0,             }, // 136
+    {Y7^X9,         S0^X8^Y8,      0,             0,             }, // 137
+    {Y7^X8,         S0^X7^Y8,      0,             0,             }, // 138
+    {Y6^X8,         S0^X7^Y7,      0,             0,             }, // 139
+    {Y6^X7,         S0^X6^Y7,      0,             0,             }, // 140
+    {X8^Y10,        Y8^X10,        S0^X9^Y9,      0,             }, // 141
+    {X8^Y9,         Y7^X10,        S0^Y8^X9,      0,             }, // 142
+    {X7^Y9,         Y7^X9,         S0^X8^Y8,      0,             }, // 143
+    {X7^Y8,         Y6^X9,         S0^Y7^X8,      0,             }, // 144
+    {X3^Y8,         Y6^X8,         S0^X7^Y7,      0,             }, // 145
+    {S0^X8^Y9,      Z0^X6^Y6,      0,             0,             }, // 146
+    {S0^X8^Y8,      Z0^X6^Y6,      0,             0,             }, // 147
+    {S0^X7^Y8,      Z0^X6^Y6,      0,             0,             }, // 148
+    {S0^X7^Y7,      Z0^X6^Y6,      0,             0,             }, // 149
+    {S0^X6^Y7,      Z0^X6^Y6,      0,             0,             }, // 150
+    {Y7^X10,        X8^Y9,         S0^Y8^X9,      0,             }, // 151
+    {X6^Y9,         X7^Y8,         S0^Y7^X8,      0,             }, // 152
+    {Y3^X8,         X6^Y8,         S0^X7^Y7,      0,             }, // 153
+    {Y8^X11,        X8^Y11,        Y9^X10,        S0^X9^Y10,     }, // 154
+    {Y7^X11,        X8^Y10,        Y8^X10,        S0^X9^Y9,      }, // 155
+    {Y7^X10,        X7^Y10,        Y8^X9,         S0^X8^Y9,      }, // 156
+    {Y3^X10,        X7^Y9,         Y7^X9,         S0^X8^Y8,      }, // 157
+    {Y3^X9,         X3^Y9,         Y7^X8,         S0^X7^Y8,      }, // 158
+    {Y8^X10,        S0^X9^Y9,      Z4^X6^Y7,      0,             }, // 159
+    {Y7^X10,        S0^Y8^X9,      Z4^X6^Y7,      0,             }, // 160
+    {Y7^X9,         S0^X8^Y8,      Z4^X6^Y7,      0,             }, // 161
+    {X7^Y8,         S0^Y7^X8,      Z4^X6^Y7,      0,             }, // 162
+    {X3^Y8,         S0^X7^Y7,      Z4^X6^Y7,      0,             }, // 163
+    {S1^Y7^X9,      0,             0,             0,             }, // 164
+    {S1^Y7^X8,      0,             0,             0,             }, // 165
+    {S1^Y6^X8,      0,             0,             0,             }, // 166
+    {S1^Y6^X7,      0,             0,             0,             }, // 167
+    {S1^Y5^X7,      0,             0,             0,             }, // 168
+    {S1^X8^Y8,      0,             0,             0,             }, // 169
+    {S1^X7^Y7,      0,             0,             0,             }, // 170
+    {S0^X8^Y9,      S1^Y8^X9,      0,             0,             }, // 171
+    {S0^Y7^X9,      S1^X8^Y8,      0,             0,             }, // 172
+    {S0^X7^Y8,      S1^Y7^X8,      0,             0,             }, // 173
+    {S0^Y6^X8,      S1^X7^Y7,      0,             0,             }, // 174
+    {S0^X6^Y7,      S1^Y6^X7,      0,             0,             }, // 175
+    {S0^X8^Y8,      S1^Y7^X9,      0,             0,             }, // 176
+    {S0^X7^Y7,      S1^Y6^X8,      0,             0,             }, // 177
+    {Y7^X11,        S0^X9^Y9,      S1^Y8^X10,     0,             }, // 178
+    {Y7^X10,        S0^X8^Y9,      S1^Y8^X9,      0,             }, // 179
+    {Y6^X10,        S0^X8^Y8,      S1^Y7^X9,      0,             }, // 180
+    {Y6^X9,         S0^X7^Y8,      S1^Y7^X8,      0,             }, // 181
+    {Y3^X9,         S0^X7^Y7,      S1^Y6^X8,      0,             }, // 182
+    {S1^Y8^X9,      Z3^X6^Y6,      0,             0,             }, // 183
+    {S1^X8^Y8,      Z3^X6^Y6,      0,             0,             }, // 184
+    {S1^Y7^X8,      Z3^X6^Y6,      0,             0,             }, // 185
+    {S1^Y6^X8,      Z3^X6^Y6,      0,             0,             }, // 186
+    {S0^X6^Y7,      S1^X6^Y6,      0,             0,             }, // 187
+    {X8^Y10,        S0^Y8^X10,     S1^X9^Y9,      0,             }, // 188
+    {X7^Y9,         S0^Y7^X9,      S1^X8^Y8,      0,             }, // 189
+    {X6^Y9,         S0^X7^Y8,      S1^Y7^X8,      0,             }, // 190
+    {X3^Y8,         S0^X7^Y7,      S1^Y6^X8,      0,             }, // 191
+    {X8^Y11,        Y8^X11,        S0^X9^Y10,     S1^Y9^X10,     }, // 192
+    {Y7^X11,        X8^Y10,        S0^Y8^X10,     S1^X9^Y9,      }, // 193
+    {X7^Y10,        Y7^X10,        S0^X8^Y9,      S1^Y8^X9,      }, // 194
+    {Y3^X10,        X7^Y9,         S0^Y7^X9,      S1^X8^Y8,      }, // 195
+    {X3^Y9,         Y3^X9,         S0^X7^Y8,      S1^Y7^X8,      }, // 196
+    {S0^X9^Y9,      S1^Y8^X10,     Z3^X6^Y7,      0,             }, // 197
+    {S0^X8^Y9,      S1^Y8^X9,      Z3^X6^Y7,      0,             }, // 198
+    {S0^X8^Y8,      S1^Y7^X9,      Z3^X6^Y7,      0,             }, // 199
+    {S0^X7^Y8,      S1^Y7^X8,      Z3^X6^Y7,      0,             }, // 200
+    {X3^Y8,         S0^X7^Y7,      Z3^X6^Y7,      0,             }, // 201
+    {X8^Y10,        Y7^X11,        S0^X9^Y9,      S1^Y8^X10,     }, // 202
+    {Y3^X10,        X7^Y9,         S0^X8^Y8,      S1^Y7^X9,      }, // 203
+    {Y3^X9,         X3^Y9,         S0^X7^Y8,      S1^Y7^X8,      }, // 204
+    {S2^X8^Y8,      0,             0,             0,             }, // 205
+    {S2^Y7^X8,      0,             0,             0,             }, // 206
+    {S2^X7^Y7,      0,             0,             0,             }, // 207
+    {S2^Y6^X7,      0,             0,             0,             }, // 208
+    {S2^X6^Y6,      0,             0,             0,             }, // 209
+    {S1^X6^Y6,      0,             0,             0,             }, // 210
+    {S1^Y8^X9,      S2^X8^Y9,      0,             0,             }, // 211
+    {S1^Y7^X9,      S2^X8^Y8,      0,             0,             }, // 212
+    {S1^Y7^X8,      S2^X7^Y8,      0,             0,             }, // 213
+    {S1^Y6^X8,      S2^X7^Y7,      0,             0,             }, // 214
+    {S1^Y6^X7,      S2^X6^Y7,      0,             0,             }, // 215
+    {Z2^X5^Y6,      0,             0,             0,             }, // 216
+    {S1^X5^Y6,      0,             0,             0,             }, // 217
+    {S0^X8^Y10,     S1^Y8^X10,     S2^X9^Y9,      0,             }, // 218
+    {S0^X8^Y9,      S1^Y7^X10,     S2^Y8^X9,      0,             }, // 219
+    {S0^X7^Y9,      S1^Y7^X9,      S2^X8^Y8,      0,             }, // 220
+    {S0^X7^Y8,      S1^Y6^X9,      S2^Y7^X8,      0,             }, // 221
+    {S0^X6^Y8,      S1^Y6^X8,      S2^X7^Y7,      0,             }, // 222
+    {S2^X8^Y9,      Z2^X6^Y6,      0,             0,             }, // 223
+    {S2^X8^Y8,      Z2^X6^Y6,      0,             0,             }, // 224
+    {S2^X7^Y8,      Z2^X6^Y6,      0,             0,             }, // 225
+    {S1^X7^Y7,      S2^X6^Y6,      0,             0,             }, // 226
+    {S0^Y7^X10,     S1^X8^Y9,      S2^Y8^X9,      0,             }, // 227
+    {X3^Y9,         S0^X6^Y8,      S1^X7^Y7,      0,             }, // 228
+    {Y8^X11,        S0^X8^Y11,     S1^Y9^X10,     S2^X9^Y10,     }, // 229
+    {Y7^X11,        S0^X8^Y10,     S1^Y8^X10,     S2^X9^Y9,      }, // 230
+    {Y7^X10,        S0^X7^Y10,     S1^Y8^X9,      S2^X8^Y9,      }, // 231
+    {Y3^X10,        S0^X7^Y9,      S1^Y7^X9,      S2^X8^Y8,      }, // 232
+    {Y3^X9,         S0^X6^Y9,      S1^Y7^X8,      S2^X7^Y8,      }, // 233
+    {S1^Y8^X10,     S2^X9^Y9,      Z2^X6^Y7,      0,             }, // 234
+    {S1^Y7^X10,     S2^Y8^X9,      Z2^X6^Y7,      0,             }, // 235
+    {S1^Y7^X9,      S2^X8^Y8,      Z2^X6^Y7,      0,             }, // 236
+    {S0^X7^Y8,      S1^Y7^X8,      Z2^X6^Y7,      0,             }, // 237
+    {X3^Y8,         S0^X7^Y7,      S1^X6^Y7,      0,             }, // 238
 };
 
-const UINT_64 SW_64K_Z_X_8xaa_RBPLUS[][16]=
+const UINT_8 DCC_64K_R_X_PATIDX[] =
 {
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Y5 ^ X8,        Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X1 ^ X5 ^ Y7,   Y1 ^ Y5 ^ X7,   X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X2,             Y2,             Y3 ^ X8,        X3 ^ Y8,        Y4 ^ X7,        Y0 ^ X4 ^ Y7,   X1 ^ X5 ^ Y6,   Y1 ^ Y5 ^ X6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Z0 ^ X4 ^ Y4,   X3,             Y3,             Y4 ^ X9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Z0 ^ X4 ^ Y4,   X3,             Y3,             Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Z0 ^ X4 ^ Y4,   X3,             Y3,             Y4 ^ X9,        Y5 ^ X8,        Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Z0 ^ X4 ^ Y4,   X2,             X3,             Y3 ^ X9,        Y4 ^ X8,        Y1 ^ X5 ^ Y7,   X1 ^ Y5 ^ X7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Z0 ^ X4 ^ Y4,   X2,             Y2,             X3 ^ Y7,        Y3 ^ X7,        Y0 ^ X4 ^ Y6,   X1 ^ Y4 ^ X6,   Y1 ^ X5 ^ Y5    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3,             Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        Y5 ^ X8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3,             Y5 ^ X8,        Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X2,             X3,             Y3 ^ X8,        Y1 ^ X5 ^ Y7,   X1 ^ Y5 ^ X7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y4 ^ X5 ^ Y5,   Y0 ^ X4 ^ Y4,   X2,             X3,             Y3 ^ X7,        Y1 ^ X4 ^ Y7,   Y2 ^ X5 ^ Y6,   X1 ^ Y5 ^ X6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X3,             Y3,             X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X3,             Y3,             X5 ^ Y8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X3,             Y3,             Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y2 ^ X5 ^ Y5,   X2,             X3,             Y3 ^ X7,        Y1 ^ X5 ^ Y6,   X1 ^ Y5 ^ X6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y4 ^ X5 ^ Y5,   Y0 ^ X4 ^ Y4,   X1 ^ X5 ^ Y5,   X2,             X3,             Y3 ^ X6,        Y1 ^ X4 ^ Y6,   Y2 ^ X5 ^ Y5    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3,             X5 ^ Y8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X3,             Y3,             Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   X3,             Y3,             X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y1 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y4 ^ X6 ^ Y6,   Y0 ^ X4 ^ Y4,   X3,             Y3,             X1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7,   Y1 ^ X5 ^ Y5    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3,             X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3,             X5 ^ Y8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X3,             Y3,             Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   X3,             Y3,             X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y4 ^ X6 ^ Y6,   Y0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   X3,             Y3,             X1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X3,             Y3,             Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X3,             Y3,             X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2 ^ X5 ^ Y6,   X3,             Y3,             Y1 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   X2 ^ X5 ^ Y6,   X3,             Y3,             X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y4 ^ X6 ^ Y6,   Y0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   Y2 ^ X5 ^ Y6,   X3,             Y3,             X1 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X3,             Y3,             Y6 ^ X7,        Y2 ^ X6 ^ Y7,   X5 ^ Y6         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X3,             Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X5 ^ Y6         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X3,             Y3,             X2 ^ Y6 ^ X7,   Y1 ^ X6 ^ Y7,   Y2 ^ X5 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X3,             Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X1 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y4 ^ X7 ^ Y7,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X3,             Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X1 ^ X5 ^ Y6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X3,             Y3,             Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X3,             Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   X3,             Y3,             X2 ^ Y6 ^ X7,   Y1 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   X3,             Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y4 ^ X7 ^ Y7,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   X3,             Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        X3,             Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y2 ^ X6 ^ Y6,   X3,             Y3,             X2 ^ X6 ^ Y6    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   X2 ^ X6 ^ Y6,   X3,             Y3,             Y1 ^ X6 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   Y2 ^ X6 ^ Y6,   X3,             Y3,             X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y4 ^ X7 ^ Y7,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   X2 ^ X6 ^ Y6,   X3,             Y3,             Y2 ^ X6 ^ Y6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X3,             Y3,             Y2 ^ X6 ^ Y7,   X6 ^ Y6         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X3,             Y3,             X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X3,             Y3,             Y1 ^ X6 ^ Y7,   X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   X3,             Y3,             X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y4 ^ X8 ^ Y8,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   X3,             Y3,             X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X3,             Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y2 ^ X6 ^ Y6,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X2 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3,             Y3,             Y1 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y4 ^ X8 ^ Y8,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y2 ^ X6 ^ Y8,   X3,             Y3              },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8,   X3,             Y3              },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X2 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y1 ^ X6 ^ Y8,   X3,             Y3              },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8,   X3,             Y3              },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y4 ^ X8 ^ Y8,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8,   X3,             Y3              },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X3,             Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X2 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X3,             Y3,             Y1 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y4 ^ X9 ^ Y9,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X3,             Y3,             X2 ^ X6 ^ Y7    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Y1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3,             Y3              },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             Y4 ^ X9 ^ Y9,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3,             Y3              },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Y5 ^ X8,        Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X1 ^ X5 ^ Y7,   Y1 ^ Y5 ^ X7,   X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X2,             Y2,             Y3 ^ X8,        X3 ^ Y8,        Y4 ^ X7,        Y0 ^ X4 ^ Y7,   X1 ^ X5 ^ Y6,   Y1 ^ Y5 ^ X6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4 ^ X9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Z0 ^ X4 ^ Y4,   Y3,             Y4 ^ X9,        Y5 ^ X8,        Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X2,             Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X9,        Y4 ^ X8,        Y1 ^ X5 ^ Y7,   X1 ^ Y5 ^ X7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X2,             Z0 ^ X4 ^ Y4,   Y2,             X3 ^ Y7,        Y3 ^ X7,        Y0 ^ X4 ^ Y6,   X1 ^ Y4 ^ X6,   Y1 ^ X5 ^ Y5    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        Y5 ^ X8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3,             Y5 ^ X8,        Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X3,             Y3 ^ X8,        Y1 ^ X5 ^ Y7,   X1 ^ Y5 ^ X7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X2,             Y4 ^ X5 ^ Y5,   Y0 ^ X4 ^ Y4,   X3,             Y3 ^ X7,        Y1 ^ X4 ^ Y7,   Y2 ^ X5 ^ Y6,   X1 ^ Y5 ^ X6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y3,             X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y3,             X5 ^ Y8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y3,             Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X2,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y2 ^ X5 ^ Y5,   X3,             Y3 ^ X7,        Y1 ^ X5 ^ Y6,   X1 ^ Y5 ^ X6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X2,             Y4 ^ X5 ^ Y5,   Y0 ^ X4 ^ Y4,   X1 ^ X5 ^ Y5,   X3,             Y3 ^ X6,        Y1 ^ X4 ^ Y6,   Y2 ^ X5 ^ Y5    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             X5 ^ Y8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y3,             Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y3,             X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y1 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y4 ^ X6 ^ Y6,   Y0 ^ X4 ^ Y4,   Y3,             X1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7,   Y1 ^ X5 ^ Y5    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             X5 ^ Y8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y3,             Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   Y3,             X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y4 ^ X6 ^ Y6,   Y0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   Y3,             X1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y3,             Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y3,             X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2 ^ X5 ^ Y6,   Y3,             Y1 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   X2 ^ X5 ^ Y6,   Y3,             X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y4 ^ X6 ^ Y6,   Y0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   Y2 ^ X5 ^ Y6,   Y3,             X1 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y3,             Y6 ^ X7,        Y2 ^ X6 ^ Y7,   X5 ^ Y6         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X5 ^ Y6         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y3,             X2 ^ Y6 ^ X7,   Y1 ^ X6 ^ Y7,   Y2 ^ X5 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X1 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y4 ^ X7 ^ Y7,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X1 ^ X5 ^ Y6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y3,             Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   Y3,             X2 ^ Y6 ^ X7,   Y1 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y4 ^ X7 ^ Y7,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   Y3,             X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y2 ^ X6 ^ Y6,   Y3,             X2 ^ X6 ^ Y6    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   X2 ^ X6 ^ Y6,   Y3,             Y1 ^ X6 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   Y2 ^ X6 ^ Y6,   Y3,             X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y4 ^ X7 ^ Y7,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   X2 ^ X6 ^ Y6,   Y3,             Y2 ^ X6 ^ Y6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y3,             Y2 ^ X6 ^ Y7,   X6 ^ Y6         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y3,             X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   Y3,             Y1 ^ X6 ^ Y7,   X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y3,             X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y4 ^ X8 ^ Y8,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y3,             X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y2 ^ X6 ^ Y6,   Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X2 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3,             Y1 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y4 ^ X8 ^ Y8,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3,             X2 ^ X6 ^ Y7    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y2 ^ X6 ^ Y8,   Y3              },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8,   Y3              },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X2 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y1 ^ X6 ^ Y8,   Y3              },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8,   Y3              },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y4 ^ X8 ^ Y8,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8,   Y3              },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y3,             Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X2 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y3,             Y1 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y4 ^ X9 ^ Y9,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y3,             X2 ^ X6 ^ Y7    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7,   Y3              },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3              },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Y1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3              },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3              },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y4 ^ X9 ^ Y9,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3              },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             X4 ^ Y9,        Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X9,        X4 ^ Y9,        Y5 ^ X8,        Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             Y2,             X3,             Y3 ^ X9,        X4 ^ Y8,        Y4 ^ X8,        X1 ^ X5 ^ Y7,   Y1 ^ Y5 ^ X7,   X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X2,             Y2,             Y3 ^ X8,        X3 ^ Y8,        Y4 ^ X7,        Y0 ^ X4 ^ Y7,   X1 ^ X5 ^ Y6,   Y1 ^ Y5 ^ X6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4 ^ X9,        Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4 ^ X9,        X5 ^ Y8,        Y5 ^ X8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Z0 ^ X4 ^ Y4,   Y4 ^ X9,        Y5 ^ X8,        Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X2,             X3,             Z0 ^ X4 ^ Y4,   Y3 ^ X9,        Y4 ^ X8,        Y1 ^ X5 ^ Y7,   X1 ^ Y5 ^ X7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X2,             Y2,             Z0 ^ X4 ^ Y4,   X3 ^ Y7,        Y3 ^ X7,        Y0 ^ X4 ^ Y6,   X1 ^ Y4 ^ X6,   Y1 ^ X5 ^ Y5    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y5 ^ X8,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y8,        Y5 ^ X8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y5 ^ X8,        Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y3 ^ X8,        Y1 ^ X5 ^ Y7,   X1 ^ Y5 ^ X7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X2,             X3,             Y4 ^ X5 ^ Y5,   Y0 ^ X4 ^ Y4,   Y3 ^ X7,        Y1 ^ X4 ^ Y7,   Y2 ^ X5 ^ Y6,   X1 ^ Y5 ^ X6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X5 ^ Y8,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X2,             X3,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y2 ^ X5 ^ Y5,   Y3 ^ X7,        Y1 ^ X5 ^ Y6,   X1 ^ Y5 ^ X6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X2,             X3,             Y4 ^ X5 ^ Y5,   Y0 ^ X4 ^ Y4,   X1 ^ X5 ^ Y5,   Y3 ^ X6,        Y1 ^ X4 ^ Y6,   Y2 ^ X5 ^ Y5    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7,   Z0 ^ X5 ^ Y5    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   X5 ^ Y8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7,   Z0 ^ X5 ^ Y5    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y1 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Y0 ^ X4 ^ Y4,   X1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7,   Y1 ^ X5 ^ Y5    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y8,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Y0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   X1 ^ X5 ^ Y8,   X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X2 ^ X6 ^ Y7,   Y2 ^ Y6 ^ X7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y2 ^ X5 ^ Y6,   Y1 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Z0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   X2 ^ X5 ^ Y6,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y3,             Y4 ^ X6 ^ Y6,   Y0 ^ X4 ^ Y4,   Y1 ^ X5 ^ Y5,   Y2 ^ X5 ^ Y6,   X1 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y6 ^ X7,        Y2 ^ X6 ^ Y7,   X5 ^ Y6         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X5 ^ Y6         },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X2 ^ Y6 ^ X7,   Y1 ^ X6 ^ Y7,   Y2 ^ X5 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X1 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7,   X1 ^ X5 ^ Y6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   X2 ^ Y6 ^ X7,   Y1 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   X2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Y7    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y6    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   X2 ^ X6 ^ Y6,   Y1 ^ X6 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y3,             Y4 ^ X7 ^ Y7,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X6,   X1 ^ X5 ^ Y6,   X2 ^ X6 ^ Y6,   Y2 ^ X6 ^ Y6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y2 ^ X6 ^ Y7,   X6 ^ Y6         },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   Y1 ^ X6 ^ Y7,   X2 ^ X6 ^ Y6    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   X2 ^ X6 ^ Y7,   Y2 ^ X6 ^ Y6    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X2 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y1 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y7    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y2 ^ X6 ^ Y8    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X2 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y1 ^ X6 ^ Y8    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y3,             Y4 ^ X8 ^ Y8,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X7,   X1 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2 ^ X6 ^ Y8    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X2 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y1 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X2,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        Y2 ^ X6 ^ Y7    },
-    {0,              S0,             S1,             S2,             X0,             Y0,             X1,             Y1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              S0,             S1,             S2,             X0,             Y0,             X1,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   Y1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              S0,             S1,             S2,             X0,             Y0,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Z0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              S0,             S1,             S2,             X0,             X3,             Y3,             Y4 ^ X9 ^ Y9,   Y0 ^ X4 ^ Y4,   Y1 ^ Y5 ^ X8,   X1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+       0, // 1 pipes 1 bpe ua @ SW_64K_R_X 1xaa @ Navi1x
+       1, // 1 pipes 2 bpe ua @ SW_64K_R_X 1xaa @ Navi1x
+       2, // 1 pipes 4 bpe ua @ SW_64K_R_X 1xaa @ Navi1x
+       3, // 1 pipes 8 bpe ua @ SW_64K_R_X 1xaa @ Navi1x
+       4, // 1 pipes 16 bpe ua @ SW_64K_R_X 1xaa @ Navi1x
+       5, // 2 pipes 1 bpe ua @ SW_64K_R_X 1xaa @ Navi1x
+       6, // 2 pipes 2 bpe ua @ SW_64K_R_X 1xaa @ Navi1x
+       2, // 2 pipes 4 bpe ua @ SW_64K_R_X 1xaa @ Navi1x
+       3, // 2 pipes 8 bpe ua @ SW_64K_R_X 1xaa @ Navi1x
+       4, // 2 pipes 16 bpe ua @ SW_64K_R_X 1xaa @ Navi1x
+       7, // 4+ pipes 1 bpe ua @ SW_64K_R_X 1xaa @ Navi1x
+       6, // 4+ pipes 2 bpe ua @ SW_64K_R_X 1xaa @ Navi1x
+       2, // 4+ pipes 4 bpe ua @ SW_64K_R_X 1xaa @ Navi1x
+       3, // 4+ pipes 8 bpe ua @ SW_64K_R_X 1xaa @ Navi1x
+       4, // 4+ pipes 16 bpe ua @ SW_64K_R_X 1xaa @ Navi1x
+       0, // 1 pipes 1 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+       1, // 1 pipes 2 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+       2, // 1 pipes 4 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+       3, // 1 pipes 8 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+       4, // 1 pipes 16 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+       8, // 2 pipes 1 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+       9, // 2 pipes 2 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      10, // 2 pipes 4 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      11, // 2 pipes 8 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      12, // 2 pipes 16 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      13, // 4 pipes 1 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      14, // 4 pipes 2 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      15, // 4 pipes 4 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      16, // 4 pipes 8 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      17, // 4 pipes 16 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      18, // 8 pipes 1 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      19, // 8 pipes 2 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      20, // 8 pipes 4 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      21, // 8 pipes 8 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      22, // 8 pipes 16 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      23, // 16 pipes 1 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      24, // 16 pipes 2 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      25, // 16 pipes 4 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      26, // 16 pipes 8 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      27, // 16 pipes 16 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      28, // 32 pipes 1 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      29, // 32 pipes 2 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      30, // 32 pipes 4 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      31, // 32 pipes 8 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      32, // 32 pipes 16 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      33, // 64 pipes 1 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      34, // 64 pipes 2 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      35, // 64 pipes 4 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      36, // 64 pipes 8 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
+      37, // 64 pipes 16 bpe pa @ SW_64K_R_X 1xaa @ Navi1x
 };
 
-const UINT_64 SW_4K_S3_RBPLUS[][12]=
+const UINT_8 HTILE_PATIDX[] =
 {
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2              },
+       0, // 1xaa ua @ HTILE_64K @ Navi1x
+       0, // 2xaa ua @ HTILE_64K @ Navi1x
+       0, // 4xaa ua @ HTILE_64K @ Navi1x
+       0, // 8xaa ua @ HTILE_64K @ Navi1x
+       0, // 1 pipes 1xaa pa @ HTILE_64K @ Navi1x
+       0, // 1 pipes 2xaa pa @ HTILE_64K @ Navi1x
+       0, // 1 pipes 4xaa pa @ HTILE_64K @ Navi1x
+       0, // 1 pipes 8xaa pa @ HTILE_64K @ Navi1x
+       1, // 2 pipes 1xaa pa @ HTILE_64K @ Navi1x
+       1, // 2 pipes 2xaa pa @ HTILE_64K @ Navi1x
+       1, // 2 pipes 4xaa pa @ HTILE_64K @ Navi1x
+       1, // 2 pipes 8xaa pa @ HTILE_64K @ Navi1x
+       2, // 4 pipes 1xaa pa @ HTILE_64K @ Navi1x
+       2, // 4 pipes 2xaa pa @ HTILE_64K @ Navi1x
+       2, // 4 pipes 4xaa pa @ HTILE_64K @ Navi1x
+       2, // 4 pipes 8xaa pa @ HTILE_64K @ Navi1x
+       3, // 8 pipes 1xaa pa @ HTILE_64K @ Navi1x
+       3, // 8 pipes 2xaa pa @ HTILE_64K @ Navi1x
+       3, // 8 pipes 4xaa pa @ HTILE_64K @ Navi1x
+       3, // 8 pipes 8xaa pa @ HTILE_64K @ Navi1x
+       4, // 16 pipes 1xaa pa @ HTILE_64K @ Navi1x
+       4, // 16 pipes 2xaa pa @ HTILE_64K @ Navi1x
+       4, // 16 pipes 4xaa pa @ HTILE_64K @ Navi1x
+       5, // 16 pipes 8xaa pa @ HTILE_64K @ Navi1x
+       6, // 32 pipes 1xaa pa @ HTILE_64K @ Navi1x
+       6, // 32 pipes 2xaa pa @ HTILE_64K @ Navi1x
+       7, // 32 pipes 4xaa pa @ HTILE_64K @ Navi1x
+       8, // 32 pipes 8xaa pa @ HTILE_64K @ Navi1x
+       9, // 64 pipes 1xaa pa @ HTILE_64K @ Navi1x
+      10, // 64 pipes 2xaa pa @ HTILE_64K @ Navi1x
+      11, // 64 pipes 4xaa pa @ HTILE_64K @ Navi1x
+      12, // 64 pipes 8xaa pa @ HTILE_64K @ Navi1x
 };
 
-const UINT_64 SW_4K_S3_X_RBPLUS[][12]=
+const UINT_8 CMASK_64K_PATIDX[] =
 {
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             X2 ^ Y2 ^ Z2,   X2,             Z2,             Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X2 ^ Z2,   X2,             Z2,             Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             X1 ^ Y1 ^ Z2,   X1,             Z2,             Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X3 ^ Z3,   X2 ^ Z2 ^ Y3,   Z2,             Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X3 ^ Z3,   X2 ^ Y2 ^ Z2,   Z2,             Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X2 ^ Z3,   X1 ^ Y2 ^ Z2,   Z2,             Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X4 ^ Z4,   X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X4 ^ Z4,   X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X3 ^ Z4,   X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X3 ^ Z3,   X2 ^ Z2 ^ Y3,   Z2,             Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X3 ^ Z3,   X2 ^ Y2 ^ Z2,   Z2,             Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X2 ^ Z3,   X1 ^ Y2 ^ Z2,   Z2,             Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X4 ^ Z4,   X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X4 ^ Z4,   X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X3 ^ Z4,   X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X5 ^ Z5,   X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X5 ^ Z5,   X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X4 ^ Z5,   X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X4 ^ Z4,   X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X4 ^ Z4,   X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X3 ^ Z4,   X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X5 ^ Z5,   X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X5 ^ Z5,   X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X4 ^ Z5,   X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X5 ^ Z5,   X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X5 ^ Z5,   X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X4 ^ Z5,   X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X5 ^ Z5,   X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X5 ^ Z5,   X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X4 ^ Z5,   X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X5 ^ Z5,   X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X5 ^ Z5,   X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X4 ^ Z5,   X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X5 ^ Z5,   X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X5 ^ Z5,   X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X4 ^ Z5,   X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X5 ^ Z5,   X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X5 ^ Z5,   X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X4 ^ Z5,   X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X5 ^ Z5,   X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X5 ^ Z5,   X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X4 ^ Z5,   X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y3 ^ Z3,   Z3,             Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y3 ^ Z3,   Z3,             Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z2 ^ Y3,   Z2,             Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y2 ^ Z2,   Z2,             Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y2 ^ Z2,   Z2,             Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X3 ^ Y3,   Y3              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Y2 ^ Z2 ^ X3,   Y2              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             X2 ^ Y2 ^ Z2,   Y2              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3    },
+       0, // 1 bpe ua @ CMASK_64K @ Navi1x
+       0, // 2 bpe ua @ CMASK_64K @ Navi1x
+       0, // 4 bpe ua @ CMASK_64K @ Navi1x
+       0, // 8 bpe ua @ CMASK_64K @ Navi1x
+       0, // 1 pipes 1 bpe pa @ CMASK_64K @ Navi1x
+       0, // 1 pipes 2 bpe pa @ CMASK_64K @ Navi1x
+       0, // 1 pipes 4 bpe pa @ CMASK_64K @ Navi1x
+       0, // 1 pipes 8 bpe pa @ CMASK_64K @ Navi1x
+       1, // 2 pipes 1 bpe pa @ CMASK_64K @ Navi1x
+       1, // 2 pipes 2 bpe pa @ CMASK_64K @ Navi1x
+       1, // 2 pipes 4 bpe pa @ CMASK_64K @ Navi1x
+       1, // 2 pipes 8 bpe pa @ CMASK_64K @ Navi1x
+       2, // 4 pipes 1 bpe pa @ CMASK_64K @ Navi1x
+       2, // 4 pipes 2 bpe pa @ CMASK_64K @ Navi1x
+       2, // 4 pipes 4 bpe pa @ CMASK_64K @ Navi1x
+       2, // 4 pipes 8 bpe pa @ CMASK_64K @ Navi1x
+       3, // 8 pipes 1 bpe pa @ CMASK_64K @ Navi1x
+       3, // 8 pipes 2 bpe pa @ CMASK_64K @ Navi1x
+       3, // 8 pipes 4 bpe pa @ CMASK_64K @ Navi1x
+       3, // 8 pipes 8 bpe pa @ CMASK_64K @ Navi1x
+       4, // 16 pipes 1 bpe pa @ CMASK_64K @ Navi1x
+       4, // 16 pipes 2 bpe pa @ CMASK_64K @ Navi1x
+       4, // 16 pipes 4 bpe pa @ CMASK_64K @ Navi1x
+       4, // 16 pipes 8 bpe pa @ CMASK_64K @ Navi1x
+       5, // 32 pipes 1 bpe pa @ CMASK_64K @ Navi1x
+       5, // 32 pipes 2 bpe pa @ CMASK_64K @ Navi1x
+       5, // 32 pipes 4 bpe pa @ CMASK_64K @ Navi1x
+       5, // 32 pipes 8 bpe pa @ CMASK_64K @ Navi1x
+       6, // 64 pipes 1 bpe pa @ CMASK_64K @ Navi1x
+       6, // 64 pipes 2 bpe pa @ CMASK_64K @ Navi1x
+       6, // 64 pipes 4 bpe pa @ CMASK_64K @ Navi1x
+       7, // 64 pipes 8 bpe pa @ CMASK_64K @ Navi1x
 };
 
-const UINT_64 SW_64K_S3_RBPLUS[][16]=
+const UINT_8 DCC_64K_R_X_RBPLUS_PATIDX[] =
 {
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
+       0, // 1 bpe ua @ SW_64K_R_X 1xaa @ RbPlus
+       1, // 2 bpe ua @ SW_64K_R_X 1xaa @ RbPlus
+       2, // 4 bpe ua @ SW_64K_R_X 1xaa @ RbPlus
+       3, // 8 bpe ua @ SW_64K_R_X 1xaa @ RbPlus
+       4, // 16 bpe ua @ SW_64K_R_X 1xaa @ RbPlus
+       0, // 1 pipes (1 PKRs) 1 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+       1, // 1 pipes (1 PKRs) 2 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+       2, // 1 pipes (1 PKRs) 4 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+       3, // 1 pipes (1 PKRs) 8 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+       4, // 1 pipes (1 PKRs) 16 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      38, // 2 pipes (1-2 PKRs) 1 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      39, // 2 pipes (1-2 PKRs) 2 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      40, // 2 pipes (1-2 PKRs) 4 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      41, // 2 pipes (1-2 PKRs) 8 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      42, // 2 pipes (1-2 PKRs) 16 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      43, // 4 pipes (1-2 PKRs) 1 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      44, // 4 pipes (1-2 PKRs) 2 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      45, // 4 pipes (1-2 PKRs) 4 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      46, // 4 pipes (1-2 PKRs) 8 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      47, // 4 pipes (1-2 PKRs) 16 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      48, // 8 pipes (2 PKRs) 1 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      49, // 8 pipes (2 PKRs) 2 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      50, // 8 pipes (2 PKRs) 4 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      51, // 8 pipes (2 PKRs) 8 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      52, // 8 pipes (2 PKRs) 16 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      53, // 4 pipes (4 PKRs) 1 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      54, // 4 pipes (4 PKRs) 2 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      55, // 4 pipes (4 PKRs) 4 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      56, // 4 pipes (4 PKRs) 8 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      57, // 4 pipes (4 PKRs) 16 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      58, // 8 pipes (4 PKRs) 1 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      59, // 8 pipes (4 PKRs) 2 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      60, // 8 pipes (4 PKRs) 4 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      61, // 8 pipes (4 PKRs) 8 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      62, // 8 pipes (4 PKRs) 16 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      63, // 16 pipes (4 PKRs) 1 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      64, // 16 pipes (4 PKRs) 2 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      65, // 16 pipes (4 PKRs) 4 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      66, // 16 pipes (4 PKRs) 8 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      67, // 16 pipes (4 PKRs) 16 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      68, // 8 pipes (8 PKRs) 1 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      69, // 8 pipes (8 PKRs) 2 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      70, // 8 pipes (8 PKRs) 4 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      71, // 8 pipes (8 PKRs) 8 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      72, // 8 pipes (8 PKRs) 16 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      73, // 16 pipes (8 PKRs) 1 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      74, // 16 pipes (8 PKRs) 2 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      75, // 16 pipes (8 PKRs) 4 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      76, // 16 pipes (8 PKRs) 8 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      77, // 16 pipes (8 PKRs) 16 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      78, // 32 pipes (8 PKRs) 1 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      79, // 32 pipes (8 PKRs) 2 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      80, // 32 pipes (8 PKRs) 4 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      81, // 32 pipes (8 PKRs) 8 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      82, // 32 pipes (8 PKRs) 16 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      83, // 16 pipes (16 PKRs) 1 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      84, // 16 pipes (16 PKRs) 2 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      85, // 16 pipes (16 PKRs) 4 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      86, // 16 pipes (16 PKRs) 8 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      87, // 16 pipes (16 PKRs) 16 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      88, // 32 pipes (16 PKRs) 1 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      89, // 32 pipes (16 PKRs) 2 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      90, // 32 pipes (16 PKRs) 4 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      91, // 32 pipes (16 PKRs) 8 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      92, // 32 pipes (16 PKRs) 16 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      93, // 64 pipes (16 PKRs) 1 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      94, // 64 pipes (16 PKRs) 2 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      95, // 64 pipes (16 PKRs) 4 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      96, // 64 pipes (16 PKRs) 8 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      97, // 64 pipes (16 PKRs) 16 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      98, // 32 pipes (32 PKRs) 1 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+      99, // 32 pipes (32 PKRs) 2 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+     100, // 32 pipes (32 PKRs) 4 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+     101, // 32 pipes (32 PKRs) 8 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+     102, // 32 pipes (32 PKRs) 16 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+     103, // 64 pipes (32 PKRs) 1 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+     104, // 64 pipes (32 PKRs) 2 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+     105, // 64 pipes (32 PKRs) 4 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+     106, // 64 pipes (32 PKRs) 8 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
+     107, // 64 pipes (32 PKRs) 16 bpe pa @ SW_64K_R_X 1xaa @ RbPlus
 };
 
-const UINT_64 SW_64K_S3_X_RBPLUS[][16]=
+const UINT_8 HTILE_RBPLUS_PATIDX[] =
 {
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             X2 ^ Y2 ^ Z2,   X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X2 ^ Z2,   X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             X1 ^ Y1 ^ Z2,   X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X3 ^ Z3,   X2 ^ Z2 ^ Y3,   Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X3 ^ Z3,   X2 ^ Y2 ^ Z2,   Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X2 ^ Z3,   X1 ^ Y2 ^ Z2,   Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X4 ^ Z4,   X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X4 ^ Z4,   X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X3 ^ Z4,   X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X3 ^ Z3,   X2 ^ Z2 ^ Y3,   Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X3 ^ Z3,   X2 ^ Y2 ^ Z2,   Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X2 ^ Z3,   X1 ^ Y2 ^ Z2,   Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X4 ^ Z4,   X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X4 ^ Z4,   X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X3 ^ Z4,   X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X5 ^ Z5,   X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X5 ^ Z5,   X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X4 ^ Z5,   X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X4 ^ Z4,   X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X4 ^ Z4,   X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X3 ^ Z4,   X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X5 ^ Z5,   X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X5 ^ Z5,   X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X4 ^ Z5,   X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X7 ^ Z7,   X3 ^ Y6 ^ Z6,   Z3 ^ Y5 ^ X6,   Y3 ^ X5 ^ Z5,   X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X6 ^ Z7,   X2 ^ Y6 ^ Z6,   Z3 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z5,   X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X6 ^ Z6,   X2 ^ Z5 ^ Y6,   Z2 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z4,   X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X6 ^ Z6,   X2 ^ Y5 ^ Z5,   Z2 ^ Y4 ^ X5,   Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X5 ^ Z6,   X1 ^ Y5 ^ Z5,   Z2 ^ X4 ^ Y4,   Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X5 ^ Z5,   X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X5 ^ Z5,   X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X4 ^ Z5,   X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X7 ^ Z7,   X3 ^ Y6 ^ Z6,   Z3 ^ Y5 ^ X6,   Y3 ^ X5 ^ Z5,   X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X6 ^ Z7,   X2 ^ Y6 ^ Z6,   Z3 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z5,   X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X6 ^ Z6,   X2 ^ Z5 ^ Y6,   Z2 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z4,   X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X6 ^ Z6,   X2 ^ Y5 ^ Z5,   Z2 ^ Y4 ^ X5,   Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X5 ^ Z6,   X1 ^ Y5 ^ Z5,   Z2 ^ X4 ^ Y4,   Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X8 ^ Z8,   X3 ^ Y7 ^ Z7,   Z3 ^ Y6 ^ X7,   Y3 ^ X6 ^ Z6,   X4 ^ Y5 ^ Z5,   Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X7 ^ Z8,   X2 ^ Y7 ^ Z7,   Z3 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z6,   X3 ^ Y5 ^ Z5,   X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X7 ^ Z7,   X2 ^ Z6 ^ Y7,   Z2 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z5,   X3 ^ Z4 ^ Y5,   Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X7 ^ Z7,   X2 ^ Y6 ^ Z6,   Z2 ^ Y5 ^ X6,   Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X6 ^ Z7,   X1 ^ Y6 ^ Z6,   Z2 ^ X5 ^ Y5,   Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X7 ^ Z7,   X3 ^ Y6 ^ Z6,   Z3 ^ Y5 ^ X6,   Y3 ^ X5 ^ Z5,   X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X6 ^ Z7,   X2 ^ Y6 ^ Z6,   Z3 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z5,   X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X6 ^ Z6,   X2 ^ Z5 ^ Y6,   Z2 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z4,   X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X6 ^ Z6,   X2 ^ Y5 ^ Z5,   Z2 ^ Y4 ^ X5,   Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X5 ^ Z6,   X1 ^ Y5 ^ Z5,   Z2 ^ X4 ^ Y4,   Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X8 ^ Z8,   X3 ^ Y7 ^ Z7,   Z3 ^ Y6 ^ X7,   Y3 ^ X6 ^ Z6,   X4 ^ Y5 ^ Z5,   Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X7 ^ Z8,   X2 ^ Y7 ^ Z7,   Z3 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z6,   X3 ^ Y5 ^ Z5,   X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X7 ^ Z7,   X2 ^ Z6 ^ Y7,   Z2 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z5,   X3 ^ Z4 ^ Y5,   Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X7 ^ Z7,   X2 ^ Y6 ^ Z6,   Z2 ^ Y5 ^ X6,   Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X6 ^ Z7,   X1 ^ Y6 ^ Z6,   Z2 ^ X5 ^ Y5,   Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z2 ^ Y3,   Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y2 ^ Z2,   Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y2 ^ Z2,   Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y6 ^ Z6,   Z3 ^ Y5 ^ X6,   Y3 ^ X5 ^ Z5,   X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y6 ^ Z6,   Z3 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z5,   X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z5 ^ Y6,   Z2 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z4,   X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y5 ^ Z5,   Z2 ^ Y4 ^ X5,   Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y5 ^ Z5,   Z2 ^ X4 ^ Y4,   Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z4 ^ Y5,   Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y4 ^ Z4,   Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y4 ^ Z4,   Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y6 ^ Z6,   Z3 ^ Y5 ^ X6,   Y3 ^ X5 ^ Z5,   X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y6 ^ Z6,   Z3 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z5,   X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z5 ^ Y6,   Z2 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z4,   X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y5 ^ Z5,   Z2 ^ Y4 ^ X5,   Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y5 ^ Z5,   Z2 ^ X4 ^ Y4,   Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y7 ^ Z7,   Z3 ^ Y6 ^ X7,   Y3 ^ X6 ^ Z6,   X4 ^ Y5 ^ Z5,   Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y7 ^ Z7,   Z3 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z6,   X3 ^ Y5 ^ Z5,   X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z6 ^ Y7,   Z2 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z5,   X3 ^ Z4 ^ Y5,   Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y6 ^ Z6,   Z2 ^ Y5 ^ X6,   Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y6 ^ Z6,   Z2 ^ X5 ^ Y5,   Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y6 ^ Z6,   Z3 ^ Y5 ^ X6,   Y3 ^ X5 ^ Z5,   X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y6 ^ Z6,   Z3 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z5,   X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z5 ^ Y6,   Z2 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z4,   X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y5 ^ Z5,   Z2 ^ Y4 ^ X5,   Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y5 ^ Z5,   Z2 ^ X4 ^ Y4,   Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y7 ^ Z7,   Z3 ^ Y6 ^ X7,   Y3 ^ X6 ^ Z6,   X4 ^ Y5 ^ Z5,   Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y7 ^ Z7,   Z3 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z6,   X3 ^ Y5 ^ Z5,   X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z6 ^ Y7,   Z2 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z5,   X3 ^ Z4 ^ Y5,   Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y6 ^ Z6,   Z2 ^ Y5 ^ X6,   Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y6 ^ Z6,   Z2 ^ X5 ^ Y5,   Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y8 ^ Z8,   Z3 ^ Y7 ^ X8,   Y3 ^ X7 ^ Z7,   X4 ^ Y6 ^ Z6,   Z4 ^ Y5 ^ X6,   Y4 ^ X5 ^ Z5,   X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y8 ^ Z8,   Z3 ^ X7 ^ Y7,   Y3 ^ X6 ^ Z7,   X3 ^ Y6 ^ Z6,   Z4 ^ X5 ^ Y5,   X4 ^ Y4 ^ Z5,   X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z7 ^ Y8,   Z2 ^ X7 ^ Y7,   Y3 ^ X6 ^ Z6,   X3 ^ Z5 ^ Y6,   Z3 ^ X5 ^ Y5,   X4 ^ Y4 ^ Z4,   X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y7 ^ Z7,   Z2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y7 ^ Z7,   Z2 ^ X6 ^ Y6,   Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y7 ^ Z7,   Z3 ^ Y6 ^ X7,   Y3 ^ X6 ^ Z6,   X4 ^ Y5 ^ Z5,   Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y7 ^ Z7,   Z3 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z6,   X3 ^ Y5 ^ Z5,   X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z6 ^ Y7,   Z2 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z5,   X3 ^ Z4 ^ Y5,   Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y6 ^ Z6,   Z2 ^ Y5 ^ X6,   Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y6 ^ Z6,   Z2 ^ X5 ^ Y5,   Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y8 ^ Z8,   Z3 ^ Y7 ^ X8,   Y3 ^ X7 ^ Z7,   X4 ^ Y6 ^ Z6,   Z4 ^ Y5 ^ X6,   Y4 ^ X5 ^ Z5,   X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y8 ^ Z8,   Z3 ^ X7 ^ Y7,   Y3 ^ X6 ^ Z7,   X3 ^ Y6 ^ Z6,   Z4 ^ X5 ^ Y5,   X4 ^ Y4 ^ Z5,   X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z7 ^ Y8,   Z2 ^ X7 ^ Y7,   Y3 ^ X6 ^ Z6,   X3 ^ Z5 ^ Y6,   Z3 ^ X5 ^ Y5,   X4 ^ Y4 ^ Z4,   X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y7 ^ Z7,   Z2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y7 ^ Z7,   Z2 ^ X6 ^ Y6,   Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y5 ^ X6,   Y3 ^ X5 ^ Z5,   X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z5,   X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z4,   X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y4 ^ X5,   Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X4 ^ Y4,   Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y5 ^ X6,   Y3 ^ X5 ^ Z5,   X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z5,   X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z4,   X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y4 ^ X5,   Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X4 ^ Y4,   Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y6 ^ X7,   Y3 ^ X6 ^ Z6,   X4 ^ Y5 ^ Z5,   Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z6,   X3 ^ Y5 ^ Z5,   X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z5,   X3 ^ Z4 ^ Y5,   Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y5 ^ X6,   Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X5 ^ Y5,   Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y5 ^ X6,   Y3 ^ X5 ^ Z5,   X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z5,   X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z4,   X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y4 ^ X5,   Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X4 ^ Y4,   Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y6 ^ X7,   Y3 ^ X6 ^ Z6,   X4 ^ Y5 ^ Z5,   Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z6,   X3 ^ Y5 ^ Z5,   X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z5,   X3 ^ Z4 ^ Y5,   Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y5 ^ X6,   Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X5 ^ Y5,   Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y7 ^ X8,   Y3 ^ X7 ^ Z7,   X4 ^ Y6 ^ Z6,   Z4 ^ Y5 ^ X6,   Y4 ^ X5 ^ Z5,   X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X7 ^ Y7,   Y3 ^ X6 ^ Z7,   X3 ^ Y6 ^ Z6,   Z4 ^ X5 ^ Y5,   X4 ^ Y4 ^ Z5,   X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X7 ^ Y7,   Y3 ^ X6 ^ Z6,   X3 ^ Z5 ^ Y6,   Z3 ^ X5 ^ Y5,   X4 ^ Y4 ^ Z4,   X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X6 ^ Y6,   Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y6 ^ X7,   Y3 ^ X6 ^ Z6,   X4 ^ Y5 ^ Z5,   Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z6,   X3 ^ Y5 ^ Z5,   X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X6 ^ Y6,   Y3 ^ X5 ^ Z5,   X3 ^ Z4 ^ Y5,   Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y5 ^ X6,   Y2 ^ X5 ^ Z5,   X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X5 ^ Y5,   Y2 ^ X4 ^ Z5,   X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y7 ^ X8,   Y3 ^ X7 ^ Z7,   X4 ^ Y6 ^ Z6,   Z4 ^ Y5 ^ X6,   Y4 ^ X5 ^ Z5,   X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X7 ^ Y7,   Y3 ^ X6 ^ Z7,   X3 ^ Y6 ^ Z6,   Z4 ^ X5 ^ Y5,   X4 ^ Y4 ^ Z5,   X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X7 ^ Y7,   Y3 ^ X6 ^ Z6,   X3 ^ Z5 ^ Y6,   Z3 ^ X5 ^ Y5,   X4 ^ Y4 ^ Z4,   X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X6 ^ Y6,   Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y8 ^ X9,   Y3 ^ X8 ^ Z8,   X4 ^ Y7 ^ Z7,   Z4 ^ Y6 ^ X7,   Y4 ^ X6 ^ Z6,   X5 ^ Y5 ^ Z5    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X8 ^ Y8,   Y3 ^ X7 ^ Z8,   X3 ^ Y7 ^ Z7,   Z4 ^ X6 ^ Y6,   Y4 ^ X5 ^ Z6,   X4 ^ Y5 ^ Z5    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X8 ^ Y8,   Y3 ^ X7 ^ Z7,   X3 ^ Z6 ^ Y7,   Z3 ^ X6 ^ Y6,   Y4 ^ X5 ^ Z5,   X4 ^ Z4 ^ Y5    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y7 ^ X8,   Y2 ^ X7 ^ Z7,   X3 ^ Y6 ^ Z6,   Z3 ^ Y5 ^ X6,   Y3 ^ X5 ^ Z5,   X4 ^ Y4 ^ Z4    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X7 ^ Y7,   Y2 ^ X6 ^ Z7,   X2 ^ Y6 ^ Z6,   Z3 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z5,   X3 ^ Y4 ^ Z4    },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y7 ^ X8,   Y3 ^ X7 ^ Z7,   X4 ^ Y6 ^ Z6,   Z4 ^ Y5 ^ X6,   Y4 ^ X5 ^ Z5,   X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X7 ^ Y7,   Y3 ^ X6 ^ Z7,   X3 ^ Y6 ^ Z6,   Z4 ^ X5 ^ Y5,   X4 ^ Y4 ^ Z5,   X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X7 ^ Y7,   Y3 ^ X6 ^ Z6,   X3 ^ Z5 ^ Y6,   Z3 ^ X5 ^ Y5,   X4 ^ Y4 ^ Z4,   X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y6 ^ X7,   Y2 ^ X6 ^ Z6,   X3 ^ Y5 ^ Z5,   Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X6 ^ Y6,   Y2 ^ X5 ^ Z6,   X2 ^ Y5 ^ Z5,   Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y8 ^ X9,   Y3 ^ X8 ^ Z8,   X4 ^ Y7 ^ Z7,   Z4 ^ Y6 ^ X7,   Y4 ^ X6 ^ Z6,   X5 ^ Y5 ^ Z5    },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X8 ^ Y8,   Y3 ^ X7 ^ Z8,   X3 ^ Y7 ^ Z7,   Z4 ^ X6 ^ Y6,   Y4 ^ X5 ^ Z6,   X4 ^ Y5 ^ Z5    },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X8 ^ Y8,   Y3 ^ X7 ^ Z7,   X3 ^ Z6 ^ Y7,   Z3 ^ X6 ^ Y6,   Y4 ^ X5 ^ Z5,   X4 ^ Z4 ^ Y5    },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y7 ^ X8,   Y2 ^ X7 ^ Z7,   X3 ^ Y6 ^ Z6,   Z3 ^ Y5 ^ X6,   Y3 ^ X5 ^ Z5,   X4 ^ Y4 ^ Z4    },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X7 ^ Y7,   Y2 ^ X6 ^ Z7,   X2 ^ Y6 ^ Z6,   Z3 ^ X5 ^ Y5,   Y3 ^ X4 ^ Z5,   X3 ^ Y4 ^ Z4    },
+       0, // 1xaa ua @ HTILE_64K @ RbPlus
+       0, // 2xaa ua @ HTILE_64K @ RbPlus
+       0, // 4xaa ua @ HTILE_64K @ RbPlus
+       0, // 8xaa ua @ HTILE_64K @ RbPlus
+       0, // 1 pipes (1-2 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+       0, // 1 pipes (1-2 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+       0, // 1 pipes (1-2 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+       0, // 1 pipes (1-2 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      13, // 2 pipes (1-2 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      13, // 2 pipes (1-2 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      13, // 2 pipes (1-2 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      13, // 2 pipes (1-2 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      14, // 4 pipes (1-2 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      14, // 4 pipes (1-2 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      14, // 4 pipes (1-2 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      14, // 4 pipes (1-2 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      15, // 8 pipes (1-2 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      15, // 8 pipes (1-2 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      15, // 8 pipes (1-2 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      15, // 8 pipes (1-2 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      13, // 2 pipes (4 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      13, // 2 pipes (4 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      13, // 2 pipes (4 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      13, // 2 pipes (4 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      16, // 4 pipes (4 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      16, // 4 pipes (4 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      16, // 4 pipes (4 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      16, // 4 pipes (4 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      17, // 8 pipes (4 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      17, // 8 pipes (4 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      17, // 8 pipes (4 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      17, // 8 pipes (4 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      18, // 16 pipes (4 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      18, // 16 pipes (4 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      18, // 16 pipes (4 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      18, // 16 pipes (4 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      19, // 4 pipes (8 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      19, // 4 pipes (8 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      19, // 4 pipes (8 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      19, // 4 pipes (8 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      20, // 8 pipes (8 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      20, // 8 pipes (8 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      20, // 8 pipes (8 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      20, // 8 pipes (8 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      21, // 16 pipes (8 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      21, // 16 pipes (8 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      21, // 16 pipes (8 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      21, // 16 pipes (8 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      22, // 32 pipes (8 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      22, // 32 pipes (8 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      22, // 32 pipes (8 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      22, // 32 pipes (8 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      23, // 8 pipes (16 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      23, // 8 pipes (16 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      23, // 8 pipes (16 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      23, // 8 pipes (16 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      24, // 16 pipes (16 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      24, // 16 pipes (16 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      24, // 16 pipes (16 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      24, // 16 pipes (16 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      25, // 32 pipes (16 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      25, // 32 pipes (16 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      25, // 32 pipes (16 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      25, // 32 pipes (16 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      26, // 64 pipes (16 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      26, // 64 pipes (16 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      26, // 64 pipes (16 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      26, // 64 pipes (16 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      27, // 16 pipes (32 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      27, // 16 pipes (32 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      27, // 16 pipes (32 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      27, // 16 pipes (32 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      28, // 32 pipes (32 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      28, // 32 pipes (32 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      28, // 32 pipes (32 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      28, // 32 pipes (32 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
+      29, // 64 pipes (32 PKRs) 1xaa pa @ HTILE_64K @ RbPlus
+      29, // 64 pipes (32 PKRs) 2xaa pa @ HTILE_64K @ RbPlus
+      29, // 64 pipes (32 PKRs) 4xaa pa @ HTILE_64K @ RbPlus
+      29, // 64 pipes (32 PKRs) 8xaa pa @ HTILE_64K @ RbPlus
 };
 
-const UINT_64 SW_64K_S3_T_RBPLUS[][16]=
+const UINT_8 CMASK_64K_RBPLUS_PATIDX[] =
 {
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             X2 ^ Y2 ^ Z2,   X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X2 ^ Z2,   X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             X1 ^ Y1 ^ Z2,   X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X3 ^ Z3,   X2 ^ Z2 ^ Y3,   Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X3 ^ Z3,   X2 ^ Y2 ^ Z2,   Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X2 ^ Z3,   X1 ^ Y2 ^ Z2,   Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X5,        X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X4,        X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X4,        X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X4,        X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X3,        X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4 ^ Z4,   X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3 ^ Z4,   X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X3 ^ Z3,   X2 ^ Z2 ^ Y3,   Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X3 ^ Z3,   X2 ^ Y2 ^ Z2,   Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X2 ^ Z3,   X1 ^ Y2 ^ Z2,   Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X5,        X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X4,        X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X4,        X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X4,        X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X3,        X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2 ^ X5,        X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X4,        X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2 ^ X4,        X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1 ^ X4,        X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1 ^ X3,        X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X5,        X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3 ^ X4,        X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3 ^ X4,        X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4,        X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3,        X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X5,        X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3 ^ X4,        X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3 ^ X4,        X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4,        X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3,        X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X5,        X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3 ^ X4,        X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3 ^ X4,        X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4,        X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3,        X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z2 ^ Y3,   Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y2 ^ Z2,   Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y2 ^ Z2,   Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3 ^ Y4 ^ Z4,   Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2 ^ Y4 ^ Z4,   X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2 ^ Z3 ^ Y4,   Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2 ^ Y3 ^ Z3,   Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1 ^ Y3 ^ Z3,   X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X5,        X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3 ^ X4,        X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3 ^ X4,        X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4,        X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3,        X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X5,        X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3 ^ X4,        X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3 ^ X4,        X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4,        X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3,        X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X5,        X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3 ^ X4,        X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3 ^ X4,        X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4,        X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3,        X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4 ^ X5,        X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             X4 ^ Y4,        X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             X4 ^ Y4,        X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X4,        X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             X3 ^ Y3,        X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4 ^ X5,        X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             X4 ^ Y4,        X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             X4 ^ Y4,        X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X4,        X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             X3 ^ Y3,        X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X3 ^ Y3,   Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Y2 ^ Z2 ^ X3,   Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             X2 ^ Y2 ^ Z2,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X5,        X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3 ^ X4,        X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3 ^ X4,        X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4,        X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3,        X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3 ^ Y4 ^ X5,   Y3 ^ X4 ^ Z4,   X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z4,   X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2 ^ X4 ^ Y4,   X3 ^ Y3 ^ Z3,   X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2 ^ Y3 ^ X4,   Y2 ^ X3 ^ Z3,   X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2 ^ X3 ^ Y3,   X2 ^ Y2 ^ Z3,   X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X5,        X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3 ^ X4,        X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3 ^ X4,        X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4,        X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3,        X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X5,        X4 ^ Y4 ^ Z4,   Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3 ^ X4,        X3 ^ Y4 ^ Z4,   Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3 ^ X4,        X3 ^ Z3 ^ Y4,   Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2 ^ X4,        X3 ^ Y3 ^ Z3,   Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2 ^ X3,        X2 ^ Y3 ^ Z3,   Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4 ^ X5,        X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             X4 ^ Y4,        X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             X4 ^ Y4,        X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X4,        X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             X3 ^ Y3,        X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Y4 ^ Z4 ^ X5,   Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             X4 ^ Y4 ^ Z4,   Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3 ^ X4 ^ Y4,   Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Y3 ^ Z3 ^ X4,   Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             X3 ^ Y3 ^ Z3,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4 ^ X5,        X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             X4 ^ Y4,        X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             X4 ^ Y4,        X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X4,        X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             X3 ^ Y3,        X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4 ^ X5,        X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             X4 ^ Y4,        X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             X4 ^ Y4,        X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3 ^ X4,        X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             X3 ^ Y3,        X3              },
-    {X0,             X1,             Z0,             Y0,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             Z0,             Y1,             X1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              Z0,             Y0,             X0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
+       0, // 1 bpe ua @ CMASK_64K @ RbPlus
+       0, // 2 bpe ua @ CMASK_64K @ RbPlus
+       0, // 4 bpe ua @ CMASK_64K @ RbPlus
+       0, // 8 bpe ua @ CMASK_64K @ RbPlus
+       0, // 1 pipes (1-2 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+       0, // 1 pipes (1-2 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+       0, // 1 pipes (1-2 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+       0, // 1 pipes (1-2 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+       8, // 2 pipes (1-2 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+       8, // 2 pipes (1-2 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+       8, // 2 pipes (1-2 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+       8, // 2 pipes (1-2 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+       9, // 4 pipes (1-2 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+       9, // 4 pipes (1-2 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+       9, // 4 pipes (1-2 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+       9, // 4 pipes (1-2 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+      10, // 8 pipes (1-2 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+      10, // 8 pipes (1-2 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+      10, // 8 pipes (1-2 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+      10, // 8 pipes (1-2 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+       8, // 2 pipes (4 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+       8, // 2 pipes (4 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+       8, // 2 pipes (4 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+       8, // 2 pipes (4 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+      11, // 4 pipes (4 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+      11, // 4 pipes (4 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+      11, // 4 pipes (4 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+      11, // 4 pipes (4 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+      12, // 8 pipes (4 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+      12, // 8 pipes (4 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+      12, // 8 pipes (4 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+      12, // 8 pipes (4 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+      13, // 16 pipes (4 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+      13, // 16 pipes (4 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+      13, // 16 pipes (4 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+      13, // 16 pipes (4 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+      14, // 4 pipes (8 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+      14, // 4 pipes (8 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+      14, // 4 pipes (8 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+      14, // 4 pipes (8 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+      15, // 8 pipes (8 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+      15, // 8 pipes (8 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+      15, // 8 pipes (8 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+      16, // 8 pipes (8 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+      15, // 16 pipes (8 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+      15, // 16 pipes (8 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+      15, // 16 pipes (8 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+      17, // 16 pipes (8 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+      18, // 32 pipes (8 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+      18, // 32 pipes (8 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+      18, // 32 pipes (8 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+      19, // 32 pipes (8 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+      20, // 8 pipes (16 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+      20, // 8 pipes (16 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+      20, // 8 pipes (16 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+      21, // 8 pipes (16 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+      22, // 16 pipes (16 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+      22, // 16 pipes (16 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+      22, // 16 pipes (16 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+      23, // 16 pipes (16 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+      22, // 32 pipes (16 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+      22, // 32 pipes (16 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+      22, // 32 pipes (16 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+      24, // 32 pipes (16 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+      25, // 64 pipes (16 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+      25, // 64 pipes (16 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+      25, // 64 pipes (16 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+      32, // 64 pipes (16 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+      27, // 16 pipes (32 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+      27, // 16 pipes (32 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+      27, // 16 pipes (32 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+      28, // 16 pipes (32 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+      29, // 32 pipes (32 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+      29, // 32 pipes (32 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+      29, // 32 pipes (32 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+      33, // 32 pipes (32 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
+      29, // 64 pipes (32 PKRs) 1 bpe pa @ CMASK_64K @ RbPlus
+      29, // 64 pipes (32 PKRs) 2 bpe pa @ CMASK_64K @ RbPlus
+      29, // 64 pipes (32 PKRs) 4 bpe pa @ CMASK_64K @ RbPlus
+      34, // 64 pipes (32 PKRs) 8 bpe pa @ CMASK_64K @ RbPlus
 };
 
-const UINT_64 SW_64K_D3_X_RBPLUS[][16]=
+const UINT_8 CMASK_VAR_RBPLUS_PATIDX[] =
 {
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             X4 ^ Y4,        Y2,             Z3,             Y3,             X3,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X4 ^ Y4,        Y2,             Z3,             Y3,             X2,             Z4,             Y4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X4 ^ Y4,        Y2,             Z2,             Y3,             X2,             Z3,             Y4,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X4 ^ Y4,        Y1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y1 ^ X4 ^ Y4,   X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Y2,             Z3,             Y3,             X3,             Z4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Y2,             Z3,             Y3,             X2,             Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Y2,             Z2,             Y3,             X2,             Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z3 ^ Y4 ^ X5 ^ Y5,X4 ^ Y4,        Y1,             Z2,             Y2,             X2,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z3 ^ Y4 ^ X5 ^ Y5,Y1 ^ X4 ^ Y4,   X1,             Z2,             Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Z3 ^ X5,        Y2,             Y3,             X3,             Z4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Z3 ^ X5,        Y2,             Y3,             X2,             Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Z2 ^ X5,        Y2,             Y3,             X2,             Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z3 ^ Y4 ^ X5 ^ Y5,X4 ^ Y4,        Z2 ^ X5,        Y1,             Y2,             X2,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z3 ^ Y4 ^ X5 ^ Y5,Y1 ^ X4 ^ Y4,   Z2 ^ X5,        X1,             Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Y2,             Y3,             Z3,             X3,             Z4,             X5 ^ Y5         },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Z3,             Y3,             X2,             Z4,             X3,             Y2 ^ X5 ^ Y5    },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Z2,             Y3,             X2,             Z3,             X3,             Y2 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z3 ^ Y4 ^ X6 ^ Y6,X4 ^ Y4,        Z2,             Y2,             X2,             Y3,             X3,             Y1 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z3 ^ Y4 ^ X6 ^ Y6,Y1 ^ X4 ^ Y4,   Z2,             Y2,             X2,             Y3,             X3,             X1 ^ X5 ^ Y5    },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        X5 ^ Y5,        Y2,             Y3,             Z3,             X3,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Y2 ^ X5 ^ Y5,   Z3,             Y3,             X2,             Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Y2 ^ X5 ^ Y5,   Z2,             Y3,             X2,             Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z3 ^ Y4 ^ X6 ^ Y6,X4 ^ Y4,        Y1 ^ X5 ^ Y5,   Z2,             Y2,             X2,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z3 ^ Y4 ^ X6 ^ Y6,Y1 ^ X4 ^ Y4,   X1 ^ X5 ^ Y5,   Z2,             Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        X5 ^ Y5,        Z3 ^ X6,        Y2,             Y3,             X3,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Y2 ^ X5 ^ Y5,   Z3 ^ X6,        Y3,             X2,             Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Y2 ^ X5 ^ Y5,   Z2 ^ X6,        Y3,             X2,             Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z3 ^ Y4 ^ X6 ^ Y6,X4 ^ Y4,        Y1 ^ X5 ^ Y5,   Z2 ^ X6,        Y2,             X2,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z3 ^ Y4 ^ X6 ^ Y6,Y1 ^ X4 ^ Y4,   X1 ^ X5 ^ Y5,   Z2 ^ X6,        Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Y3,             Z3,             X3,             Z4,             X5 ^ Y6         },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Y3,             X2,             Z4,             X3,             Z3 ^ X5 ^ Y6    },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Y3,             X2,             Z3,             X3,             Z2 ^ X5 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z3 ^ Y4 ^ X7 ^ Y7,X4 ^ Y4,        Y1 ^ Y5 ^ X6,   Y2,             X2,             Y3,             X3,             Z2 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z3 ^ Y4 ^ X7 ^ Y7,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X6,   Y2,             X2,             Y3,             X3,             Z2 ^ X5 ^ Y6    },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   X5 ^ Y6,        Y3,             Z3,             X3,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Z3 ^ X5 ^ Y6,   Y3,             X2,             Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   Y3,             X2,             Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z3 ^ Y4 ^ X7 ^ Y7,X4 ^ Y4,        Y1 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   Y2,             X2,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z3 ^ Y4 ^ X7 ^ Y7,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   X5 ^ Y6,        Z3 ^ X7,        Y3,             X3,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Y3 ^ X5 ^ Y6,   Z3 ^ X7,        X2,             Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Y3 ^ X5 ^ Y6,   Z2 ^ X7,        X2,             Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z3 ^ Y4 ^ X7 ^ Y7,X4 ^ Y4,        Y1 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   Z2 ^ X7,        X2,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z3 ^ Y4 ^ X7 ^ Y7,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   Z2 ^ X7,        X2,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   X5 ^ Y7,        Z3,             X3,             Z4,             Y3 ^ X6 ^ Y6    },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   X2,             Z4,             X3,             Y3 ^ X6 ^ Y6    },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   X2,             Z3,             X3,             Y3 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z3 ^ Y4 ^ X8 ^ Y8,X4 ^ Y4,        Y1 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   X2,             Y3,             X3,             Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z3 ^ Y4 ^ X8 ^ Y8,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   X2,             Y3,             X3,             Y2 ^ X6 ^ Y6    },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   X5 ^ Y7,        Y3 ^ X6 ^ Y6,   Z3,             X3,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   Y3 ^ X6 ^ Y6,   X2,             Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   Y3 ^ X6 ^ Y6,   X2,             Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z3 ^ Y4 ^ X8 ^ Y8,X4 ^ Y4,        Y1 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z3 ^ Y4 ^ X8 ^ Y8,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X2,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   X5 ^ Y7,        Y3 ^ X6 ^ Y6,   Z3 ^ X8,        X3,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Y3 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Z3 ^ X8,        Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Y3 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Z2 ^ X8,        Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z3 ^ Y4 ^ X8 ^ Y8,X4 ^ Y4,        Y1 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Z2 ^ X8,        Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z3 ^ Y4 ^ X8 ^ Y8,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Z2 ^ X8,        Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   X5 ^ Y8,        Y3 ^ Y6 ^ X7,   X3,             Z4,             Z3 ^ X6 ^ Y7    },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   Y3 ^ Y6 ^ X7,   Z4,             X3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y3 ^ Y6 ^ X7,   Z3,             X3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z3 ^ Y4 ^ X9 ^ Y9,X4 ^ Y4,        Y1 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y3,             X3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z3 ^ Y4 ^ X9 ^ Y9,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Y3,             X3,             X2 ^ X6 ^ Y7    },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   X5 ^ Y8,        Y3 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7,   X3,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   Y3 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y3 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z3 ^ Y4 ^ X9 ^ Y9,X4 ^ Y4,        Y1 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z3 ^ Y4 ^ X9 ^ Y9,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             X4 ^ Y4,        Z3,             Y3,             X3,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y2,             X4 ^ Y4,        Z3,             Y3,             X2,             Z4,             Y4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y2,             X4 ^ Y4,        Z2,             Y3,             X2,             Z3,             Y4,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y1,             X4 ^ Y4,        Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X1,             Y1 ^ X4 ^ Y4,   Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Z3,             Y3,             X3,             Z4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y2,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Z3,             Y3,             X2,             Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y2,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Z2,             Y3,             X2,             Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y1,             Z3 ^ Y4 ^ X5 ^ Y5,X4 ^ Y4,        Z2,             Y2,             X2,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X1,             Z3 ^ Y4 ^ X5 ^ Y5,Y1 ^ X4 ^ Y4,   Z2,             Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Z3 ^ X5,        Y3,             X3,             Z4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y2,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Z3 ^ X5,        Y3,             X2,             Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y2,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Z2 ^ X5,        Y3,             X2,             Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y1,             Z3 ^ Y4 ^ X5 ^ Y5,X4 ^ Y4,        Z2 ^ X5,        Y2,             X2,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X1,             Z3 ^ Y4 ^ X5 ^ Y5,Y1 ^ X4 ^ Y4,   Z2 ^ X5,        Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Y3,             Z3,             X3,             Z4,             X5 ^ Y5         },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Z3,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Y3,             X2,             Z4,             X3,             Y2 ^ X5 ^ Y5    },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Z2,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Y3,             X2,             Z3,             X3,             Y2 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z2,             Z3 ^ Y4 ^ X6 ^ Y6,X4 ^ Y4,        Y2,             X2,             Y3,             X3,             Y1 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z2,             Z3 ^ Y4 ^ X6 ^ Y6,Y1 ^ X4 ^ Y4,   Y2,             X2,             Y3,             X3,             X1 ^ X5 ^ Y5    },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        X5 ^ Y5,        Y3,             Z3,             X3,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Z3,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Y2 ^ X5 ^ Y5,   Y3,             X2,             Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Z2,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Y2 ^ X5 ^ Y5,   Y3,             X2,             Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z2,             Z3 ^ Y4 ^ X6 ^ Y6,X4 ^ Y4,        Y1 ^ X5 ^ Y5,   Y2,             X2,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z2,             Z3 ^ Y4 ^ X6 ^ Y6,Y1 ^ X4 ^ Y4,   X1 ^ X5 ^ Y5,   Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        X5 ^ Y5,        Z3 ^ X6,        Y3,             X3,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y3,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Y2 ^ X5 ^ Y5,   Z3 ^ X6,        X2,             Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y3,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Y2 ^ X5 ^ Y5,   Z2 ^ X6,        X2,             Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y2,             Z3 ^ Y4 ^ X6 ^ Y6,X4 ^ Y4,        Y1 ^ X5 ^ Y5,   Z2 ^ X6,        X2,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y2,             Z3 ^ Y4 ^ X6 ^ Y6,Y1 ^ X4 ^ Y4,   X1 ^ X5 ^ Y5,   Z2 ^ X6,        X2,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y3,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Z3,             X3,             Z4,             X5 ^ Y6         },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y3,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   X2,             Z4,             X3,             Z3 ^ X5 ^ Y6    },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y3,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   X2,             Z3,             X3,             Z2 ^ X5 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y2,             Z3 ^ Y4 ^ X7 ^ Y7,X4 ^ Y4,        Y1 ^ Y5 ^ X6,   X2,             Y3,             X3,             Z2 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y2,             Z3 ^ Y4 ^ X7 ^ Y7,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X6,   X2,             Y3,             X3,             Z2 ^ X5 ^ Y6    },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y3,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   X5 ^ Y6,        Z3,             X3,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y3,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Z3 ^ X5 ^ Y6,   X2,             Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y3,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   X2,             Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y2,             Z3 ^ Y4 ^ X7 ^ Y7,X4 ^ Y4,        Y1 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   X2,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y2,             Z3 ^ Y4 ^ X7 ^ Y7,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   X2,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y3,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   X5 ^ Y6,        Z3 ^ X7,        X3,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X2,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Y3 ^ X5 ^ Y6,   Z3 ^ X7,        Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X2,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Y3 ^ X5 ^ Y6,   Z2 ^ X7,        Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X2,             Z3 ^ Y4 ^ X7 ^ Y7,X4 ^ Y4,        Y1 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   Z2 ^ X7,        Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X2,             Z3 ^ Y4 ^ X7 ^ Y7,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   Z2 ^ X7,        Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Z3,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   X5 ^ Y7,        X3,             Z4,             Y3 ^ X6 ^ Y6    },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X2,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   Z4,             X3,             Y3 ^ X6 ^ Y6    },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X2,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   Z3,             X3,             Y3 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X2,             Z3 ^ Y4 ^ X8 ^ Y8,X4 ^ Y4,        Y1 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   Y3,             X3,             Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X2,             Z3 ^ Y4 ^ X8 ^ Y8,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   Y3,             X3,             Y2 ^ X6 ^ Y6    },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Z3,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   X5 ^ Y7,        Y3 ^ X6 ^ Y6,   X3,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X2,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   Y3 ^ X6 ^ Y6,   Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X2,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   Y3 ^ X6 ^ Y6,   Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X2,             Z3 ^ Y4 ^ X8 ^ Y8,X4 ^ Y4,        Y1 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X2,             Z3 ^ Y4 ^ X8 ^ Y8,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             X3,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   X5 ^ Y7,        Y3 ^ X6 ^ Y6,   Z3 ^ X8,        Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Z4,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Y3 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Z3 ^ X8,        X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Z3,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Y3 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Z2 ^ X8,        X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y3,             Z3 ^ Y4 ^ X8 ^ Y8,X4 ^ Y4,        Y1 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Z2 ^ X8,        X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y3,             Z3 ^ Y4 ^ X8 ^ Y8,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Z2 ^ X8,        X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             X3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   X5 ^ Y8,        Y3 ^ Y6 ^ X7,   Z4,             Z3 ^ X6 ^ Y7    },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Z4,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   Y3 ^ Y6 ^ X7,   X3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Z3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y3 ^ Y6 ^ X7,   X3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y3,             Z3 ^ Y4 ^ X9 ^ Y9,X4 ^ Y4,        Y1 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X3,             X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y3,             Z3 ^ Y4 ^ X9 ^ Y9,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X3,             X2 ^ X6 ^ Y7    },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             X3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   X5 ^ Y8,        Y3 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7,   Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Z4,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   Y3 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Z3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y3 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y3,             Z3 ^ Y4 ^ X9 ^ Y9,X4 ^ Y4,        Y1 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y3,             Z3 ^ Y4 ^ X9 ^ Y9,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y2,             X2,             Z3,             Y3,             X3,             Z4,             Y4,             X4              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y2,             X2,             Z2,             Y3,             X3,             Z3,             Y4,             X4              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y1,             X2,             Z2,             Y2,             X3,             Z3,             Y3,             X4              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y1,             X1,             Z2,             Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             Z3,             X4 ^ Y4,        Y3,             X3,             Z4,             Y4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y2,             Z3,             X4 ^ Y4,        Y3,             X2,             Z4,             Y4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y2,             Z2,             X4 ^ Y4,        Y3,             X2,             Z3,             Y4,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y1,             Z2,             X4 ^ Y4,        Y2,             X2,             Z3,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X1,             Z2,             Y1 ^ X4 ^ Y4,   Y2,             X2,             Z3,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             Z3,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Y3,             X3,             Z4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y2,             Z3,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Y3,             X2,             Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y2,             Z2,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Y3,             X2,             Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y1,             Z2,             Z3 ^ Y4 ^ X5 ^ Y5,X4 ^ Y4,        Y2,             X2,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X1,             Z2,             Z3 ^ Y4 ^ X5 ^ Y5,Y1 ^ X4 ^ Y4,   Y2,             X2,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             Y3,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Z3 ^ X5,        X3,             Z4,             X5              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y2,             Y3,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Z3 ^ X5,        X2,             Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y2,             Y3,             Y4 ^ X5 ^ Y5,   X4 ^ Y4,        Z2 ^ X5,        X2,             Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y1,             Y2,             Z3 ^ Y4 ^ X5 ^ Y5,X4 ^ Y4,        Z2 ^ X5,        X2,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X1,             Y2,             Z3 ^ Y4 ^ X5 ^ Y5,Y1 ^ X4 ^ Y4,   Z2 ^ X5,        X2,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             Y3,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Z3,             X3,             Z4,             X5 ^ Y5         },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Z3,             Y3,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        X2,             Z4,             X3,             Y2 ^ X5 ^ Y5    },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Z2,             Y3,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        X2,             Z3,             X3,             Y2 ^ X5 ^ Y5    },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z2,             Y2,             Z3 ^ Y4 ^ X6 ^ Y6,X4 ^ Y4,        X2,             Y3,             X3,             Y1 ^ X5 ^ Y5    },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z2,             Y2,             Z3 ^ Y4 ^ X6 ^ Y6,Y1 ^ X4 ^ Y4,   X2,             Y3,             X3,             X1 ^ X5 ^ Y5    },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             Y3,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        X5 ^ Y5,        Z3,             X3,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Z3,             Y3,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Y2 ^ X5 ^ Y5,   X2,             Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Z2,             Y3,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Y2 ^ X5 ^ Y5,   X2,             Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Z2,             Y2,             Z3 ^ Y4 ^ X6 ^ Y6,X4 ^ Y4,        Y1 ^ X5 ^ Y5,   X2,             Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Z2,             Y2,             Z3 ^ Y4 ^ X6 ^ Y6,Y1 ^ X4 ^ Y4,   X1 ^ X5 ^ Y5,   X2,             Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y2,             Y3,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        X5 ^ Y5,        Z3 ^ X6,        X3,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y3,             X2,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Y2 ^ X5 ^ Y5,   Z3 ^ X6,        Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y3,             X2,             Y4 ^ X6 ^ Y6,   X4 ^ Y4,        Y2 ^ X5 ^ Y5,   Z2 ^ X6,        Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y2,             X2,             Z3 ^ Y4 ^ X6 ^ Y6,X4 ^ Y4,        Y1 ^ X5 ^ Y5,   Z2 ^ X6,        Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y2,             X2,             Z3 ^ Y4 ^ X6 ^ Y6,Y1 ^ X4 ^ Y4,   X1 ^ X5 ^ Y5,   Z2 ^ X6,        Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y3,             Z3,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   X3,             Z4,             X5 ^ Y6         },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y3,             X2,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Z4,             X3,             Z3 ^ X5 ^ Y6    },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y3,             X2,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Z3,             X3,             Z2 ^ X5 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y2,             X2,             Z3 ^ Y4 ^ X7 ^ Y7,X4 ^ Y4,        Y1 ^ Y5 ^ X6,   Y3,             X3,             Z2 ^ X5 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y2,             X2,             Z3 ^ Y4 ^ X7 ^ Y7,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X6,   Y3,             X3,             Z2 ^ X5 ^ Y6    },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y3,             Z3,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   X5 ^ Y6,        X3,             Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Y3,             X2,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Z3 ^ X5 ^ Y6,   Z4,             X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Y3,             X2,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   Z3,             X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y2,             X2,             Z3 ^ Y4 ^ X7 ^ Y7,X4 ^ Y4,        Y1 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   Y3,             X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y2,             X2,             Z3 ^ Y4 ^ X7 ^ Y7,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X6,   Z2 ^ X5 ^ Y6,   Y3,             X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Y3,             X3,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   X5 ^ Y6,        Z3 ^ X7,        Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X2,             Z4,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Y3 ^ X5 ^ Y6,   Z3 ^ X7,        X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X2,             Z3,             Y4 ^ X7 ^ Y7,   X4 ^ Y4,        Y2 ^ Y5 ^ X6,   Y3 ^ X5 ^ Y6,   Z2 ^ X7,        X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X2,             Y3,             Z3 ^ Y4 ^ X7 ^ Y7,X4 ^ Y4,        Y1 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   Z2 ^ X7,        X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X2,             Y3,             Z3 ^ Y4 ^ X7 ^ Y7,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X6,   Y2 ^ X5 ^ Y6,   Z2 ^ X7,        X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Z3,             X3,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   X5 ^ Y7,        Z4,             Y3 ^ X6 ^ Y6    },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X2,             Z4,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   X3,             Y3 ^ X6 ^ Y6    },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X2,             Z3,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   X3,             Y3 ^ X6 ^ Y6    },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X2,             Y3,             Z3 ^ Y4 ^ X8 ^ Y8,X4 ^ Y4,        Y1 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   X3,             Y2 ^ X6 ^ Y6    },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X2,             Y3,             Z3 ^ Y4 ^ X8 ^ Y8,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   X3,             Y2 ^ X6 ^ Y6    },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             Z3,             X3,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   X5 ^ Y7,        Y3 ^ X6 ^ Y6,   Z4              },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             X2,             Z4,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Z3 ^ X5 ^ Y7,   Y3 ^ X6 ^ Y6,   X3              },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             X2,             Z3,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   Y3 ^ X6 ^ Y6,   X3              },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             X2,             Y3,             Z3 ^ Y4 ^ X8 ^ Y8,X4 ^ Y4,        Y1 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3              },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             X2,             Y3,             Z3 ^ Y4 ^ X8 ^ Y8,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X7,   Z2 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3              },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             X3,             Z4,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   X5 ^ Y7,        Y3 ^ X6 ^ Y6,   Z3 ^ X8         },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Z4,             X3,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Y3 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Z3 ^ X8         },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Z3,             X3,             Y4 ^ X8 ^ Y8,   X4 ^ Y4,        Y2 ^ Y5 ^ X7,   Y3 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Z2 ^ X8         },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y3,             X3,             Z3 ^ Y4 ^ X8 ^ Y8,X4 ^ Y4,        Y1 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Z2 ^ X8         },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y3,             X3,             Z3 ^ Y4 ^ X8 ^ Y8,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X7,   Y2 ^ X5 ^ Y7,   X2 ^ X6 ^ Y6,   Z2 ^ X8         },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             X3,             Z4,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   X5 ^ Y8,        Y3 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7    },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Z4,             X3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   Y3 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Z3,             X3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y3 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y3,             X3,             Z3 ^ Y4 ^ X9 ^ Y9,X4 ^ Y4,        Y1 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y3,             X3,             Z3 ^ Y4 ^ X9 ^ Y9,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {X0,             X1,             Z0,             Y0,             Y1,             Z1,             X2,             Z2,             X3,             Z4,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   X5 ^ Y8,        Y3 ^ Y6 ^ X7,   Z3 ^ X6 ^ Y7    },
-    {0,              X0,             Z0,             Y0,             X1,             Z1,             Y1,             Z2,             Z4,             X3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   Z3 ^ X5 ^ Y8,   Y3 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              X0,             Y0,             X1,             Z0,             Y1,             Z1,             Z3,             X3,             Y4 ^ X9 ^ Y9,   X4 ^ Y4,        Y2 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y3 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              X0,             Y0,             Z0,             X1,             Z1,             Y3,             X3,             Z3 ^ Y4 ^ X9 ^ Y9,X4 ^ Y4,        Y1 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
-    {0,              0,              0,              0,              X0,             Z0,             Y0,             Z1,             Y3,             X3,             Z3 ^ Y4 ^ X9 ^ Y9,Y1 ^ X4 ^ Y4,   X1 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+       0, // 1 bpe ua @ CMASK_VAR @ RbPlus
+       0, // 2 bpe ua @ CMASK_VAR @ RbPlus
+       0, // 4 bpe ua @ CMASK_VAR @ RbPlus
+       0, // 8 bpe ua @ CMASK_VAR @ RbPlus
+       0, // 1 pipes (1-2 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+       0, // 1 pipes (1-2 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+       0, // 1 pipes (1-2 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+       0, // 1 pipes (1-2 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+       8, // 2 pipes (1-2 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+       8, // 2 pipes (1-2 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+       8, // 2 pipes (1-2 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+       8, // 2 pipes (1-2 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+       9, // 4 pipes (1-2 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+       9, // 4 pipes (1-2 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+       9, // 4 pipes (1-2 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+       9, // 4 pipes (1-2 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+      10, // 8 pipes (1-2 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+      10, // 8 pipes (1-2 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+      10, // 8 pipes (1-2 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+      10, // 8 pipes (1-2 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+       8, // 2 pipes (4 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+       8, // 2 pipes (4 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+       8, // 2 pipes (4 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+       8, // 2 pipes (4 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+      11, // 4 pipes (4 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+      11, // 4 pipes (4 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+      11, // 4 pipes (4 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+      11, // 4 pipes (4 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+      12, // 8 pipes (4 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+      12, // 8 pipes (4 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+      12, // 8 pipes (4 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+      12, // 8 pipes (4 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+      13, // 16 pipes (4 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+      13, // 16 pipes (4 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+      13, // 16 pipes (4 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+      13, // 16 pipes (4 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+      14, // 4 pipes (8 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+      14, // 4 pipes (8 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+      14, // 4 pipes (8 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+      14, // 4 pipes (8 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+      15, // 8 pipes (8 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+      15, // 8 pipes (8 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+      15, // 8 pipes (8 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+      16, // 8 pipes (8 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+      15, // 16 pipes (8 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+      15, // 16 pipes (8 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+      15, // 16 pipes (8 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+      17, // 16 pipes (8 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+      18, // 32 pipes (8 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+      18, // 32 pipes (8 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+      18, // 32 pipes (8 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+      19, // 32 pipes (8 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+      20, // 8 pipes (16 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+      20, // 8 pipes (16 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+      20, // 8 pipes (16 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+      21, // 8 pipes (16 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+      22, // 16 pipes (16 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+      22, // 16 pipes (16 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+      22, // 16 pipes (16 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+      23, // 16 pipes (16 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+      22, // 32 pipes (16 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+      22, // 32 pipes (16 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+      22, // 32 pipes (16 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+      24, // 32 pipes (16 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+      25, // 64 pipes (16 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+      25, // 64 pipes (16 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+      25, // 64 pipes (16 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+      26, // 64 pipes (16 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+      27, // 16 pipes (32 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+      27, // 16 pipes (32 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+      27, // 16 pipes (32 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+      28, // 16 pipes (32 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+      29, // 32 pipes (32 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+      29, // 32 pipes (32 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+      29, // 32 pipes (32 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+      30, // 32 pipes (32 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
+      29, // 64 pipes (32 PKRs) 1 bpe pa @ CMASK_VAR @ RbPlus
+      29, // 64 pipes (32 PKRs) 2 bpe pa @ CMASK_VAR @ RbPlus
+      29, // 64 pipes (32 PKRs) 4 bpe pa @ CMASK_VAR @ RbPlus
+      31, // 64 pipes (32 PKRs) 8 bpe pa @ CMASK_VAR @ RbPlus
 };
 
-// Rb plus meta data swizzle pattern
-const UINT_64 HTILE_64K_RBPLUS[][18]=
+const UINT_64 DCC_64K_R_X_SW_PATTERN[][17] =
 {
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Z0 ^ X4 ^ Y4,   Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Z0 ^ X4 ^ Y4,   Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Z0 ^ X4 ^ Y4,   Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Z0 ^ X4 ^ Y4,   Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             Y5,             X6,             Y6,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             Y5,             X6,             Y6,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             Y5,             X6,             Y6,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             Y5,             X6,             Y6,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y5,             X6,             Y6,             X7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y5,             X6,             Y6,             X7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y5,             X6,             Y6,             X7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y5,             X6,             Y6,             X7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Z0 ^ X4 ^ Y4,   Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Z0 ^ X4 ^ Y4,   Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Z0 ^ X4 ^ Y4,   Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Z0 ^ X4 ^ Y4,   Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             X6,             Y6,             X7,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             X6,             Y6,             X7,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             X6,             Y6,             X7,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             X6,             Y6,             X7,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y6,             X7,             Y7,             X8,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y8,             X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y6,             X7,             Y7,             X8,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y8,             X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y6,             X7,             Y7,             X8,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y8,             X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y6,             X7,             Y7,             X8,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y8,             X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y7,             X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             X7,             Y7,             X8,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y8,             X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             X6,             X7,             Y7,             X8,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y8,             X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             X6,             X7,             Y7,             X8,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y8,             X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             X6,             X7,             Y7,             X8,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y8,             X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        X9,             Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        X9,             Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        X9,             Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        X9,             Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X8,             Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y8,             X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y8,             X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y8,             X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y8,             X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X9,             Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X9,             Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X9,             Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X9,             Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             Z0 ^ X4 ^ Y4,   X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             Z0 ^ X4 ^ Y4,   X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             Z0 ^ X4 ^ Y4,   X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             Z0 ^ X4 ^ Y4,   X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             Z0 ^ X4 ^ Y4,   X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             Z0 ^ X4 ^ Y4,   X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             Z0 ^ X4 ^ Y4,   X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             Z0 ^ X4 ^ Y4,   X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X8,             Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y8,             X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X9,             Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y9,             X10             },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X4 ^ Y4,   Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X4 ^ Y4,   Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X4 ^ Y4,   Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X4 ^ Y4,   Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X4 ^ Y4,   Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X4 ^ Y4,   Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X4 ^ Y4,   Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X4 ^ Y4,   Y7,             0,              0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             0,              0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        Y8,             0,              0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        X10             },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X9,             0,              0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        Y9,             0               },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X10             },
-    {0,              0,              0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        X10             },
+    {0,             X4,            Y4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            0,             0,             0,             0,             }, //0
+    {0,             Y3,            X4,            Y4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            0,             0,             0,             0,             }, //1
+    {0,             X3,            Y3,            X4,            Y4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            0,             0,             0,             0,             }, //2
+    {0,             Y2,            X3,            Y3,            X4,            Y4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            X8,            0,             0,             0,             0,             }, //3
+    {0,             X2,            Y2,            X3,            Y3,            X4,            Y4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            0,             0,             0,             0,             }, //4
+    {0,             X3^Y3,         X4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            0,             0,             0,             0,             }, //5
+    {0,             X3^Y3,         X4,            Y4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            0,             0,             0,             0,             }, //6
+    {0,             X3^Y3,         X4^Y4,         X5,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            0,             0,             0,             0,             }, //7
+    {0,             X4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Z0^X3^Y3,      Y8,            X9,            Y9,            0,             0,             0,             0,             }, //8
+    {0,             Y4,            X4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            Z0^X3^Y3,      X8,            Y8,            X9,            0,             0,             0,             0,             }, //9
+    {0,             X3,            Y4,            X4,            X5,            Y5,            X6,            Y6,            X7,            Z0^X3^Y3,      Y7,            X8,            Y8,            0,             0,             0,             0,             }, //10
+    {0,             Y2,            X3,            Y4,            X4,            X5,            Y5,            X6,            Y6,            Z0^X3^Y3,      X7,            Y7,            X8,            0,             0,             0,             0,             }, //11
+    {0,             X2,            Y2,            X3,            Y4,            X4,            X5,            Y5,            X6,            Z0^X3^Y3,      Y6,            X7,            Y7,            0,             0,             0,             0,             }, //12
+    {0,             X5,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            Z1^X3^Y3,      Z0^X4^Y4,      X9,            Y9,            0,             0,             0,             0,             }, //13
+    {0,             Y4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Z1^X3^Y3,      Z0^X4^Y4,      Y8,            X9,            0,             0,             0,             0,             }, //14
+    {0,             X3,            Y4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            Z1^X3^Y3,      Z0^X4^Y4,      X8,            Y8,            0,             0,             0,             0,             }, //15
+    {0,             Y2,            X3,            Y4,            X5,            Y5,            X6,            Y6,            X7,            Z1^X3^Y3,      Z0^X4^Y4,      Y7,            X8,            0,             0,             0,             0,             }, //16
+    {0,             X2,            Y2,            X3,            Y4,            X5,            Y5,            X6,            Y6,            Z1^X3^Y3,      Z0^X4^Y4,      X7,            Y7,            0,             0,             0,             0,             }, //17
+    {0,             Y5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Z2^X3^Y3,      Z1^X4^Y4,      Z0^X5^Y5,      Y9,            0,             0,             0,             0,             }, //18
+    {0,             Y4,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            Z2^X3^Y3,      Z1^X4^Y4,      Z0^X5^Y5,      X9,            0,             0,             0,             0,             }, //19
+    {0,             X3,            Y4,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Z2^X3^Y3,      Z1^X4^Y4,      Z0^X5^Y5,      Y8,            0,             0,             0,             0,             }, //20
+    {0,             Y2,            X3,            Y4,            Y5,            X6,            Y6,            X7,            Y7,            Z2^X3^Y3,      Z1^X4^Y4,      Z0^X5^Y5,      X8,            0,             0,             0,             0,             }, //21
+    {0,             X2,            Y2,            X3,            Y4,            Y5,            X6,            Y6,            X7,            Z2^X3^Y3,      Z1^X4^Y4,      Z0^X5^Y5,      Y7,            0,             0,             0,             0,             }, //22
+    {0,             X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X3^Y3^Z3,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      0,             0,             0,             0,             }, //23
+    {0,             Y4,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            X3^Y3^Z3,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      0,             0,             0,             0,             }, //24
+    {0,             X3,            Y4,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X3^Y3^Z3,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      0,             0,             0,             0,             }, //25
+    {0,             Y2,            X3,            Y4,            X6,            Y6,            X7,            Y7,            X8,            X3^Y3^Z3,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      0,             0,             0,             0,             }, //26
+    {0,             X2,            Y2,            X3,            Y4,            X6,            Y6,            X7,            Y7,            X3^Y3^Z3,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      0,             0,             0,             0,             }, //27
+    {0,             Y6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           X3^Y3^Z4,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      0,             0,             0,             }, //28
+    {0,             Y4,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X3^Y3^Z4,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      0,             0,             0,             }, //29
+    {0,             X3,            Y4,            Y6,            X7,            Y7,            X8,            Y8,            X9,            X3^Y3^Z4,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      0,             0,             0,             }, //30
+    {0,             Y2,            X3,            Y4,            Y6,            X7,            Y7,            X8,            Y8,            X3^Y3^Z4,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      0,             0,             0,             }, //31
+    {0,             X2,            X3,            Y4,            Y6,            X7,            Y7,            Y2,            X8,            X3^Y3^Z3,      Z2^X4^Y4,      Z1^Y5^X7,      Z0^X5^Y7,      Y2^X6^Y6,      0,             0,             0,             }, //32
+    {0,             X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y10,           X3^Y3^Z5,      X4^Y4^Z4,      Z3^Y5^X8,      Z2^X5^Y8,      Z1^Y6^X7,      Z0^X6^Y7,      0,             0,             }, //33
+    {0,             Y4,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           X3^Y3^Z5,      X4^Y4^Z4,      Z3^Y5^X8,      Z2^X5^Y8,      Z1^Y6^X7,      Z0^X6^Y7,      0,             0,             }, //34
+    {0,             X3,            Y4,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X3^Y3^Z5,      X4^Y4^Z4,      Z3^Y5^X8,      Z2^X5^Y8,      Z1^Y6^X7,      Z0^X6^Y7,      0,             0,             }, //35
+    {0,             X3,            Y4,            X7,            Y7,            X8,            Y8,            Y2,            X9,            X3^Y3^Z4,      Z3^X4^Y4,      Z2^Y5^X8,      Z1^X5^Y8,      Y2^Y6^X7,      Z0^X6^Y7,      0,             0,             }, //36
+    {0,             X3,            Y4,            X7,            Y7,            X8,            Y8,            X2,            Y2,            X3^Y3^Z3,      Z2^X4^Y4,      Z1^Y5^X8,      Z0^X5^Y8,      Y2^Y6^X7,      X2^X6^Y7,      0,             0,             }, //37
+    {0,             Y4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Z0^X4^Y4,      Y8,            X9,            Y9,            0,             0,             0,             0,             }, //38
+    {0,             Y3,            Y4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            Z0^X4^Y4,      X8,            Y8,            X9,            0,             0,             0,             0,             }, //39
+    {0,             X3,            Y3,            Y4,            X5,            Y5,            X6,            Y6,            X7,            Z0^X4^Y4,      Y7,            X8,            Y8,            0,             0,             0,             0,             }, //40
+    {0,             Y2,            X3,            Y3,            Y4,            X5,            Y5,            X6,            Y6,            Z0^X4^Y4,      X7,            Y7,            X8,            0,             0,             0,             0,             }, //41
+    {0,             X2,            Y2,            X3,            Y3,            Y4,            X5,            Y5,            X6,            Z0^X4^Y4,      Y6,            X7,            Y7,            0,             0,             0,             0,             }, //42
+    {0,             X5,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            Y4^X5^Y5,      Z0^X4^Y4,      X9,            Y9,            0,             0,             0,             0,             }, //43
+    {0,             Y3,            X5,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Y4^X5^Y5,      Z0^X4^Y4,      Y8,            X9,            0,             0,             0,             0,             }, //44
+    {0,             X3,            Y3,            X5,            Y5,            X6,            Y6,            X7,            Y7,            Y4^X5^Y5,      Z0^X4^Y4,      X8,            Y8,            0,             0,             0,             0,             }, //45
+    {0,             Y2,            X3,            Y3,            X5,            Y5,            X6,            Y6,            X7,            Y4^X5^Y5,      Z0^X4^Y4,      Y7,            X8,            0,             0,             0,             0,             }, //46
+    {0,             X2,            Y2,            X3,            Y3,            X5,            Y5,            X6,            Y6,            Y4^X5^Y5,      Z0^X4^Y4,      X7,            Y7,            0,             0,             0,             0,             }, //47
+    {0,             Y5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y4^X5^Y5,      Z0^X4^Y4,      X5^X6^Y6,      Y9,            0,             0,             0,             0,             }, //48
+    {0,             Y3,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            Y4^X5^Y5,      Z0^X4^Y4,      X5^X6^Y6,      X9,            0,             0,             0,             0,             }, //49
+    {0,             X3,            Y3,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Y4^X5^Y5,      Z0^X4^Y4,      X5^X6^Y6,      Y8,            0,             0,             0,             0,             }, //50
+    {0,             Y2,            X3,            Y3,            Y5,            X6,            Y6,            X7,            Y7,            Y4^X5^Y5,      Z0^X4^Y4,      X5^X6^Y6,      X8,            0,             0,             0,             0,             }, //51
+    {0,             X2,            Y2,            X3,            Y3,            Y5,            X6,            Y6,            X7,            Y4^X5^Y5,      Z0^X4^Y4,      X5^X6^Y6,      Y7,            0,             0,             0,             0,             }, //52
+    {0,             X5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y4^X6^Y6,      Z1^X4^Y4,      X5^Y5,         Y9,            0,             0,             0,             0,             }, //53
+    {0,             Y3,            X5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            Y4^X6^Y6,      Z1^X4^Y4,      X5^Y5,         X9,            0,             0,             0,             0,             }, //54
+    {0,             X3,            Y3,            X5,            X6,            Y6,            X7,            Y7,            X8,            Y4^X6^Y6,      Z1^X4^Y4,      X5^Y5,         Y8,            0,             0,             0,             0,             }, //55
+    {0,             Y2,            X3,            Y3,            X5,            X6,            Y6,            X7,            Y7,            Y4^X6^Y6,      Z1^X4^Y4,      X5^Y5,         X8,            0,             0,             0,             0,             }, //56
+    {0,             X2,            Y2,            X3,            Y3,            X5,            X6,            Y6,            X7,            Y4^X6^Y6,      Z1^X4^Y4,      X5^Y5,         Y7,            0,             0,             0,             0,             }, //57
+    {0,             X5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      Y9,            0,             0,             0,             0,             }, //58
+    {0,             Y3,            X5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X9,            0,             0,             0,             0,             }, //59
+    {0,             X3,            Y3,            X5,            X6,            Y6,            X7,            Y7,            X8,            Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      Y8,            0,             0,             0,             0,             }, //60
+    {0,             Y2,            X3,            Y3,            X5,            X6,            Y6,            X7,            Y7,            Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X8,            0,             0,             0,             0,             }, //61
+    {0,             X2,            Y2,            X3,            Y3,            X5,            X6,            Y6,            X7,            Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      Y7,            0,             0,             0,             0,             }, //62
+    {0,             X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X5^X7^Y7,      0,             0,             0,             0,             }, //63
+    {0,             Y3,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X5^X7^Y7,      0,             0,             0,             0,             }, //64
+    {0,             X3,            Y3,            X6,            Y6,            X7,            Y7,            X8,            Y8,            Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X5^X7^Y7,      0,             0,             0,             0,             }, //65
+    {0,             Y2,            X3,            Y3,            X6,            Y6,            X7,            Y7,            X8,            Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X5^X7^Y7,      0,             0,             0,             0,             }, //66
+    {0,             X2,            Y2,            X3,            Y3,            X6,            Y6,            X7,            Y7,            Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X5^X7^Y7,      0,             0,             0,             0,             }, //67
+    {0,             X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      X5^Y6,         0,             0,             0,             0,             }, //68
+    {0,             Y3,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      X5^Y6,         0,             0,             0,             0,             }, //69
+    {0,             X3,            Y3,            X6,            Y6,            X7,            Y7,            X8,            Y8,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      X5^Y6,         0,             0,             0,             0,             }, //70
+    {0,             Y2,            X3,            Y3,            X6,            Y6,            X7,            Y7,            X8,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      X5^Y6,         0,             0,             0,             0,             }, //71
+    {0,             X2,            Y2,            X3,            Y3,            X6,            Y6,            X7,            Y7,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      X5^Y6,         0,             0,             0,             0,             }, //72
+    {0,             X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      0,             0,             0,             0,             }, //73
+    {0,             Y3,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      0,             0,             0,             0,             }, //74
+    {0,             X3,            Y3,            X6,            Y6,            X7,            Y7,            X8,            Y8,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      0,             0,             0,             0,             }, //75
+    {0,             Y2,            X3,            Y3,            X6,            Y6,            X7,            Y7,            X8,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      0,             0,             0,             0,             }, //76
+    {0,             X2,            Y2,            X3,            Y3,            X6,            Y6,            X7,            Y7,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      0,             0,             0,             0,             }, //77
+    {0,             Y6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      X6^X8^Y8,      0,             0,             0,             }, //78
+    {0,             Y3,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      X6^X8^Y8,      0,             0,             0,             }, //79
+    {0,             X3,            Y3,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      X6^X8^Y8,      0,             0,             0,             }, //80
+    {0,             Y2,            X3,            Y3,            Y6,            X7,            Y7,            X8,            Y8,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      X6^X8^Y8,      0,             0,             0,             }, //81
+    {0,             X2,            Y2,            Y3,            X6,            Y6,            X7,            Y7,            X8,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      X3^X8^Y8,      0,             0,             0,             }, //82
+    {0,             X6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      X6^Y6,         0,             0,             0,             }, //83
+    {0,             Y3,            X6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      X6^Y6,         0,             0,             0,             }, //84
+    {0,             X3,            Y3,            X6,            X7,            Y7,            X8,            Y8,            X9,            Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      X6^Y6,         0,             0,             0,             }, //85
+    {0,             Y2,            X3,            Y3,            X6,            X7,            Y7,            X8,            Y8,            Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      X6^Y6,         0,             0,             0,             }, //86
+    {0,             X2,            X3,            Y3,            X6,            X7,            Y7,            Y2,            X8,            Y4^X8^Y8,      Z2^X4^Y4,      Z1^Y5^X7,      Z0^X5^Y7,      X6^Y6,         0,             0,             0,             }, //87
+    {0,             X6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      0,             0,             0,             }, //88
+    {0,             Y3,            X6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      0,             0,             0,             }, //89
+    {0,             X3,            Y3,            X6,            X7,            Y7,            X8,            Y8,            X9,            Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      0,             0,             0,             }, //90
+    {0,             Y2,            X3,            Y3,            X6,            X7,            Y7,            X8,            Y8,            Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      0,             0,             0,             }, //91
+    {0,             X2,            X3,            Y3,            X6,            X7,            Y7,            Y2,            X8,            Y4^X8^Y8,      Z2^X4^Y4,      Z1^Y5^X7,      Z0^X5^Y7,      Y2^X6^Y6,      0,             0,             0,             }, //92
+    {0,             X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y10,           Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      X6^X9^Y9,      0,             0,             }, //93
+    {0,             Y3,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      X6^X9^Y9,      0,             0,             }, //94
+    {0,             X3,            Y3,            X7,            Y7,            X8,            Y8,            X9,            Y9,            Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      X6^X9^Y9,      0,             0,             }, //95
+    {0,             Y2,            Y3,            X6,            X7,            Y7,            X8,            Y8,            X9,            Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      X3^X9^Y9,      0,             0,             }, //96
+    {0,             X2,            Y3,            X6,            X7,            Y7,            X8,            Y2,            Y8,            Y4^X8^Y8,      Z2^X4^Y4,      Z1^Y5^X7,      Z0^X5^Y7,      Y2^X6^Y6,      X3^X9^Y9,      0,             0,             }, //97
+    {0,             X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y10,           Y4^X9^Y9,      X4^Y4^Z4,      Z3^Y5^X8,      Z2^X5^Y8,      Z1^Y6^X7,      X6^Y7,         0,             0,             }, //98
+    {0,             Y3,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y4^X9^Y9,      X4^Y4^Z4,      Z3^Y5^X8,      Z2^X5^Y8,      Z1^Y6^X7,      X6^Y7,         0,             0,             }, //99
+    {0,             X3,            Y3,            X7,            Y7,            X8,            Y8,            X9,            Y9,            Y4^X9^Y9,      X4^Y4^Z4,      Z3^Y5^X8,      Z2^X5^Y8,      Z1^Y6^X7,      X6^Y7,         0,             0,             }, //100
+    {0,             X3,            Y3,            X7,            Y7,            X8,            Y8,            Y2,            X9,            Y4^X9^Y9,      Z3^X4^Y4,      Z2^Y5^X8,      Z1^X5^Y8,      Y2^Y6^X7,      X6^Y7,         0,             0,             }, //101
+    {0,             X3,            Y3,            X7,            Y7,            X8,            Y8,            X2,            Y2,            Y4^X9^Y9,      Z2^X4^Y4,      Z1^Y5^X8,      Z0^X5^Y8,      Y2^Y6^X7,      X6^Y7,         0,             0,             }, //102
+    {0,             X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y10,           Y4^X9^Y9,      X4^Y4^Z4,      Z3^Y5^X8,      Z2^X5^Y8,      Z1^Y6^X7,      Z0^X6^Y7,      0,             0,             }, //103
+    {0,             Y3,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y4^X9^Y9,      X4^Y4^Z4,      Z3^Y5^X8,      Z2^X5^Y8,      Z1^Y6^X7,      Z0^X6^Y7,      0,             0,             }, //104
+    {0,             X3,            Y3,            X7,            Y7,            X8,            Y8,            X9,            Y9,            Y4^X9^Y9,      X4^Y4^Z4,      Z3^Y5^X8,      Z2^X5^Y8,      Z1^Y6^X7,      Z0^X6^Y7,      0,             0,             }, //105
+    {0,             X3,            Y3,            X7,            Y7,            X8,            Y8,            Y2,            X9,            Y4^X9^Y9,      Z3^X4^Y4,      Z2^Y5^X8,      Z1^X5^Y8,      Y2^Y6^X7,      Z0^X6^Y7,      0,             0,             }, //106
+    {0,             X3,            Y3,            X7,            Y7,            X8,            Y8,            X2,            Y2,            Y4^X9^Y9,      Z2^X4^Y4,      Z1^Y5^X8,      Z0^X5^Y8,      Y2^Y6^X7,      X2^X6^Y7,      0,             0,             }, //107
 };
 
-const UINT_64 CMASK_64K_RBPLUS[][17]=
+const UINT_64 HTILE_SW_PATTERN[][18] =
 {
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X4 ^ Y4,   X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X4 ^ Y4,   X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X4 ^ Y4,   X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X4 ^ Y4,   X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X4 ^ Y4,   X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X4 ^ Y4,   X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X4 ^ Y4,   X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X4 ^ Y4,   X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0,              0               },
-    {X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        0,              0               },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        0,              0               },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        0,              0               },
-    {X3,             Y3,             X6,             X7,             Y7,             X8,             X9,             Y9,             X10,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3 ^ Y8,        0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y6 ^ X7,        Z0 ^ X6 ^ Y7,   0,              0,              0               },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        0,              0               },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        0,              0               },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        0,              0               },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y6 ^ X7,        Z0 ^ X6 ^ Y7,   0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0,              0               },
-    {X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0,              0               },
-    {X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0,              0               },
-    {X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        0,              0               },
-    {X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        0,              0               },
-    {X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        0,              0               },
-    {X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0               },
-    {X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0               },
-    {X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0               },
-    {X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        0               },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        0               },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8,        0               },
-    {X3,             Y3,             X6,             X7,             Y7,             X8,             X9,             Y9,             X10,            Y10,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3 ^ Y8,        0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        0,              0               },
-    {X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        0,              0               },
-    {X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        0,              0               },
-    {X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y6 ^ X7,        Z0 ^ X6 ^ Y7,   0,              0               },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        0               },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        0               },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        0               },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y6 ^ X7,        Z0 ^ X6 ^ Y7,   0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0               },
-    {X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0               },
-    {X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0               },
-    {X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0               },
-    {X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0               },
-    {X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        0               },
-    {X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        0               },
-    {X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X7 ^ Y7,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        X6 ^ Y6,        0               },
-    {X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X6,   X5 ^ Y6,        0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0               },
-    {X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0               },
-    {X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0               },
-    {X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0               },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8         },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8         },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            Y4 ^ X8 ^ Y8,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        X6 ^ Y8         },
-    {X3,             Y3,             X6,             X7,             Y7,             X8,             X9,             Y9,             X10,            Y10,            X11,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3 ^ Y8         },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X7,   X5 ^ Y7,        X6 ^ Y6,        0,              0               },
-    {X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        0               },
-    {X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        0               },
-    {X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7,        0               },
-    {X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y6 ^ X7,        Z0 ^ X6 ^ Y7,   0               },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7         },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7         },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            Y4 ^ X9 ^ Y9,   Z1 ^ X4 ^ Y4,   Z0 ^ Y5 ^ X8,   X5 ^ Y8,        Y6 ^ X7,        X6 ^ Y7         },
-    {X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y6 ^ X7,        Z0 ^ X6 ^ Y7    },
+    {0,             0,             0,             X3,            Y3,            X4,            Y4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            0,             0,             0,             0,             0,             }, //0
+    {0,             0,             0,             X3,            Y4,            X4,            X5,            Y5,            X6,            Z0^X3^Y3,      Y6,            X7,            Y7,            0,             0,             0,             0,             0,             }, //1
+    {0,             0,             0,             X3,            Y4,            X5,            Y5,            X6,            Y6,            Z1^X3^Y3,      Z0^X4^Y4,      X7,            Y7,            X8,            0,             0,             0,             0,             }, //2
+    {0,             0,             0,             X3,            Y4,            Y5,            X6,            Y6,            X7,            Z2^X3^Y3,      Z1^X4^Y4,      Z0^X5^Y5,      Y7,            X8,            Y8,            0,             0,             0,             }, //3
+    {0,             0,             0,             X3,            Y4,            X6,            Y6,            X7,            Y7,            X3^Y3^Z3,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      X8,            Y8,            X9,            0,             0,             }, //4
+    {0,             0,             0,             X3,            Y4,            X6,            Y6,            X7,            Y7,            Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X6,      X5^Y6,         X8,            Y8,            X9,            0,             0,             }, //5
+    {0,             0,             0,             X3,            Y4,            Y6,            X7,            Y7,            X8,            X3^Y3^Z4,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      Y8,            X9,            Y9,            0,             }, //6
+    {0,             0,             0,             X3,            Y4,            Y6,            X7,            Y7,            X8,            X3^Y3^Z3,      Z2^X4^Y4,      Z1^Y5^X7,      Z0^X5^Y7,      X6^Y6,         Y8,            X9,            Y9,            0,             }, //7
+    {0,             0,             0,             X3,            Y4,            Y6,            X7,            Y7,            X8,            Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X7,      X5^Y7,         X6^Y6,         Y8,            X9,            Y9,            0,             }, //8
+    {0,             0,             0,             X3,            Y4,            X7,            Y7,            X8,            Y8,            X3^Y3^Z5,      X4^Y4^Z4,      Z3^Y5^X8,      Z2^X5^Y8,      Z1^Y6^X7,      Z0^X6^Y7,      X9,            Y9,            X10,           }, //9
+    {0,             0,             0,             X3,            Y4,            X7,            Y7,            X8,            Y8,            X3^Y3^Z4,      Z3^X4^Y4,      Z2^Y5^X8,      Z1^X5^Y8,      Z0^Y6^X7,      X6^Y7,         X9,            Y9,            X10,           }, //10
+    {0,             0,             0,             X3,            Y4,            X7,            Y7,            X8,            Y8,            X3^Y3^Z3,      Z2^X4^Y4,      Z1^Y5^X8,      Z0^X5^Y8,      Y6^X7,         X6^Y7,         X9,            Y9,            X10,           }, //11
+    {0,             0,             0,             X3,            Y4,            X7,            Y7,            X8,            Y8,            Z2^X3^Y3,      Z1^X4^Y4,      Z0^Y5^X8,      X5^Y8,         Y6^X7,         X6^Y7,         X9,            Y9,            X10,           }, //12
+    {0,             0,             0,             X3,            Y3,            Y4,            X5,            Y5,            X6,            Z0^X4^Y4,      Y6,            X7,            Y7,            0,             0,             0,             0,             0,             }, //13
+    {0,             0,             0,             X3,            Y3,            X5,            Y5,            X6,            Y6,            Y4^X5^Y5,      Z0^X4^Y4,      X7,            Y7,            X8,            0,             0,             0,             0,             }, //14
+    {0,             0,             0,             X3,            Y3,            Y5,            X6,            Y6,            X7,            Y4^X5^Y5,      Z0^X4^Y4,      X5^Y5,         Y7,            X8,            Y8,            0,             0,             0,             }, //15
+    {0,             0,             0,             X3,            Y3,            X5,            X6,            Y6,            X7,            Y4^X6^Y6,      Z1^X4^Y4,      Y7,            X8,            Y8,            X5^Y5,         0,             0,             0,             }, //16
+    {0,             0,             0,             X3,            Y3,            X5,            X6,            Y6,            X7,            Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      Y7,            X8,            Y8,            0,             0,             0,             }, //17
+    {0,             0,             0,             X3,            Y3,            X6,            Y6,            X7,            Y7,            Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X5^Y6,         X8,            Y8,            X9,            0,             0,             }, //18
+    {0,             0,             0,             X3,            Y3,            Y4,            X5,            X6,            Y6,            Z1^X4^Y4,      Z0^X5^Y5,      X7,            Y7,            X8,            0,             0,             0,             0,             }, //19
+    {0,             0,             0,             X3,            Y3,            X6,            Y6,            X7,            Y7,            Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      X8,            Y8,            X9,            X5^Y6,         0,             0,             }, //20
+    {0,             0,             0,             X3,            Y3,            X6,            Y6,            X7,            Y7,            Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      X5^Y6,         X8,            Y8,            X9,            0,             0,             }, //21
+    {0,             0,             0,             X3,            Y3,            Y6,            X7,            Y7,            X8,            Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      X5^Y6,         X6^Y6,         Y8,            X9,            Y9,            0,             }, //22
+    {0,             0,             0,             X3,            Y3,            Y4,            X6,            Y6,            X7,            Z1^X4^Y4,      Z0^Y5^X6,      X5^Y6,         Y7,            X8,            Y8,            0,             0,             0,             }, //23
+    {0,             0,             0,             X3,            Y3,            X6,            X7,            Y7,            X8,            Y4^X8^Y8,      Z1^X4^Y4,      Z0^Y5^X7,      X5^Y7,         Y8,            X9,            Y9,            X6^Y6,         0,             }, //24
+    {0,             0,             0,             X3,            Y3,            X6,            X7,            Y7,            X8,            Y4^X8^Y8,      Z1^X4^Y4,      Z0^Y5^X7,      X5^Y7,         X6^Y6,         Y8,            X9,            Y9,            0,             }, //25
+    {0,             0,             0,             X3,            Y3,            X7,            Y7,            X8,            Y8,            Y4^X8^Y8,      Z1^X4^Y4,      Z0^Y5^X7,      X5^Y7,         X6^Y6,         X6^Y8,         X9,            Y9,            X10,           }, //26
+    {0,             0,             0,             X3,            Y3,            Y4,            X6,            X7,            Y7,            Z1^X4^Y4,      Z0^Y5^X7,      X5^Y7,         X6^Y6,         X8,            Y8,            X9,            0,             0,             }, //27
+    {0,             0,             0,             X3,            Y3,            X7,            Y7,            X8,            Y8,            Y4^X9^Y9,      Z1^X4^Y4,      Z0^Y5^X8,      X5^Y8,         Y6^X7,         X9,            Y9,            X10,           X6^Y7,         }, //28
+    {0,             0,             0,             X3,            Y3,            X7,            Y7,            X8,            Y8,            Y4^X9^Y9,      Z1^X4^Y4,      Z0^Y5^X8,      X5^Y8,         Y6^X7,         X6^Y7,         X9,            Y9,            X10,           }, //29
 };
 
-const UINT_64 DCC_64K_R_X_RBPLUS[][17]=
+const UINT_64 CMASK_SW_PATTERN[][17] =
 {
-    {0,              X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X4 ^ Y4,   Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X4 ^ Y4,   X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X4 ^ Y4,   Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             Z0 ^ X4 ^ Y4,   X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             Y4,             X5,             Y5,             X6,             Z0 ^ X4 ^ Y4,   Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X5,             Y5,             X6,             Y6,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X7,             Y7,             0,              0,              0,              0               },
-    {0,              Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y9,             0,              0,              0,              0               },
-    {0,              Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             Y5,             X6,             Y6,             X7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        Y7,             0,              0,              0,              0               },
-    {0,              Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             Y4,             X5,             X6,             Y6,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X7,             Y7,             0,              0,              0,              0               },
-    {0,              X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y9,             0,              0,              0,              0               },
-    {0,              Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X5,             X6,             Y6,             X7,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             0,              0,              0,              0               },
-    {0,              X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0,              0               },
-    {0,              Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0,              0               },
-    {0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X6,             Y6,             X7,             Y7,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0,              0               },
-    {0,              Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y9,             0,              0,              0,              0               },
-    {0,              Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             Y4,             X6,             Y6,             X7,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   Y7,             0,              0,              0,              0               },
-    {0,              X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {0,              Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X6,             Y6,             X7,             Y7,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {0,              Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        0,              0,              0               },
-    {0,              Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        0,              0,              0               },
-    {0,              X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        0,              0,              0               },
-    {0,              X2,             Y2,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3 ^ Y6,        0,              0,              0               },
-    {0,              Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0,              0               },
-    {0,              Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0,              0               },
-    {0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0,              0               },
-    {0,              X2,             X3,             Y3,             Y4,             X6,             X7,             Y2,             Y7,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   0,              0,              0,              0               },
-    {0,              X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {0,              Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {0,              X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {0,              X2,             X3,             Y3,             X6,             X7,             Y7,             Y2,             X8,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   0,              0,              0               },
-    {0,              X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ Y8,        0,              0               },
-    {0,              Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ Y8,        0,              0               },
-    {0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ Y8,        0,              0               },
-    {0,              Y2,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3 ^ Y8,        0,              0               },
-    {0,              X2,             Y3,             X6,             X7,             Y7,             X8,             Y2,             Y8,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ Y8,        0,              0               },
-    {0,              Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0,              0               },
-    {0,              Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0,              0               },
-    {0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0,              0               },
-    {0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Y2,             Y8,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0,              0               },
-    {0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             X2,             Y2,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   0,              0,              0               },
-    {0,              X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0               },
-    {0,              Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0               },
-    {0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0               },
-    {0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             Y2,             X9,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0               },
-    {0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X2,             Y2,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   0,              0               },
-    {0,              X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z0 ^ X4 ^ Y4,   X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X4 ^ Y4,   Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X4 ^ Y4,   X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X4 ^ Y4,   Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             Z0 ^ X4 ^ Y4,   X7,             Y7,             0,              0,              0,              0               },
-    {0,              X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y9,             0,              0,              0,              0               },
-    {0,              Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   Y7,             0,              0,              0,              0               },
-    {0,              Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0,              0               },
-    {0,              Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0,              0               },
-    {0,              X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0,              0               },
-    {0,              Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y9,             0,              0,              0,              0               },
-    {0,              Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   Y7,             0,              0,              0,              0               },
-    {0,              X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {0,              Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {0,              X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {0,              X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0               },
-    {0,              Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0               },
-    {0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0,              0               },
-    {0,              Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {0,              Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0,              0               },
-    {0,              X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {0,              Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {0,              Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        0,              0               },
-    {0,              Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        0,              0               },
-    {0,              X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        0,              0               },
-    {0,              Y2,             X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        0,              0               },
-    {0,              X2,             Y2,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3 ^ Y6,        0,              0               },
-    {0,              Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {0,              Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0,              0               },
-    {0,              X2,             X3,             Y3,             Y4,             X6,             X7,             Y2,             Y7,             X8,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   0,              0,              0               },
-    {0,              X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {0,              Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {0,              X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {0,              Y2,             X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {0,              X2,             X3,             Y3,             X6,             X7,             Y7,             Y2,             X8,             Y8,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   0,              0               },
-    {0,              X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ Y8,        0               },
-    {0,              Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ Y8,        0               },
-    {0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ Y8,        0               },
-    {0,              Y2,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3 ^ Y8,        0               },
-    {0,              X2,             Y3,             X6,             X7,             Y7,             X8,             Y2,             Y8,             X9,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ Y8,        0               },
-    {0,              Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0               },
-    {0,              Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0               },
-    {0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0               },
-    {0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Y2,             Y8,             X9,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0,              0               },
-    {0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             X2,             Y2,             Y8,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   0,              0               },
-    {0,              X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0               },
-    {0,              Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0               },
-    {0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0               },
-    {0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             Y2,             X9,             Y9,             Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0               },
-    {0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X2,             Y2,             X9,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   0               },
-    {0,              X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             0,              0,              0,              0               },
-    {0,              Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X4,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             0,              0,              0,              0               },
-    {0,              Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z0 ^ X4 ^ Y4,   Y9,             0,              0,              0,              0               },
-    {0,              Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z0 ^ X4 ^ Y4,   X9,             0,              0,              0,              0               },
-    {0,              X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Z0 ^ X4 ^ Y4,   Y8,             0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Z0 ^ X4 ^ Y4,   X8,             0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             Y4,             X5,             Y5,             X6,             Y6,             X7,             Z0 ^ X4 ^ Y4,   Y7,             0,              0,              0,              0               },
-    {0,              X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {0,              Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {0,              X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X5,             Y5,             X6,             Y6,             X7,             Y7,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   0,              0,              0,              0               },
-    {0,              Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0               },
-    {0,              Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0               },
-    {0,              X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             Y5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X5 ^ Y5,   Z0 ^ X4 ^ Y4,   X5 ^ Y5,        0,              0,              0               },
-    {0,              Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {0,              Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {0,              X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             X8,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             Y4,             X5,             X6,             Y6,             X7,             Y7,             Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0,              0               },
-    {0,              X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {0,              Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {0,              X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X5,             X6,             Y6,             X7,             Y7,             X8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   0,              0,              0               },
-    {0,              X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0               },
-    {0,              Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0               },
-    {0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0               },
-    {0,              Y2,             X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X6 ^ Y6,   Z1 ^ X4 ^ Y4,   Z0 ^ X5 ^ Y5,   X5 ^ Y6,        0,              0               },
-    {0,              Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {0,              Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {0,              X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {0,              Y2,             X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             Y4,             X6,             Y6,             X7,             Y7,             X8,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0,              0               },
-    {0,              X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0               },
-    {0,              Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0               },
-    {0,              X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0               },
-    {0,              Y2,             X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0               },
-    {0,              X2,             Y2,             X3,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   0,              0               },
-    {0,              Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        0               },
-    {0,              Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        0               },
-    {0,              X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        0               },
-    {0,              Y2,             X3,             Y3,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X6 ^ Y6,        0               },
-    {0,              X2,             Y2,             Y3,             X6,             Y6,             X7,             Y7,             X8,             Y8,             X9,             Y4 ^ X7 ^ Y7,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X6,   Z0 ^ X5 ^ Y6,   X3 ^ Y6,        0               },
-    {0,              Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {0,              Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {0,              X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {0,              Y2,             X3,             Y3,             Y4,             X6,             X7,             Y7,             X8,             Y8,             X9,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0,              0               },
-    {0,              X2,             X3,             Y3,             Y4,             X6,             X7,             Y2,             Y7,             X8,             Y8,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   0,              0               },
-    {0,              X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0               },
-    {0,              Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0               },
-    {0,              X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0               },
-    {0,              Y2,             X3,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   0               },
-    {0,              X2,             X3,             Y3,             X6,             X7,             Y7,             Y2,             X8,             Y8,             X9,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   0               },
-    {0,              X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            Y11,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ Y8         },
-    {0,              Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ Y8         },
-    {0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X6 ^ Y8         },
-    {0,              Y2,             Y3,             X6,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y4 ^ X8 ^ Y8,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X7,   Z1 ^ X5 ^ Y7,   Z0 ^ X6 ^ Y6,   X3 ^ Y8         },
-    {0,              X2,             Y3,             X6,             X7,             Y7,             X8,             Y2,             Y8,             X9,             Y9,             Y4 ^ X8 ^ Y8,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X7,   Z0 ^ X5 ^ Y7,   Y2 ^ X6 ^ Y6,   X3 ^ Y8         },
-    {0,              Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0               },
-    {0,              Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0               },
-    {0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0               },
-    {0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             Y2,             Y8,             X9,             Y9,             Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7,   0               },
-    {0,              X3,             Y3,             Y4,             X7,             Y7,             X8,             X2,             Y2,             Y8,             X9,             Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7,   0               },
-    {0,              X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            Y11,            Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            X11,            Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X9,             Y9,             X10,            Y10,            Y4 ^ X9 ^ Y9,   X4 ^ Y4 ^ Z4,   Z3 ^ Y5 ^ X8,   Z2 ^ X5 ^ Y8,   Z1 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             Y2,             X9,             Y9,             X10,            Y4 ^ X9 ^ Y9,   Z3 ^ X4 ^ Y4,   Z2 ^ Y5 ^ X8,   Z1 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   Z0 ^ X6 ^ Y7    },
-    {0,              X3,             Y3,             X7,             Y7,             X8,             Y8,             X2,             Y2,             X9,             Y9,             Y4 ^ X9 ^ Y9,   Z2 ^ X4 ^ Y4,   Z1 ^ Y5 ^ X8,   Z0 ^ X5 ^ Y8,   Y2 ^ Y6 ^ X7,   X2 ^ X6 ^ Y7    },
+    {X3,            Y3,            X4,            Y4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            0,             0,             0,             0,             }, //0
+    {X3,            Y4,            X4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            Z0^X3^Y3,      X8,            Y8,            X9,            0,             0,             0,             0,             }, //1
+    {X3,            Y4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Z1^X3^Y3,      Z0^X4^Y4,      Y8,            X9,            0,             0,             0,             0,             }, //2
+    {X3,            Y4,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            Z2^X3^Y3,      Z1^X4^Y4,      Z0^X5^Y5,      X9,            0,             0,             0,             0,             }, //3
+    {X3,            Y4,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            X3^Y3^Z3,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      0,             0,             0,             0,             }, //4
+    {X3,            Y4,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X3^Y3^Z4,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      0,             0,             0,             }, //5
+    {X3,            Y4,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           X3^Y3^Z5,      X4^Y4^Z4,      Z3^Y5^X8,      Z2^X5^Y8,      Z1^Y6^X7,      Z0^X6^Y7,      0,             0,             }, //6
+    {X3,            Y4,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           X3^Y3^Z4,      Z3^X4^Y4,      Z2^Y5^X8,      Z1^X5^Y8,      Y6^X7,         Z0^X6^Y7,      0,             0,             }, //7
+    {X3,            Y3,            Y4,            X5,            Y5,            X6,            Y6,            X7,            Y7,            Z0^X4^Y4,      X8,            Y8,            X9,            0,             0,             0,             0,             }, //8
+    {X3,            Y3,            X5,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Y4^X5^Y5,      Z0^X4^Y4,      Y8,            X9,            0,             0,             0,             0,             }, //9
+    {X3,            Y3,            Y5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            Y4^X5^Y5,      Z0^X4^Y4,      X5^Y5,         X9,            0,             0,             0,             0,             }, //10
+    {X3,            Y3,            X5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            Y4^X6^Y6,      Z1^X4^Y4,      X5^Y5,         X9,            0,             0,             0,             0,             }, //11
+    {X3,            Y3,            X5,            X6,            Y6,            X7,            Y7,            X8,            Y8,            Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X9,            0,             0,             0,             0,             }, //12
+    {X3,            Y3,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y4^X6^Y6,      Z1^X4^Y4,      Z0^X5^Y5,      X5^Y6,         0,             0,             0,             0,             }, //13
+    {X3,            Y3,            Y4,            X5,            X6,            Y6,            X7,            Y7,            X8,            Z1^X4^Y4,      Z0^X5^Y5,      Y8,            X9,            0,             0,             0,             0,             }, //14
+    {X3,            Y3,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      X5^Y6,         0,             0,             0,             0,             }, //15
+    {X3,            Y3,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      X5^Y6,         0,             0,             0,             0,             }, //16
+    {X3,            Y3,            X6,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      0,             0,             0,             0,             }, //17
+    {X3,            Y3,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            Y4^X7^Y7,      Z1^X4^Y4,      Z0^Y5^X6,      X5^Y6,         X6^Y6,         0,             0,             0,             }, //18
+    {X3,            Y3,            Y6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            Y4^X7^Y7,      Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      X6^Y6,         0,             0,             0,             }, //19
+    {X3,            Y3,            Y4,            X6,            Y6,            X7,            Y7,            X8,            Y8,            Z1^X4^Y4,      Z0^Y5^X6,      X5^Y6,         X9,            0,             0,             0,             0,             }, //20
+    {X3,            Y3,            Y4,            X6,            Y6,            X7,            Y7,            X8,            Y8,            Z2^X4^Y4,      Z1^Y5^X6,      Z0^X5^Y6,      X9,            0,             0,             0,             0,             }, //21
+    {X3,            Y3,            X6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            Y4^X8^Y8,      Z1^X4^Y4,      Z0^Y5^X7,      X5^Y7,         X6^Y6,         0,             0,             0,             }, //22
+    {X3,            Y3,            X6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      X6^Y6,         0,             0,             0,             }, //23
+    {X3,            Y3,            X6,            X7,            Y7,            X8,            Y8,            X9,            Y9,            Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      0,             0,             0,             }, //24
+    {X3,            Y3,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y4^X8^Y8,      Z1^X4^Y4,      Z0^Y5^X7,      X5^Y7,         X6^Y6,         X6^Y8,         0,             0,             }, //25
+    {X3,            Y3,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      X6^Y8,         0,             0,             }, //26
+    {X3,            Y3,            Y4,            X6,            X7,            Y7,            X8,            Y8,            X9,            Z1^X4^Y4,      Z0^Y5^X7,      X5^Y7,         X6^Y6,         0,             0,             0,             0,             }, //27
+    {X3,            Y3,            Y4,            X6,            X7,            Y7,            X8,            Y8,            X9,            Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      0,             0,             0,             0,             }, //28
+    {X3,            Y3,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y4^X9^Y9,      Z1^X4^Y4,      Z0^Y5^X8,      X5^Y8,         Y6^X7,         X6^Y7,         0,             0,             }, //29
+    {X3,            Y3,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y4^X9^Y9,      X4^Y4^Z4,      Z3^Y5^X8,      Z2^X5^Y8,      Z1^Y6^X7,      X6^Y7,         0,             0,             }, //30
+    {X3,            Y3,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y4^X9^Y9,      X4^Y4^Z4,      Z3^Y5^X8,      Z2^X5^Y8,      Z1^Y6^X7,      Z0^X6^Y7,      0,             0,             }, //31
+    {X3,            Y3,            X6,            X7,            Y7,            X8,            X9,            Y9,            X10,           Y4^X8^Y8,      Z3^X4^Y4,      Z2^Y5^X7,      Z1^X5^Y7,      Z0^X6^Y6,      X3^Y8,         0,             0,             }, //32
+    {X3,            Y3,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y4^X9^Y9,      Z3^X4^Y4,      Z2^Y5^X8,      Z1^X5^Y8,      Y6^X7,         X6^Y7,         0,             0,             }, //33
+    {X3,            Y3,            X7,            Y7,            X8,            Y8,            X9,            Y9,            X10,           Y4^X9^Y9,      Z3^X4^Y4,      Z2^Y5^X8,      Z1^X5^Y8,      Y6^X7,         Z0^X6^Y7,      0,             0,             }, //34
 };
 
 } // V2
index cecd15355680757c52be5ea55c5b540082af97b5..eea3deefff830485b3dd476f28eb23a2ba9e6e8d 100644 (file)
@@ -33,7 +33,6 @@
 
 #include "gfx10addrlib.h"
 #include "gfx10_gb_reg.h"
-#include "gfx10SwizzlePattern.h"
 
 #include "amdgpu_asic_addr.h"
 
@@ -66,63 +65,54 @@ namespace V2
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
 const SwizzleModeFlags Gfx10Lib::SwizzleModeTable[ADDR_SW_MAX_TYPE] =
-{//Linear 256B  4KB  64KB   Var    Z    Std   Disp  Rot   XOR    T    RtOpt
-    {1,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // ADDR_SW_LINEAR
-    {0,    1,    0,    0,    0,    0,    1,    0,    0,    0,    0,   0}, // ADDR_SW_256B_S
-    {0,    1,    0,    0,    0,    0,    0,    1,    0,    0,    0,   0}, // ADDR_SW_256B_D
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-    {0,    0,    1,    0,    0,    0,    1,    0,    0,    0,    0,   0}, // ADDR_SW_4KB_S
-    {0,    0,    1,    0,    0,    0,    0,    1,    0,    0,    0,   0}, // ADDR_SW_4KB_D
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-    {0,    0,    0,    1,    0,    0,    1,    0,    0,    0,    0,   0}, // ADDR_SW_64KB_S
-    {0,    0,    0,    1,    0,    0,    0,    1,    0,    0,    0,   0}, // ADDR_SW_64KB_D
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-    {0,    0,    0,    1,    0,    0,    1,    0,    0,    1,    1,   0}, // ADDR_SW_64KB_S_T
-    {0,    0,    0,    1,    0,    0,    0,    1,    0,    1,    1,   0}, // ADDR_SW_64KB_D_T
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-    {0,    0,    1,    0,    0,    0,    1,    0,    0,    1,    0,   0}, // ADDR_SW_4KB_S_X
-    {0,    0,    1,    0,    0,    0,    0,    1,    0,    1,    0,   0}, // ADDR_SW_4KB_D_X
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-
-    {0,    0,    0,    1,    0,    1,    0,    0,    0,    1,    0,   0}, // ADDR_SW_64KB_Z_X
-    {0,    0,    0,    1,    0,    0,    1,    0,    0,    1,    0,   0}, // ADDR_SW_64KB_S_X
-    {0,    0,    0,    1,    0,    0,    0,    1,    0,    1,    0,   0}, // ADDR_SW_64KB_D_X
-    {0,    0,    0,    1,    0,    0,    0,    0,    0,    1,    0,   1}, // ADDR_SW_64KB_R_X
-
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // Reserved
-    {1,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   0}, // ADDR_SW_LINEAR_GENERAL
+{//Linear 256B  4KB  64KB   Var    Z    Std   Disp  Rot   XOR    T     RtOpt Reserved
+    {1,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // ADDR_SW_LINEAR
+    {0,    1,    0,    0,    0,    0,    1,    0,    0,    0,    0,    0,    0}, // ADDR_SW_256B_S
+    {0,    1,    0,    0,    0,    0,    0,    1,    0,    0,    0,    0,    0}, // ADDR_SW_256B_D
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+    {0,    0,    1,    0,    0,    0,    1,    0,    0,    0,    0,    0,    0}, // ADDR_SW_4KB_S
+    {0,    0,    1,    0,    0,    0,    0,    1,    0,    0,    0,    0,    0}, // ADDR_SW_4KB_D
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+    {0,    0,    0,    1,    0,    0,    1,    0,    0,    0,    0,    0,    0}, // ADDR_SW_64KB_S
+    {0,    0,    0,    1,    0,    0,    0,    1,    0,    0,    0,    0,    0}, // ADDR_SW_64KB_D
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+    {0,    0,    0,    1,    0,    0,    1,    0,    0,    1,    1,    0,    0}, // ADDR_SW_64KB_S_T
+    {0,    0,    0,    1,    0,    0,    0,    1,    0,    1,    1,    0,    0}, // ADDR_SW_64KB_D_T
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+    {0,    0,    1,    0,    0,    0,    1,    0,    0,    1,    0,    0,    0}, // ADDR_SW_4KB_S_X
+    {0,    0,    1,    0,    0,    0,    0,    1,    0,    1,    0,    0,    0}, // ADDR_SW_4KB_D_X
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+
+    {0,    0,    0,    1,    0,    1,    0,    0,    0,    1,    0,    0,    0}, // ADDR_SW_64KB_Z_X
+    {0,    0,    0,    1,    0,    0,    1,    0,    0,    1,    0,    0,    0}, // ADDR_SW_64KB_S_X
+    {0,    0,    0,    1,    0,    0,    0,    1,    0,    1,    0,    0,    0}, // ADDR_SW_64KB_D_X
+    {0,    0,    0,    1,    0,    0,    0,    0,    0,    1,    0,    1,    0}, // ADDR_SW_64KB_R_X
+
+    {0,    0,    0,    0,    1,    1,    0,    0,    0,    1,    0,    0,    0}, // ADDR_SW_VAR_Z_X
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+    {0,    0,    0,    0,    1,    0,    0,    0,    0,    1,    0,    1,    0}, // ADDR_SW_VAR_R_X
+    {1,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // ADDR_SW_LINEAR_GENERAL
 };
 
 const Dim3d Gfx10Lib::Block256_3d[] = {{8, 4, 8}, {4, 4, 8}, {4, 4, 4}, {4, 2, 4}, {2, 2, 4}};
 
-const Dim3d Gfx10Lib::Block64K_3d[] = {{64, 32, 32}, {32 , 32, 32}, {32, 32, 16}, {32, 16, 16}, {16, 16, 16}};
-const Dim3d Gfx10Lib::Block4K_3d[]  = {{16, 16, 16}, {8, 16, 16}, {8, 16, 8}, {8, 8, 8}, {4, 8, 8}};
-
-const Dim2d Gfx10Lib::Block64K_2d[] = {{256, 256}, {256 , 128}, {128, 128}, {128, 64}, {64, 64}};
-const Dim2d Gfx10Lib::Block4K_2d[]  = {{64, 64}, {64, 32}, {32, 32}, {32, 16}, {16, 16}};
-
 const Dim3d Gfx10Lib::Block64K_Log2_3d[] = {{6, 5, 5}, {5, 5, 5}, {5, 5, 4}, {5, 4, 4}, {4, 4, 4}};
 const Dim3d Gfx10Lib::Block4K_Log2_3d[]  = {{4, 4, 4}, {3, 4, 4}, {3, 4, 3}, {3, 3, 3}, {2, 3, 3}};
 
-const Dim2d Gfx10Lib::Block64K_Log2_2d[] = {{8, 8}, {8, 7}, {7, 7}, {7, 6}, {6, 6}};
-const Dim2d Gfx10Lib::Block4K_Log2_2d[]  = {{6, 6}, {6, 5}, {5, 5}, {5, 4}, {4, 4}};
-
 /**
 ************************************************************************************************************************
 *   Gfx10Lib::Gfx10Lib
@@ -135,7 +125,9 @@ const Dim2d Gfx10Lib::Block4K_Log2_2d[]  = {{6, 6}, {6, 5}, {5, 5}, {5, 4}, {4,
 Gfx10Lib::Gfx10Lib(const Client* pClient)
     :
     Lib(pClient),
-    m_numEquations(0)
+    m_colorBaseIndex(0),
+    m_xmaskBaseIndex(0),
+    m_dccBaseIndex(0)
 {
     m_class = AI_ADDRLIB;
     memset(&m_settings, 0, sizeof(m_settings));
@@ -172,7 +164,8 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlComputeHtileInfo(
 {
     ADDR_E_RETURNCODE ret = ADDR_OK;
 
-    if ((pIn->swizzleMode            != ADDR_SW_64KB_Z_X) ||
+    if (((pIn->swizzleMode != ADDR_SW_64KB_Z_X) &&
+         ((pIn->swizzleMode != ADDR_SW_VAR_Z_X) || (m_blockVarSizeLog2 == 0))) ||
         (pIn->hTileFlags.pipeAligned != TRUE))
     {
         ret = ADDR_INVALIDPARAMS;
@@ -182,7 +175,7 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlComputeHtileInfo(
         Dim3d         metaBlk     = {0};
         const UINT_32 metaBlkSize = GetMetaBlkSize(Gfx10DataDepthStencil,
                                                    ADDR_RSRC_TEX_2D,
-                                                   ADDR_SW_64KB_Z_X,
+                                                   pIn->swizzleMode,
                                                    0,
                                                    0,
                                                    TRUE,
@@ -281,8 +274,10 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlComputeCmaskInfo(
 {
     ADDR_E_RETURNCODE ret = ADDR_OK;
 
-    if ((pIn->resourceType           != ADDR_RSRC_TEX_2D) ||
-        (pIn->cMaskFlags.pipeAligned != TRUE))
+    if ((pIn->resourceType != ADDR_RSRC_TEX_2D) ||
+        (pIn->cMaskFlags.pipeAligned != TRUE)   ||
+        ((pIn->swizzleMode != ADDR_SW_64KB_Z_X) &&
+         ((pIn->swizzleMode != ADDR_SW_VAR_Z_X) || (m_blockVarSizeLog2 == 0))))
     {
         ret = ADDR_INVALIDPARAMS;
     }
@@ -291,7 +286,7 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlComputeCmaskInfo(
         Dim3d         metaBlk     = {0};
         const UINT_32 metaBlkSize = GetMetaBlkSize(Gfx10DataFmask,
                                                    ADDR_RSRC_TEX_2D,
-                                                   ADDR_SW_64KB_Z_X,
+                                                   pIn->swizzleMode,
                                                    0,
                                                    0,
                                                    TRUE,
@@ -512,7 +507,10 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlComputeCmaskAddrFromCoord(
     const ADDR2_COMPUTE_CMASK_ADDRFROMCOORD_INPUT* pIn,    ///< [in] input structure
     ADDR2_COMPUTE_CMASK_ADDRFROMCOORD_OUTPUT*      pOut)   ///< [out] output structure
 {
-    ADDR2_COMPUTE_CMASK_INFO_INPUT input = {0};
+    // Only support pipe aligned CMask
+    ADDR_ASSERT(pIn->cMaskFlags.pipeAligned == TRUE);
+
+    ADDR2_COMPUTE_CMASK_INFO_INPUT input = {};
     input.size            = sizeof(input);
     input.cMaskFlags      = pIn->cMaskFlags;
     input.colorFlags      = pIn->colorFlags;
@@ -522,27 +520,23 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlComputeCmaskAddrFromCoord(
     input.swizzleMode     = pIn->swizzleMode;
     input.resourceType    = pIn->resourceType;
 
-    ADDR2_COMPUTE_CMASK_INFO_OUTPUT output = {0};
+    ADDR2_COMPUTE_CMASK_INFO_OUTPUT output = {};
     output.size = sizeof(output);
 
     ADDR_E_RETURNCODE returnCode = ComputeCmaskInfo(&input, &output);
 
     if (returnCode == ADDR_OK)
     {
-        const UINT_32 fmaskBpp      = GetFmaskBpp(pIn->numSamples, pIn->numFrags);
-        const UINT_32 fmaskElemLog2 = Log2(fmaskBpp >> 3);
-        const UINT_32 numPipeLog2   = m_pipesLog2;
-        const UINT_32 pipeMask      = (1 << numPipeLog2) - 1;
-        const UINT_32 fmaskBppType  = 4;
-        const UINT_32 numPipeType   = 8;
-        const UINT_32 index         = ((m_pipeInterleaveLog2 - 8) * (fmaskBppType * numPipeType)) +
-                                      ((numPipeLog2 + 1) * fmaskBppType) +
-                                      fmaskElemLog2;
-
-        const UINT_64* pPattern     = CMASK_64K[index];
+        const UINT_32  fmaskBpp      = GetFmaskBpp(pIn->numSamples, pIn->numFrags);
+        const UINT_32  fmaskElemLog2 = Log2(fmaskBpp >> 3);
+        const UINT_32  pipeMask      = (1 << m_pipesLog2) - 1;
+        const UINT_32  index         = m_xmaskBaseIndex + fmaskElemLog2;
+        const UINT_8*  patIdxTable   = (pIn->swizzleMode == ADDR_SW_VAR_Z_X) ? CMASK_VAR_RBPLUS_PATIDX :
+                                       (m_settings.supportRbPlus ? CMASK_64K_RBPLUS_PATIDX : CMASK_64K_PATIDX);
+
         const UINT_32  blkSizeLog2  = Log2(output.metaBlkWidth) + Log2(output.metaBlkHeight) - 7;
         const UINT_32  blkMask      = (1 << blkSizeLog2) - 1;
-        const UINT_32  blkOffset    = ComputeOffsetFromSwizzlePattern(pPattern,
+        const UINT_32  blkOffset    = ComputeOffsetFromSwizzlePattern(CMASK_SW_PATTERN[patIdxTable[index]],
                                                                       blkSizeLog2 + 1, // +1 for nibble offset
                                                                       pIn->x,
                                                                       pIn->y,
@@ -605,11 +599,12 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlComputeHtileAddrFromCoord(
         {
             const UINT_32  numSampleLog2 = Log2(pIn->numSamples);
             const UINT_32  pipeMask      = (1 << m_pipesLog2) - 1;
-            const UINT_32  index         = m_htileBaseIndex + numSampleLog2;
-            const UINT_64* pPattern      = HTILE_64K[index];
+            const UINT_32  index         = m_xmaskBaseIndex + numSampleLog2;
+            const UINT_8*  patIdxTable   = m_settings.supportRbPlus ? HTILE_RBPLUS_PATIDX : HTILE_PATIDX;
+
             const UINT_32  blkSizeLog2   = Log2(output.metaBlkWidth) + Log2(output.metaBlkHeight) - 4;
             const UINT_32  blkMask       = (1 << blkSizeLog2) - 1;
-            const UINT_32  blkOffset     = ComputeOffsetFromSwizzlePattern(pPattern,
+            const UINT_32  blkOffset     = ComputeOffsetFromSwizzlePattern(HTILE_SW_PATTERN[patIdxTable[index]],
                                                                            blkSizeLog2 + 1, // +1 for nibble offset
                                                                            pIn->x,
                                                                            pIn->y,
@@ -698,27 +693,53 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlComputeDccAddrFromCoord(
 
         if (returnCode == ADDR_OK)
         {
-            const UINT_32  elemLog2        = Log2(pIn->bpp >> 3);
-            const UINT_32  numPipeLog2     = m_pipesLog2;
-            const UINT_32  pipeMask        = (1 << numPipeLog2) - 1;
-            const UINT_32  alignPipeType   = 7;
-            const UINT_32  unalignPipeType = 3;
-            const UINT_32  numPipeType     = alignPipeType + unalignPipeType;
-            UINT_32        index           = ((m_pipeInterleaveLog2 - 8) * (MaxNumOfBpp * numPipeType)) + elemLog2;
+            const UINT_32  elemLog2    = Log2(pIn->bpp >> 3);
+            const UINT_32  numPipeLog2 = m_pipesLog2;
+            const UINT_32  pipeMask    = (1 << numPipeLog2) - 1;
+            UINT_32        index       = m_dccBaseIndex + elemLog2;
+            const UINT_8*  patIdxTable;
 
-            if (pIn->dccKeyFlags.pipeAligned)
+            if (m_settings.supportRbPlus)
             {
-                index += (numPipeLog2 + unalignPipeType) * MaxNumOfBpp;
+                patIdxTable = DCC_64K_R_X_RBPLUS_PATIDX;
+
+                if (pIn->dccKeyFlags.pipeAligned)
+                {
+                    index += MaxNumOfBpp;
+
+                    if (m_numPkrLog2 < 2)
+                    {
+                        index += m_pipesLog2 * MaxNumOfBpp;
+                    }
+                    else
+                    {
+                        // 4 groups for "m_numPkrLog2 < 2" case
+                        index += 4 * MaxNumOfBpp;
+
+                        const UINT_32 dccPipePerPkr = 3;
+
+                        index += (m_numPkrLog2 - 2) * dccPipePerPkr * MaxNumOfBpp +
+                                 (m_pipesLog2 - m_numPkrLog2) * MaxNumOfBpp;
+                    }
+                }
             }
             else
             {
-                index += Min(numPipeLog2, 2u) * MaxNumOfBpp;
+                patIdxTable = DCC_64K_R_X_PATIDX;
+
+                if (pIn->dccKeyFlags.pipeAligned)
+                {
+                    index += (numPipeLog2 + UnalignedDccType) * MaxNumOfBpp;
+                }
+                else
+                {
+                    index += Min(numPipeLog2, UnalignedDccType - 1) * MaxNumOfBpp;
+                }
             }
 
-            const UINT_64* pPattern    = DCC_64K_R_X[index];
             const UINT_32  blkSizeLog2 = Log2(output.metaBlkWidth) + Log2(output.metaBlkHeight) + elemLog2 - 8;
             const UINT_32  blkMask     = (1 << blkSizeLog2) - 1;
-            const UINT_32  blkOffset   = ComputeOffsetFromSwizzlePattern(pPattern,
+            const UINT_32  blkOffset   = ComputeOffsetFromSwizzlePattern(DCC_64K_R_X_SW_PATTERN[patIdxTable[index]],
                                                                          blkSizeLog2 + 1, // +1 for nibble offset
                                                                          pIn->x,
                                                                          pIn->y,
@@ -822,6 +843,7 @@ BOOL_32 Gfx10Lib::HwlInitGlobalParams(
 
     // Addr::V2::Lib::ComputePipeBankXor()/ComputeSlicePipeBankXor() requires pipe interleave to be exactly 8 bits, and
     // any larger value requires a post-process (left shift) on the output pipeBankXor bits.
+    // And more importantly, SW AddrLib doesn't support sw equation/pattern for PI != 256 case.
     ADDR_ASSERT(m_pipeInterleaveBytes == ADDR_PIPEINTERLEAVE_256B);
 
     switch (gbAddrConfig.bits.MAX_COMPRESSED_FRAGS)
@@ -848,53 +870,47 @@ BOOL_32 Gfx10Lib::HwlInitGlobalParams(
             break;
     }
 
-    if (m_settings.supportRbPlus)
     {
-        m_numPkrLog2 = gbAddrConfig.bits.NUM_PKRS;
-        m_numSaLog2  = (m_numPkrLog2 > 0) ? (m_numPkrLog2 - 1) : 0;
+        // Skip unaligned case
+        m_xmaskBaseIndex += MaxNumOfAA;
 
-        ADDR_ASSERT((m_numPkrLog2 <= m_pipesLog2) && ((m_pipesLog2 - m_numPkrLog2) <= 2));
+        m_xmaskBaseIndex += m_pipesLog2 * MaxNumOfAA;
+        m_colorBaseIndex += m_pipesLog2 * MaxNumOfBpp;
 
-        const UINT_32 maxPipeInterleaveType = 3;
+        if (m_settings.supportRbPlus)
+        {
+            m_numPkrLog2 = gbAddrConfig.bits.NUM_PKRS;
+            m_numSaLog2  = (m_numPkrLog2 > 0) ? (m_numPkrLog2 - 1) : 0;
 
-        m_colorBaseIndex = sizeof(SW_64K_R_X_1xaa_RBPLUS)    /
-                           sizeof(SW_64K_R_X_1xaa_RBPLUS[0]) /
-                           maxPipeInterleaveType             *
-                           (m_pipeInterleaveLog2 - 8);
-        m_htileBaseIndex = sizeof(HTILE_64K_RBPLUS)    /
-                           sizeof(HTILE_64K_RBPLUS[0]) /
-                           maxPipeInterleaveType       *
-                           (m_pipeInterleaveLog2 - 8);
+            ADDR_ASSERT((m_numPkrLog2 <= m_pipesLog2) && ((m_pipesLog2 - m_numPkrLog2) <= 2));
 
-        // Skip unaligned case
-        m_htileBaseIndex += MaxNumOfAA;
+            ADDR_C_ASSERT(sizeof(HTILE_RBPLUS_PATIDX) / sizeof(HTILE_RBPLUS_PATIDX[0]) ==
+                          sizeof(CMASK_64K_RBPLUS_PATIDX) / sizeof(CMASK_64K_RBPLUS_PATIDX[0]));
 
-        if (m_numPkrLog2 < 2)
-        {
-            m_colorBaseIndex += m_pipesLog2 * MaxNumOfBpp;
-            m_htileBaseIndex += m_pipesLog2 * MaxNumOfAA;
+            if (m_numPkrLog2 >= 2)
+            {
+                m_colorBaseIndex += (2 * m_numPkrLog2 - 2) * MaxNumOfBpp;
+                m_xmaskBaseIndex += (m_numPkrLog2 - 1) * 3 * MaxNumOfAA;
+            }
         }
         else
         {
-            m_colorBaseIndex += (2 * m_numPkrLog2 - 2 + m_pipesLog2) * MaxNumOfBpp;
+            const UINT_32 numPipeType = static_cast<UINT_32>(ADDR_CONFIG_64_PIPE) -
+                                        static_cast<UINT_32>(ADDR_CONFIG_1_PIPE)  +
+                                        1;
 
-            const UINT_32 htilePipePerPkr = 4;
+            ADDR_C_ASSERT(sizeof(HTILE_PATIDX) / sizeof(HTILE_PATIDX[0]) == (numPipeType + 1) * MaxNumOfAA);
 
-            m_htileBaseIndex += (m_numPkrLog2 - 1) * htilePipePerPkr * MaxNumOfAA +
-                                (m_pipesLog2 + 1 - m_numPkrLog2) * MaxNumOfAA;
+            ADDR_C_ASSERT(sizeof(HTILE_PATIDX) / sizeof(HTILE_PATIDX[0]) ==
+                          sizeof(CMASK_64K_PATIDX) / sizeof(CMASK_64K_PATIDX[0]));
         }
     }
-    else
-    {
-        const UINT_32 numPipeType = static_cast<UINT_32>(ADDR_CONFIG_64_PIPE) -
-                                    static_cast<UINT_32>(ADDR_CONFIG_1_PIPE)  +
-                                    1;
-
-        m_colorBaseIndex = (m_pipeInterleaveLog2 - 8) * (MaxNumOfBpp * numPipeType) +
-                           (m_pipesLog2 * MaxNumOfBpp);
 
-        m_htileBaseIndex = (m_pipeInterleaveLog2 - 8) * (MaxNumOfAA * (numPipeType + 1)) +
-                           (m_pipesLog2 + 1) * MaxNumOfAA;
+    if (m_settings.supportRbPlus)
+    {
+        // VAR block size = 16K * num_pipes. For 4 pipe configuration, SW_VAR_* mode swizzle patterns are same as the
+        // corresponding SW_64KB_* mode
+        m_blockVarSizeLog2 = m_pipesLog2 + 14;
     }
 
     if (valid)
@@ -1284,14 +1300,17 @@ UINT_32 Gfx10Lib::GetMetaBlkSize(
 ************************************************************************************************************************
 */
 VOID Gfx10Lib::ConvertSwizzlePatternToEquation(
-    UINT_32          elemLog2,  ///< [in] element bytes log2
-    AddrResourceType rsrcType,  ///< [in] resource type
-    AddrSwizzleMode  swMode,    ///< [in] swizzle mode
-    const UINT_64*   pPattern,  ///< [in] swizzle pattern
-    ADDR_EQUATION*   pEquation) ///< [out] equation converted from swizzle pattern
+    UINT_32                elemLog2,  ///< [in] element bytes log2
+    AddrResourceType       rsrcType,  ///< [in] resource type
+    AddrSwizzleMode        swMode,    ///< [in] swizzle mode
+    const ADDR_SW_PATINFO* pPatInfo,  ///< [in] swizzle pattern infor
+    ADDR_EQUATION*         pEquation) ///< [out] equation converted from swizzle pattern
     const
 {
-    const ADDR_BIT_SETTING* pSwizzle      = reinterpret_cast<const ADDR_BIT_SETTING*>(pPattern);
+    ADDR_BIT_SETTING fullSwizzlePattern[20];
+    GetSwizzlePatternFromPatternInfo(pPatInfo, fullSwizzlePattern);
+
+    const ADDR_BIT_SETTING* pSwizzle      = fullSwizzlePattern;
     const UINT_32           blockSizeLog2 = GetBlockSizeLog2(swMode);
 
     pEquation->numBits            = blockSizeLog2;
@@ -1342,10 +1361,13 @@ VOID Gfx10Lib::ConvertSwizzlePatternToEquation(
     }
     else if (IsThin(rsrcType, swMode))
     {
-        const UINT_32 blkXLog2 = (blockSizeLog2 == 12) ? Block4K_Log2_2d[elemLog2].w : Block64K_Log2_2d[elemLog2].w;
-        const UINT_32 blkYLog2 = (blockSizeLog2 == 12) ? Block4K_Log2_2d[elemLog2].h : Block64K_Log2_2d[elemLog2].h;
-        const UINT_32 blkXMask = (1 << blkXLog2) - 1;
-        const UINT_32 blkYMask = (1 << blkYLog2) - 1;
+        Dim3d dim;
+        ComputeThinBlockDimension(&dim.w, &dim.h, &dim.d, 8u << elemLog2, 0, rsrcType, swMode);
+
+        const UINT_32 blkXLog2 = Log2(dim.w);
+        const UINT_32 blkYLog2 = Log2(dim.h);
+        const UINT_32 blkXMask = dim.w - 1;
+        const UINT_32 blkYMask = dim.h - 1;
 
         ADDR_BIT_SETTING swizzle[ADDR_MAX_EQUATION_BIT];
         UINT_32          xMask = 0;
@@ -1541,7 +1563,7 @@ VOID Gfx10Lib::ConvertSwizzlePatternToEquation(
 
         ADDR_ASSERT((xMask == blkXMask) && (yMask == blkYMask));
     }
-    else if (IsEquationCompatibleThick(rsrcType, swMode))
+    else
     {
         const UINT_32 blkXLog2 = (blockSizeLog2 == 12) ? Block4K_Log2_3d[elemLog2].w : Block64K_Log2_3d[elemLog2].w;
         const UINT_32 blkYLog2 = (blockSizeLog2 == 12) ? Block4K_Log2_3d[elemLog2].h : Block64K_Log2_3d[elemLog2].h;
@@ -1823,27 +1845,40 @@ VOID Gfx10Lib::InitEquationTable()
     {
         const AddrResourceType rsrcType = static_cast<AddrResourceType>(rsrcTypeIdx + ADDR_RSRC_TEX_2D);
 
-        for (UINT_32 swModeIdx = 0; swModeIdx < MaxSwMode; swModeIdx++)
+        for (UINT_32 swModeIdx = 0; swModeIdx < MaxSwModeType; swModeIdx++)
         {
             const AddrSwizzleMode swMode = static_cast<AddrSwizzleMode>(swModeIdx);
 
             for (UINT_32 elemLog2 = 0; elemLog2 < MaxElementBytesLog2; elemLog2++)
             {
-                UINT_32        equationIndex = ADDR_INVALID_EQUATION_INDEX;
-                const UINT_64* pPattern      = GetSwizzlePattern(swMode, rsrcType, elemLog2, 1);
+                UINT_32                equationIndex = ADDR_INVALID_EQUATION_INDEX;
+                const ADDR_SW_PATINFO* pPatInfo      = GetSwizzlePatternInfo(swMode, rsrcType, elemLog2, 1);
 
-                if (pPattern != NULL)
+                if (pPatInfo != NULL)
                 {
-                    ADDR_EQUATION equation = {};
+                    ADDR_ASSERT(IsValidSwMode(swMode));
+
+                    if (pPatInfo->maxItemCount <= 3)
+                    {
+                        ADDR_EQUATION equation = {};
 
-                    ConvertSwizzlePatternToEquation(elemLog2, rsrcType, swMode, pPattern, &equation);
+                        ConvertSwizzlePatternToEquation(elemLog2, rsrcType, swMode, pPatInfo, &equation);
 
-                    equationIndex = m_numEquations;
-                    ADDR_ASSERT(equationIndex < EquationTableSize);
+                        equationIndex = m_numEquations;
+                        ADDR_ASSERT(equationIndex < EquationTableSize);
 
-                    m_equationTable[equationIndex] = equation;
+                        m_equationTable[equationIndex] = equation;
 
-                    m_numEquations++;
+                        m_numEquations++;
+                    }
+                    else
+                    {
+                        // We only see "ill" equation from 64/128 BPE + 3D resource + SW_64KB_D_X under RB+ case
+                        ADDR_ASSERT((elemLog2 == 3) || (elemLog2 == 4));
+                        ADDR_ASSERT(rsrcTypeIdx == 1);
+                        ADDR_ASSERT(swMode == ADDR_SW_64KB_D_X);
+                        ADDR_ASSERT(m_settings.supportRbPlus == 1);
+                    }
                 }
 
                 m_equationLookupTable[rsrcTypeIdx][swModeIdx][elemLog2] = equationIndex;
@@ -2179,7 +2214,7 @@ BOOL_32 Gfx10Lib::ValidateSwModeParams(
 {
     BOOL_32 valid = TRUE;
 
-    if (pIn->swizzleMode >= ADDR_SW_MAX_TYPE)
+    if ((pIn->swizzleMode >= ADDR_SW_MAX_TYPE) || (IsValidSwMode(pIn->swizzleMode) == FALSE))
     {
         ADDR_ASSERT_ALWAYS();
         valid = FALSE;
@@ -2198,8 +2233,10 @@ BOOL_32 Gfx10Lib::ValidateSwModeParams(
     const BOOL_32             thin3d      = flags.view3dAs2dArray;
     const BOOL_32             linear      = IsLinear(swizzle);
     const BOOL_32             blk256B     = IsBlock256b(swizzle);
+    const BOOL_32             blkVar      = IsBlockVariable(swizzle);
     const BOOL_32             isNonPrtXor = IsNonPrtXor(swizzle);
     const BOOL_32             prt         = flags.prt;
+    const BOOL_32             fmask       = flags.fmask;
 
     // Misc check
     if ((pIn->numFrags > 1) &&
@@ -2236,7 +2273,8 @@ BOOL_32 Gfx10Lib::ValidateSwModeParams(
     else if (tex2d)
     {
         if (((swizzleMask & Gfx10Rsrc2dSwModeMask) == 0) ||
-            (prt && ((swizzleMask & Gfx10Rsrc2dPrtSwModeMask) == 0)))
+            (prt && ((swizzleMask & Gfx10Rsrc2dPrtSwModeMask) == 0)) ||
+            (fmask && ((swizzleMask & Gfx10ZSwModeMask) == 0)))
         {
             ADDR_ASSERT_ALWAYS();
             valid = FALSE;
@@ -2312,6 +2350,14 @@ BOOL_32 Gfx10Lib::ValidateSwModeParams(
             valid = FALSE;
         }
     }
+    else if (blkVar)
+    {
+        if (m_blockVarSizeLog2 == 0)
+        {
+            ADDR_ASSERT_ALWAYS();
+            valid = FALSE;
+        }
+    }
 
     return valid;
 }
@@ -2354,13 +2400,89 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlGetPreferredSurfaceSetting(
 
     if (pIn->flags.fmask)
     {
-        pOut->swizzleMode          = ADDR_SW_64KB_Z_X;
-        pOut->resourceType         = ADDR_RSRC_TEX_2D;
-        pOut->validBlockSet.value  = AddrBlockSetMacro64KB;
-        pOut->canXor               = TRUE;
-        pOut->validSwTypeSet.value = AddrSwSetZ;
-        pOut->clientPreferredSwSet = pOut->validSwTypeSet;
-        pOut->validSwModeSet.value = Gfx10ZSwModeMask;
+        const BOOL_32 forbid64KbBlockType = pIn->forbiddenBlock.macroThin64KB ? TRUE : FALSE;
+        const BOOL_32 forbidVarBlockType  = ((m_blockVarSizeLog2 == 0) || (pIn->forbiddenBlock.var != 0));
+
+        if (forbid64KbBlockType && forbidVarBlockType)
+        {
+            // Invalid combination...
+            ADDR_ASSERT_ALWAYS();
+            returnCode = ADDR_INVALIDPARAMS;
+        }
+        else
+        {
+            pOut->resourceType                = ADDR_RSRC_TEX_2D;
+            pOut->validBlockSet.value         = 0;
+            pOut->validBlockSet.macroThin64KB = forbid64KbBlockType ? 0 : 1;
+            pOut->validBlockSet.var           = forbidVarBlockType  ? 0 : 1;
+            pOut->validSwModeSet.value        = 0;
+            pOut->validSwModeSet.sw64KB_Z_X   = forbid64KbBlockType ? 0 : 1;
+            pOut->validSwModeSet.swVar_Z_X    = forbidVarBlockType  ? 0 : 1;
+            pOut->canXor                      = TRUE;
+            pOut->validSwTypeSet.value        = AddrSwSetZ;
+            pOut->clientPreferredSwSet        = pOut->validSwTypeSet;
+
+            BOOL_32 use64KbBlockType = (forbid64KbBlockType == FALSE);
+
+            if ((forbid64KbBlockType == FALSE) && (forbidVarBlockType == FALSE))
+            {
+                const UINT_8  maxFmaskSwizzleModeType = 2;
+                const UINT_32 ratioLow                = pIn->flags.minimizeAlign ? 1 : (pIn->flags.opt4space ? 3 : 2);
+                const UINT_32 ratioHi                 = pIn->flags.minimizeAlign ? 1 : (pIn->flags.opt4space ? 2 : 1);
+                const UINT_32 fmaskBpp                = GetFmaskBpp(pIn->numSamples, pIn->numFrags);
+                const UINT_32 numSlices               = Max(pIn->numSlices, 1u);
+                const UINT_32 width                   = Max(pIn->width, 1u);
+                const UINT_32 height                  = Max(pIn->height, 1u);
+                const UINT_64 sizeAlignInElement      = Max(NextPow2(pIn->minSizeAlign) / (fmaskBpp >> 3), 1u);
+
+                AddrSwizzleMode swMode[maxFmaskSwizzleModeType]  = {ADDR_SW_64KB_Z_X, ADDR_SW_VAR_Z_X};
+                Dim3d           blkDim[maxFmaskSwizzleModeType]  = {{0}, {0}};
+                Dim3d           padDim[maxFmaskSwizzleModeType]  = {{0}, {0}};
+                UINT_64         padSize[maxFmaskSwizzleModeType] = {0};
+
+                for (UINT_8 i = 0; i < maxFmaskSwizzleModeType; i++)
+                {
+                    ComputeBlockDimensionForSurf(&blkDim[i].w,
+                                                 &blkDim[i].h,
+                                                 &blkDim[i].d,
+                                                 fmaskBpp,
+                                                 1,
+                                                 pOut->resourceType,
+                                                 swMode[i]);
+
+                    padSize[i] = ComputePadSize(&blkDim[i], width, height, numSlices, &padDim[i]);
+                    padSize[i] = PowTwoAlign(padSize[i], sizeAlignInElement);
+                }
+
+                if (GetBlockSizeLog2(swMode[1]) >= GetBlockSizeLog2(swMode[0]))
+                {
+                    if ((padSize[1] * ratioHi) <= (padSize[0] * ratioLow))
+                    {
+                        use64KbBlockType = FALSE;
+                    }
+                }
+                else
+                {
+                    if ((padSize[1] * ratioLow) < (padSize[0] * ratioHi))
+                    {
+                        use64KbBlockType = FALSE;
+                    }
+                }
+            }
+            else if (forbidVarBlockType)
+            {
+                use64KbBlockType = TRUE;
+            }
+
+            if (use64KbBlockType)
+            {
+                pOut->swizzleMode = ADDR_SW_64KB_Z_X;
+            }
+            else
+            {
+                pOut->swizzleMode = ADDR_SW_VAR_Z_X;
+            }
+        }
     }
     else
     {
@@ -2413,10 +2535,22 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlGetPreferredSurfaceSetting(
         {
             // Forbid swizzle mode(s) by client setting
             ADDR2_SWMODE_SET allowedSwModeSet = {};
-            allowedSwModeSet.value |= pIn->forbiddenBlock.linear    ? 0 : Gfx10LinearSwModeMask;
-            allowedSwModeSet.value |= pIn->forbiddenBlock.micro     ? 0 : Gfx10Blk256BSwModeMask;
-            allowedSwModeSet.value |= pIn->forbiddenBlock.macro4KB  ? 0 : Gfx10Blk4KBSwModeMask;
-            allowedSwModeSet.value |= pIn->forbiddenBlock.macro64KB ? 0 : Gfx10Blk64KBSwModeMask;
+            allowedSwModeSet.value |= pIn->forbiddenBlock.linear ? 0 : Gfx10LinearSwModeMask;
+            allowedSwModeSet.value |= pIn->forbiddenBlock.micro  ? 0 : Gfx10Blk256BSwModeMask;
+            allowedSwModeSet.value |=
+                pIn->forbiddenBlock.macroThin4KB ? 0 :
+                ((pOut->resourceType == ADDR_RSRC_TEX_3D) ? 0 : Gfx10Blk4KBSwModeMask);
+            allowedSwModeSet.value |=
+                pIn->forbiddenBlock.macroThick4KB ? 0 :
+                ((pOut->resourceType == ADDR_RSRC_TEX_3D) ? Gfx10Rsrc3dThick4KBSwModeMask : 0);
+            allowedSwModeSet.value |=
+                pIn->forbiddenBlock.macroThin64KB ? 0 :
+                ((pOut->resourceType == ADDR_RSRC_TEX_3D) ? Gfx10Rsrc3dThin64KBSwModeMask : Gfx10Blk64KBSwModeMask);
+            allowedSwModeSet.value |=
+                pIn->forbiddenBlock.macroThick64KB ? 0 :
+                ((pOut->resourceType == ADDR_RSRC_TEX_3D) ? Gfx10Rsrc3dThick64KBSwModeMask : 0);
+            allowedSwModeSet.value |=
+                pIn->forbiddenBlock.var ? 0 : (m_blockVarSizeLog2 ? Gfx10BlkVarSwModeMask : 0);
 
             if (pIn->preferredSwSet.value != 0)
             {
@@ -2433,17 +2567,22 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlGetPreferredSurfaceSetting(
 
             if (pIn->maxAlign > 0)
             {
-                if (pIn->maxAlign < GetBlockSize(ADDR_SW_64KB))
+                if (pIn->maxAlign < (1u << m_blockVarSizeLog2))
+                {
+                    allowedSwModeSet.value &= ~Gfx10BlkVarSwModeMask;
+                }
+
+                if (pIn->maxAlign < Size64K)
                 {
                     allowedSwModeSet.value &= ~Gfx10Blk64KBSwModeMask;
                 }
 
-                if (pIn->maxAlign < GetBlockSize(ADDR_SW_4KB))
+                if (pIn->maxAlign < Size4K)
                 {
                     allowedSwModeSet.value &= ~Gfx10Blk4KBSwModeMask;
                 }
 
-                if (pIn->maxAlign < GetBlockSize(ADDR_SW_256B))
+                if (pIn->maxAlign < Size256)
                 {
                     allowedSwModeSet.value &= ~Gfx10Blk256BSwModeMask;
                 }
@@ -2463,11 +2602,6 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlGetPreferredSurfaceSetting(
                 case ADDR_RSRC_TEX_3D:
                     allowedSwModeSet.value &= pIn->flags.prt ? Gfx10Rsrc3dPrtSwModeMask : Gfx10Rsrc3dSwModeMask;
 
-                    if (m_settings.supportRbPlus)
-                    {
-                        allowedSwModeSet.value &= ~Gfx10DisplaySwModeMask;
-                    }
-
                     if (pIn->flags.view3dAs2dArray)
                     {
                         allowedSwModeSet.value &= Gfx10Rsrc3dThinSwModeMask;
@@ -2536,7 +2670,7 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlGetPreferredSurfaceSetting(
                 pOut->resourceType   = pIn->resourceType;
                 pOut->validSwModeSet = allowedSwModeSet;
                 pOut->canXor         = (allowedSwModeSet.value & Gfx10XorSwModeMask) ? TRUE : FALSE;
-                pOut->validBlockSet  = GetAllowedBlockSet(allowedSwModeSet);
+                pOut->validBlockSet  = GetAllowedBlockSet(allowedSwModeSet, pOut->resourceType);
                 pOut->validSwTypeSet = GetAllowedSwSet(allowedSwModeSet);
 
                 pOut->clientPreferredSwSet = pIn->preferredSwSet;
@@ -2546,6 +2680,28 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlGetPreferredSurfaceSetting(
                     pOut->clientPreferredSwSet.value = AddrSwSetAll;
                 }
 
+                // Apply optional restrictions
+                if ((pIn->flags.depth || pIn->flags.stencil) && msaa && m_configFlags.nonPower2MemConfig)
+                {
+                    if ((allowedSwModeSet.value &= ~Gfx10BlkVarSwModeMask) != 0)
+                    {
+                        // MSAA depth in non power of 2 memory configs would suffer from non-local channel accesses from
+                        // the GL2 in VAR mode, so it should be avoided.
+                        allowedSwModeSet.value &= ~Gfx10BlkVarSwModeMask;
+                    }
+                    else
+                    {
+                        // We should still be able to use VAR for non power of 2 memory configs with MSAA z/stencil.
+                        // But we have to suffer from low performance because there is no other choice...
+                        ADDR_ASSERT_ALWAYS();
+                    }
+                }
+
+                if (pIn->flags.needEquation)
+                {
+                    FilterInvalidEqSwizzleMode(allowedSwModeSet, pIn->resourceType, Log2(bpp >> 3));
+                }
+
                 if (allowedSwModeSet.value == Gfx10LinearSwModeMask)
                 {
                     pOut->swizzleMode = ADDR_SW_LINEAR;
@@ -2555,15 +2711,34 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlGetPreferredSurfaceSetting(
                     // Always ignore linear swizzle mode if there is other choice.
                     allowedSwModeSet.swLinear = 0;
 
-                    ADDR2_BLOCK_SET allowedBlockSet = GetAllowedBlockSet(allowedSwModeSet);
+                    ADDR2_BLOCK_SET allowedBlockSet = GetAllowedBlockSet(allowedSwModeSet, pOut->resourceType);
 
                     // Determine block size if there is 2 or more block type candidates
                     if (IsPow2(allowedBlockSet.value) == FALSE)
                     {
-                        const AddrSwizzleMode swMode[AddrBlockMaxTiledType]  = {ADDR_SW_256B, ADDR_SW_4KB, ADDR_SW_64KB};
-                        Dim3d                 blkDim[AddrBlockMaxTiledType]  = {{0}, {0}, {0}};
-                        Dim3d                 padDim[AddrBlockMaxTiledType]  = {{0}, {0}, {0}};
-                        UINT_64               padSize[AddrBlockMaxTiledType] = {0};
+                        AddrSwizzleMode swMode[AddrBlockMaxTiledType] = { ADDR_SW_LINEAR };
+
+                        if (m_blockVarSizeLog2 != 0)
+                        {
+                            swMode[AddrBlockVar] = ADDR_SW_VAR_R_X;
+                        }
+
+                        if (pOut->resourceType == ADDR_RSRC_TEX_3D)
+                        {
+                            swMode[AddrBlockThick4KB]  = ADDR_SW_4KB_S;
+                            swMode[AddrBlockThin64KB]  = ADDR_SW_64KB_R_X;
+                            swMode[AddrBlockThick64KB] = ADDR_SW_64KB_S;
+                        }
+                        else
+                        {
+                            swMode[AddrBlockMicro]    = ADDR_SW_256B_S;
+                            swMode[AddrBlockThin4KB]  = ADDR_SW_4KB_S;
+                            swMode[AddrBlockThin64KB] = ADDR_SW_64KB_S;
+                        }
+
+                        Dim3d   blkDim[AddrBlockMaxTiledType]  = {{0}, {0}, {0}, {0}, {0}, {0}};
+                        Dim3d   padDim[AddrBlockMaxTiledType]  = {{0}, {0}, {0}, {0}, {0}, {0}};
+                        UINT_64 padSize[AddrBlockMaxTiledType] = {0};
 
                         const UINT_32 ratioLow           = pIn->flags.minimizeAlign ? 1 : (pIn->flags.opt4space ? 3 : 2);
                         const UINT_32 ratioHi            = pIn->flags.minimizeAlign ? 1 : (pIn->flags.opt4space ? 2 : 1);
@@ -2584,14 +2759,37 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlGetPreferredSurfaceSetting(
                                                              swMode[i]);
 
                                 padSize[i] = ComputePadSize(&blkDim[i], width, height, numSlices, &padDim[i]);
-                                padSize[i] = PowTwoAlign(padSize[i], sizeAlignInElement);
+                                padSize[i] = PowTwoAlign(padSize[i] * numFrags, sizeAlignInElement);
 
-                                if ((minSize == 0) ||
-                                    ((padSize[i] * ratioHi) <= (minSize * ratioLow)))
+                                if (minSize == 0)
                                 {
                                     minSize    = padSize[i];
                                     minSizeBlk = i;
                                 }
+                                else
+                                {
+                                    // Due to the fact that VAR block size = 16KB * m_pipes, it is possible that VAR
+                                    // block size < 64KB. And ratio[Hi/Low] logic implicitly requires iterating from
+                                    // smaller block type to bigger block type. So we have to correct comparing logic
+                                    // according to the size of existing "minimun block" and size of coming/comparing
+                                    // block. The new logic can also be useful to any future change about AddrBlockType.
+                                    if (GetBlockSizeLog2(swMode[i]) >= GetBlockSizeLog2(swMode[minSizeBlk]))
+                                    {
+                                        if ((padSize[i] * ratioHi) <= (minSize * ratioLow))
+                                        {
+                                            minSize    = padSize[i];
+                                            minSizeBlk = i;
+                                        }
+                                    }
+                                    else
+                                    {
+                                        if ((padSize[i] * ratioLow) < (minSize * ratioHi))
+                                        {
+                                            minSize    = padSize[i];
+                                            minSizeBlk = i;
+                                        }
+                                    }
+                                }
                             }
                         }
 
@@ -2604,21 +2802,38 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlGetPreferredSurfaceSetting(
 
                         if (minSizeBlk == AddrBlockMicro)
                         {
+                            ADDR_ASSERT(pOut->resourceType != ADDR_RSRC_TEX_3D);
                             allowedSwModeSet.value &= Gfx10Blk256BSwModeMask;
                         }
-                        else if (minSizeBlk == AddrBlock4KB)
+                        else if (minSizeBlk == AddrBlockThick4KB)
+                        {
+                            ADDR_ASSERT(pOut->resourceType == ADDR_RSRC_TEX_3D);
+                            allowedSwModeSet.value &= Gfx10Rsrc3dThick4KBSwModeMask;
+                        }
+                        else if (minSizeBlk == AddrBlockThin4KB)
                         {
+                            ADDR_ASSERT(pOut->resourceType != ADDR_RSRC_TEX_3D);
                             allowedSwModeSet.value &= Gfx10Blk4KBSwModeMask;
                         }
+                        else if (minSizeBlk == AddrBlockThick64KB)
+                        {
+                            ADDR_ASSERT(pOut->resourceType == ADDR_RSRC_TEX_3D);
+                            allowedSwModeSet.value &= Gfx10Rsrc3dThick64KBSwModeMask;
+                        }
+                        else if (minSizeBlk == AddrBlockThin64KB)
+                        {
+                            allowedSwModeSet.value &= (pOut->resourceType == ADDR_RSRC_TEX_3D) ?
+                                                      Gfx10Rsrc3dThin64KBSwModeMask : Gfx10Blk64KBSwModeMask;
+                        }
                         else
                         {
-                            ADDR_ASSERT(minSizeBlk == AddrBlock64KB);
-                            allowedSwModeSet.value &= Gfx10Blk64KBSwModeMask;
+                            ADDR_ASSERT(minSizeBlk == AddrBlockVar);
+                            allowedSwModeSet.value &= Gfx10BlkVarSwModeMask;
                         }
                     }
 
                     // Block type should be determined.
-                    ADDR_ASSERT(IsPow2(GetAllowedBlockSet(allowedSwModeSet).value));
+                    ADDR_ASSERT(IsPow2(GetAllowedBlockSet(allowedSwModeSet, pOut->resourceType).value));
 
                     ADDR2_SWTYPE_SET allowedSwSet = GetAllowedSwSet(allowedSwModeSet);
 
@@ -2659,7 +2874,9 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlGetPreferredSurfaceSetting(
                         }
                         else if (pIn->resourceType == ADDR_RSRC_TEX_3D)
                         {
-                            if (pIn->flags.color && GetAllowedBlockSet(allowedSwModeSet).macro64KB && allowedSwSet.sw_D)
+                            if (pIn->flags.color &&
+                                GetAllowedBlockSet(allowedSwModeSet, pOut->resourceType).macroThick64KB &&
+                                allowedSwSet.sw_D)
                             {
                                 allowedSwModeSet.value &= Gfx10DisplaySwModeMask;
                             }
@@ -2702,8 +2919,8 @@ ADDR_E_RETURNCODE Gfx10Lib::HwlGetPreferredSurfaceSetting(
                     // Swizzle type should be determined.
                     ADDR_ASSERT(IsPow2(GetAllowedSwSet(allowedSwModeSet).value));
 
-                    // Determine swizzle mode now - always select the "largest" swizzle mode for a given block type +
-                    // swizzle type combination. For example, for AddrBlock64KB + ADDR_SW_S, select SW_64KB_S_X(25) if it's
+                    // Determine swizzle mode now. Always select the "largest" swizzle mode for a given block type +
+                    // swizzle type combination. E.g, for AddrBlockThin64KB + ADDR_SW_S, select SW_64KB_S_X(25) if it's
                     // available, or otherwise select SW_64KB_S_T(17) if it's available, or otherwise select SW_64KB_S(9).
                     pOut->swizzleMode = static_cast<AddrSwizzleMode>(Log2NonPow2(allowedSwModeSet.value));
                 }
@@ -3382,209 +3599,253 @@ UINT_32 Gfx10Lib::ComputeOffsetFromSwizzlePattern(
 
 /**
 ************************************************************************************************************************
-*   Gfx10Lib::GetSwizzlePattern
+*   Gfx10Lib::GetSwizzlePatternInfo
 *
 *   @brief
 *       Get swizzle pattern
 *
 *   @return
-*       Swizzle pattern
+*       Swizzle pattern information
 ************************************************************************************************************************
 */
-const UINT_64* Gfx10Lib::GetSwizzlePattern(
+const ADDR_SW_PATINFO* Gfx10Lib::GetSwizzlePatternInfo(
     AddrSwizzleMode  swizzleMode,       ///< Swizzle mode
     AddrResourceType resourceType,      ///< Resource type
     UINT_32          elemLog2,          ///< Element size in bytes log2
     UINT_32          numFrag            ///< Number of fragment
     ) const
 {
-    const UINT_32  index           = IsXor(swizzleMode) ? (m_colorBaseIndex + elemLog2) : elemLog2;
-    const UINT_64* pSwizzlePattern = NULL;
-    const UINT_32  swizzleMask     = 1 << swizzleMode;
+    const UINT_32          index       = IsXor(swizzleMode) ? (m_colorBaseIndex + elemLog2) : elemLog2;
+    const ADDR_SW_PATINFO* patInfo     = NULL;
+    const UINT_32          swizzleMask = 1 << swizzleMode;
 
-    if (IsLinear(swizzleMode))
-    {
-        pSwizzlePattern = NULL;
-    }
-    else if (resourceType == ADDR_RSRC_TEX_3D)
+    if (IsLinear(swizzleMode) == FALSE)
     {
-        ADDR_ASSERT(numFrag == 1);
-
-        if ((swizzleMask & Gfx10Rsrc3dSwModeMask) == 0)
-        {
-            pSwizzlePattern = NULL;
-        }
-        else if (IsRtOptSwizzle(swizzleMode))
-        {
-            pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_R_X_1xaa_RBPLUS[index] : SW_64K_R_X_1xaa[index];
-        }
-        else if (IsZOrderSwizzle(swizzleMode))
+        if (IsBlockVariable(swizzleMode))
         {
-            pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_Z_X_1xaa_RBPLUS[index] : SW_64K_Z_X_1xaa[index];
-        }
-        else if (IsDisplaySwizzle(resourceType, swizzleMode))
-        {
-            ADDR_ASSERT(swizzleMode == ADDR_SW_64KB_D_X);
-            pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_D3_X_RBPLUS[index] : SW_64K_D3_X[index];
-        }
-        else
-        {
-            ADDR_ASSERT(IsStandardSwizzle(resourceType, swizzleMode));
-
-            if (IsBlock4kb(swizzleMode))
-            {
-                if (swizzleMode == ADDR_SW_4KB_S)
-                {
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_4K_S3_RBPLUS[index] : SW_4K_S3[index];
-                }
-                else
-                {
-                    ADDR_ASSERT(swizzleMode == ADDR_SW_4KB_S_X);
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_4K_S3_X_RBPLUS[index] : SW_4K_S3_X[index];
-                }
-            }
-            else
+            if (m_blockVarSizeLog2 != 0)
             {
-                if (swizzleMode == ADDR_SW_64KB_S)
-                {
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_S3_RBPLUS[index] : SW_64K_S3[index];
-                }
-                else if (swizzleMode == ADDR_SW_64KB_S_X)
+                ADDR_ASSERT(m_settings.supportRbPlus);
+
+                if (IsRtOptSwizzle(swizzleMode))
                 {
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_S3_X_RBPLUS[index] : SW_64K_S3_X[index];
+                    if (numFrag == 1)
+                    {
+                        patInfo = SW_VAR_R_X_1xaa_RBPLUS_PATINFO;
+                    }
+                    else if (numFrag == 2)
+                    {
+                        patInfo = SW_VAR_R_X_2xaa_RBPLUS_PATINFO;
+                    }
+                    else if (numFrag == 4)
+                    {
+                        patInfo = SW_VAR_R_X_4xaa_RBPLUS_PATINFO;
+                    }
+                    else
+                    {
+                        ADDR_ASSERT(numFrag == 8);
+                        patInfo = SW_VAR_R_X_8xaa_RBPLUS_PATINFO;
+                    }
                 }
-                else
+                else if (IsZOrderSwizzle(swizzleMode))
                 {
-                    ADDR_ASSERT(swizzleMode == ADDR_SW_64KB_S_T);
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_S3_T_RBPLUS[index] : SW_64K_S3_T[index];
+                    if (numFrag == 1)
+                    {
+                        patInfo = SW_VAR_Z_X_1xaa_RBPLUS_PATINFO;
+                    }
+                    else if (numFrag == 2)
+                    {
+                        patInfo = SW_VAR_Z_X_2xaa_RBPLUS_PATINFO;
+                    }
+                    else if (numFrag == 4)
+                    {
+                        patInfo = SW_VAR_Z_X_4xaa_RBPLUS_PATINFO;
+                    }
+                    else
+                    {
+                        ADDR_ASSERT(numFrag == 8);
+                        patInfo = SW_VAR_Z_X_8xaa_RBPLUS_PATINFO;
+                    }
                 }
             }
         }
-
-    }
-    else
-    {
-        if ((swizzleMask & Gfx10Rsrc2dSwModeMask) == 0)
-        {
-            pSwizzlePattern = NULL;
-        }
-        else if (IsBlock256b(swizzleMode))
+        else if (resourceType == ADDR_RSRC_TEX_3D)
         {
-            if (swizzleMode == ADDR_SW_256B_S)
-            {
-                pSwizzlePattern = m_settings.supportRbPlus ? SW_256_S_RBPLUS[index] : SW_256_S[index];
-            }
-            else
-            {
-                ADDR_ASSERT(swizzleMode == ADDR_SW_256B_D);
-                pSwizzlePattern = m_settings.supportRbPlus ? SW_256_D_RBPLUS[index] : SW_256_D[index];
-            }
-        }
-        else if (IsBlock4kb(swizzleMode))
-        {
-            if (IsStandardSwizzle(resourceType, swizzleMode))
+            ADDR_ASSERT(numFrag == 1);
+
+            if ((swizzleMask & Gfx10Rsrc3dSwModeMask) != 0)
             {
-                if (swizzleMode == ADDR_SW_4KB_S)
+                if (IsRtOptSwizzle(swizzleMode))
                 {
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_4K_S_RBPLUS[index] : SW_4K_S[index];
+                    patInfo = m_settings.supportRbPlus ? SW_64K_R_X_1xaa_RBPLUS_PATINFO : SW_64K_R_X_1xaa_PATINFO;
                 }
-                else
+                else if (IsZOrderSwizzle(swizzleMode))
                 {
-                    ADDR_ASSERT(swizzleMode == ADDR_SW_4KB_S_X);
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_4K_S_X_RBPLUS[index] : SW_4K_S_X[index];
+                    patInfo = m_settings.supportRbPlus ? SW_64K_Z_X_1xaa_RBPLUS_PATINFO : SW_64K_Z_X_1xaa_PATINFO;
                 }
-            }
-            else
-            {
-                if (swizzleMode == ADDR_SW_4KB_D)
+                else if (IsDisplaySwizzle(resourceType, swizzleMode))
                 {
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_4K_D_RBPLUS[index] : SW_4K_D[index];
+                    ADDR_ASSERT(swizzleMode == ADDR_SW_64KB_D_X);
+                    patInfo = m_settings.supportRbPlus ? SW_64K_D3_X_RBPLUS_PATINFO : SW_64K_D3_X_PATINFO;
                 }
                 else
                 {
-                    ADDR_ASSERT(swizzleMode == ADDR_SW_4KB_D_X);
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_4K_D_X_RBPLUS[index] : SW_4K_D_X[index];
+                    ADDR_ASSERT(IsStandardSwizzle(resourceType, swizzleMode));
+
+                    if (IsBlock4kb(swizzleMode))
+                    {
+                        if (swizzleMode == ADDR_SW_4KB_S)
+                        {
+                            patInfo = m_settings.supportRbPlus ? SW_4K_S3_RBPLUS_PATINFO : SW_4K_S3_PATINFO;
+                        }
+                        else
+                        {
+                            ADDR_ASSERT(swizzleMode == ADDR_SW_4KB_S_X);
+                            patInfo = m_settings.supportRbPlus ? SW_4K_S3_X_RBPLUS_PATINFO : SW_4K_S3_X_PATINFO;
+                        }
+                    }
+                    else
+                    {
+                        if (swizzleMode == ADDR_SW_64KB_S)
+                        {
+                            patInfo = m_settings.supportRbPlus ? SW_64K_S3_RBPLUS_PATINFO : SW_64K_S3_PATINFO;
+                        }
+                        else if (swizzleMode == ADDR_SW_64KB_S_X)
+                        {
+                            patInfo = m_settings.supportRbPlus ? SW_64K_S3_X_RBPLUS_PATINFO : SW_64K_S3_X_PATINFO;
+                        }
+                        else
+                        {
+                            ADDR_ASSERT(swizzleMode == ADDR_SW_64KB_S_T);
+                            patInfo = m_settings.supportRbPlus ? SW_64K_S3_T_RBPLUS_PATINFO : SW_64K_S3_T_PATINFO;
+                        }
+                    }
                 }
             }
         }
         else
         {
-            if (IsRtOptSwizzle(swizzleMode))
-            {
-                if (numFrag == 1)
-                {
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_R_X_1xaa_RBPLUS[index] : SW_64K_R_X_1xaa[index];
-                }
-                else if (numFrag == 2)
-                {
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_R_X_2xaa_RBPLUS[index] : SW_64K_R_X_2xaa[index];
-                }
-                else if (numFrag == 4)
-                {
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_R_X_4xaa_RBPLUS[index] : SW_64K_R_X_4xaa[index];
-                }
-                else
-                {
-                    ADDR_ASSERT(numFrag == 8);
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_R_X_8xaa_RBPLUS[index] : SW_64K_R_X_8xaa[index];
-                }
-            }
-            else if (IsZOrderSwizzle(swizzleMode))
+            if ((swizzleMask & Gfx10Rsrc2dSwModeMask) != 0)
             {
-                if (numFrag == 1)
-                {
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_Z_X_1xaa_RBPLUS[index] : SW_64K_Z_X_1xaa[index];
-                }
-                else if (numFrag == 2)
-                {
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_Z_X_2xaa_RBPLUS[index] : SW_64K_Z_X_2xaa[index];
-                }
-                else if (numFrag == 4)
+                if (IsBlock256b(swizzleMode))
                 {
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_Z_X_4xaa_RBPLUS[index] : SW_64K_Z_X_4xaa[index];
-                }
-                else
-                {
-                    ADDR_ASSERT(numFrag == 8);
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_Z_X_8xaa_RBPLUS[index] : SW_64K_Z_X_8xaa[index];
-                }
-            }
-            else if (IsDisplaySwizzle(resourceType, swizzleMode))
-            {
-                if (swizzleMode == ADDR_SW_64KB_D)
-                {
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_D_RBPLUS[index] : SW_64K_D[index];
-                }
-                else if (swizzleMode == ADDR_SW_64KB_D_X)
-                {
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_D_X_RBPLUS[index] : SW_64K_D_X[index];
-                }
-                else
-                {
-                    ADDR_ASSERT(swizzleMode == ADDR_SW_64KB_D_T);
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_D_T_RBPLUS[index] : SW_64K_D_T[index];
-                }
-            }
-            else
-            {
-                if (swizzleMode == ADDR_SW_64KB_S)
-                {
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_S_RBPLUS[index] : SW_64K_S[index];
+                    if (swizzleMode == ADDR_SW_256B_S)
+                    {
+                        patInfo = m_settings.supportRbPlus ? SW_256_S_RBPLUS_PATINFO : SW_256_S_PATINFO;
+                    }
+                    else
+                    {
+                        ADDR_ASSERT(swizzleMode == ADDR_SW_256B_D);
+                        patInfo = m_settings.supportRbPlus ? SW_256_D_RBPLUS_PATINFO : SW_256_D_PATINFO;
+                    }
                 }
-                else if (swizzleMode == ADDR_SW_64KB_S_X)
+                else if (IsBlock4kb(swizzleMode))
                 {
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_S_X_RBPLUS[index] : SW_64K_S_X[index];
+                    if (IsStandardSwizzle(resourceType, swizzleMode))
+                    {
+                        if (swizzleMode == ADDR_SW_4KB_S)
+                        {
+                            patInfo = m_settings.supportRbPlus ? SW_4K_S_RBPLUS_PATINFO : SW_4K_S_PATINFO;
+                        }
+                        else
+                        {
+                            ADDR_ASSERT(swizzleMode == ADDR_SW_4KB_S_X);
+                            patInfo = m_settings.supportRbPlus ? SW_4K_S_X_RBPLUS_PATINFO : SW_4K_S_X_PATINFO;
+                        }
+                    }
+                    else
+                    {
+                        if (swizzleMode == ADDR_SW_4KB_D)
+                        {
+                            patInfo = m_settings.supportRbPlus ? SW_4K_D_RBPLUS_PATINFO : SW_4K_D_PATINFO;
+                        }
+                        else
+                        {
+                            ADDR_ASSERT(swizzleMode == ADDR_SW_4KB_D_X);
+                            patInfo = m_settings.supportRbPlus ? SW_4K_D_X_RBPLUS_PATINFO : SW_4K_D_X_PATINFO;
+                        }
+                    }
                 }
                 else
                 {
-                    ADDR_ASSERT(swizzleMode == ADDR_SW_64KB_S_T);
-                    pSwizzlePattern = m_settings.supportRbPlus ? SW_64K_S_T_RBPLUS[index] : SW_64K_S_T[index];
+                    if (IsRtOptSwizzle(swizzleMode))
+                    {
+                        if (numFrag == 1)
+                        {
+                            patInfo = m_settings.supportRbPlus ? SW_64K_R_X_1xaa_RBPLUS_PATINFO : SW_64K_R_X_1xaa_PATINFO;
+                        }
+                        else if (numFrag == 2)
+                        {
+                            patInfo = m_settings.supportRbPlus ? SW_64K_R_X_2xaa_RBPLUS_PATINFO : SW_64K_R_X_2xaa_PATINFO;
+                        }
+                        else if (numFrag == 4)
+                        {
+                            patInfo = m_settings.supportRbPlus ? SW_64K_R_X_4xaa_RBPLUS_PATINFO : SW_64K_R_X_4xaa_PATINFO;
+                        }
+                        else
+                        {
+                            ADDR_ASSERT(numFrag == 8);
+                            patInfo = m_settings.supportRbPlus ? SW_64K_R_X_8xaa_RBPLUS_PATINFO : SW_64K_R_X_8xaa_PATINFO;
+                        }
+                    }
+                    else if (IsZOrderSwizzle(swizzleMode))
+                    {
+                        if (numFrag == 1)
+                        {
+                            patInfo = m_settings.supportRbPlus ? SW_64K_Z_X_1xaa_RBPLUS_PATINFO : SW_64K_Z_X_1xaa_PATINFO;
+                        }
+                        else if (numFrag == 2)
+                        {
+                            patInfo = m_settings.supportRbPlus ? SW_64K_Z_X_2xaa_RBPLUS_PATINFO : SW_64K_Z_X_2xaa_PATINFO;
+                        }
+                        else if (numFrag == 4)
+                        {
+                            patInfo = m_settings.supportRbPlus ? SW_64K_Z_X_4xaa_RBPLUS_PATINFO : SW_64K_Z_X_4xaa_PATINFO;
+                        }
+                        else
+                        {
+                            ADDR_ASSERT(numFrag == 8);
+                            patInfo = m_settings.supportRbPlus ? SW_64K_Z_X_8xaa_RBPLUS_PATINFO : SW_64K_Z_X_8xaa_PATINFO;
+                        }
+                    }
+                    else if (IsDisplaySwizzle(resourceType, swizzleMode))
+                    {
+                        if (swizzleMode == ADDR_SW_64KB_D)
+                        {
+                            patInfo = m_settings.supportRbPlus ? SW_64K_D_RBPLUS_PATINFO : SW_64K_D_PATINFO;
+                        }
+                        else if (swizzleMode == ADDR_SW_64KB_D_X)
+                        {
+                            patInfo = m_settings.supportRbPlus ? SW_64K_D_X_RBPLUS_PATINFO : SW_64K_D_X_PATINFO;
+                        }
+                        else
+                        {
+                            ADDR_ASSERT(swizzleMode == ADDR_SW_64KB_D_T);
+                            patInfo = m_settings.supportRbPlus ? SW_64K_D_T_RBPLUS_PATINFO : SW_64K_D_T_PATINFO;
+                        }
+                    }
+                    else
+                    {
+                        if (swizzleMode == ADDR_SW_64KB_S)
+                        {
+                            patInfo = m_settings.supportRbPlus ? SW_64K_S_RBPLUS_PATINFO : SW_64K_S_PATINFO;
+                        }
+                        else if (swizzleMode == ADDR_SW_64KB_S_X)
+                        {
+                            patInfo = m_settings.supportRbPlus ? SW_64K_S_X_RBPLUS_PATINFO : SW_64K_S_X_PATINFO;
+                        }
+                        else
+                        {
+                            ADDR_ASSERT(swizzleMode == ADDR_SW_64KB_S_T);
+                            patInfo = m_settings.supportRbPlus ? SW_64K_S_T_RBPLUS_PATINFO : SW_64K_S_T_PATINFO;
+                        }
+                    }
                 }
             }
         }
     }
 
-    return pSwizzlePattern;
+    return (patInfo != NULL) ? &patInfo[index] : NULL;
 }
 
 /**
@@ -3699,23 +3960,29 @@ ADDR_E_RETURNCODE Gfx10Lib::ComputeSurfaceAddrFromCoordMacroTiled(
 
         if (localIn.numFrags > 1)
         {
-            const UINT_64* pPattern = GetSwizzlePattern(pIn->swizzleMode,
-                                                        pIn->resourceType,
-                                                        elemLog2,
-                                                        localIn.numFrags);
+            const ADDR_SW_PATINFO* pPatInfo = GetSwizzlePatternInfo(pIn->swizzleMode,
+                                                                    pIn->resourceType,
+                                                                    elemLog2,
+                                                                    localIn.numFrags);
 
-            if (pPattern != NULL)
+            if (pPatInfo != NULL)
             {
                 const UINT_32 pb        = localOut.pitch / localOut.blockWidth;
                 const UINT_32 yb        = pIn->y / localOut.blockHeight;
                 const UINT_32 xb        = pIn->x / localOut.blockWidth;
                 const UINT_64 blkIdx    = yb * pb + xb;
-                const UINT_32 blkOffset = ComputeOffsetFromSwizzlePattern(pPattern,
-                                                                          blkSizeLog2,
-                                                                          pIn->x,
-                                                                          pIn->y,
-                                                                          pIn->slice,
-                                                                          pIn->sample);
+
+                ADDR_BIT_SETTING fullSwizzlePattern[20];
+                GetSwizzlePatternFromPatternInfo(pPatInfo, fullSwizzlePattern);
+
+                const UINT_32 blkOffset =
+                    ComputeOffsetFromSwizzlePattern(reinterpret_cast<const UINT_64*>(fullSwizzlePattern),
+                                                    blkSizeLog2,
+                                                    pIn->x,
+                                                    pIn->y,
+                                                    pIn->slice,
+                                                    pIn->sample);
+
                 pOut->addr = (localOut.sliceSize * pIn->slice) +
                              (blkIdx << blkSizeLog2) +
                              (blkOffset ^ pipeBankXor);
@@ -3775,7 +4042,7 @@ ADDR_E_RETURNCODE Gfx10Lib::ComputeSurfaceAddrFromCoordMacroTiled(
 */
 UINT_32 Gfx10Lib::HwlComputeMaxBaseAlignments() const
 {
-    return GetBlockSize(ADDR_SW_64KB);
+    return m_blockVarSizeLog2 ? Max(Size64K, 1u << m_blockVarSizeLog2) : Size64K;
 }
 
 /**
@@ -3790,26 +4057,47 @@ UINT_32 Gfx10Lib::HwlComputeMaxBaseAlignments() const
 */
 UINT_32 Gfx10Lib::HwlComputeMaxMetaBaseAlignments() const
 {
-    // Max base alignment for Htile
-    Dim3d         metaBlk     = {0};
-    const UINT_32 metaBlkSize = GetMetaBlkSize(Gfx10DataDepthStencil,
-                                               ADDR_RSRC_TEX_2D,
-                                               ADDR_SW_64KB_Z_X,
-                                               0,
-                                               0,
-                                               TRUE,
-                                               &metaBlk);
-
-    const  UINT_32 maxBaseAlignHtile = Max(metaBlkSize, 1u << (m_pipesLog2 + 11u));
-
-    // Max base alignment for Cmask
-    const UINT_32 maxBaseAlignCmask = GetMetaBlkSize(Gfx10DataFmask,
-                                                     ADDR_RSRC_TEX_2D,
-                                                     ADDR_SW_64KB_Z_X,
-                                                     0,
-                                                     0,
-                                                     TRUE,
-                                                     &metaBlk);
+    Dim3d metaBlk;
+
+    const AddrSwizzleMode ValidSwizzleModeForXmask[] =
+    {
+        ADDR_SW_64KB_Z_X,
+        m_blockVarSizeLog2 ? ADDR_SW_VAR_Z_X : ADDR_SW_64KB_Z_X,
+    };
+
+    UINT_32 maxBaseAlignHtile = 0;
+    UINT_32 maxBaseAlignCmask = 0;
+
+    for (UINT_32 swIdx = 0; swIdx < sizeof(ValidSwizzleModeForXmask) / sizeof(ValidSwizzleModeForXmask[0]); swIdx++)
+    {
+        for (UINT_32 bppLog2 = 0; bppLog2 < 3; bppLog2++)
+        {
+            for (UINT_32 numFragLog2 = 0; numFragLog2 < 4; numFragLog2++)
+            {
+                // Max base alignment for Htile
+                const UINT_32 metaBlkSizeHtile = GetMetaBlkSize(Gfx10DataDepthStencil,
+                                                                ADDR_RSRC_TEX_2D,
+                                                                ValidSwizzleModeForXmask[swIdx],
+                                                                bppLog2,
+                                                                numFragLog2,
+                                                                TRUE,
+                                                                &metaBlk);
+
+                maxBaseAlignHtile = Max(maxBaseAlignHtile, metaBlkSizeHtile);
+            }
+        }
+
+        // Max base alignment for Cmask
+        const UINT_32 metaBlkSizeCmask = GetMetaBlkSize(Gfx10DataFmask,
+                                                        ADDR_RSRC_TEX_2D,
+                                                        ValidSwizzleModeForXmask[swIdx],
+                                                        0,
+                                                        0,
+                                                        TRUE,
+                                                        &metaBlk);
+
+        maxBaseAlignCmask = Max(maxBaseAlignCmask, metaBlkSizeCmask);
+    }
 
     // Max base alignment for 2D Dcc
     const AddrSwizzleMode ValidSwizzleModeForDcc2D[] =
@@ -3817,6 +4105,7 @@ UINT_32 Gfx10Lib::HwlComputeMaxMetaBaseAlignments() const
         ADDR_SW_64KB_S_X,
         ADDR_SW_64KB_D_X,
         ADDR_SW_64KB_R_X,
+        m_blockVarSizeLog2 ? ADDR_SW_VAR_R_X : ADDR_SW_64KB_R_X,
     };
 
     UINT_32 maxBaseAlignDcc2D = 0;
@@ -3847,6 +4136,7 @@ UINT_32 Gfx10Lib::HwlComputeMaxMetaBaseAlignments() const
         ADDR_SW_64KB_S_X,
         ADDR_SW_64KB_D_X,
         ADDR_SW_64KB_R_X,
+        m_blockVarSizeLog2 ? ADDR_SW_VAR_R_X : ADDR_SW_64KB_R_X,
     };
 
     UINT_32 maxBaseAlignDcc3D = 0;
index 7c800fd893de7f3b760043ee44bb9df1565a8d25..c9a24c04ccc7ea1e71b9a598b37fab768244fd0c 100644 (file)
@@ -36,6 +36,7 @@
 
 #include "addrlib2.h"
 #include "coord.h"
+#include "gfx10SwizzlePattern.h"
 
 namespace Addr
 {
@@ -93,7 +94,11 @@ const UINT_32 Gfx10Blk64KBSwModeMask = (1u << ADDR_SW_64KB_S)   |
                                        (1u << ADDR_SW_64KB_D_X) |
                                        (1u << ADDR_SW_64KB_R_X);
 
-const UINT_32 Gfx10ZSwModeMask = (1u << ADDR_SW_64KB_Z_X);
+const UINT_32 Gfx10BlkVarSwModeMask = (1u << ADDR_SW_VAR_Z_X) |
+                                      (1u << ADDR_SW_VAR_R_X);
+
+const UINT_32 Gfx10ZSwModeMask = (1u << ADDR_SW_64KB_Z_X) |
+                                 (1u << ADDR_SW_VAR_Z_X);
 
 const UINT_32 Gfx10StandardSwModeMask = (1u << ADDR_SW_256B_S)   |
                                         (1u << ADDR_SW_4KB_S)    |
@@ -109,14 +114,16 @@ const UINT_32 Gfx10DisplaySwModeMask = (1u << ADDR_SW_256B_D)   |
                                        (1u << ADDR_SW_4KB_D_X)  |
                                        (1u << ADDR_SW_64KB_D_X);
 
-const UINT_32 Gfx10RenderSwModeMask = (1u << ADDR_SW_64KB_R_X);
+const UINT_32 Gfx10RenderSwModeMask = (1u << ADDR_SW_64KB_R_X) |
+                                      (1u << ADDR_SW_VAR_R_X);
 
 const UINT_32 Gfx10XSwModeMask = (1u << ADDR_SW_4KB_S_X)  |
                                  (1u << ADDR_SW_4KB_D_X)  |
                                  (1u << ADDR_SW_64KB_Z_X) |
                                  (1u << ADDR_SW_64KB_S_X) |
                                  (1u << ADDR_SW_64KB_D_X) |
-                                 (1u << ADDR_SW_64KB_R_X);
+                                 (1u << ADDR_SW_64KB_R_X) |
+                                 Gfx10BlkVarSwModeMask;
 
 const UINT_32 Gfx10TSwModeMask = (1u << ADDR_SW_64KB_S_T) |
                                  (1u << ADDR_SW_64KB_D_T);
@@ -131,7 +138,8 @@ const UINT_32 Gfx10Rsrc1dSwModeMask = Gfx10LinearSwModeMask |
 const UINT_32 Gfx10Rsrc2dSwModeMask = Gfx10LinearSwModeMask  |
                                       Gfx10Blk256BSwModeMask |
                                       Gfx10Blk4KBSwModeMask  |
-                                      Gfx10Blk64KBSwModeMask;
+                                      Gfx10Blk64KBSwModeMask |
+                                      Gfx10BlkVarSwModeMask;
 
 const UINT_32 Gfx10Rsrc3dSwModeMask = (1u << ADDR_SW_LINEAR)   |
                                       (1u << ADDR_SW_4KB_S)    |
@@ -141,14 +149,23 @@ const UINT_32 Gfx10Rsrc3dSwModeMask = (1u << ADDR_SW_LINEAR)   |
                                       (1u << ADDR_SW_64KB_Z_X) |
                                       (1u << ADDR_SW_64KB_S_X) |
                                       (1u << ADDR_SW_64KB_D_X) |
-                                      (1u << ADDR_SW_64KB_R_X);
+                                      (1u << ADDR_SW_64KB_R_X) |
+                                      Gfx10BlkVarSwModeMask;
 
 const UINT_32 Gfx10Rsrc2dPrtSwModeMask = (Gfx10Blk4KBSwModeMask | Gfx10Blk64KBSwModeMask) & ~Gfx10XSwModeMask;
 
 const UINT_32 Gfx10Rsrc3dPrtSwModeMask = Gfx10Rsrc2dPrtSwModeMask & ~Gfx10DisplaySwModeMask;
 
-const UINT_32 Gfx10Rsrc3dThinSwModeMask = (1u << ADDR_SW_64KB_Z_X) |
-                                          (1u << ADDR_SW_64KB_R_X);
+const UINT_32 Gfx10Rsrc3dThin64KBSwModeMask = (1u << ADDR_SW_64KB_Z_X) |
+                                              (1u << ADDR_SW_64KB_R_X);
+
+const UINT_32 Gfx10Rsrc3dThinSwModeMask = Gfx10Rsrc3dThin64KBSwModeMask | Gfx10BlkVarSwModeMask;
+
+const UINT_32 Gfx10Rsrc3dThickSwModeMask = Gfx10Rsrc3dSwModeMask & ~(Gfx10Rsrc3dThinSwModeMask | Gfx10LinearSwModeMask);
+
+const UINT_32 Gfx10Rsrc3dThick4KBSwModeMask = Gfx10Rsrc3dThickSwModeMask & Gfx10Blk4KBSwModeMask;
+
+const UINT_32 Gfx10Rsrc3dThick64KBSwModeMask = Gfx10Rsrc3dThickSwModeMask & Gfx10Blk64KBSwModeMask;
 
 const UINT_32 Gfx10MsaaSwModeMask = Gfx10ZSwModeMask |
                                     Gfx10RenderSwModeMask;
@@ -290,6 +307,14 @@ protected:
         const ADDR2_COMPUTE_SURFACE_ADDRFROMCOORD_INPUT* pIn,
         ADDR2_COMPUTE_SURFACE_ADDRFROMCOORD_OUTPUT*      pOut) const;
 
+    virtual UINT_32 HwlComputeMaxBaseAlignments() const;
+
+    virtual UINT_32 HwlComputeMaxMetaBaseAlignments() const;
+
+    virtual BOOL_32 HwlInitGlobalParams(const ADDR_CREATE_INPUT* pCreateIn);
+
+    virtual ChipFamily HwlConvertChipFamily(UINT_32 uChipFamily, UINT_32 uChipRevision);
+
     // Initialize equation table
     VOID InitEquationTable();
 
@@ -309,6 +334,7 @@ protected:
         const ADDR2_COMPUTE_SURFACE_ADDRFROMCOORD_INPUT* pIn,
         ADDR2_COMPUTE_SURFACE_ADDRFROMCOORD_OUTPUT*      pOut) const;
 
+private:
     UINT_32 ComputeOffsetFromSwizzlePattern(
         const UINT_64* pPattern,
         UINT_32        numBits,
@@ -351,13 +377,6 @@ protected:
         return compressBlkDim;
     }
 
-    static UINT_32 ShiftCeil(
-        UINT_32 a,
-        UINT_32 b)
-    {
-        return (a >> b) + (((a & ((1 << b) - 1)) != 0) ? 1 : 0);
-    }
-
     static void GetMipSize(
         UINT_32  mip0Width,
         UINT_32  mip0Height,
@@ -376,18 +395,39 @@ protected:
         }
     }
 
-    const UINT_64* GetSwizzlePattern(
+    const ADDR_SW_PATINFO* GetSwizzlePatternInfo(
         AddrSwizzleMode  swizzleMode,
         AddrResourceType resourceType,
         UINT_32          log2Elem,
         UINT_32          numFrag) const;
 
+    VOID GetSwizzlePatternFromPatternInfo(
+        const ADDR_SW_PATINFO* pPatInfo,
+        ADDR_BIT_SETTING       (&pSwizzle)[20]) const
+    {
+        memcpy(pSwizzle,
+               GFX10_SW_PATTERN_NIBBLE01[pPatInfo->nibble01Idx],
+               sizeof(GFX10_SW_PATTERN_NIBBLE01[pPatInfo->nibble01Idx]));
+
+        memcpy(&pSwizzle[8],
+               GFX10_SW_PATTERN_NIBBLE2[pPatInfo->nibble2Idx],
+               sizeof(GFX10_SW_PATTERN_NIBBLE2[pPatInfo->nibble2Idx]));
+
+        memcpy(&pSwizzle[12],
+               GFX10_SW_PATTERN_NIBBLE3[pPatInfo->nibble3Idx],
+               sizeof(GFX10_SW_PATTERN_NIBBLE3[pPatInfo->nibble3Idx]));
+
+        memcpy(&pSwizzle[16],
+               GFX10_SW_PATTERN_NIBBLE4[pPatInfo->nibble4Idx],
+               sizeof(GFX10_SW_PATTERN_NIBBLE4[pPatInfo->nibble4Idx]));
+    }
+
     VOID ConvertSwizzlePatternToEquation(
-        UINT_32          elemLog2,
-        AddrResourceType rsrcType,
-        AddrSwizzleMode  swMode,
-        const UINT_64*   pPattern,
-        ADDR_EQUATION*   pEquation) const;
+        UINT_32                elemLog2,
+        AddrResourceType       rsrcType,
+        AddrSwizzleMode        swMode,
+        const ADDR_SW_PATINFO* pPatInfo,
+        ADDR_EQUATION*         pEquation) const;
 
     static INT_32 GetMetaElementSizeLog2(Gfx10DataType dataType);
 
@@ -429,14 +469,6 @@ protected:
         BOOL_32          pipeAlign,
         Dim3d*           pBlock) const;
 
-    BOOL_32 IsEquationCompatibleThick(
-        AddrResourceType resourceType,
-        AddrSwizzleMode  swizzleMode) const
-    {
-        return IsThick(resourceType, swizzleMode) &&
-               ((m_settings.supportRbPlus == 0) || (swizzleMode != ADDR_SW_64KB_D_X));
-    }
-
     INT_32 GetPipeRotateAmount(
         AddrResourceType resourceType,
         AddrSwizzleMode  swizzleMode) const;
@@ -460,61 +492,29 @@ protected:
 
     }
 
-    static const Dim3d      Block256_3d[MaxNumOfBpp];
-    static const Dim3d      Block64K_3d[MaxNumOfBpp];
-    static const Dim3d      Block4K_3d[MaxNumOfBpp];
-    static const Dim3d      Block64K_Log2_3d[MaxNumOfBpp];
-    static const Dim3d      Block4K_Log2_3d[MaxNumOfBpp];
-
-    static const Dim2d      Block64K_2d[MaxNumOfBpp];
-    static const Dim2d      Block4K_2d[MaxNumOfBpp];
-
-    static const Dim2d      Block64K_Log2_2d[MaxNumOfBpp];
-    static const Dim2d      Block4K_Log2_2d[MaxNumOfBpp];
-
-    static const SwizzleModeFlags SwizzleModeTable[ADDR_SW_MAX_TYPE];
-
-    // Max number of swizzle mode supported for equation
-    static const UINT_32    MaxSwMode = 32;
-    // Max number of resource type (2D/3D) supported for equation
-    static const UINT_32    MaxRsrcType = 2;
-    // Max number of bpp (8bpp/16bpp/32bpp/64bpp/128bpp)
-    static const UINT_32    MaxElementBytesLog2  = 5;
-    // Almost all swizzle mode + resource type support equation
-    static const UINT_32    EquationTableSize = MaxElementBytesLog2 * MaxSwMode * MaxRsrcType;
-    // Equation table
-    ADDR_EQUATION           m_equationTable[EquationTableSize];
-
-    // Number of equation entries in the table
-    UINT_32                 m_numEquations;
-    // Equation lookup table according to bpp and tile index
-    UINT_32                 m_equationLookupTable[MaxRsrcType][MaxSwMode][MaxElementBytesLog2];
-    // Number of packers log2
-    UINT_32                 m_numPkrLog2;
-    // Number of shader array log2
-    UINT_32                 m_numSaLog2;
-
-private:
-    virtual UINT_32 HwlComputeMaxBaseAlignments() const;
-
-    virtual UINT_32 HwlComputeMaxMetaBaseAlignments() const;
-
-    virtual BOOL_32 HwlInitGlobalParams(const ADDR_CREATE_INPUT* pCreateIn);
-
-    virtual ChipFamily HwlConvertChipFamily(UINT_32 uChipFamily, UINT_32 uChipRevision);
-
     BOOL_32 IsValidDisplaySwizzleMode(const ADDR2_COMPUTE_SURFACE_INFO_INPUT* pIn) const;
 
     UINT_32 GetMaxNumMipsInTail(UINT_32 blockSizeLog2, BOOL_32 isThin) const;
 
-    static ADDR2_BLOCK_SET GetAllowedBlockSet(ADDR2_SWMODE_SET allowedSwModeSet)
+    static ADDR2_BLOCK_SET GetAllowedBlockSet(ADDR2_SWMODE_SET allowedSwModeSet, AddrResourceType rsrcType)
     {
         ADDR2_BLOCK_SET allowedBlockSet = {};
 
-        allowedBlockSet.micro     = (allowedSwModeSet.value & Gfx10Blk256BSwModeMask) ? TRUE : FALSE;
-        allowedBlockSet.macro4KB  = (allowedSwModeSet.value & Gfx10Blk4KBSwModeMask)  ? TRUE : FALSE;
-        allowedBlockSet.macro64KB = (allowedSwModeSet.value & Gfx10Blk64KBSwModeMask) ? TRUE : FALSE;
-        allowedBlockSet.linear    = (allowedSwModeSet.value & Gfx10LinearSwModeMask)  ? TRUE : FALSE;
+        allowedBlockSet.micro  = (allowedSwModeSet.value & Gfx10Blk256BSwModeMask) ? TRUE : FALSE;
+        allowedBlockSet.linear = (allowedSwModeSet.value & Gfx10LinearSwModeMask)  ? TRUE : FALSE;
+        allowedBlockSet.var    = (allowedSwModeSet.value & Gfx10BlkVarSwModeMask)  ? TRUE : FALSE;
+
+        if (rsrcType == ADDR_RSRC_TEX_3D)
+        {
+            allowedBlockSet.macroThick4KB  = (allowedSwModeSet.value & Gfx10Rsrc3dThick4KBSwModeMask)  ? TRUE : FALSE;
+            allowedBlockSet.macroThin64KB  = (allowedSwModeSet.value & Gfx10Rsrc3dThin64KBSwModeMask)  ? TRUE : FALSE;
+            allowedBlockSet.macroThick64KB = (allowedSwModeSet.value & Gfx10Rsrc3dThick64KBSwModeMask) ? TRUE : FALSE;
+        }
+        else
+        {
+            allowedBlockSet.macroThin4KB  = (allowedSwModeSet.value & Gfx10Blk4KBSwModeMask)  ? TRUE : FALSE;
+            allowedBlockSet.macroThin64KB = (allowedSwModeSet.value & Gfx10Blk64KBSwModeMask) ? TRUE : FALSE;
+        }
 
         return allowedBlockSet;
     }
@@ -554,12 +554,26 @@ private:
     BOOL_32 ValidateNonSwModeParams(const ADDR2_COMPUTE_SURFACE_INFO_INPUT* pIn) const;
     BOOL_32 ValidateSwModeParams(const ADDR2_COMPUTE_SURFACE_INFO_INPUT* pIn) const;
 
-    static const UINT_32 ColumnBits = 2;
-    static const UINT_32 BankBits   = 4;
+    static const UINT_32 ColumnBits       = 2;
+    static const UINT_32 BankBits         = 4;
+    static const UINT_32 UnalignedDccType = 3;
+
+    static const Dim3d Block256_3d[MaxNumOfBpp];
+    static const Dim3d Block64K_Log2_3d[MaxNumOfBpp];
+    static const Dim3d Block4K_Log2_3d[MaxNumOfBpp];
+
+    static const SwizzleModeFlags SwizzleModeTable[ADDR_SW_MAX_TYPE];
+
+    // Number of packers log2
+    UINT_32 m_numPkrLog2;
+    // Number of shader array log2
+    UINT_32 m_numSaLog2;
 
     Gfx10ChipSettings m_settings;
-    UINT_32           m_colorBaseIndex;
-    UINT_32           m_htileBaseIndex;
+
+    UINT_32 m_colorBaseIndex;
+    UINT_32 m_xmaskBaseIndex;
+    UINT_32 m_dccBaseIndex;
 };
 
 } // V2
index cb0d3f054d715fc77acd4f77e26bee7df96f8887..8d2b5700c4d87d6abe7fda87d6a8be35a2f4813b 100644 (file)
@@ -69,51 +69,50 @@ namespace V2
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
 const SwizzleModeFlags Gfx9Lib::SwizzleModeTable[ADDR_SW_MAX_TYPE] =
-{//Linear 256B  4KB  64KB   Var    Z    Std   Disp  Rot   XOR    T     RtOpt
-    {1,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // ADDR_SW_LINEAR
-    {0,    1,    0,    0,    0,    0,    1,    0,    0,    0,    0,    0}, // ADDR_SW_256B_S
-    {0,    1,    0,    0,    0,    0,    0,    1,    0,    0,    0,    0}, // ADDR_SW_256B_D
-    {0,    1,    0,    0,    0,    0,    0,    0,    1,    0,    0,    0}, // ADDR_SW_256B_R
-
-    {0,    0,    1,    0,    0,    1,    0,    0,    0,    0,    0,    0}, // ADDR_SW_4KB_Z
-    {0,    0,    1,    0,    0,    0,    1,    0,    0,    0,    0,    0}, // ADDR_SW_4KB_S
-    {0,    0,    1,    0,    0,    0,    0,    1,    0,    0,    0,    0}, // ADDR_SW_4KB_D
-    {0,    0,    1,    0,    0,    0,    0,    0,    1,    0,    0,    0}, // ADDR_SW_4KB_R
-
-    {0,    0,    0,    1,    0,    1,    0,    0,    0,    0,    0,    0}, // ADDR_SW_64KB_Z
-    {0,    0,    0,    1,    0,    0,    1,    0,    0,    0,    0,    0}, // ADDR_SW_64KB_S
-    {0,    0,    0,    1,    0,    0,    0,    1,    0,    0,    0,    0}, // ADDR_SW_64KB_D
-    {0,    0,    0,    1,    0,    0,    0,    0,    1,    0,    0,    0}, // ADDR_SW_64KB_R
-
-    {0,    0,    0,    0,    1,    1,    0,    0,    0,    0,    0,    0}, // ADDR_SW_VAR_Z
-    {0,    0,    0,    0,    1,    0,    1,    0,    0,    0,    0,    0}, // ADDR_SW_VAR_S
-    {0,    0,    0,    0,    1,    0,    0,    1,    0,    0,    0,    0}, // ADDR_SW_VAR_D
-    {0,    0,    0,    0,    1,    0,    0,    0,    1,    0,    0,    0}, // ADDR_SW_VAR_R
-
-    {0,    0,    0,    1,    0,    1,    0,    0,    0,    1,    1,    0}, // ADDR_SW_64KB_Z_T
-    {0,    0,    0,    1,    0,    0,    1,    0,    0,    1,    1,    0}, // ADDR_SW_64KB_S_T
-    {0,    0,    0,    1,    0,    0,    0,    1,    0,    1,    1,    0}, // ADDR_SW_64KB_D_T
-    {0,    0,    0,    1,    0,    0,    0,    0,    1,    1,    1,    0}, // ADDR_SW_64KB_R_T
-
-    {0,    0,    1,    0,    0,    1,    0,    0,    0,    1,    0,    0}, // ADDR_SW_4KB_Z_x
-    {0,    0,    1,    0,    0,    0,    1,    0,    0,    1,    0,    0}, // ADDR_SW_4KB_S_x
-    {0,    0,    1,    0,    0,    0,    0,    1,    0,    1,    0,    0}, // ADDR_SW_4KB_D_x
-    {0,    0,    1,    0,    0,    0,    0,    0,    1,    1,    0,    0}, // ADDR_SW_4KB_R_x
-
-    {0,    0,    0,    1,    0,    1,    0,    0,    0,    1,    0,    0}, // ADDR_SW_64KB_Z_X
-    {0,    0,    0,    1,    0,    0,    1,    0,    0,    1,    0,    0}, // ADDR_SW_64KB_S_X
-    {0,    0,    0,    1,    0,    0,    0,    1,    0,    1,    0,    0}, // ADDR_SW_64KB_D_X
-    {0,    0,    0,    1,    0,    0,    0,    0,    1,    1,    0,    0}, // ADDR_SW_64KB_R_X
-
-    {0,    0,    0,    0,    1,    1,    0,    0,    0,    1,    0,    0}, // ADDR_SW_VAR_Z_X
-    {0,    0,    0,    0,    1,    0,    1,    0,    0,    1,    0,    0}, // ADDR_SW_VAR_S_X
-    {0,    0,    0,    0,    1,    0,    0,    1,    0,    1,    0,    0}, // ADDR_SW_VAR_D_X
-    {0,    0,    0,    0,    1,    0,    0,    0,    1,    1,    0,    0}, // ADDR_SW_VAR_R_X
-    {1,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // ADDR_SW_LINEAR_GENERAL
+{//Linear 256B  4KB  64KB   Var    Z    Std   Disp  Rot   XOR    T     RtOpt Reserved
+    {1,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // ADDR_SW_LINEAR
+    {0,    1,    0,    0,    0,    0,    1,    0,    0,    0,    0,    0,    0}, // ADDR_SW_256B_S
+    {0,    1,    0,    0,    0,    0,    0,    1,    0,    0,    0,    0,    0}, // ADDR_SW_256B_D
+    {0,    1,    0,    0,    0,    0,    0,    0,    1,    0,    0,    0,    0}, // ADDR_SW_256B_R
+
+    {0,    0,    1,    0,    0,    1,    0,    0,    0,    0,    0,    0,    0}, // ADDR_SW_4KB_Z
+    {0,    0,    1,    0,    0,    0,    1,    0,    0,    0,    0,    0,    0}, // ADDR_SW_4KB_S
+    {0,    0,    1,    0,    0,    0,    0,    1,    0,    0,    0,    0,    0}, // ADDR_SW_4KB_D
+    {0,    0,    1,    0,    0,    0,    0,    0,    1,    0,    0,    0,    0}, // ADDR_SW_4KB_R
+
+    {0,    0,    0,    1,    0,    1,    0,    0,    0,    0,    0,    0,    0}, // ADDR_SW_64KB_Z
+    {0,    0,    0,    1,    0,    0,    1,    0,    0,    0,    0,    0,    0}, // ADDR_SW_64KB_S
+    {0,    0,    0,    1,    0,    0,    0,    1,    0,    0,    0,    0,    0}, // ADDR_SW_64KB_D
+    {0,    0,    0,    1,    0,    0,    0,    0,    1,    0,    0,    0,    0}, // ADDR_SW_64KB_R
+
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+
+    {0,    0,    0,    1,    0,    1,    0,    0,    0,    1,    1,    0,    0}, // ADDR_SW_64KB_Z_T
+    {0,    0,    0,    1,    0,    0,    1,    0,    0,    1,    1,    0,    0}, // ADDR_SW_64KB_S_T
+    {0,    0,    0,    1,    0,    0,    0,    1,    0,    1,    1,    0,    0}, // ADDR_SW_64KB_D_T
+    {0,    0,    0,    1,    0,    0,    0,    0,    1,    1,    1,    0,    0}, // ADDR_SW_64KB_R_T
+
+    {0,    0,    1,    0,    0,    1,    0,    0,    0,    1,    0,    0,    0}, // ADDR_SW_4KB_Z_x
+    {0,    0,    1,    0,    0,    0,    1,    0,    0,    1,    0,    0,    0}, // ADDR_SW_4KB_S_x
+    {0,    0,    1,    0,    0,    0,    0,    1,    0,    1,    0,    0,    0}, // ADDR_SW_4KB_D_x
+    {0,    0,    1,    0,    0,    0,    0,    0,    1,    1,    0,    0,    0}, // ADDR_SW_4KB_R_x
+
+    {0,    0,    0,    1,    0,    1,    0,    0,    0,    1,    0,    0,    0}, // ADDR_SW_64KB_Z_X
+    {0,    0,    0,    1,    0,    0,    1,    0,    0,    1,    0,    0,    0}, // ADDR_SW_64KB_S_X
+    {0,    0,    0,    1,    0,    0,    0,    1,    0,    1,    0,    0,    0}, // ADDR_SW_64KB_D_X
+    {0,    0,    0,    1,    0,    0,    0,    0,    1,    1,    0,    0,    0}, // ADDR_SW_64KB_R_X
+
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+    {0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // Reserved
+    {1,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0}, // ADDR_SW_LINEAR_GENERAL
 };
 
-const UINT_32 Gfx9Lib::MipTailOffset256B[] = {2048, 1024, 512, 256, 128, 64, 32, 16,
-                                              8, 6, 5, 4, 3, 2, 1, 0};
+const UINT_32 Gfx9Lib::MipTailOffset256B[] = {2048, 1024, 512, 256, 128, 64, 32, 16, 8, 6, 5, 4, 3, 2, 1, 0};
 
 const Dim3d   Gfx9Lib::Block256_3dS[]  = {{16, 4, 4}, {8, 4, 4}, {4, 4, 4}, {2, 4, 4}, {1, 4, 4}};
 
@@ -130,8 +129,7 @@ const Dim3d   Gfx9Lib::Block256_3dZ[]  = {{8, 4, 8}, {4, 4, 8}, {4, 4, 4}, {4, 2
 */
 Gfx9Lib::Gfx9Lib(const Client* pClient)
     :
-    Lib(pClient),
-    m_numEquations(0)
+    Lib(pClient)
 {
     m_class = AI_ADDRLIB;
     memset(&m_settings, 0, sizeof(m_settings));
@@ -281,8 +279,7 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlComputeCmaskInfo(
     ADDR2_COMPUTE_CMASK_INFO_OUTPUT*         pOut    ///< [out] output structure
     ) const
 {
-// TODO: Clarify with AddrLib team
-//     ADDR_ASSERT(pIn->resourceType == ADDR_RSRC_TEX_2D);
+    ADDR_ASSERT(pIn->resourceType == ADDR_RSRC_TEX_2D);
 
     UINT_32 numPipeTotal = GetPipeNumForMetaAddressing(pIn->cMaskFlags.pipeAligned,
                                                        pIn->swizzleMode);
@@ -687,7 +684,7 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlComputeDccInfo(
 */
 UINT_32 Gfx9Lib::HwlComputeMaxBaseAlignments() const
 {
-    return ComputeSurfaceBaseAlignTiled(ADDR_SW_64KB);
+    return Size64K;
 }
 
 /**
@@ -722,7 +719,7 @@ UINT_32 Gfx9Lib::HwlComputeMaxMetaBaseAlignments() const
 
     if (m_settings.metaBaseAlignFix)
     {
-        maxBaseAlignHtile = Max(maxBaseAlignHtile, GetBlockSize(ADDR_SW_64KB));
+        maxBaseAlignHtile = Max(maxBaseAlignHtile, Size64K);
     }
 
     if (m_settings.htileAlignFix)
@@ -745,7 +742,7 @@ UINT_32 Gfx9Lib::HwlComputeMaxMetaBaseAlignments() const
 
     if (m_settings.metaBaseAlignFix)
     {
-        maxBaseAlignDccMsaa = Max(maxBaseAlignDccMsaa, GetBlockSize(ADDR_SW_64KB));
+        maxBaseAlignDccMsaa = Max(maxBaseAlignDccMsaa, Size64K);
     }
 
     return Max(maxBaseAlignHtile, Max(maxBaseAlignDccMsaa, maxBaseAlignDcc3D));
@@ -1222,11 +1219,6 @@ BOOL_32 Gfx9Lib::HwlInitGlobalParams(
                 break;
         }
 
-        m_blockVarSizeLog2 = pCreateIn->regValue.blockVarSizeLog2;
-        ADDR_ASSERT((m_blockVarSizeLog2 == 0) ||
-                    ((m_blockVarSizeLog2 >= 17u) && (m_blockVarSizeLog2 <= 20u)));
-        m_blockVarSizeLog2 = Min(Max(17u, m_blockVarSizeLog2), 20u);
-
         if ((m_rbPerSeLog2 == 1) &&
             (((m_pipesLog2 == 1) && ((m_seLog2 == 2) || (m_seLog2 == 3))) ||
              ((m_pipesLog2 == 2) && ((m_seLog2 == 1) || (m_seLog2 == 2)))))
@@ -1241,6 +1233,9 @@ BOOL_32 Gfx9Lib::HwlInitGlobalParams(
                 m_settings.htileCacheRbConflict = 1;
             }
         }
+
+        // For simplicity we never allow VAR swizzle mode for GFX9, the actural value is 18 on GFX9
+        m_blockVarSizeLog2 = 0;
     }
     else
     {
@@ -2164,6 +2159,7 @@ BOOL_32 Gfx9Lib::IsEquationSupported(
     UINT_32          elementBytesLog2) const
 {
     BOOL_32 supported = (elementBytesLog2 < MaxElementBytesLog2) &&
+                        (IsValidSwMode(swMode) == TRUE) &&
                         (IsLinear(swMode) == FALSE) &&
                         (((IsTex2d(rsrcType) == TRUE) &&
                           ((elementBytesLog2 < 4) ||
@@ -2197,7 +2193,7 @@ VOID Gfx9Lib::InitEquationTable()
         AddrResourceType rsrcType = static_cast<AddrResourceType>(rsrcTypeIdx + ADDR_RSRC_TEX_2D);
 
         // Loop all possible swizzle mode
-        for (UINT_32 swModeIdx = 0; swModeIdx < MaxSwMode; swModeIdx++)
+        for (UINT_32 swModeIdx = 0; swModeIdx < MaxSwModeType; swModeIdx++)
         {
             AddrSwizzleMode swMode = static_cast<AddrSwizzleMode>(swModeIdx);
 
@@ -2209,7 +2205,7 @@ VOID Gfx9Lib::InitEquationTable()
                 // Check if the input is supported
                 if (IsEquationSupported(rsrcType, swMode, bppIdx))
                 {
-                    ADDR_EQUATION equation;
+                    ADDR_EQUATION     equation;
                     ADDR_E_RETURNCODE retCode;
 
                     memset(&equation, 0, sizeof(ADDR_EQUATION));
@@ -2954,14 +2950,10 @@ BOOL_32 Gfx9Lib::IsValidDisplaySwizzleMode(
             case ADDR_SW_4KB_R:
             case ADDR_SW_64KB_D:
             case ADDR_SW_64KB_R:
-            case ADDR_SW_VAR_D:
-            case ADDR_SW_VAR_R:
             case ADDR_SW_4KB_D_X:
             case ADDR_SW_4KB_R_X:
             case ADDR_SW_64KB_D_X:
             case ADDR_SW_64KB_R_X:
-            case ADDR_SW_VAR_D_X:
-            case ADDR_SW_VAR_R_X:
                 support = (pIn->bpp <= 64);
                 break;
 
@@ -2975,22 +2967,18 @@ BOOL_32 Gfx9Lib::IsValidDisplaySwizzleMode(
         {
             case ADDR_SW_4KB_D:
             case ADDR_SW_64KB_D:
-            case ADDR_SW_VAR_D:
             case ADDR_SW_64KB_D_T:
             case ADDR_SW_4KB_D_X:
             case ADDR_SW_64KB_D_X:
-            case ADDR_SW_VAR_D_X:
                 support = (pIn->bpp == 64);
                 break;
 
             case ADDR_SW_LINEAR:
             case ADDR_SW_4KB_S:
             case ADDR_SW_64KB_S:
-            case ADDR_SW_VAR_S:
             case ADDR_SW_64KB_S_T:
             case ADDR_SW_4KB_S_X:
             case ADDR_SW_64KB_S_X:
-            case ADDR_SW_VAR_S_X:
                 support = (pIn->bpp <= 64);
                 break;
 
@@ -3210,7 +3198,7 @@ BOOL_32 Gfx9Lib::ValidateSwModeParams(
 {
     BOOL_32 valid = TRUE;
 
-    if (pIn->swizzleMode >= ADDR_SW_MAX_TYPE)
+    if ((pIn->swizzleMode >= ADDR_SW_MAX_TYPE) || (IsValidSwMode(pIn->swizzleMode) == FALSE))
     {
         ADDR_ASSERT_ALWAYS();
         valid = FALSE;
@@ -3229,7 +3217,6 @@ BOOL_32 Gfx9Lib::ValidateSwModeParams(
     const AddrSwizzleMode  swizzle     = pIn->swizzleMode;
     const BOOL_32          linear      = IsLinear(swizzle);
     const BOOL_32          blk256B     = IsBlock256b(swizzle);
-    const BOOL_32          blkVar      = IsBlockVariable(swizzle);
     const BOOL_32          isNonPrtXor = IsNonPrtXor(swizzle);
 
     const ADDR2_SURFACE_FLAGS flags   = pIn->flags;
@@ -3337,11 +3324,6 @@ BOOL_32 Gfx9Lib::ValidateSwModeParams(
             valid = FALSE;
         }
     }
-    else if (blkVar)
-    {
-        ADDR_ASSERT_ALWAYS();
-        valid = FALSE;
-    }
 
     return valid;
 }
@@ -3444,12 +3426,22 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlGetPreferredSurfaceSetting(
 
     if (ValidateNonSwModeParams(&localIn))
     {
-        // Forbid swizzle mode(s) by client setting, for simplicity we never allow VAR swizzle mode for GFX9
+        // Forbid swizzle mode(s) by client setting
         ADDR2_SWMODE_SET allowedSwModeSet = {};
-        allowedSwModeSet.value |= pIn->forbiddenBlock.linear    ? 0 : Gfx9LinearSwModeMask;
-        allowedSwModeSet.value |= pIn->forbiddenBlock.micro     ? 0 : Gfx9Blk256BSwModeMask;
-        allowedSwModeSet.value |= pIn->forbiddenBlock.macro4KB  ? 0 : Gfx9Blk4KBSwModeMask;
-        allowedSwModeSet.value |= pIn->forbiddenBlock.macro64KB ? 0 : Gfx9Blk64KBSwModeMask;
+        allowedSwModeSet.value |= pIn->forbiddenBlock.linear ? 0 : Gfx9LinearSwModeMask;
+        allowedSwModeSet.value |= pIn->forbiddenBlock.micro  ? 0 : Gfx9Blk256BSwModeMask;
+        allowedSwModeSet.value |=
+            pIn->forbiddenBlock.macroThin4KB ? 0 :
+            ((pOut->resourceType == ADDR_RSRC_TEX_3D) ? Gfx9Rsrc3dThin4KBSwModeMask : Gfx9Blk4KBSwModeMask);
+        allowedSwModeSet.value |=
+            pIn->forbiddenBlock.macroThick4KB ? 0 :
+            ((pOut->resourceType == ADDR_RSRC_TEX_3D) ? Gfx9Rsrc3dThick4KBSwModeMask : 0);
+        allowedSwModeSet.value |=
+            pIn->forbiddenBlock.macroThin64KB ? 0 :
+            ((pOut->resourceType == ADDR_RSRC_TEX_3D) ? Gfx9Rsrc3dThin64KBSwModeMask : Gfx9Blk64KBSwModeMask);
+        allowedSwModeSet.value |=
+            pIn->forbiddenBlock.macroThick64KB ? 0 :
+            ((pOut->resourceType == ADDR_RSRC_TEX_3D) ? Gfx9Rsrc3dThick64KBSwModeMask : 0);
 
         if (pIn->preferredSwSet.value != 0)
         {
@@ -3466,17 +3458,17 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlGetPreferredSurfaceSetting(
 
         if (pIn->maxAlign > 0)
         {
-            if (pIn->maxAlign < GetBlockSize(ADDR_SW_64KB))
+            if (pIn->maxAlign < Size64K)
             {
                 allowedSwModeSet.value &= ~Gfx9Blk64KBSwModeMask;
             }
 
-            if (pIn->maxAlign < GetBlockSize(ADDR_SW_4KB))
+            if (pIn->maxAlign < Size4K)
             {
                 allowedSwModeSet.value &= ~Gfx9Blk4KBSwModeMask;
             }
 
-            if (pIn->maxAlign < GetBlockSize(ADDR_SW_256B))
+            if (pIn->maxAlign < Size256)
             {
                 allowedSwModeSet.value &= ~Gfx9Blk256BSwModeMask;
             }
@@ -3583,7 +3575,7 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlGetPreferredSurfaceSetting(
         }
 
         if ((numFrags > 1) &&
-            (GetBlockSize(ADDR_SW_4KB) < (m_pipeInterleaveBytes * numFrags)))
+            (Size4K < (m_pipeInterleaveBytes * numFrags)))
         {
             // MSAA surface must have blk_bytes/pipe_interleave >= num_samples
             allowedSwModeSet.value &= Gfx9Blk64KBSwModeMask;
@@ -3630,7 +3622,7 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlGetPreferredSurfaceSetting(
 
             pOut->validSwModeSet = allowedSwModeSet;
             pOut->canXor         = (allowedSwModeSet.value & Gfx9XorSwModeMask) ? TRUE : FALSE;
-            pOut->validBlockSet  = GetAllowedBlockSet(allowedSwModeSet);
+            pOut->validBlockSet  = GetAllowedBlockSet(allowedSwModeSet, pOut->resourceType);
             pOut->validSwTypeSet = GetAllowedSwSet(allowedSwModeSet);
 
             pOut->clientPreferredSwSet = pIn->preferredSwSet;
@@ -3640,6 +3632,12 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlGetPreferredSurfaceSetting(
                 pOut->clientPreferredSwSet.value = AddrSwSetAll;
             }
 
+            // Apply optional restrictions
+            if (pIn->flags.needEquation)
+            {
+                FilterInvalidEqSwizzleMode(allowedSwModeSet, pIn->resourceType, Log2(bpp >> 3));
+            }
+
             if (allowedSwModeSet.value == Gfx9LinearSwModeMask)
             {
                 pOut->swizzleMode = ADDR_SW_LINEAR;
@@ -3649,15 +3647,26 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlGetPreferredSurfaceSetting(
                 // Always ignore linear swizzle mode if there is other choice.
                 allowedSwModeSet.swLinear = 0;
 
-                ADDR2_BLOCK_SET allowedBlockSet = GetAllowedBlockSet(allowedSwModeSet);
+                ADDR2_BLOCK_SET allowedBlockSet = GetAllowedBlockSet(allowedSwModeSet, pOut->resourceType);
 
                 // Determine block size if there is 2 or more block type candidates
                 if (IsPow2(allowedBlockSet.value) == FALSE)
                 {
-                    const AddrSwizzleMode swMode[AddrBlockMaxTiledType]  = {ADDR_SW_256B, ADDR_SW_4KB, ADDR_SW_64KB};
-                    Dim3d                 blkDim[AddrBlockMaxTiledType]  = {{0}, {0}, {0}};
-                    Dim3d                 padDim[AddrBlockMaxTiledType]  = {{0}, {0}, {0}};
-                    UINT_64               padSize[AddrBlockMaxTiledType] = {0};
+                    AddrSwizzleMode swMode[AddrBlockMaxTiledType] = { ADDR_SW_LINEAR };
+
+                    swMode[AddrBlockMicro]    = ADDR_SW_256B_D;
+                    swMode[AddrBlockThin4KB]  = ADDR_SW_4KB_D;
+                    swMode[AddrBlockThin64KB] = ADDR_SW_64KB_D;
+
+                    if (pOut->resourceType == ADDR_RSRC_TEX_3D)
+                    {
+                        swMode[AddrBlockThick4KB]  = ADDR_SW_4KB_S;
+                        swMode[AddrBlockThick64KB] = ADDR_SW_64KB_S;
+                    }
+
+                    Dim3d   blkDim[AddrBlockMaxTiledType]  = {{0}, {0}, {0}, {0}, {0}, {0}};
+                    Dim3d   padDim[AddrBlockMaxTiledType]  = {{0}, {0}, {0}, {0}, {0}, {0}};
+                    UINT_64 padSize[AddrBlockMaxTiledType] = {0};
 
                     const UINT_32 ratioLow           = pIn->flags.minimizeAlign ? 1 : (pIn->flags.opt4space ? 3 : 2);
                     const UINT_32 ratioHi            = pIn->flags.minimizeAlign ? 1 : (pIn->flags.opt4space ? 2 : 1);
@@ -3683,7 +3692,7 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlGetPreferredSurfaceSetting(
                             }
 
                             padSize[i] = ComputePadSize(&blkDim[i], width, height, numSlices, &padDim[i]);
-                            padSize[i] = PowTwoAlign(padSize[i], sizeAlignInElement);
+                            padSize[i] = PowTwoAlign(padSize[i] * numFrags, sizeAlignInElement);
 
                             if ((minSize == 0) ||
                                 ((padSize[i] * ratioHi) <= (minSize * ratioLow)))
@@ -3697,28 +3706,41 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlGetPreferredSurfaceSetting(
                     if ((allowedBlockSet.micro == TRUE)      &&
                         (width  <= blkDim[AddrBlockMicro].w) &&
                         (height <= blkDim[AddrBlockMicro].h) &&
-                        (NextPow2(pIn->minSizeAlign) <= GetBlockSize(ADDR_SW_256B)))
+                        (NextPow2(pIn->minSizeAlign) <= Size256))
                     {
                         minSizeBlk = AddrBlockMicro;
                     }
 
                     if (minSizeBlk == AddrBlockMicro)
                     {
+                        ADDR_ASSERT(pOut->resourceType != ADDR_RSRC_TEX_3D);
                         allowedSwModeSet.value &= Gfx9Blk256BSwModeMask;
                     }
-                    else if (minSizeBlk == AddrBlock4KB)
+                    else if (minSizeBlk == AddrBlockThick4KB)
                     {
-                        allowedSwModeSet.value &= Gfx9Blk4KBSwModeMask;
+                        ADDR_ASSERT(pOut->resourceType == ADDR_RSRC_TEX_3D);
+                        allowedSwModeSet.value &= Gfx9Rsrc3dThick4KBSwModeMask;
+                    }
+                    else if (minSizeBlk == AddrBlockThin4KB)
+                    {
+                        allowedSwModeSet.value &= (pOut->resourceType == ADDR_RSRC_TEX_3D) ?
+                                                  Gfx9Rsrc3dThin4KBSwModeMask : Gfx9Blk4KBSwModeMask;
+                    }
+                    else if (minSizeBlk == AddrBlockThick64KB)
+                    {
+                        ADDR_ASSERT(pOut->resourceType == ADDR_RSRC_TEX_3D);
+                        allowedSwModeSet.value &= Gfx9Rsrc3dThick64KBSwModeMask;
                     }
                     else
                     {
-                        ADDR_ASSERT(minSizeBlk == AddrBlock64KB);
-                        allowedSwModeSet.value &= Gfx9Blk64KBSwModeMask;
+                        ADDR_ASSERT(minSizeBlk == AddrBlockThin64KB);
+                        allowedSwModeSet.value &= (pOut->resourceType == ADDR_RSRC_TEX_3D) ?
+                                                  Gfx9Rsrc3dThin64KBSwModeMask : Gfx9Blk64KBSwModeMask;
                     }
                 }
 
                 // Block type should be determined.
-                ADDR_ASSERT(IsPow2(GetAllowedBlockSet(allowedSwModeSet).value));
+                ADDR_ASSERT(IsPow2(GetAllowedBlockSet(allowedSwModeSet, pOut->resourceType).value));
 
                 ADDR2_SWTYPE_SET allowedSwSet = GetAllowedSwSet(allowedSwModeSet);
 
@@ -3775,7 +3797,7 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlGetPreferredSurfaceSetting(
                         {
                             allowedSwModeSet.value &= Gfx9RotateSwModeMask;
                         }
-                        else if (displayRsrc && allowedSwSet.sw_D)
+                        else if (allowedSwSet.sw_D)
                         {
                             allowedSwModeSet.value &= Gfx9DisplaySwModeMask;
                         }
@@ -3794,8 +3816,8 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlGetPreferredSurfaceSetting(
                 // Swizzle type should be determined.
                 ADDR_ASSERT(IsPow2(GetAllowedSwSet(allowedSwModeSet).value));
 
-                // Determine swizzle mode now - always select the "largest" swizzle mode for a given block type +
-                // swizzle type combination. For example, for AddrBlock64KB + ADDR_SW_S, select SW_64KB_S_X(25) if it's
+                // Determine swizzle mode now. Always select the "largest" swizzle mode for a given block type + swizzle
+                // type combination. For example, for AddrBlockThin64KB + ADDR_SW_S, select SW_64KB_S_X(25) if it's
                 // available, or otherwise select SW_64KB_S_T(17) if it's available, or otherwise select SW_64KB_S(9).
                 pOut->swizzleMode = static_cast<AddrSwizzleMode>(Log2NonPow2(allowedSwModeSet.value));
             }
@@ -3848,13 +3870,13 @@ ADDR_E_RETURNCODE Gfx9Lib::ComputeStereoInfo(
             const UINT_32        numBankBits       = GetBankXorBits(blkSizeLog2);
             const UINT_32        bppLog2           = Log2(pIn->bpp >> 3);
             const UINT_32        maxYCoordBlock256 = Log2(Block256_2d[bppLog2].h) - 1;
-            ASSERTED const ADDR_EQUATION *pEqToCheck = &m_equationTable[eqIndex];
+            const ADDR_EQUATION *pEqToCheck        = &m_equationTable[eqIndex];
 
             ADDR_ASSERT(maxYCoordBlock256 ==
-                        GetMaxValidChannelIndex(&pEqToCheck->addr[0], GetBlockSizeLog2(ADDR_SW_256B), 1));
+                        GetMaxValidChannelIndex(&pEqToCheck->addr[0], Log2Size256, 1));
 
             const UINT_32 maxYCoordInBaseEquation =
-                (blkSizeLog2 - GetBlockSizeLog2(ADDR_SW_256B)) / 2 + maxYCoordBlock256;
+                (blkSizeLog2 - Log2Size256) / 2 + maxYCoordBlock256;
 
             ADDR_ASSERT(maxYCoordInBaseEquation ==
                         GetMaxValidChannelIndex(&pEqToCheck->addr[0], blkSizeLog2, 1));
@@ -4548,7 +4570,7 @@ Dim3d Gfx9Lib::GetMipStartPos(
 
     // Report mip in tail if Mip0 is already in mip tail
     BOOL_32 inMipTail      = IsInMipTail(resourceType, swizzleMode, tailMaxDim, width, height, depth);
-    UINT_32 log2blkSize    = GetBlockSizeLog2(swizzleMode);
+    UINT_32 log2BlkSize    = GetBlockSizeLog2(swizzleMode);
     UINT_32 mipIndexInTail = mipId;
 
     if (inMipTail == FALSE)
@@ -4598,7 +4620,7 @@ Dim3d Gfx9Lib::GetMipStartPos(
 
             if (IsThick(resourceType, swizzleMode))
             {
-                UINT_32 dim = log2blkSize % 3;
+                UINT_32 dim = log2BlkSize % 3;
 
                 if (dim == 0)
                 {
@@ -4618,7 +4640,7 @@ Dim3d Gfx9Lib::GetMipStartPos(
             }
             else
             {
-                if (log2blkSize & 1)
+                if (log2BlkSize & 1)
                 {
                     inTail = (mipWidthInBlk <= 2) && (mipHeightInBlk == 1);
                 }
@@ -4648,7 +4670,7 @@ Dim3d Gfx9Lib::GetMipStartPos(
 
     if (inMipTail)
     {
-        UINT_32 index = mipIndexInTail + MaxMacroBits - log2blkSize;
+        UINT_32 index = mipIndexInTail + MaxMacroBits - log2BlkSize;
         ADDR_ASSERT(index < sizeof(MipTailOffset256B) / sizeof(UINT_32));
         *pMipTailBytesOffset = MipTailOffset256B[index] << 8;
     }
@@ -4729,7 +4751,7 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlComputeSurfaceAddrFromCoordTiled(
         if (IsThin(pIn->resourceType, pIn->swizzleMode))
         {
             UINT_32 blockOffset = 0;
-            UINT_32 log2blkSize = GetBlockSizeLog2(pIn->swizzleMode);
+            UINT_32 log2BlkSize = GetBlockSizeLog2(pIn->swizzleMode);
 
             if (IsZOrderSwizzle(pIn->swizzleMode))
             {
@@ -4774,7 +4796,7 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlComputeSurfaceAddrFromCoordTiled(
                     MortonGen2d((pIn->x / microBlockDim.w), (pIn->y / microBlockDim.h), 12) << 8;
 
                 // Sample bits start location
-                UINT_32 sampleStart = log2blkSize - Log2(pIn->numSamples);
+                UINT_32 sampleStart = log2BlkSize - Log2(pIn->numSamples);
                 // Join sample bits information to the highest Macro block bits
                 if (IsNonPrtXor(pIn->swizzleMode))
                 {
@@ -4787,7 +4809,7 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlComputeSurfaceAddrFromCoordTiled(
                     // after this op, the blockOffset only contains log2 Macro block size bits
                     blockOffset %= (1 << sampleStart);
                     blockOffset |= (pIn->sample << sampleStart);
-                    ADDR_ASSERT((blockOffset >> log2blkSize) == 0);
+                    ADDR_ASSERT((blockOffset >> log2BlkSize) == 0);
                 }
             }
 
@@ -4796,7 +4818,7 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlComputeSurfaceAddrFromCoordTiled(
                 // Mask off bits above Macro block bits to keep page synonyms working for prt
                 if (IsPrt(pIn->swizzleMode))
                 {
-                    blockOffset &= ((1 << log2blkSize) - 1);
+                    blockOffset &= ((1 << log2BlkSize) - 1);
                 }
 
                 // Preserve offset inside pipe interleave
@@ -4804,13 +4826,13 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlComputeSurfaceAddrFromCoordTiled(
                 blockOffset >>= m_pipeInterleaveLog2;
 
                 // Pipe/Se xor bits
-                pipeBits = GetPipeXorBits(log2blkSize);
+                pipeBits = GetPipeXorBits(log2BlkSize);
                 // Pipe xor
                 pipeXor = FoldXor2d(blockOffset, pipeBits);
                 blockOffset >>= pipeBits;
 
                 // Bank xor bits
-                bankBits = GetBankXorBits(log2blkSize);
+                bankBits = GetBankXorBits(log2BlkSize);
                 // Bank Xor
                 bankXor = FoldXor2d(blockOffset, bankBits);
                 blockOffset >>= bankBits;
@@ -4825,7 +4847,7 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlComputeSurfaceAddrFromCoordTiled(
             }
 
             ADDR_ASSERT((blockOffset | mipTailBytesOffset) == (blockOffset + mipTailBytesOffset));
-            ADDR_ASSERT((mipTailBytesOffset == 0u) || (blockOffset < (1u << log2blkSize)));
+            ADDR_ASSERT((mipTailBytesOffset == 0u) || (blockOffset < (1u << log2BlkSize)));
 
             blockOffset |= mipTailBytesOffset;
 
@@ -4840,7 +4862,7 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlComputeSurfaceAddrFromCoordTiled(
             returnCode = ApplyCustomerPipeBankXor(pIn->swizzleMode, pIn->pipeBankXor,
                                                   bankBits, pipeBits, &blockOffset);
 
-            blockOffset %= (1 << log2blkSize);
+            blockOffset %= (1 << log2BlkSize);
 
             UINT_32 pitchInMacroBlock = localOut.mipChainPitch / localOut.blockWidth;
             UINT_32 paddedHeightInMacroBlock = localOut.mipChainHeight / localOut.blockHeight;
@@ -4850,11 +4872,11 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlComputeSurfaceAddrFromCoordTiled(
                 ((pIn->y / localOut.blockHeight) + mipStartPos.h) * pitchInMacroBlock +
                 ((pIn->x / localOut.blockWidth) + mipStartPos.w);
 
-            pOut->addr = blockOffset | (macroBlockIndex << log2blkSize);
+            pOut->addr = blockOffset | (macroBlockIndex << log2BlkSize);
         }
         else
         {
-            UINT_32 log2blkSize = GetBlockSizeLog2(pIn->swizzleMode);
+            UINT_32 log2BlkSize = GetBlockSizeLog2(pIn->swizzleMode);
 
             Dim3d microBlockDim = Block1K_3d[log2ElementBytes];
 
@@ -4871,7 +4893,7 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlComputeSurfaceAddrFromCoordTiled(
                 // Mask off bits above Macro block bits to keep page synonyms working for prt
                 if (IsPrt(pIn->swizzleMode))
                 {
-                    blockOffset &= ((1 << log2blkSize) - 1);
+                    blockOffset &= ((1 << log2BlkSize) - 1);
                 }
 
                 // Preserve offset inside pipe interleave
@@ -4879,13 +4901,13 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlComputeSurfaceAddrFromCoordTiled(
                 blockOffset >>= m_pipeInterleaveLog2;
 
                 // Pipe/Se xor bits
-                pipeBits = GetPipeXorBits(log2blkSize);
+                pipeBits = GetPipeXorBits(log2BlkSize);
                 // Pipe xor
                 pipeXor = FoldXor3d(blockOffset, pipeBits);
                 blockOffset >>= pipeBits;
 
                 // Bank xor bits
-                bankBits = GetBankXorBits(log2blkSize);
+                bankBits = GetBankXorBits(log2BlkSize);
                 // Bank Xor
                 bankXor = FoldXor3d(blockOffset, bankBits);
                 blockOffset >>= bankBits;
@@ -4900,13 +4922,13 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlComputeSurfaceAddrFromCoordTiled(
             }
 
             ADDR_ASSERT((blockOffset | mipTailBytesOffset) == (blockOffset + mipTailBytesOffset));
-            ADDR_ASSERT((mipTailBytesOffset == 0u) || (blockOffset < (1u << log2blkSize)));
+            ADDR_ASSERT((mipTailBytesOffset == 0u) || (blockOffset < (1u << log2BlkSize)));
             blockOffset |= mipTailBytesOffset;
 
             returnCode = ApplyCustomerPipeBankXor(pIn->swizzleMode, pIn->pipeBankXor,
                                                   bankBits, pipeBits, &blockOffset);
 
-            blockOffset %= (1 << log2blkSize);
+            blockOffset %= (1 << log2BlkSize);
 
             UINT_32 xb = pIn->x / localOut.blockWidth  + mipStartPos.w;
             UINT_32 yb = pIn->y / localOut.blockHeight + mipStartPos.h;
@@ -4917,7 +4939,7 @@ ADDR_E_RETURNCODE Gfx9Lib::HwlComputeSurfaceAddrFromCoordTiled(
                 (localOut.mipChainHeight / localOut.blockHeight) * pitchInBlock;
             UINT_64 blockIndex = zb * sliceSizeInBlock + yb * pitchInBlock + xb;
 
-            pOut->addr = blockOffset | (blockIndex << log2blkSize);
+            pOut->addr = blockOffset | (blockIndex << log2BlkSize);
         }
     }
     else
@@ -4996,5 +5018,59 @@ ADDR_E_RETURNCODE Gfx9Lib::ComputeSurfaceLinearPadding(
     return returnCode;
 }
 
+/**
+************************************************************************************************************************
+*   Gfx9Lib::ComputeThinBlockDimension
+*
+*   @brief
+*       Internal function to get thin block width/height/depth in element from surface input params.
+*
+*   @return
+*       N/A
+************************************************************************************************************************
+*/
+VOID Gfx9Lib::ComputeThinBlockDimension(
+    UINT_32*         pWidth,
+    UINT_32*         pHeight,
+    UINT_32*         pDepth,
+    UINT_32          bpp,
+    UINT_32          numSamples,
+    AddrResourceType resourceType,
+    AddrSwizzleMode  swizzleMode) const
+{
+    ADDR_ASSERT(IsThin(resourceType, swizzleMode));
+
+    const UINT_32 log2BlkSize              = GetBlockSizeLog2(swizzleMode);
+    const UINT_32 eleBytes                 = bpp >> 3;
+    const UINT_32 microBlockSizeTableIndex = Log2(eleBytes);
+    const UINT_32 log2blkSizeIn256B        = log2BlkSize - 8;
+    const UINT_32 widthAmp                 = log2blkSizeIn256B / 2;
+    const UINT_32 heightAmp                = log2blkSizeIn256B - widthAmp;
+
+    ADDR_ASSERT(microBlockSizeTableIndex < sizeof(Block256_2d) / sizeof(Block256_2d[0]));
+
+    *pWidth  = (Block256_2d[microBlockSizeTableIndex].w << widthAmp);
+    *pHeight = (Block256_2d[microBlockSizeTableIndex].h << heightAmp);
+    *pDepth  = 1;
+
+    if (numSamples > 1)
+    {
+        const UINT_32 log2sample = Log2(numSamples);
+        const UINT_32 q          = log2sample >> 1;
+        const UINT_32 r          = log2sample & 1;
+
+        if (log2BlkSize & 1)
+        {
+            *pWidth  >>= q;
+            *pHeight >>= (q + r);
+        }
+        else
+        {
+            *pWidth  >>= (q + r);
+            *pHeight >>= q;
+        }
+    }
+}
+
 } // V2
 } // Addr
index d94e2c94f075493b9a20a3bbfec0bb78062453e8..93e6515b26fc60c3fa5bce1f90bb28bc594b1727 100644 (file)
@@ -114,49 +114,32 @@ const UINT_32 Gfx9Blk64KBSwModeMask = (1u << ADDR_SW_64KB_Z)   |
                                       (1u << ADDR_SW_64KB_D_X) |
                                       (1u << ADDR_SW_64KB_R_X);
 
-const UINT_32 Gfx9BlkVarSwModeMask = (1u << ADDR_SW_VAR_Z)   |
-                                     (1u << ADDR_SW_VAR_S)   |
-                                     (1u << ADDR_SW_VAR_D)   |
-                                     (1u << ADDR_SW_VAR_R)   |
-                                     (1u << ADDR_SW_VAR_Z_X) |
-                                     (1u << ADDR_SW_VAR_S_X) |
-                                     (1u << ADDR_SW_VAR_D_X) |
-                                     (1u << ADDR_SW_VAR_R_X);
-
 const UINT_32 Gfx9ZSwModeMask = (1u << ADDR_SW_4KB_Z)    |
                                 (1u << ADDR_SW_64KB_Z)   |
-                                (1u << ADDR_SW_VAR_Z)    |
                                 (1u << ADDR_SW_64KB_Z_T) |
                                 (1u << ADDR_SW_4KB_Z_X)  |
-                                (1u << ADDR_SW_64KB_Z_X) |
-                                (1u << ADDR_SW_VAR_Z_X);
+                                (1u << ADDR_SW_64KB_Z_X);
 
 const UINT_32 Gfx9StandardSwModeMask = (1u << ADDR_SW_256B_S)   |
                                        (1u << ADDR_SW_4KB_S)    |
                                        (1u << ADDR_SW_64KB_S)   |
-                                       (1u << ADDR_SW_VAR_S)    |
                                        (1u << ADDR_SW_64KB_S_T) |
                                        (1u << ADDR_SW_4KB_S_X)  |
-                                       (1u << ADDR_SW_64KB_S_X) |
-                                       (1u << ADDR_SW_VAR_S_X);
+                                       (1u << ADDR_SW_64KB_S_X);
 
 const UINT_32 Gfx9DisplaySwModeMask = (1u << ADDR_SW_256B_D)   |
                                       (1u << ADDR_SW_4KB_D)    |
                                       (1u << ADDR_SW_64KB_D)   |
-                                      (1u << ADDR_SW_VAR_D)    |
                                       (1u << ADDR_SW_64KB_D_T) |
                                       (1u << ADDR_SW_4KB_D_X)  |
-                                      (1u << ADDR_SW_64KB_D_X) |
-                                      (1u << ADDR_SW_VAR_D_X);
+                                      (1u << ADDR_SW_64KB_D_X);
 
 const UINT_32 Gfx9RotateSwModeMask = (1u << ADDR_SW_256B_R)   |
                                      (1u << ADDR_SW_4KB_R)    |
                                      (1u << ADDR_SW_64KB_R)   |
-                                     (1u << ADDR_SW_VAR_R)    |
                                      (1u << ADDR_SW_64KB_R_T) |
                                      (1u << ADDR_SW_4KB_R_X)  |
-                                     (1u << ADDR_SW_64KB_R_X) |
-                                     (1u << ADDR_SW_VAR_R_X);
+                                     (1u << ADDR_SW_64KB_R_X);
 
 const UINT_32 Gfx9XSwModeMask = (1u << ADDR_SW_4KB_Z_X)  |
                                 (1u << ADDR_SW_4KB_S_X)  |
@@ -165,11 +148,7 @@ const UINT_32 Gfx9XSwModeMask = (1u << ADDR_SW_4KB_Z_X)  |
                                 (1u << ADDR_SW_64KB_Z_X) |
                                 (1u << ADDR_SW_64KB_S_X) |
                                 (1u << ADDR_SW_64KB_D_X) |
-                                (1u << ADDR_SW_64KB_R_X) |
-                                (1u << ADDR_SW_VAR_Z_X)  |
-                                (1u << ADDR_SW_VAR_S_X)  |
-                                (1u << ADDR_SW_VAR_D_X)  |
-                                (1u << ADDR_SW_VAR_R_X);
+                                (1u << ADDR_SW_64KB_R_X);
 
 const UINT_32 Gfx9TSwModeMask = (1u << ADDR_SW_64KB_Z_T) |
                                 (1u << ADDR_SW_64KB_S_T) |
@@ -197,6 +176,16 @@ const UINT_32 Gfx9Rsrc3dPrtSwModeMask = Gfx9Rsrc2dPrtSwModeMask & ~Gfx9RotateSwM
 
 const UINT_32 Gfx9Rsrc3dThinSwModeMask = Gfx9DisplaySwModeMask & ~Gfx9Blk256BSwModeMask;
 
+const UINT_32 Gfx9Rsrc3dThin4KBSwModeMask = Gfx9Rsrc3dThinSwModeMask & Gfx9Blk4KBSwModeMask;
+
+const UINT_32 Gfx9Rsrc3dThin64KBSwModeMask = Gfx9Rsrc3dThinSwModeMask & Gfx9Blk64KBSwModeMask;
+
+const UINT_32 Gfx9Rsrc3dThickSwModeMask = Gfx9Rsrc3dSwModeMask & ~(Gfx9Rsrc3dThinSwModeMask | Gfx9LinearSwModeMask);
+
+const UINT_32 Gfx9Rsrc3dThick4KBSwModeMask = Gfx9Rsrc3dThickSwModeMask & Gfx9Blk4KBSwModeMask;
+
+const UINT_32 Gfx9Rsrc3dThick64KBSwModeMask = Gfx9Rsrc3dThickSwModeMask & Gfx9Blk64KBSwModeMask;
+
 const UINT_32 Gfx9MsaaSwModeMask = Gfx9AllSwModeMask & ~Gfx9Blk256BSwModeMask & ~Gfx9LinearSwModeMask;
 
 const UINT_32 Dce12NonBpp32SwModeMask = (1u << ADDR_SW_LINEAR)   |
@@ -204,14 +193,10 @@ const UINT_32 Dce12NonBpp32SwModeMask = (1u << ADDR_SW_LINEAR)   |
                                         (1u << ADDR_SW_4KB_R)    |
                                         (1u << ADDR_SW_64KB_D)   |
                                         (1u << ADDR_SW_64KB_R)   |
-                                        (1u << ADDR_SW_VAR_D)    |
-                                        (1u << ADDR_SW_VAR_R)    |
                                         (1u << ADDR_SW_4KB_D_X)  |
                                         (1u << ADDR_SW_4KB_R_X)  |
                                         (1u << ADDR_SW_64KB_D_X) |
-                                        (1u << ADDR_SW_64KB_R_X) |
-                                        (1u << ADDR_SW_VAR_D_X)  |
-                                        (1u << ADDR_SW_VAR_R_X);
+                                        (1u << ADDR_SW_64KB_R_X);
 
 const UINT_32 Dce12Bpp32SwModeMask = (1u << ADDR_SW_256B_D) |
                                      (1u << ADDR_SW_256B_R) |
@@ -220,19 +205,14 @@ const UINT_32 Dce12Bpp32SwModeMask = (1u << ADDR_SW_256B_D) |
 const UINT_32 Dcn1NonBpp64SwModeMask = (1u << ADDR_SW_LINEAR)   |
                                        (1u << ADDR_SW_4KB_S)    |
                                        (1u << ADDR_SW_64KB_S)   |
-                                       (1u << ADDR_SW_VAR_S)    |
                                        (1u << ADDR_SW_64KB_S_T) |
                                        (1u << ADDR_SW_4KB_S_X)  |
-                                       (1u << ADDR_SW_64KB_S_X) |
-                                       (1u << ADDR_SW_VAR_S_X);
-
+                                       (1u << ADDR_SW_64KB_S_X);
 const UINT_32 Dcn1Bpp64SwModeMask = (1u << ADDR_SW_4KB_D)    |
                                     (1u << ADDR_SW_64KB_D)   |
-                                    (1u << ADDR_SW_VAR_D)    |
                                     (1u << ADDR_SW_64KB_D_T) |
                                     (1u << ADDR_SW_4KB_D_X)  |
                                     (1u << ADDR_SW_64KB_D_X) |
-                                    (1u << ADDR_SW_VAR_D_X)  |
                                     Dcn1NonBpp64SwModeMask;
 
 /**
@@ -273,9 +253,6 @@ public:
         return (pMem != NULL) ? new (pMem) Gfx9Lib(pClient) : NULL;
     }
 
-    virtual BOOL_32 IsValidDisplaySwizzleMode(
-        const ADDR2_COMPUTE_SURFACE_INFO_INPUT* pIn) const;
-
 protected:
     Gfx9Lib(const Client* pClient);
     virtual ~Gfx9Lib();
@@ -376,22 +353,6 @@ protected:
         AddrSwizzleMode swMode,
         UINT_32 elementBytesLog2) const;
 
-    UINT_32 ComputeSurfaceBaseAlignTiled(AddrSwizzleMode swizzleMode) const
-    {
-        UINT_32 baseAlign;
-
-        if (IsXor(swizzleMode))
-        {
-            baseAlign = GetBlockSize(swizzleMode);
-        }
-        else
-        {
-            baseAlign = 256;
-        }
-
-        return baseAlign;
-    }
-
     virtual ADDR_E_RETURNCODE HwlComputePipeBankXor(
         const ADDR2_COMPUTE_PIPEBANKXOR_INPUT* pIn,
         ADDR2_COMPUTE_PIPEBANKXOR_OUTPUT*      pOut) const;
@@ -423,6 +384,137 @@ protected:
         const ADDR2_COMPUTE_SURFACE_ADDRFROMCOORD_INPUT* pIn,
         ADDR2_COMPUTE_SURFACE_ADDRFROMCOORD_OUTPUT*      pOut) const;
 
+    virtual UINT_32 HwlComputeMaxBaseAlignments() const;
+
+    virtual UINT_32 HwlComputeMaxMetaBaseAlignments() const;
+
+    virtual BOOL_32 HwlInitGlobalParams(const ADDR_CREATE_INPUT* pCreateIn);
+
+    virtual ChipFamily HwlConvertChipFamily(UINT_32 uChipFamily, UINT_32 uChipRevision);
+
+    virtual VOID ComputeThinBlockDimension(
+        UINT_32*         pWidth,
+        UINT_32*         pHeight,
+        UINT_32*         pDepth,
+        UINT_32          bpp,
+        UINT_32          numSamples,
+        AddrResourceType resourceType,
+        AddrSwizzleMode  swizzleMode) const;
+
+private:
+    VOID GetRbEquation(CoordEq* pRbEq, UINT_32 rbPerSeLog2, UINT_32 seLog2) const;
+
+    VOID GetDataEquation(CoordEq* pDataEq, Gfx9DataType dataSurfaceType,
+                         AddrSwizzleMode swizzleMode, AddrResourceType resourceType,
+                         UINT_32 elementBytesLog2, UINT_32 numSamplesLog2) const;
+
+    VOID GetPipeEquation(CoordEq* pPipeEq, CoordEq* pDataEq,
+                         UINT_32 pipeInterleaveLog2, UINT_32 numPipesLog2,
+                         UINT_32 numSamplesLog2, Gfx9DataType dataSurfaceType,
+                         AddrSwizzleMode swizzleMode, AddrResourceType resourceType) const;
+
+    VOID GenMetaEquation(CoordEq* pMetaEq, UINT_32 maxMip,
+                         UINT_32 elementBytesLog2, UINT_32 numSamplesLog2,
+                         ADDR2_META_FLAGS metaFlag, Gfx9DataType dataSurfaceType,
+                         AddrSwizzleMode swizzleMode, AddrResourceType resourceType,
+                         UINT_32 metaBlkWidthLog2, UINT_32 metaBlkHeightLog2,
+                         UINT_32 metaBlkDepthLog2, UINT_32 compBlkWidthLog2,
+                         UINT_32 compBlkHeightLog2, UINT_32 compBlkDepthLog2) const;
+
+    const CoordEq* GetMetaEquation(const MetaEqParams& metaEqParams);
+
+    VOID GetMetaMipInfo(UINT_32 numMipLevels, Dim3d* pMetaBlkDim,
+                        BOOL_32 dataThick, ADDR2_META_MIP_INFO* pInfo,
+                        UINT_32 mip0Width, UINT_32 mip0Height, UINT_32 mip0Depth,
+                        UINT_32* pNumMetaBlkX, UINT_32* pNumMetaBlkY, UINT_32* pNumMetaBlkZ) const;
+
+    BOOL_32 IsValidDisplaySwizzleMode(const ADDR2_COMPUTE_SURFACE_INFO_INPUT* pIn) const;
+
+    ADDR_E_RETURNCODE ComputeSurfaceLinearPadding(
+        const ADDR2_COMPUTE_SURFACE_INFO_INPUT* pIn,
+        UINT_32*                                pMipmap0PaddedWidth,
+        UINT_32*                                pSlice0PaddedHeight,
+        ADDR2_MIP_INFO*                         pMipInfo = NULL) const;
+
+    static ADDR2_BLOCK_SET GetAllowedBlockSet(ADDR2_SWMODE_SET allowedSwModeSet, AddrResourceType rsrcType)
+    {
+        ADDR2_BLOCK_SET allowedBlockSet = {};
+
+        allowedBlockSet.micro  = (allowedSwModeSet.value & Gfx9Blk256BSwModeMask) ? TRUE : FALSE;
+        allowedBlockSet.linear = (allowedSwModeSet.value & Gfx9LinearSwModeMask)  ? TRUE : FALSE;
+
+        if (rsrcType == ADDR_RSRC_TEX_3D)
+        {
+            allowedBlockSet.macroThin4KB   = (allowedSwModeSet.value & Gfx9Rsrc3dThin4KBSwModeMask)   ? TRUE : FALSE;
+            allowedBlockSet.macroThick4KB  = (allowedSwModeSet.value & Gfx9Rsrc3dThick4KBSwModeMask)  ? TRUE : FALSE;
+            allowedBlockSet.macroThin64KB  = (allowedSwModeSet.value & Gfx9Rsrc3dThin64KBSwModeMask)  ? TRUE : FALSE;
+            allowedBlockSet.macroThick64KB = (allowedSwModeSet.value & Gfx9Rsrc3dThick64KBSwModeMask) ? TRUE : FALSE;
+        }
+        else
+        {
+            allowedBlockSet.macroThin4KB  = (allowedSwModeSet.value & Gfx9Blk4KBSwModeMask)  ? TRUE : FALSE;
+            allowedBlockSet.macroThin64KB = (allowedSwModeSet.value & Gfx9Blk64KBSwModeMask) ? TRUE : FALSE;
+        }
+
+        return allowedBlockSet;
+    }
+
+    static ADDR2_SWTYPE_SET GetAllowedSwSet(ADDR2_SWMODE_SET allowedSwModeSet)
+    {
+        ADDR2_SWTYPE_SET allowedSwSet = {};
+
+        allowedSwSet.sw_Z = (allowedSwModeSet.value & Gfx9ZSwModeMask)        ? TRUE : FALSE;
+        allowedSwSet.sw_S = (allowedSwModeSet.value & Gfx9StandardSwModeMask) ? TRUE : FALSE;
+        allowedSwSet.sw_D = (allowedSwModeSet.value & Gfx9DisplaySwModeMask)  ? TRUE : FALSE;
+        allowedSwSet.sw_R = (allowedSwModeSet.value & Gfx9RotateSwModeMask)   ? TRUE : FALSE;
+
+        return allowedSwSet;
+    }
+
+    BOOL_32 IsInMipTail(
+        AddrResourceType  resourceType,
+        AddrSwizzleMode   swizzleMode,
+        Dim3d             mipTailDim,
+        UINT_32           width,
+        UINT_32           height,
+        UINT_32           depth) const
+    {
+        BOOL_32 inTail = ((width <= mipTailDim.w) &&
+                          (height <= mipTailDim.h) &&
+                          (IsThin(resourceType, swizzleMode) || (depth <= mipTailDim.d)));
+
+        return inTail;
+    }
+
+    BOOL_32 ValidateNonSwModeParams(const ADDR2_COMPUTE_SURFACE_INFO_INPUT* pIn) const;
+    BOOL_32 ValidateSwModeParams(const ADDR2_COMPUTE_SURFACE_INFO_INPUT* pIn) const;
+
+    UINT_32 GetBankXorBits(UINT_32 macroBlockBits) const
+    {
+        UINT_32 pipeBits = GetPipeXorBits(macroBlockBits);
+
+        // Bank xor bits
+        UINT_32 bankBits = Min(macroBlockBits - pipeBits - m_pipeInterleaveLog2, m_banksLog2);
+
+        return bankBits;
+    }
+
+    UINT_32 ComputeSurfaceBaseAlignTiled(AddrSwizzleMode swizzleMode) const
+    {
+        UINT_32 baseAlign;
+
+        if (IsXor(swizzleMode))
+        {
+            baseAlign = GetBlockSize(swizzleMode);
+        }
+        else
+        {
+            baseAlign = 256;
+        }
+
+        return baseAlign;
+    }
+
     // Initialize equation table
     VOID InitEquationTable();
 
@@ -522,127 +614,17 @@ protected:
         return compressBlkDim;
     }
 
-    static const UINT_32          MaxSeLog2      = 3;
-    static const UINT_32          MaxRbPerSeLog2 = 2;
+    static const UINT_32 MaxSeLog2      = 3;
+    static const UINT_32 MaxRbPerSeLog2 = 2;
 
-    static const Dim3d            Block256_3dS[MaxNumOfBpp];
-    static const Dim3d            Block256_3dZ[MaxNumOfBpp];
+    static const Dim3d   Block256_3dS[MaxNumOfBpp];
+    static const Dim3d   Block256_3dZ[MaxNumOfBpp];
 
-    static const UINT_32          MipTailOffset256B[];
+    static const UINT_32 MipTailOffset256B[];
 
     static const SwizzleModeFlags SwizzleModeTable[ADDR_SW_MAX_TYPE];
 
-    // Max number of swizzle mode supported for equation
-    static const UINT_32    MaxSwMode = 32;
-    // Max number of resource type (2D/3D) supported for equation
-    static const UINT_32    MaxRsrcType = 2;
-    // Max number of bpp (8bpp/16bpp/32bpp/64bpp/128bpp)
-    static const UINT_32    MaxElementBytesLog2  = 5;
-    // Almost all swizzle mode + resource type support equation
-    static const UINT_32    EquationTableSize = MaxElementBytesLog2 * MaxSwMode * MaxRsrcType;
-    // Equation table
-    ADDR_EQUATION           m_equationTable[EquationTableSize];
-
-    // Number of equation entries in the table
-    UINT_32                 m_numEquations;
-    // Equation lookup table according to bpp and tile index
-    UINT_32                 m_equationLookupTable[MaxRsrcType][MaxSwMode][MaxElementBytesLog2];
-
-    static const UINT_32    MaxCachedMetaEq = 2;
-
-private:
-    virtual UINT_32 HwlComputeMaxBaseAlignments() const;
-
-    virtual UINT_32 HwlComputeMaxMetaBaseAlignments() const;
-
-    virtual BOOL_32 HwlInitGlobalParams(const ADDR_CREATE_INPUT* pCreateIn);
-
-    VOID GetRbEquation(CoordEq* pRbEq, UINT_32 rbPerSeLog2, UINT_32 seLog2) const;
-
-    VOID GetDataEquation(CoordEq* pDataEq, Gfx9DataType dataSurfaceType,
-                         AddrSwizzleMode swizzleMode, AddrResourceType resourceType,
-                         UINT_32 elementBytesLog2, UINT_32 numSamplesLog2) const;
-
-    VOID GetPipeEquation(CoordEq* pPipeEq, CoordEq* pDataEq,
-                         UINT_32 pipeInterleaveLog2, UINT_32 numPipesLog2,
-                         UINT_32 numSamplesLog2, Gfx9DataType dataSurfaceType,
-                         AddrSwizzleMode swizzleMode, AddrResourceType resourceType) const;
-
-    VOID GenMetaEquation(CoordEq* pMetaEq, UINT_32 maxMip,
-                         UINT_32 elementBytesLog2, UINT_32 numSamplesLog2,
-                         ADDR2_META_FLAGS metaFlag, Gfx9DataType dataSurfaceType,
-                         AddrSwizzleMode swizzleMode, AddrResourceType resourceType,
-                         UINT_32 metaBlkWidthLog2, UINT_32 metaBlkHeightLog2,
-                         UINT_32 metaBlkDepthLog2, UINT_32 compBlkWidthLog2,
-                         UINT_32 compBlkHeightLog2, UINT_32 compBlkDepthLog2) const;
-
-    const CoordEq* GetMetaEquation(const MetaEqParams& metaEqParams);
-
-    virtual ChipFamily HwlConvertChipFamily(UINT_32 uChipFamily, UINT_32 uChipRevision);
-
-    VOID GetMetaMipInfo(UINT_32 numMipLevels, Dim3d* pMetaBlkDim,
-                        BOOL_32 dataThick, ADDR2_META_MIP_INFO* pInfo,
-                        UINT_32 mip0Width, UINT_32 mip0Height, UINT_32 mip0Depth,
-                        UINT_32* pNumMetaBlkX, UINT_32* pNumMetaBlkY, UINT_32* pNumMetaBlkZ) const;
-
-    ADDR_E_RETURNCODE ComputeSurfaceLinearPadding(
-        const ADDR2_COMPUTE_SURFACE_INFO_INPUT* pIn,
-        UINT_32*                                pMipmap0PaddedWidth,
-        UINT_32*                                pSlice0PaddedHeight,
-        ADDR2_MIP_INFO*                         pMipInfo = NULL) const;
-
-    static ADDR2_BLOCK_SET GetAllowedBlockSet(ADDR2_SWMODE_SET allowedSwModeSet)
-    {
-        ADDR2_BLOCK_SET allowedBlockSet = {};
-
-        allowedBlockSet.micro     = (allowedSwModeSet.value & Gfx9Blk256BSwModeMask) ? TRUE : FALSE;
-        allowedBlockSet.macro4KB  = (allowedSwModeSet.value & Gfx9Blk4KBSwModeMask)  ? TRUE : FALSE;
-        allowedBlockSet.macro64KB = (allowedSwModeSet.value & Gfx9Blk64KBSwModeMask) ? TRUE : FALSE;
-        allowedBlockSet.var       = (allowedSwModeSet.value & Gfx9BlkVarSwModeMask)  ? TRUE : FALSE;
-        allowedBlockSet.linear    = (allowedSwModeSet.value & Gfx9LinearSwModeMask)  ? TRUE : FALSE;
-
-        return allowedBlockSet;
-    }
-
-    static ADDR2_SWTYPE_SET GetAllowedSwSet(ADDR2_SWMODE_SET allowedSwModeSet)
-    {
-        ADDR2_SWTYPE_SET allowedSwSet = {};
-
-        allowedSwSet.sw_Z = (allowedSwModeSet.value & Gfx9ZSwModeMask)        ? TRUE : FALSE;
-        allowedSwSet.sw_S = (allowedSwModeSet.value & Gfx9StandardSwModeMask) ? TRUE : FALSE;
-        allowedSwSet.sw_D = (allowedSwModeSet.value & Gfx9DisplaySwModeMask)  ? TRUE : FALSE;
-        allowedSwSet.sw_R = (allowedSwModeSet.value & Gfx9RotateSwModeMask)   ? TRUE : FALSE;
-
-        return allowedSwSet;
-    }
-
-    BOOL_32 IsInMipTail(
-        AddrResourceType  resourceType,
-        AddrSwizzleMode   swizzleMode,
-        Dim3d             mipTailDim,
-        UINT_32           width,
-        UINT_32           height,
-        UINT_32           depth) const
-    {
-        BOOL_32 inTail = ((width <= mipTailDim.w) &&
-                          (height <= mipTailDim.h) &&
-                          (IsThin(resourceType, swizzleMode) || (depth <= mipTailDim.d)));
-
-        return inTail;
-    }
-
-    BOOL_32 ValidateNonSwModeParams(const ADDR2_COMPUTE_SURFACE_INFO_INPUT* pIn) const;
-    BOOL_32 ValidateSwModeParams(const ADDR2_COMPUTE_SURFACE_INFO_INPUT* pIn) const;
-
-    UINT_32 GetBankXorBits(UINT_32 macroBlockBits) const
-    {
-        UINT_32 pipeBits = GetPipeXorBits(macroBlockBits);
-
-        // Bank xor bits
-        UINT_32 bankBits = Min(macroBlockBits - pipeBits - m_pipeInterleaveLog2, m_banksLog2);
-
-        return bankBits;
-    }
+    static const UINT_32 MaxCachedMetaEq = 2;
 
     Gfx9ChipSettings m_settings;
 
index b548254ca82c8716d58c05e400c99e84455ff47e..6461389f42fe942beefc33186321476274f8ce95 100644 (file)
@@ -151,7 +151,6 @@ protected:
         UINT_32 mipLevel, UINT_32 numSamples, ADDR_COMPUTE_SURFACE_INFO_OUTPUT* pOut) const;
 
 private:
-
     VOID ReadGbTileMode(
         UINT_32 regValue, TileConfig* pCfg) const;
 
index 5a4f00a1680a1e0416a0fc8ae550ef2fc26d8389..24d49dcced1bf04fed40a73247fa20cfe38c4e8a 100644 (file)
@@ -76,7 +76,6 @@ struct SiChipSettings
     UINT_32 isSpectre         : 1;
     UINT_32 isSpooky          : 1;
     UINT_32 isKalindi         : 1;
-    // Hawaii is GFXIP 7.2
     UINT_32 isHawaii          : 1;
 
     // VI
index 016590fc08553959072382a8fcec6ed64511333d..09f2bb75ea021bf98160bc1fe9130c398dc99c76 100644 (file)
@@ -85,7 +85,6 @@ ADDR_HANDLE amdgpu_addr_create(const struct radeon_info *info,
 
        if (addrCreateInput.chipFamily >= FAMILY_AI) {
                addrCreateInput.chipEngine = CIASICIDGFXENGINE_ARCTICISLAND;
-               regValue.blockVarSizeLog2 = 0;
        } else {
                regValue.noOfBanks = amdinfo->mc_arb_ramcfg & 0x3;
                regValue.noOfRanks = (amdinfo->mc_arb_ramcfg & 0x4) >> 2;
@@ -1599,11 +1598,9 @@ static int gfx9_compute_surface(ADDR_HANDLE addrlib,
                case ADDR_SW_256B_S:
                case ADDR_SW_4KB_S:
                case ADDR_SW_64KB_S:
-               case ADDR_SW_VAR_S:
                case ADDR_SW_64KB_S_T:
                case ADDR_SW_4KB_S_X:
                case ADDR_SW_64KB_S_X:
-               case ADDR_SW_VAR_S_X:
                        surf->micro_tile_mode = RADEON_MICRO_MODE_THIN;
                        break;
 
@@ -1612,11 +1609,9 @@ static int gfx9_compute_surface(ADDR_HANDLE addrlib,
                case ADDR_SW_256B_D:
                case ADDR_SW_4KB_D:
                case ADDR_SW_64KB_D:
-               case ADDR_SW_VAR_D:
                case ADDR_SW_64KB_D_T:
                case ADDR_SW_4KB_D_X:
                case ADDR_SW_64KB_D_X:
-               case ADDR_SW_VAR_D_X:
                        surf->micro_tile_mode = RADEON_MICRO_MODE_DISPLAY;
                        break;
 
@@ -1624,7 +1619,6 @@ static int gfx9_compute_surface(ADDR_HANDLE addrlib,
                case ADDR_SW_256B_R:
                case ADDR_SW_4KB_R:
                case ADDR_SW_64KB_R:
-               case ADDR_SW_VAR_R:
                case ADDR_SW_64KB_R_T:
                case ADDR_SW_4KB_R_X:
                case ADDR_SW_64KB_R_X:
@@ -1641,7 +1635,6 @@ static int gfx9_compute_surface(ADDR_HANDLE addrlib,
                /* Z = depth. */
                case ADDR_SW_4KB_Z:
                case ADDR_SW_64KB_Z:
-               case ADDR_SW_VAR_Z:
                case ADDR_SW_64KB_Z_T:
                case ADDR_SW_4KB_Z_X:
                case ADDR_SW_64KB_Z_X: