All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS
@ 2018-08-30 14:27 Sameeh Jubran
  2018-08-30 14:27 ` [Qemu-devel] [RFC 1/6] Add bpf support to qemu Sameeh Jubran
                   ` (6 more replies)
  0 siblings, 7 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-08-30 14:27 UTC (permalink / raw)
  To: qemu-devel, Jason Wang; +Cc: Yan Vugenfirer

From: Sameeh Jubran <sjubran@redhat.com>

This series implements the Steering Mode feature which was introduced on the
virtio-dev list a while ago, which can be found here:
* https://lists.oasis-open.org/archives/virtio-dev/201805/msg00024.html

The first three patches add some infrastructure support that is used in
the following three patches.

The ebpf filter doesn't fully work yet as I'm having an issue with the
verifier which needs to be fixed.

The patches still need some love as not all of the cases have been handled
yet most of the functionality has been implemented.

Please share your thoughts and comments so I'll move forward with
sending v1 along with a fully functioning ebpf code.

Sameeh Jubran (6):
  Add bpf support to qemu
  tap: Add support for bpf ioctls
  vhost-net: Expose vhost_net_get_fd
  virtio-net: implement steering mode feature
  virtio-net: steering mode: Implement rss support
  virtio-net: rss: Add bpf filter

 MAINTAINERS                                 |    5 +
 configure                                   |   44 +
 hw/net/rss_bpf_insns.h                      | 3992 +++++++++++++++++++++++++++
 hw/net/rss_tap_bpf.h                        |   37 +
 hw/net/rss_tap_bpf_program.c                |  172 ++
 hw/net/vhost_net.c                          |    2 +-
 hw/net/virtio-net.c                         |  250 +-
 include/hw/virtio/virtio-net.h              |    5 +
 include/net/net.h                           |    3 +-
 include/standard-headers/linux/virtio_net.h |   55 +
 net/tap-bsd.c                               |    5 +
 net/tap-linux.c                             |   29 +-
 net/tap-linux.h                             |    3 +-
 net/tap-solaris.c                           |    5 +
 net/tap-stub.c                              |    5 +
 net/tap.c                                   |    8 +
 net/tap_int.h                               |    1 +
 qapi/net.json                               |   11 +
 scripts/update-linux-headers.sh             |    8 +-
 19 files changed, 4627 insertions(+), 13 deletions(-)
 create mode 100644 hw/net/rss_bpf_insns.h
 create mode 100644 hw/net/rss_tap_bpf.h
 create mode 100644 hw/net/rss_tap_bpf_program.c

-- 
2.13.6

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [Qemu-devel] [RFC 1/6] Add bpf support to qemu
  2018-08-30 14:27 [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Sameeh Jubran
@ 2018-08-30 14:27 ` Sameeh Jubran
  2018-09-03 11:59   ` Daniel P. Berrangé
  2018-08-30 14:27 ` [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls Sameeh Jubran
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 36+ messages in thread
From: Sameeh Jubran @ 2018-08-30 14:27 UTC (permalink / raw)
  To: qemu-devel, Jason Wang; +Cc: Yan Vugenfirer

From: Sameeh Jubran <sjubran@redhat.com>

This commit adds the bpf header provided by Linux to Qemu.

Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
---
 MAINTAINERS                     |  5 +++++
 configure                       | 44 +++++++++++++++++++++++++++++++++++++++++
 scripts/update-linux-headers.sh |  8 ++++++--
 3 files changed, 55 insertions(+), 2 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 0fb5f38f9f..bf2619239c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2126,6 +2126,11 @@ F: hw/rdma/*
 F: hw/rdma/vmw/*
 F: docs/pvrdma.txt
 
+BPF
+M: Sameeh Jubran <sameeh@daynix.com>
+S: Maintained
+F: linux-headers/linux/bpf.h
+
 Build and test automation
 -------------------------
 Build and test automation
diff --git a/configure b/configure
index a8c4094c87..21edaf59aa 100755
--- a/configure
+++ b/configure
@@ -348,6 +348,7 @@ libattr=""
 xfs=""
 tcg="yes"
 membarrier=""
+bpf="no"
 vhost_net="no"
 vhost_crypto="no"
 vhost_scsi="no"
@@ -1173,6 +1174,10 @@ for opt do
   ;;
   --enable-membarrier) membarrier="yes"
   ;;
+  --disable-bpf) bpf="no"
+  ;;
+  --enable-bpf) bpf="yes"
+  ;;
   --disable-blobs) blobs="no"
   ;;
   --with-pkgversion=*) pkgversion="$optarg"
@@ -1593,6 +1598,7 @@ disabled with --disable-FEATURE, default is enabled if available:
   brlapi          BrlAPI (Braile)
   curl            curl connectivity
   membarrier      membarrier system call (for Linux 4.14+ or Windows)
+  bpf             bpf system calls (for Linux 3.18+)
   fdt             fdt device tree
   bluez           bluez stack connectivity
   kvm             KVM acceleration support
@@ -5232,6 +5238,38 @@ else
 fi
 
 ##########################################
+# check for usable bpf system call
+if test "$bpf" = "yes"; then
+    have_bpf=no
+    if test "$linux" = "yes" ; then
+        cat > $TMPC << EOF
+    #include <sys/syscall.h>
+    #include "linux/bpf.h"
+    #include <unistd.h>
+    #include <stdlib.h>
+    #include <string.h>
+    int main(void) {
+        union bpf_attr * attr = NULL;
+        syscall(__NR_bpf, BPF_PROG_LOAD, attr, sizeof(attr));
+        exit(0);
+    }
+EOF
+        bpf_include="-Iinclude/standard-headers/linux"
+        bpf_cflags=""
+        bpf_libs=""
+        if compile_prog "$bpf_include" "$bpf_libs" ; then
+            have_bpf=yes
+        fi
+    fi
+    if test "$have_bpf" = "no"; then
+      feature_not_found "bpf" "libelf libs are not available or else \
+the bpf system call is not available"
+    fi
+else
+    bpf=no
+fi
+
+##########################################
 # check if rtnetlink.h exists and is useful
 have_rtnetlink=no
 cat > $TMPC << EOF
@@ -5871,6 +5909,7 @@ echo "malloc trim support $malloc_trim"
 echo "RDMA support      $rdma"
 echo "fdt support       $fdt"
 echo "membarrier        $membarrier"
+echo "bpf               $bpf"
 echo "preadv support    $preadv"
 echo "fdatasync         $fdatasync"
 echo "madvise           $madvise"
@@ -6365,6 +6404,11 @@ fi
 if test "$membarrier" = "yes" ; then
   echo "CONFIG_MEMBARRIER=y" >> $config_host_mak
 fi
+if test "$bpf" = "yes" ; then
+  echo "CONFIG_BPF=y" >> $config_host_mak
+  echo "LIBS_BPF=$bpf_libs" >> $config_host_mak
+  echo "CFLAGS_BPF=$bpf_cflags" >> $config_host_mak
+fi
 if test "$signalfd" = "yes" ; then
   echo "CONFIG_SIGNALFD=y" >> $config_host_mak
 fi
diff --git a/scripts/update-linux-headers.sh b/scripts/update-linux-headers.sh
index feb75390aa..57df8228af 100755
--- a/scripts/update-linux-headers.sh
+++ b/scripts/update-linux-headers.sh
@@ -35,6 +35,8 @@ cp_portable() {
         grep '#include' "$f" | grep -v -e 'linux/virtio' \
                                      -e 'linux/types' \
                                      -e 'stdint' \
+                                     -e 'stdio' \
+                                     -e 'stdbool' \
                                      -e 'linux/if_ether' \
                                      -e 'input-event-codes' \
                                      -e 'sys/' \
@@ -44,6 +46,7 @@ cp_portable() {
                                      -e 'linux/kernel' \
                                      -e 'linux/sysinfo' \
                                      -e 'asm-generic/kvm_para' \
+                                     -e 'linux/bpf' \
                                      > /dev/null
     then
         echo "Unexpected #include in input file $f".
@@ -58,7 +61,7 @@ cp_portable() {
         -e 's/__le\([0-9][0-9]*\)/uint\1_t/g' \
         -e 's/__be\([0-9][0-9]*\)/uint\1_t/g' \
         -e 's/"\(input-event-codes\.h\)"/"standard-headers\/linux\/\1"/' \
-        -e 's/<linux\/\([^>]*\)>/"standard-headers\/linux\/\1"/' \
+        -e 's/<linux\/\([^>]*(?!bpf)\)>/"standard-headers\/linux\/\1"/' \
         -e 's/__bitwise//' \
         -e 's/__attribute__((packed))/QEMU_PACKED/' \
         -e 's/__inline__/inline/' \
@@ -126,7 +129,8 @@ done
 rm -rf "$output/linux-headers/linux"
 mkdir -p "$output/linux-headers/linux"
 for header in kvm.h vfio.h vfio_ccw.h vhost.h \
-              psci.h psp-sev.h userfaultfd.h; do
+              psci.h psp-sev.h userfaultfd.h  \
+              bpf.h; do
     cp "$tmpdir/include/linux/$header" "$output/linux-headers/linux"
 done
 
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls
  2018-08-30 14:27 [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Sameeh Jubran
  2018-08-30 14:27 ` [Qemu-devel] [RFC 1/6] Add bpf support to qemu Sameeh Jubran
@ 2018-08-30 14:27 ` Sameeh Jubran
  2018-08-30 15:21   ` Eric Blake
  2018-09-03  3:24   ` Jason Wang
  2018-08-30 14:27 ` [Qemu-devel] [RFC 3/6] vhost-net: Expose vhost_net_get_fd Sameeh Jubran
                   ` (4 subsequent siblings)
  6 siblings, 2 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-08-30 14:27 UTC (permalink / raw)
  To: qemu-devel, Jason Wang; +Cc: Yan Vugenfirer

From: Sameeh Jubran <sjubran@redhat.com>

Starting from kernel v4.16 tun device supports TUNSETSTEERINGEBPF and
TUNSETFILTEREBPF.

Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
---
 include/net/net.h |  3 ++-
 net/tap-bsd.c     |  5 +++++
 net/tap-linux.c   | 29 ++++++++++++++++++++++++++++-
 net/tap-linux.h   |  3 ++-
 net/tap-solaris.c |  5 +++++
 net/tap-stub.c    |  5 +++++
 net/tap.c         |  8 ++++++++
 net/tap_int.h     |  1 +
 qapi/net.json     | 11 +++++++++++
 9 files changed, 67 insertions(+), 3 deletions(-)

diff --git a/include/net/net.h b/include/net/net.h
index 1425960f76..e7d1baac10 100644
--- a/include/net/net.h
+++ b/include/net/net.h
@@ -39,7 +39,6 @@ typedef struct NICConf {
     DEFINE_PROP_MACADDR("mac",   _state, _conf.macaddr),                \
     DEFINE_PROP_NETDEV("netdev", _state, _conf.peers)
 
-
 /* Net clients */
 
 typedef void (NetPoll)(NetClientState *, bool enable);
@@ -60,6 +59,7 @@ typedef int (SetVnetLE)(NetClientState *, bool);
 typedef int (SetVnetBE)(NetClientState *, bool);
 typedef struct SocketReadState SocketReadState;
 typedef void (SocketReadStateFinalize)(SocketReadState *rs);
+typedef int (SetBPFFilter)(NetClientState *, int, BPFType);
 
 typedef struct NetClientInfo {
     NetClientDriver type;
@@ -80,6 +80,7 @@ typedef struct NetClientInfo {
     SetVnetHdrLen *set_vnet_hdr_len;
     SetVnetLE *set_vnet_le;
     SetVnetBE *set_vnet_be;
+    SetBPFFilter *set_bpf_filter;
 } NetClientInfo;
 
 struct NetClientState {
diff --git a/net/tap-bsd.c b/net/tap-bsd.c
index 6c9692263d..fccf17bad0 100644
--- a/net/tap-bsd.c
+++ b/net/tap-bsd.c
@@ -259,3 +259,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
 {
     return -1;
 }
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+    return -1;
+}
diff --git a/net/tap-linux.c b/net/tap-linux.c
index 535b1ddb61..e8ee54f3b3 100644
--- a/net/tap-linux.c
+++ b/net/tap-linux.c
@@ -305,7 +305,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
 {
     struct ifreq ifr;
 
-    if (ioctl(fd, TUNGETIFF, &ifr) != 0) {
+    if (ioctl(fd, TUNGETIFF, &ifr) != 0)
+    {
         error_report("TUNGETIFF ioctl() failed: %s",
                      strerror(errno));
         return -1;
@@ -314,3 +315,29 @@ int tap_fd_get_ifname(int fd, char *ifname)
     pstrcpy(ifname, sizeof(ifr.ifr_name), ifr.ifr_name);
     return 0;
 }
+
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+    int ioctl_num = 0;
+    switch (type)
+    {
+        case BPF_TYPE_FILTER:
+        ioctl_num = TUNSETFILTEREBPF;
+        break;
+
+        case BPF_TYPE_STEERING:
+        ioctl_num = TUNSETSTEERINGEBPF;
+        break;
+
+        default:
+        error_report("Unknown bpf_type");
+        return -1;
+    }
+
+    if (ioctl(fd, ioctl_num, &bpf_fd) != 0) {
+        error_report("#%d ioctl() failed: %s", ioctl_num, strerror(errno));
+        return -1;
+    }
+    return 0;
+}
diff --git a/net/tap-linux.h b/net/tap-linux.h
index 2f36d100fc..7348169fc2 100644
--- a/net/tap-linux.h
+++ b/net/tap-linux.h
@@ -31,7 +31,8 @@
 #define TUNSETQUEUE  _IOW('T', 217, int)
 #define TUNSETVNETLE _IOW('T', 220, int)
 #define TUNSETVNETBE _IOW('T', 222, int)
-
+#define TUNSETSTEERINGEBPF _IOR('T', 224, int)
+#define TUNSETFILTEREBPF _IOR('T', 225, int)
 #endif
 
 /* TUNSETIFF ifr flags */
diff --git a/net/tap-solaris.c b/net/tap-solaris.c
index a2a92356c1..a5a6248c7d 100644
--- a/net/tap-solaris.c
+++ b/net/tap-solaris.c
@@ -254,3 +254,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
 {
     return -1;
 }
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+    return -1;
+}
diff --git a/net/tap-stub.c b/net/tap-stub.c
index a9ab8f8293..d059a32435 100644
--- a/net/tap-stub.c
+++ b/net/tap-stub.c
@@ -85,3 +85,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
 {
     return -1;
 }
+
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
+{
+    return -1;
+}
diff --git a/net/tap.c b/net/tap.c
index 2126f4882d..ee98fecd40 100644
--- a/net/tap.c
+++ b/net/tap.c
@@ -342,6 +342,13 @@ int tap_get_fd(NetClientState *nc)
     return s->fd;
 }
 
+static int tap_set_bpf_filter(NetClientState *nc, int bpf_fd, BPFType type)
+{
+    TAPState *s = DO_UPCAST(TAPState, nc, nc);
+    assert(nc->info->type == NET_CLIENT_DRIVER_TAP);
+    return tap_fd_load_bpf(s->fd, bpf_fd, type);
+}
+
 /* fd support */
 
 static NetClientInfo net_tap_info = {
@@ -360,6 +367,7 @@ static NetClientInfo net_tap_info = {
     .set_vnet_hdr_len = tap_set_vnet_hdr_len,
     .set_vnet_le = tap_set_vnet_le,
     .set_vnet_be = tap_set_vnet_be,
+    .set_bpf_filter = tap_set_bpf_filter,
 };
 
 static TAPState *net_tap_fd_init(NetClientState *peer,
diff --git a/net/tap_int.h b/net/tap_int.h
index 9f931d52d6..3e1603a88e 100644
--- a/net/tap_int.h
+++ b/net/tap_int.h
@@ -45,5 +45,6 @@ int tap_fd_set_vnet_be(int fd, int vnet_is_be);
 int tap_fd_enable(int fd);
 int tap_fd_disable(int fd);
 int tap_fd_get_ifname(int fd, char *ifname);
+int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type);
 
 #endif /* NET_TAP_INT_H */
diff --git a/qapi/net.json b/qapi/net.json
index 6b7d93cb59..ce0a688444 100644
--- a/qapi/net.json
+++ b/qapi/net.json
@@ -692,3 +692,14 @@
 ##
 { 'event': 'NIC_RX_FILTER_CHANGED',
   'data': { '*name': 'str', 'path': 'str' } }
+
+##
+# @BPFType:
+#
+# BPF programs types provided as an argument for tap bpf ioctls
+#
+# Since: 2.12
+#
+##
+{ 'enum': 'BPFType',
+  'data': [ 'filter', 'steering' ] }
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [Qemu-devel] [RFC 3/6] vhost-net: Expose vhost_net_get_fd
  2018-08-30 14:27 [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Sameeh Jubran
  2018-08-30 14:27 ` [Qemu-devel] [RFC 1/6] Add bpf support to qemu Sameeh Jubran
  2018-08-30 14:27 ` [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls Sameeh Jubran
@ 2018-08-30 14:27 ` Sameeh Jubran
  2018-09-03  3:24   ` Jason Wang
  2018-08-30 14:27 ` [Qemu-devel] [RFC 4/6] virtio-net: implement steering mode feature Sameeh Jubran
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 36+ messages in thread
From: Sameeh Jubran @ 2018-08-30 14:27 UTC (permalink / raw)
  To: qemu-devel, Jason Wang; +Cc: Yan Vugenfirer

From: Sameeh Jubran <sjubran@redhat.com>

Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
---
 hw/net/vhost_net.c             | 2 +-
 include/hw/virtio/virtio-net.h | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c
index e037db63a3..c0bff725c9 100644
--- a/hw/net/vhost_net.c
+++ b/hw/net/vhost_net.c
@@ -129,7 +129,7 @@ uint64_t vhost_net_get_acked_features(VHostNetState *net)
     return net->dev.acked_features;
 }
 
-static int vhost_net_get_fd(NetClientState *backend)
+int vhost_net_get_fd(NetClientState *backend)
 {
     switch (backend->info->type) {
     case NET_CLIENT_DRIVER_TAP:
diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h
index 02484dc94c..a7b53edc96 100644
--- a/include/hw/virtio/virtio-net.h
+++ b/include/hw/virtio/virtio-net.h
@@ -107,4 +107,6 @@ typedef struct VirtIONet {
 void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
                                    const char *type);
 
+int vhost_net_get_fd(NetClientState *backend);
+
 #endif
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [Qemu-devel] [RFC 4/6] virtio-net: implement steering mode feature
  2018-08-30 14:27 [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Sameeh Jubran
                   ` (2 preceding siblings ...)
  2018-08-30 14:27 ` [Qemu-devel] [RFC 3/6] vhost-net: Expose vhost_net_get_fd Sameeh Jubran
@ 2018-08-30 14:27 ` Sameeh Jubran
  2018-09-03  3:34   ` Jason Wang
  2018-08-30 14:27 ` [Qemu-devel] [RFC 5/6] virtio-net: steering mode: Implement rss support Sameeh Jubran
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 36+ messages in thread
From: Sameeh Jubran @ 2018-08-30 14:27 UTC (permalink / raw)
  To: qemu-devel, Jason Wang; +Cc: Yan Vugenfirer

From: Sameeh Jubran <sjubran@redhat.com>

Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
---
 hw/net/virtio-net.c                         | 65 +++++++++++++++++++++++++----
 include/hw/virtio/virtio-net.h              |  3 ++
 include/standard-headers/linux/virtio_net.h | 55 ++++++++++++++++++++++++
 3 files changed, 116 insertions(+), 7 deletions(-)

diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 90502fca7c..e7c4ce6f66 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -972,13 +972,53 @@ static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd,
     return VIRTIO_NET_OK;
 }
 
+static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
+                                struct iovec *iov, unsigned int iov_cnt,
+                                struct iovec *iov_in, unsigned int iov_cnt_in,
+        size_t *size_in)
+{
+    size_t s;
+    struct virtio_net_steering_mode sm;
+
+    switch (cmd) {
+    case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
+        if (!size_in) {
+            return VIRTIO_NET_ERR;
+        }
+                  s = iov_from_buf(iov_in, iov_cnt_in, 0,
+          &n->supported_modes, sizeof(n->supported_modes));
+        if (s != sizeof(n->supported_modes) ||
+          !size_in) {
+            return VIRTIO_NET_ERR;
+        }
+                  *size_in = s;
+      break;
+    case VIRTIO_NET_CTRL_SM_CONTROL:
+        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
+                sizeof(union command_data));
+        if (s != sizeof(sm) - sizeof(union command_data)) {
+            return VIRTIO_NET_ERR;
+        }
+        /* switch (cmd)
+             {
+                dafault:
+                return VIRTIO_NET_ERR;
+         } */
+      break;
+    default:
+                return VIRTIO_NET_ERR;
+    }
+
+    return VIRTIO_NET_OK;
+}
+
 static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
 {
     VirtIONet *n = VIRTIO_NET(vdev);
     struct virtio_net_ctrl_hdr ctrl;
     virtio_net_ctrl_ack status = VIRTIO_NET_ERR;
     VirtQueueElement *elem;
-    size_t s;
+    size_t s, elem_in_size = 0;
     struct iovec *iov, *iov2;
     unsigned int iov_cnt;
 
@@ -996,7 +1036,8 @@ static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
         }
 
         iov_cnt = elem->out_num;
-        iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) * elem->out_num);
+        iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) *
+                elem->out_num);
         s = iov_to_buf(iov, iov_cnt, 0, &ctrl, sizeof(ctrl));
         iov_discard_front(&iov, &iov_cnt, sizeof(ctrl));
         if (s != sizeof(ctrl)) {
@@ -1013,12 +1054,20 @@ static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
             status = virtio_net_handle_mq(n, ctrl.cmd, iov, iov_cnt);
         } else if (ctrl.class == VIRTIO_NET_CTRL_GUEST_OFFLOADS) {
             status = virtio_net_handle_offloads(n, ctrl.cmd, iov, iov_cnt);
+        } else if (ctrl.class == VIRTIO_NET_CTRL_STEERING_MODE) {
+            size_t size_in = 0;
+            status = virtio_net_ctrl_steering_mode(n, ctrl.cmd, iov, iov_cnt,
+                   elem->in_sg, elem->in_num, &size_in);
+            if (status == VIRTIO_NET_OK  && size_in > 0) {
+                elem_in_size += size_in;
+        }
         }
 
-        s = iov_from_buf(elem->in_sg, elem->in_num, 0, &status, sizeof(status));
+        s = iov_from_buf(elem->in_sg, elem->in_num, elem_in_size, &status,
+                sizeof(status));
         assert(s == sizeof(status));
-
-        virtqueue_push(vq, elem, sizeof(status));
+        elem_in_size += s;
+        virtqueue_push(vq, elem, elem_in_size);
         virtio_notify(vdev, vq);
         g_free(iov2);
         g_free(elem);
@@ -1375,10 +1424,10 @@ static int32_t virtio_net_flush_tx(VirtIONetQueue *q)
                                    n->guest_hdr_len, -1);
                 if (out_num == VIRTQUEUE_MAX_SIZE) {
                     goto drop;
-		}
+    }
                 out_num += 1;
                 out_sg = sg2;
-	    }
+      }
         }
         /*
          * If host wants to see the guest header as is, we can
@@ -1957,6 +2006,8 @@ static void virtio_net_device_realize(DeviceState *dev, Error **errp)
         n->host_features |= (1ULL << VIRTIO_NET_F_MTU);
     }
 
+        n->host_features |= (1ULL << VIRTIO_NET_F_CTRL_STEERING_MODE);
+
     if (n->net_conf.duplex_str) {
         if (strncmp(n->net_conf.duplex_str, "half", 5) == 0) {
             n->net_conf.duplex = DUPLEX_HALF;
diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h
index a7b53edc96..809e85481c 100644
--- a/include/hw/virtio/virtio-net.h
+++ b/include/hw/virtio/virtio-net.h
@@ -102,6 +102,9 @@ typedef struct VirtIONet {
     int announce_counter;
     bool needs_vnet_hdr_swap;
     bool mtu_bypass_backend;
+    struct virtio_net_steering_modes supported_modes;
+    struct virtio_net_steering_modes current_mode;
+    struct virtio_net_rss_conf *rss_conf;
 } VirtIONet;
 
 void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
diff --git a/include/standard-headers/linux/virtio_net.h b/include/standard-headers/linux/virtio_net.h
index e9f255ea3f..fa399b97ab 100644
--- a/include/standard-headers/linux/virtio_net.h
+++ b/include/standard-headers/linux/virtio_net.h
@@ -258,4 +258,59 @@ struct virtio_net_ctrl_mq {
 #define VIRTIO_NET_CTRL_GUEST_OFFLOADS   5
 #define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET        0
 
+
+#define RSS_HASH_FUNCTION_TOEPLITZ       0x1
+#define RSS_HASH_FUNCTION_SYMMETRIC      0x2
+
+// Hash function fields
+#define RSS_HASH_FIELDS_IPV4             0x00000100
+#define RSS_HASH_FIELDS_TCP_IPV4         0x00000200
+#define RSS_HASH_FIELDS_IPV6             0x00000400
+#define RSS_HASH_FIELDS_IPV6_EX          0x00000800
+#define RSS_HASH_FIELDS_TCP_IPV6         0x00001000
+#define RSS_HASH_FIELDS_TCP_IPV6_EX      0x00002000
+
+struct virtio_net_rss_supported_hash{
+uint32_t hash_function;
+};
+
+struct virtio_net_rss_conf_ptrs {
+    uint8_t *hash_key;
+    uint32_t  *indirection_table;
+};
+
+struct virtio_net_rss_conf {
+    uint32_t hash_function;
+    uint32_t hash_function_flags;
+    uint32_t hash_key_length;
+    uint32_t indirection_table_length;
+    struct virtio_net_rss_conf_ptrs ptrs;
+};
+
+#define VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS   0
+#define VIRTIO_NET_SM_CTRL_RSS_SET                       1
+
+
+struct virtio_net_steering_modes {
+    uint32_t steering_modes;
+};
+
+union command_data {
+    struct virtio_net_rss_conf rss;
+};
+
+struct virtio_net_steering_mode {
+    uint32_t steering_mode;
+    uint32_t command;
+};
+
+#define VIRTIO_NET_F_CTRL_STEERING_MODE  60
+
+#define VIRTIO_NET_CTRL_STEERING_MODE             7
+#define VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES    0
+#define VIRTIO_NET_CTRL_SM_CONTROL                1
+
+#define STEERING_MODE_AUTO          0x1
+#define STEERING_MODE_RSS           0x2
+
 #endif /* _LINUX_VIRTIO_NET_H */
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [Qemu-devel] [RFC 5/6] virtio-net: steering mode: Implement rss support
  2018-08-30 14:27 [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Sameeh Jubran
                   ` (3 preceding siblings ...)
  2018-08-30 14:27 ` [Qemu-devel] [RFC 4/6] virtio-net: implement steering mode feature Sameeh Jubran
@ 2018-08-30 14:27 ` Sameeh Jubran
  2018-09-03  3:48   ` Jason Wang
  2018-08-30 14:27 ` [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter Sameeh Jubran
  2018-09-03  4:15 ` [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Jason Wang
  6 siblings, 1 reply; 36+ messages in thread
From: Sameeh Jubran @ 2018-08-30 14:27 UTC (permalink / raw)
  To: qemu-devel, Jason Wang; +Cc: Yan Vugenfirer

From: Sameeh Jubran <sjubran@redhat.com>

Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
---
 hw/net/virtio-net.c | 122 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 105 insertions(+), 17 deletions(-)

diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index e7c4ce6f66..4a52a6a1d0 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -972,41 +972,129 @@ static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd,
     return VIRTIO_NET_OK;
 }
 
-static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
+
+static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
                                 struct iovec *iov, unsigned int iov_cnt,
                                 struct iovec *iov_in, unsigned int iov_cnt_in,
-        size_t *size_in)
+                                size_t *size_in)
+{
+    size_t s;
+    uint32_t supported_hash_function = 0;
+
+    switch (cmd) {
+    case VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS:
+        supported_hash_function |= RSS_HASH_FUNCTION_TOEPLITZ;
+        if (!size_in) {
+            return VIRTIO_NET_ERR;
+        }
+        s = iov_from_buf(iov_in, iov_cnt_in, 0,
+        &supported_hash_function,
+        supported_hash_function);
+        if (s != sizeof(n->supported_modes) ||
+        !size_in) {
+            return VIRTIO_NET_ERR;
+        }
+        *size_in = s;
+        break;
+    case VIRTIO_NET_SM_CTRL_RSS_SET:
+        if (!n->rss_conf) {
+            n->rss_conf = g_malloc0(
+                    sizeof(struct virtio_net_rss_conf));
+        } else if (iov == NULL || iov_cnt == 0) {
+            g_free(n->rss_conf->ptrs.hash_key);
+            g_free(n->rss_conf->ptrs.indirection_table);
+            g_free(n->rss_conf);
+            return VIRTIO_NET_OK;
+        }
+        s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf,
+                sizeof(struct virtio_net_rss_conf) -
+                sizeof(struct virtio_net_rss_conf_ptrs));
+
+        if (s != sizeof(struct virtio_net_rss_conf) -
+                sizeof(struct virtio_net_rss_conf_ptrs)) {
+            return VIRTIO_NET_ERR;
+        }
+        n->rss_conf->ptrs.hash_key = g_malloc0(sizeof(uint8_t) *
+                n->rss_conf->hash_key_length);
+        s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf->ptrs.hash_key,
+                sizeof(uint8_t) * n->rss_conf->hash_key_length);
+        if (s != sizeof(uint8_t) * n->rss_conf->hash_key_length) {
+            g_free(n->rss_conf->ptrs.hash_key);
+            return VIRTIO_NET_ERR;
+        }
+        n->rss_conf->ptrs.indirection_table
+            = g_malloc0(sizeof(uint32_t) *
+                    n->rss_conf->indirection_table_length);
+        s = iov_to_buf(iov, iov_cnt, 0,
+                n->rss_conf->ptrs.indirection_table, sizeof(uint32_t) *
+                n->rss_conf->indirection_table_length);
+        if (s != sizeof(uint32_t) *
+                n->rss_conf->indirection_table_length) {
+            g_free(n->rss_conf->ptrs.hash_key);
+            g_free(n->rss_conf->ptrs.indirection_table);
+            return VIRTIO_NET_ERR;
+        }
+        /* do bpf magic */
+        break;
+    default:
+        return VIRTIO_NET_ERR;
+    }
+
+    return VIRTIO_NET_OK;
+}
+
+static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
+                                struct iovec *iov, unsigned int iov_cnt,
+                                struct iovec *iov_in, unsigned int iov_in_cnt,
+                                size_t *size_in)
 {
     size_t s;
     struct virtio_net_steering_mode sm;
+    int status = 0;
+    size_t size_in_cmd = 0;
 
     switch (cmd) {
     case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
         if (!size_in) {
             return VIRTIO_NET_ERR;
         }
-                  s = iov_from_buf(iov_in, iov_cnt_in, 0,
-          &n->supported_modes, sizeof(n->supported_modes));
+        n->supported_modes.steering_modes |= STEERING_MODE_RSS |
+            STEERING_MODE_AUTO;
+        s = iov_from_buf(iov_in, iov_in_cnt, 0,
+        &n->supported_modes,
+        sizeof(n->supported_modes));
         if (s != sizeof(n->supported_modes) ||
-          !size_in) {
+        !size_in) {
             return VIRTIO_NET_ERR;
         }
-                  *size_in = s;
-      break;
+        *size_in = s;
+         break;
     case VIRTIO_NET_CTRL_SM_CONTROL:
-        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
-                sizeof(union command_data));
-        if (s != sizeof(sm) - sizeof(union command_data)) {
+        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm));
+        if (s != sizeof(sm)) {
+            return VIRTIO_NET_ERR;
+        }
+        iov_discard_front(&iov, &iov_cnt, sizeof(sm));
+        /* TODO handle the case where we change mode, call the old */
+        /* mode function with null ptrs  should do the trick of */
+        /* freeing any resources */
+        switch (sm.steering_mode) {
+        case STEERING_MODE_AUTO:
+                    break;
+        case STEERING_MODE_RSS:
+            status = virtio_net_ctrl_sm_rss(n, sm.command,
+                   iov, iov_cnt, iov_in, iov_in_cnt,
+                   &size_in_cmd);
+            if (status == VIRTIO_NET_OK && size_in_cmd > 0) {
+                *size_in += size_in_cmd;
+            }
+            break;
+        default:
             return VIRTIO_NET_ERR;
         }
-        /* switch (cmd)
-             {
-                dafault:
-                return VIRTIO_NET_ERR;
-         } */
-      break;
+        break;
     default:
-                return VIRTIO_NET_ERR;
+        return VIRTIO_NET_ERR;
     }
 
     return VIRTIO_NET_OK;
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
  2018-08-30 14:27 [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Sameeh Jubran
                   ` (4 preceding siblings ...)
  2018-08-30 14:27 ` [Qemu-devel] [RFC 5/6] virtio-net: steering mode: Implement rss support Sameeh Jubran
@ 2018-08-30 14:27 ` Sameeh Jubran
  2018-09-03  4:12   ` Jason Wang
                     ` (3 more replies)
  2018-09-03  4:15 ` [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Jason Wang
  6 siblings, 4 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-08-30 14:27 UTC (permalink / raw)
  To: qemu-devel, Jason Wang; +Cc: Yan Vugenfirer

From: Sameeh Jubran <sjubran@redhat.com>

Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
---
 hw/net/rss_bpf_insns.h       | 3992 ++++++++++++++++++++++++++++++++++++++++++
 hw/net/rss_tap_bpf.h         |   40 +
 hw/net/rss_tap_bpf_program.c |  175 ++
 hw/net/virtio-net.c          |   99 +-
 4 files changed, 4305 insertions(+), 1 deletion(-)
 create mode 100644 hw/net/rss_bpf_insns.h
 create mode 100644 hw/net/rss_tap_bpf.h
 create mode 100644 hw/net/rss_tap_bpf_program.c

diff --git a/hw/net/rss_bpf_insns.h b/hw/net/rss_bpf_insns.h
new file mode 100644
index 0000000000..1a92110b8d
--- /dev/null
+++ b/hw/net/rss_bpf_insns.h
@@ -0,0 +1,3992 @@
+/*
+ * RSS ebpf instructions for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */
+
+#include <linux/bpf.h>
+
+#ifndef BPF_RSS_INSNS
+#define BPF_RSS_INSNS
+
+/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
+struct bpf_insn l3_l4_hash_insns[] = {
+{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0xdeadbeef},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x63 , 0xa , 0x1 , 0xfffc , 0x00000000},
+{0xbf , 0x2 , 0xa , 0x0000 , 0x00000000},
+{0x07 , 0x2 , 0x0 , 0x0000 , 0xfffffffc},
+{0x18 , 0x1 , 0x1 , 0x0000 , 0xdeadcafe},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000001},
+{0x55 , 0x0 , 0x0 , 0x0017 , 0x00000000},
+{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x73 , 0xa , 0x1 , 0xfffa , 0x00000000},
+{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000a64},
+{0x6b , 0xa , 0x1 , 0xfff8 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x69666e6f},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x65727567},
+{0x7b , 0xa , 0x1 , 0xfff0 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x6e207369},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x6320746f},
+{0x7b , 0xa , 0x1 , 0xffe8 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x20737372},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x2079656b},
+{0x7b , 0xa , 0x1 , 0xffe0 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x68736168},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x203a2928},
+{0x7b , 0xa , 0x1 , 0xffd8 , 0x00000000},
+{0xbf , 0x1 , 0xa , 0x0000 , 0x00000000},
+{0x07 , 0x1 , 0x0 , 0x0000 , 0xffffffd8},
+{0xb7 , 0x2 , 0x0 , 0x0000 , 0x00000023},
+{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000006},
+{0x18 , 0x0 , 0x0 , 0x0000 , 0xfffffffe},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x05 , 0x0 , 0x0 , 0x0f60 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffc8 , 0x00000000},
+{0xb7 , 0x7 , 0x0 , 0x0000 , 0x0000000e},
+{0x55 , 0x8 , 0x0 , 0x0003 , 0x000088a8},
+{0xb7 , 0x7 , 0x0 , 0x0000 , 0x00000012},
+{0x28 , 0x0 , 0x0 , 0x0000 , 0x00000010},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x55 , 0x8 , 0x0 , 0x0005 , 0x00008100},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000002},
+{0x48 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x8 , 0x0 , 0x0b48 , 0x00000800},
+{0x18 , 0x0 , 0x0 , 0x0000 , 0xffffffff},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+{0x15 , 0x8 , 0x0 , 0x0001 , 0x0000dd86},
+{0x05 , 0x0 , 0x0 , 0x0f4f , 0x00000000},
+{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000029},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffa8 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000028},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff90 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002b},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffb0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002a},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffa0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001b},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff98 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001a},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff88 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000019},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffd0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000018},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffc0 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000b},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffb8 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000008},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000a},
+{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0xbf , 0x7 , 0x0 , 0x0000 , 0x00000000},
+{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000009},
+{0x40 , 0x0 , 0x9 , 0x0000 , 0x00000000},
+{0xb7 , 0x4 , 0x0 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0002 , 0xffffffff},
+{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
+{0x61 , 0x4 , 0x1 , 0x0008 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x3 , 0xa , 0xffc8 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x79 , 0x6 , 0xa , 0xffa0 , 0x00000000},
+{0x79 , 0x9 , 0xa , 0xff88 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x000f , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x000e , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x8 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x8 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x8 , 0xa , 0xff90 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0013 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0012 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x5 , 0xa , 0xffb0 , 0x00000000},
+{0x79 , 0x0 , 0xa , 0xffa8 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0017 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0016 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x7 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x7 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x79 , 0x7 , 0xa , 0xff98 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x001b , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x001a , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x001f , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x001e , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0023 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0022 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x0027 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x0026 , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x9 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x9 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x002b , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x002a , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000008},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x000000ff},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x4f , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x0 , 0x0 , 0x0000 , 0x00000030},
+{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xc7 , 0x0 , 0x0 , 0x0000 , 0x00000020},
+{0x57 , 0x7 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x7 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x65 , 0x0 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x3 , 0x002f , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x6 , 0x0 , 0x0000 , 0x00000008},
+{0x57 , 0x5 , 0x0 , 0x0000 , 0x000000ff},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x4f , 0x5 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x3 , 0x002e , 0x00000000},
+{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x5 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x5 , 0x0 , 0x0402 , 0x00000000},
+{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
+{0x05 , 0x0 , 0x0 , 0x03fa , 0x00000000},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x0000000c},
+{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x9 , 0x0 , 0x0000 , 0x0000000d},
+{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffd0 , 0x00000000},
+{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000010},
+{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffa0 , 0x00000000},
+{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000011},
+{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffa8 , 0x00000000},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00ff0000},
+{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000018},
+{0x4f , 0x1 , 0x8 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x1 , 0xffd0 , 0x00000000},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x0000000e},
+{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x9 , 0x0 , 0x0000 , 0x00000000},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000017},
+{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffc0 , 0x00000000},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000016},
+{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffb8 , 0x00000000},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000012},
+{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff98 , 0x00000000},
+{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x8 , 0x0 , 0x0000 , 0x0000000f},
+{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
+{0x67 , 0x9 , 0x0 , 0x0000 , 0x00000008},
+{0x57 , 0x9 , 0x0 , 0x0000 , 0x0000ff00},
+{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
+{0x4f , 0x1 , 0x9 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x1 , 0xffd0 , 0x00000000},
+{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000015},
+{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xffb0 , 0x00000000},
+{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
+{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000014},
+{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
+{0x79 , 0x7 , 0xa , 0xffc8 , 0x00000000},
+{0x7b , 0xa , 0x0 , 0xff90 , 0x00000000},
+{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000013},
+{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
+{0x79 , 0x3 , 0xa , 0xffd0 , 0x00000000},
+{0x57 , 0x8 , 0x0 , 0x0000 , 0x000000ff},
+{0x4f , 0x3 , 0x8 , 0x0000 , 0x00000000},
+{0xb7 , 0x4 , 0x0 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x65 , 0x1 , 0x0 , 0x0001 , 0xffffffff},
+{0x61 , 0x4 , 0x7 , 0x0008 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x79 , 0x6 , 0xa , 0xffa8 , 0x00000000},
+{0x79 , 0x5 , 0xa , 0xffa0 , 0x00000000},
+{0x79 , 0x8 , 0xa , 0xff98 , 0x00000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x7 , 0x000f , 0x00000000},
+{0x61 , 0x2 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x7 , 0x000e , 0x00000000},
+{0x61 , 0x2 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x6 , 0x0 , 0x0000 , 0x00000010},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x6 , 0x0 , 0x0000 , 0x00ff0000},
+{0x67 , 0x5 , 0x0 , 0x0000 , 0x00000018},
+{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000008},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x4f , 0x6 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x8 , 0x0 , 0x0000 , 0x0000ff00},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x4f , 0x6 , 0x8 , 0x0000 , 0x00000000},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x000000ff},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x4f , 0x6 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x3 , 0x0 , 0x0000 , 0x00000001},
+{0x79 , 0x8 , 0xa , 0xff90 , 0x00000000},
+{0x15 , 0x3 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x79 , 0x3 , 0xa , 0xffc0 , 0x00000000},
+{0x79 , 0x5 , 0xa , 0xffb8 , 0x00000000},
+{0x79 , 0x0 , 0xa , 0xffb0 , 0x00000000},
+{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x7 , 0x0013 , 0x00000000},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x7 , 0x0012 , 0x00000000},
+{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000008},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x000000ff},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x4f , 0x0 , 0x8 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x0 , 0x0 , 0x0000 , 0x00000030},
+{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xc7 , 0x0 , 0x0 , 0x0000 , 0x00000020},
+{0x57 , 0x6 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x6 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x65 , 0x0 , 0x0 , 0x0003 , 0xffffffff},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x71 , 0x1 , 0x7 , 0x0017 , 0x00000000},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x67 , 0x5 , 0x0 , 0x0000 , 0x00000008},
+{0x57 , 0x3 , 0x0 , 0x0000 , 0x000000ff},
+{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x4f , 0x3 , 0x5 , 0x0000 , 0x00000000},
+{0x57 , 0x0 , 0x0 , 0x0000 , 0x00010000},
+{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
+{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
+{0x69 , 0x1 , 0x7 , 0x0016 , 0x00000000},
+{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
+{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
+{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
+{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
+{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x57 , 0x3 , 0x0 , 0x0000 , 0x00000001},
+{0x15 , 0x3 , 0x0 , 0x0007 , 0x00000000},
+{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
+{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
+{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
+{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
+{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
+{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
+{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x7830203a},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x000a7825},
+{0x7b , 0xa , 0x1 , 0xffe8 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x20782578},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x68736168},
+{0x7b , 0xa , 0x1 , 0xffe0 , 0x00000000},
+{0x18 , 0x1 , 0x0 , 0x0000 , 0x75657571},
+{0x00 , 0x0 , 0x0 , 0x0000 , 0x30203a65},
+{0x7b , 0xa , 0x1 , 0xffd8 , 0x00000000},
+{0xbf , 0x1 , 0xa , 0x0000 , 0x00000000},
+{0x07 , 0x1 , 0x0 , 0x0000 , 0xffffffd8},
+{0xb7 , 0x2 , 0x0 , 0x0000 , 0x00000018},
+{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000006},
+{0x95 , 0x0 , 0x0 , 0x0000 , 0x00000000},
+};
+
+#endif
diff --git a/hw/net/rss_tap_bpf.h b/hw/net/rss_tap_bpf.h
new file mode 100644
index 0000000000..54b88cfb76
--- /dev/null
+++ b/hw/net/rss_tap_bpf.h
@@ -0,0 +1,40 @@
+/*
+ * RSS ebpf header for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ * This code is heavily based on the following bpf code from dpdk
+ * https://git.dpdk.org/dpdk/tree/drivers/net/tap/
+ *
+ */
+
+#ifndef RSS_TAP_BPF_H
+#define RSS_TAP_BPF_H
+
+/* hashed fields for RSS */
+enum hash_field {
+  HASH_FIELD_IPV4_L3,  /* IPv4 src/dst addr */
+  HASH_FIELD_IPV4_L3_L4,  /* IPv4 src/dst addr + L4 src/dst ports */
+  HASH_FIELD_IPV6_L3,  /* IPv6 src/dst addr */
+  HASH_FIELD_IPV6_L3_L4,  /* IPv6 src/dst addr + L4 src/dst ports */
+  HASH_FIELD_L2_SRC,  /* Ethernet src addr */
+  HASH_FIELD_L2_DST,  /* Ethernet dst addr */
+  HASH_FIELD_L3_SRC,  /* L3 src addr */
+  HASH_FIELD_L3_DST,  /* L3 dst addr */
+  HASH_FIELD_L4_SRC,  /* TCP/UDP src ports */
+  HASH_FIELD_L4_DST,  /* TCP/UDP dst ports */
+};
+
+struct rss_key {
+  __u32 hash_fields;
+  __u32 nb_queues;
+    __u32 *indirection_table;
+    __u32 indirection_table_size;
+  __u8 *key;
+  __u32 key_size;
+} __attribute__((packed));
+
+#endif
diff --git a/hw/net/rss_tap_bpf_program.c b/hw/net/rss_tap_bpf_program.c
new file mode 100644
index 0000000000..2744436e86
--- /dev/null
+++ b/hw/net/rss_tap_bpf_program.c
@@ -0,0 +1,175 @@
+/*
+ * RSS ebpf code for virtio-net
+ *
+ * Copyright (c) 2018 RedHat.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ * This code is heavily based on the following bpf code from dpdk
+ * https://git.dpdk.org/dpdk/tree/drivers/net/tap/tap_bpf_program.c
+ *
+ */
+
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <asm/types.h>
+#include <linux/in.h>
+#include <linux/if.h>
+#include <linux/if_ether.h>
+#include <linux/ip.h>
+#include <linux/ipv6.h>
+#include <linux/if_tunnel.h>
+#include <linux/filter.h>
+#include <linux/bpf.h>
+
+#include "bpf_api.h"
+#include "rss_tap_bpf.h"
+
+/** Create IPv4 address */
+#define IPv4(a, b, c, d) ((__u32)(((a) & 0xff) << 24) | \
+    (((b) & 0xff) << 16) | \
+    (((c) & 0xff) << 8)  | \
+    ((d) & 0xff))
+
+#define PORT(a, b) ((__u16)(((a) & 0xff) << 8) | \
+    ((b) & 0xff))
+
+#define KEY_IDX      0
+
+struct vlan_hdr {
+  __be16 h_vlan_TCI;
+  __be16 h_vlan_encapsulated_proto;
+};
+
+struct bpf_elf_map __attribute__((section("maps"), used))
+map_rss = {
+  .type           =       BPF_MAP_TYPE_ARRAY,
+  .size_key       =       sizeof(__u32),
+  .size_value     =       sizeof(struct rss_key),
+  .max_elem       =       1,
+};
+
+struct ipv4_l3_l4_tuple {
+  __u32    src_addr;
+  __u32    dst_addr;
+  __u16    dport;
+  __u16    sport;
+} __attribute__((packed));
+
+struct ipv6_l3_l4_tuple {
+  __u8        src_addr[16];
+  __u8        dst_addr[16];
+  __u16       dport;
+  __u16       sport;
+} __attribute__((packed));
+
+static __u32  __attribute__((always_inline))
+
+rte_softrss_be(const __u32 *input_tuple, const uint8_t *key,
+    __u8 input_len)
+{
+    __u32 i, j, hash = 0;
+#pragma unroll
+    for (j = 0; j < input_len; j++) {
+#pragma unroll
+        for (i = 0; i < 32; i++) {
+            if (input_tuple[j] & (1 << (31 - i))) {
+                hash ^= ((const __u32 *) key)[j] << i |
+                (__u32)((uint64_t)
+                (((const __u32 *) key)[j + 1])
+                >> (32 - i));
+            }
+        }
+    }
+    return hash;
+}
+
+static int __attribute__((always_inline))
+rss_l3_l4(struct __sk_buff *skb)
+{
+    __u64 proto = load_half(skb, 12);
+    __u64 nhoff = ETH_HLEN;
+    __u32 key_idx = 0xdeadbeef;
+    __u32 hash = 0;
+    int j = 0;
+    __u8 *key = 0;
+    __u32 queue = 0;
+    struct rss_key *rss_key;
+
+    rss_key = (struct rss_key *) map_lookup_elem(&map_rss, &key_idx);
+    if (!rss_key) {
+        return -1;
+    }
+
+    key = rss_key->key;
+
+    if (proto == ETH_P_8021AD) {
+        proto = load_half(skb, nhoff + offsetof(struct vlan_hdr,
+                  h_vlan_encapsulated_proto));
+        nhoff += sizeof(struct vlan_hdr);
+    }
+    if (proto == ETH_P_8021Q) {
+        proto = load_half(skb, nhoff + offsetof(struct vlan_hdr,
+                  h_vlan_encapsulated_proto));
+        nhoff += sizeof(struct vlan_hdr);
+    }
+    if (likely(proto == ETH_P_IP)) {
+        struct ipv4_l3_l4_tuple v4_tuple = {
+          .src_addr = IPv4(load_byte(skb, nhoff + offsetof(struct iphdr, saddr)),
+               load_byte(skb, nhoff + offsetof(struct iphdr, saddr) + 1),
+               load_byte(skb, nhoff + offsetof(struct iphdr, saddr) + 2),
+               load_byte(skb, nhoff + offsetof(struct iphdr, saddr) + 3)),
+          .dst_addr = IPv4(load_byte(skb, nhoff + offsetof(struct iphdr, daddr)),
+               load_byte(skb, nhoff + offsetof(struct iphdr, daddr) + 1),
+               load_byte(skb, nhoff + offsetof(struct iphdr, daddr) + 2),
+               load_byte(skb, nhoff + offsetof(struct iphdr, daddr) + 3)),
+          .sport = PORT(load_byte(skb, nhoff + sizeof(struct iphdr)),
+                  load_byte(skb, nhoff + sizeof(struct iphdr) + 1)),
+          .dport = PORT(load_byte(skb, nhoff + sizeof(struct iphdr) + 2),
+                  load_byte(skb, nhoff + sizeof(struct iphdr) + 3))
+        };
+        __u8 input_len = sizeof(v4_tuple) / sizeof(__u32);
+        if (rss_key->hash_fields & (1 << HASH_FIELD_IPV4_L3)) {
+            input_len--;
+        }
+        hash = rte_softrss_be((__u32 *)&v4_tuple, key, input_len);
+    } else if (proto == htons(ETH_P_IPV6)) {
+        struct ipv6_l3_l4_tuple v6_tuple;
+        for (j = 0; j < 4; j++) {
+            *((uint32_t *)&v6_tuple.src_addr + j) =
+              load_word(skb, nhoff + offsetof(struct ipv6hdr, saddr) + j);
+            *((uint32_t *)&v6_tuple.dst_addr + j) =
+              load_word(skb, nhoff + offsetof(struct ipv6hdr, daddr) + j);
+        }
+        v6_tuple.sport = PORT(load_byte(skb, nhoff + sizeof(struct ipv6hdr)),
+                  load_byte(skb, nhoff + sizeof(struct ipv6hdr) + 1));
+        v6_tuple.dport = PORT(load_byte(skb, nhoff + sizeof(struct ipv6hdr) + 2),
+                  load_byte(skb, nhoff + sizeof(struct ipv6hdr) + 3));
+
+        __u8 input_len = sizeof(v6_tuple) / sizeof(__u32);
+        if (rss_key->hash_fields & (1 << HASH_FIELD_IPV6_L3)) {
+            input_len--;
+        }
+        hash = rte_softrss_be((__u32 *)&v6_tuple, key, input_len);
+    } else {
+        return -1;
+    }
+
+    queue = rss_key->indirection_table[(hash % rss_key->nb_queues)];
+    return queue;
+}
+
+#define RSS(L)                                          \
+        __section(#L) int                               \
+                L ## _hash(struct __sk_buff *skb)       \
+        {                                               \
+            return rss_ ## L(skb);                     \
+        }
+
+RSS(l3_l4)
+
+BPF_LICENSE("Dual BSD/GPL");
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 4a52a6a1d0..66b2140cc7 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -27,6 +27,10 @@
 #include "hw/virtio/virtio-access.h"
 #include "migration/misc.h"
 #include "standard-headers/linux/ethtool.h"
+#include <sys/syscall.h>
+#include <linux/bpf.h>
+#include "rss_bpf_insns.h"
+#include "rss_tap_bpf.h"
 
 #define VIRTIO_NET_VM_VERSION    11
 
@@ -972,6 +976,99 @@ static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd,
     return VIRTIO_NET_OK;
 }
 
+static inline int sys_bpf(enum bpf_cmd cmd, union bpf_attr *attr,
+                        unsigned int size)
+{
+        return syscall(__NR_bpf, cmd, attr, size);
+}
+
+static int rss_load_bpf_program(int map_fd)
+{
+    int ret = 0;
+    union bpf_attr attr = {};
+
+    /* Insert map fd to the bpf filter program */
+    l3_l4_hash_insns[3].imm = 0;
+    l3_l4_hash_insns[8].imm = map_fd;
+
+    memset(&attr, 0, sizeof(attr));
+    attr.prog_type = BPF_PROG_TYPE_SOCKET_FILTER;
+    attr.insn_cnt = ARRAY_SIZE(l3_l4_hash_insns);
+    attr.insns = (__u64) (unsigned long) (l3_l4_hash_insns);
+    attr.license = (__u64) (unsigned long) ("Dual BSD/GPL");
+
+    ret = sys_bpf(BPF_PROG_LOAD, &attr, sizeof(attr));
+
+    return ret;
+}
+
+static int rss_create_map(VirtIONet *n, size_t size)
+{
+    union bpf_attr attr = {};
+
+    memset(&attr, 0, sizeof(attr));
+    attr.map_type    = BPF_MAP_TYPE_ARRAY;
+    attr.key_size    = sizeof(__u32);
+    attr.value_size  = size;
+    attr.max_entries = 1;
+
+    return sys_bpf(BPF_MAP_CREATE, &attr, sizeof(attr));
+}
+
+static int rss_update_map(int fd, void *key, void *value)
+{
+    union bpf_attr attr = {};
+
+    memset(&attr, 0, sizeof(attr));
+
+    attr.map_type = BPF_MAP_TYPE_HASH;
+    attr.map_fd = fd;
+    attr.key = (__u64) (unsigned long) (key);
+    attr.value = (__u64) (unsigned long) (value);
+    attr.flags = BPF_ANY;
+
+    return sys_bpf(BPF_MAP_UPDATE_ELEM, &attr, sizeof(attr));
+}
+
+static int virtio_net_rss_assign_bpf_filter(VirtIONet *n)
+{
+    NetClientState *nc;
+    struct rss_key rss_bpf_key_map;
+    int i = 0;
+    int map_fd = 0;
+    int ret = 0;
+
+    if (n->rss_conf) {
+        rss_bpf_key_map.hash_fields = n->rss_conf->hash_function_flags;
+        rss_bpf_key_map.nb_queues = n->curr_queues;
+        rss_bpf_key_map.indirection_table = n->rss_conf->ptrs.indirection_table;
+        rss_bpf_key_map.indirection_table_size = n->rss_conf->indirection_table_length;
+        rss_bpf_key_map.key = n->rss_conf->ptrs.hash_key;
+        rss_bpf_key_map.key_size = n->rss_conf->hash_key_length;
+        map_fd = rss_create_map(n, sizeof(rss_bpf_key_map));
+    }
+
+    if (map_fd <= 0) {
+        return -1;
+    }
+
+    rss_update_map(map_fd, 0, &rss_bpf_key_map);
+    int bpf_fd = rss_load_bpf_program(map_fd);
+    for (i = 0; i < n->curr_queues ; i++) {
+        nc = qemu_get_subqueue(n->nic, i);
+
+        if (!nc->peer) {
+            return VIRTIO_NET_ERR;
+        }
+
+        if (nc->peer->info->type != NET_CLIENT_DRIVER_TAP) {
+            return VIRTIO_NET_ERR;
+        }
+            vhost_net_get_fd(nc->peer);
+            ret = nc->peer->info->set_bpf_filter(nc->peer, bpf_fd, BPF_TYPE_STEERING);
+    }
+    return ret;
+}
 
 static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
                                 struct iovec *iov, unsigned int iov_cnt,
@@ -1034,7 +1131,7 @@ static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
             g_free(n->rss_conf->ptrs.indirection_table);
             return VIRTIO_NET_ERR;
         }
-        /* do bpf magic */
+        virtio_net_rss_assign_bpf_filter(n);
         break;
     default:
         return VIRTIO_NET_ERR;
-- 
2.13.6

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls
  2018-08-30 14:27 ` [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls Sameeh Jubran
@ 2018-08-30 15:21   ` Eric Blake
  2018-09-03 11:34     ` Sameeh Jubran
  2018-09-03  3:24   ` Jason Wang
  1 sibling, 1 reply; 36+ messages in thread
From: Eric Blake @ 2018-08-30 15:21 UTC (permalink / raw)
  To: Sameeh Jubran, qemu-devel, Jason Wang; +Cc: Yan Vugenfirer

On 08/30/2018 09:27 AM, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
> 
> Starting from kernel v4.16 tun device supports TUNSETSTEERINGEBPF and
> TUNSETFILTEREBPF.
> 
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---

> +++ b/qapi/net.json
> @@ -692,3 +692,14 @@
>   ##
>   { 'event': 'NIC_RX_FILTER_CHANGED',
>     'data': { '*name': 'str', 'path': 'str' } }
> +
> +##
> +# @BPFType:
> +#
> +# BPF programs types provided as an argument for tap bpf ioctls
> +#
> +# Since: 2.12

You missed 2.12 by a long shot; this should be 3.1.

> +#
> +##
> +{ 'enum': 'BPFType',
> +  'data': [ 'filter', 'steering' ] }

It might also be wise to document these two values in addition to the 
documentation of the enum as a whole.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls
  2018-08-30 14:27 ` [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls Sameeh Jubran
  2018-08-30 15:21   ` Eric Blake
@ 2018-09-03  3:24   ` Jason Wang
  2018-09-03 11:33     ` Sameeh Jubran
  1 sibling, 1 reply; 36+ messages in thread
From: Jason Wang @ 2018-09-03  3:24 UTC (permalink / raw)
  To: Sameeh Jubran, qemu-devel; +Cc: Yan Vugenfirer



On 2018年08月30日 22:27, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> Starting from kernel v4.16 tun device supports TUNSETSTEERINGEBPF and
> TUNSETFILTEREBPF.
>
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
>   include/net/net.h |  3 ++-
>   net/tap-bsd.c     |  5 +++++
>   net/tap-linux.c   | 29 ++++++++++++++++++++++++++++-
>   net/tap-linux.h   |  3 ++-
>   net/tap-solaris.c |  5 +++++
>   net/tap-stub.c    |  5 +++++
>   net/tap.c         |  8 ++++++++
>   net/tap_int.h     |  1 +
>   qapi/net.json     | 11 +++++++++++
>   9 files changed, 67 insertions(+), 3 deletions(-)
>
> diff --git a/include/net/net.h b/include/net/net.h
> index 1425960f76..e7d1baac10 100644
> --- a/include/net/net.h
> +++ b/include/net/net.h
> @@ -39,7 +39,6 @@ typedef struct NICConf {
>       DEFINE_PROP_MACADDR("mac",   _state, _conf.macaddr),                \
>       DEFINE_PROP_NETDEV("netdev", _state, _conf.peers)
>   
> -

Looks unnecessary.

>   /* Net clients */
>   
>   typedef void (NetPoll)(NetClientState *, bool enable);
> @@ -60,6 +59,7 @@ typedef int (SetVnetLE)(NetClientState *, bool);
>   typedef int (SetVnetBE)(NetClientState *, bool);
>   typedef struct SocketReadState SocketReadState;
>   typedef void (SocketReadStateFinalize)(SocketReadState *rs);
> +typedef int (SetBPFFilter)(NetClientState *, int, BPFType);

Looks like SetBPFProg is better? Anyway steering prog is not a filter.

>   
>   typedef struct NetClientInfo {
>       NetClientDriver type;
> @@ -80,6 +80,7 @@ typedef struct NetClientInfo {
>       SetVnetHdrLen *set_vnet_hdr_len;
>       SetVnetLE *set_vnet_le;
>       SetVnetBE *set_vnet_be;
> +    SetBPFFilter *set_bpf_filter;
>   } NetClientInfo;
>   
>   struct NetClientState {
> diff --git a/net/tap-bsd.c b/net/tap-bsd.c
> index 6c9692263d..fccf17bad0 100644
> --- a/net/tap-bsd.c
> +++ b/net/tap-bsd.c
> @@ -259,3 +259,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
>   {
>       return -1;
>   }
> +
> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
> +{
> +    return -1;
> +}
> diff --git a/net/tap-linux.c b/net/tap-linux.c
> index 535b1ddb61..e8ee54f3b3 100644
> --- a/net/tap-linux.c
> +++ b/net/tap-linux.c
> @@ -305,7 +305,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
>   {
>       struct ifreq ifr;
>   
> -    if (ioctl(fd, TUNGETIFF, &ifr) != 0) {
> +    if (ioctl(fd, TUNGETIFF, &ifr) != 0)
> +    {

This looks unnecessary.

>           error_report("TUNGETIFF ioctl() failed: %s",
>                        strerror(errno));
>           return -1;
> @@ -314,3 +315,29 @@ int tap_fd_get_ifname(int fd, char *ifname)
>       pstrcpy(ifname, sizeof(ifr.ifr_name), ifr.ifr_name);
>       return 0;
>   }
> +
> +
> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
> +{
> +    int ioctl_num = 0;
> +    switch (type)
> +    {
> +        case BPF_TYPE_FILTER:
> +        ioctl_num = TUNSETFILTEREBPF;
> +        break;
> +
> +        case BPF_TYPE_STEERING:
> +        ioctl_num = TUNSETSTEERINGEBPF;
> +        break;
> +
> +        default:
> +        error_report("Unknown bpf_type");
> +        return -1;
> +    }

Indentation looks odd.

> +
> +    if (ioctl(fd, ioctl_num, &bpf_fd) != 0) {
> +        error_report("#%d ioctl() failed: %s", ioctl_num, strerror(errno));
> +        return -1;
> +    }
> +    return 0;
> +}
> diff --git a/net/tap-linux.h b/net/tap-linux.h
> index 2f36d100fc..7348169fc2 100644
> --- a/net/tap-linux.h
> +++ b/net/tap-linux.h
> @@ -31,7 +31,8 @@
>   #define TUNSETQUEUE  _IOW('T', 217, int)
>   #define TUNSETVNETLE _IOW('T', 220, int)
>   #define TUNSETVNETBE _IOW('T', 222, int)
> -
> +#define TUNSETSTEERINGEBPF _IOR('T', 224, int)
> +#define TUNSETFILTEREBPF _IOR('T', 225, int)
>   #endif
>   
>   /* TUNSETIFF ifr flags */
> diff --git a/net/tap-solaris.c b/net/tap-solaris.c
> index a2a92356c1..a5a6248c7d 100644
> --- a/net/tap-solaris.c
> +++ b/net/tap-solaris.c
> @@ -254,3 +254,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
>   {
>       return -1;
>   }
> +
> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
> +{
> +    return -1;
> +}
> diff --git a/net/tap-stub.c b/net/tap-stub.c
> index a9ab8f8293..d059a32435 100644
> --- a/net/tap-stub.c
> +++ b/net/tap-stub.c
> @@ -85,3 +85,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
>   {
>       return -1;
>   }
> +
> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
> +{
> +    return -1;
> +}
> diff --git a/net/tap.c b/net/tap.c
> index 2126f4882d..ee98fecd40 100644
> --- a/net/tap.c
> +++ b/net/tap.c
> @@ -342,6 +342,13 @@ int tap_get_fd(NetClientState *nc)
>       return s->fd;
>   }
>   
> +static int tap_set_bpf_filter(NetClientState *nc, int bpf_fd, BPFType type)
> +{
> +    TAPState *s = DO_UPCAST(TAPState, nc, nc);
> +    assert(nc->info->type == NET_CLIENT_DRIVER_TAP);
> +    return tap_fd_load_bpf(s->fd, bpf_fd, type);
> +}
> +
>   /* fd support */
>   
>   static NetClientInfo net_tap_info = {
> @@ -360,6 +367,7 @@ static NetClientInfo net_tap_info = {
>       .set_vnet_hdr_len = tap_set_vnet_hdr_len,
>       .set_vnet_le = tap_set_vnet_le,
>       .set_vnet_be = tap_set_vnet_be,
> +    .set_bpf_filter = tap_set_bpf_filter,
>   };
>   
>   static TAPState *net_tap_fd_init(NetClientState *peer,
> diff --git a/net/tap_int.h b/net/tap_int.h
> index 9f931d52d6..3e1603a88e 100644
> --- a/net/tap_int.h
> +++ b/net/tap_int.h
> @@ -45,5 +45,6 @@ int tap_fd_set_vnet_be(int fd, int vnet_is_be);
>   int tap_fd_enable(int fd);
>   int tap_fd_disable(int fd);
>   int tap_fd_get_ifname(int fd, char *ifname);
> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type);
>   
>   #endif /* NET_TAP_INT_H */
> diff --git a/qapi/net.json b/qapi/net.json
> index 6b7d93cb59..ce0a688444 100644
> --- a/qapi/net.json
> +++ b/qapi/net.json
> @@ -692,3 +692,14 @@
>   ##
>   { 'event': 'NIC_RX_FILTER_CHANGED',
>     'data': { '*name': 'str', 'path': 'str' } }
> +
> +##
> +# @BPFType:
> +#
> +# BPF programs types provided as an argument for tap bpf ioctls
> +#
> +# Since: 2.12
> +#
> +##
> +{ 'enum': 'BPFType',
> +  'data': [ 'filter', 'steering' ] }

I don't get why it needs to be exported as part of qapi.

Thanks

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 3/6] vhost-net: Expose vhost_net_get_fd
  2018-08-30 14:27 ` [Qemu-devel] [RFC 3/6] vhost-net: Expose vhost_net_get_fd Sameeh Jubran
@ 2018-09-03  3:24   ` Jason Wang
  2018-09-03 11:56     ` Sameeh Jubran
  0 siblings, 1 reply; 36+ messages in thread
From: Jason Wang @ 2018-09-03  3:24 UTC (permalink / raw)
  To: Sameeh Jubran, qemu-devel; +Cc: Yan Vugenfirer



On 2018年08月30日 22:27, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>

Better explain the motivation in the commit log.

Thanks

> ---
>   hw/net/vhost_net.c             | 2 +-
>   include/hw/virtio/virtio-net.h | 2 ++
>   2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c
> index e037db63a3..c0bff725c9 100644
> --- a/hw/net/vhost_net.c
> +++ b/hw/net/vhost_net.c
> @@ -129,7 +129,7 @@ uint64_t vhost_net_get_acked_features(VHostNetState *net)
>       return net->dev.acked_features;
>   }
>   
> -static int vhost_net_get_fd(NetClientState *backend)
> +int vhost_net_get_fd(NetClientState *backend)
>   {
>       switch (backend->info->type) {
>       case NET_CLIENT_DRIVER_TAP:
> diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h
> index 02484dc94c..a7b53edc96 100644
> --- a/include/hw/virtio/virtio-net.h
> +++ b/include/hw/virtio/virtio-net.h
> @@ -107,4 +107,6 @@ typedef struct VirtIONet {
>   void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
>                                      const char *type);
>   
> +int vhost_net_get_fd(NetClientState *backend);
> +
>   #endif

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 4/6] virtio-net: implement steering mode feature
  2018-08-30 14:27 ` [Qemu-devel] [RFC 4/6] virtio-net: implement steering mode feature Sameeh Jubran
@ 2018-09-03  3:34   ` Jason Wang
  2018-09-03 12:51     ` Sameeh Jubran
  0 siblings, 1 reply; 36+ messages in thread
From: Jason Wang @ 2018-09-03  3:34 UTC (permalink / raw)
  To: Sameeh Jubran, qemu-devel; +Cc: Yan Vugenfirer



On 2018年08月30日 22:27, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
>   hw/net/virtio-net.c                         | 65 +++++++++++++++++++++++++----
>   include/hw/virtio/virtio-net.h              |  3 ++
>   include/standard-headers/linux/virtio_net.h | 55 ++++++++++++++++++++++++
>   3 files changed, 116 insertions(+), 7 deletions(-)
>
> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index 90502fca7c..e7c4ce6f66 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -972,13 +972,53 @@ static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd,
>       return VIRTIO_NET_OK;
>   }
>   
> +static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
> +                                struct iovec *iov, unsigned int iov_cnt,
> +                                struct iovec *iov_in, unsigned int iov_cnt_in,
> +        size_t *size_in)
> +{
> +    size_t s;
> +    struct virtio_net_steering_mode sm;
> +
> +    switch (cmd) {
> +    case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
> +        if (!size_in) {
> +            return VIRTIO_NET_ERR;
> +        }
> +                  s = iov_from_buf(iov_in, iov_cnt_in, 0,
> +          &n->supported_modes, sizeof(n->supported_modes));
> +        if (s != sizeof(n->supported_modes) ||
> +          !size_in) {

size_in has been checked in the above I think?

> +            return VIRTIO_NET_ERR;
> +        }
> +                  *size_in = s;
> +      break;
> +    case VIRTIO_NET_CTRL_SM_CONTROL:
> +        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
> +                sizeof(union command_data));
> +        if (s != sizeof(sm) - sizeof(union command_data)) {
> +            return VIRTIO_NET_ERR;
> +        }
> +        /* switch (cmd)
> +             {
> +                dafault:
> +                return VIRTIO_NET_ERR;
> +         } */
> +      break;
> +    default:
> +                return VIRTIO_NET_ERR;
> +    }
> +
> +    return VIRTIO_NET_OK;
> +}
> +
>   static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
>   {
>       VirtIONet *n = VIRTIO_NET(vdev);
>       struct virtio_net_ctrl_hdr ctrl;
>       virtio_net_ctrl_ack status = VIRTIO_NET_ERR;
>       VirtQueueElement *elem;
> -    size_t s;
> +    size_t s, elem_in_size = 0;
>       struct iovec *iov, *iov2;
>       unsigned int iov_cnt;
>   
> @@ -996,7 +1036,8 @@ static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
>           }
>   
>           iov_cnt = elem->out_num;
> -        iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) * elem->out_num);
> +        iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) *
> +                elem->out_num);

Still looks unnecessary.

>           s = iov_to_buf(iov, iov_cnt, 0, &ctrl, sizeof(ctrl));
>           iov_discard_front(&iov, &iov_cnt, sizeof(ctrl));
>           if (s != sizeof(ctrl)) {
> @@ -1013,12 +1054,20 @@ static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
>               status = virtio_net_handle_mq(n, ctrl.cmd, iov, iov_cnt);
>           } else if (ctrl.class == VIRTIO_NET_CTRL_GUEST_OFFLOADS) {
>               status = virtio_net_handle_offloads(n, ctrl.cmd, iov, iov_cnt);
> +        } else if (ctrl.class == VIRTIO_NET_CTRL_STEERING_MODE) {
> +            size_t size_in = 0;
> +            status = virtio_net_ctrl_steering_mode(n, ctrl.cmd, iov, iov_cnt,
> +                   elem->in_sg, elem->in_num, &size_in);
> +            if (status == VIRTIO_NET_OK  && size_in > 0) {
> +                elem_in_size += size_in;
> +        }
>           }
>   
> -        s = iov_from_buf(elem->in_sg, elem->in_num, 0, &status, sizeof(status));
> +        s = iov_from_buf(elem->in_sg, elem->in_num, elem_in_size, &status,
> +                sizeof(status));
>           assert(s == sizeof(status));
> -
> -        virtqueue_push(vq, elem, sizeof(status));
> +        elem_in_size += s;
> +        virtqueue_push(vq, elem, elem_in_size);
>           virtio_notify(vdev, vq);
>           g_free(iov2);
>           g_free(elem);
> @@ -1375,10 +1424,10 @@ static int32_t virtio_net_flush_tx(VirtIONetQueue *q)
>                                      n->guest_hdr_len, -1);
>                   if (out_num == VIRTQUEUE_MAX_SIZE) {
>                       goto drop;
> -		}
> +    }
>                   out_num += 1;
>                   out_sg = sg2;
> -	    }
> +      }

Let's avoid mixing such possible style fixes.

>           }
>           /*
>            * If host wants to see the guest header as is, we can
> @@ -1957,6 +2006,8 @@ static void virtio_net_device_realize(DeviceState *dev, Error **errp)
>           n->host_features |= (1ULL << VIRTIO_NET_F_MTU);
>       }
>   
> +        n->host_features |= (1ULL << VIRTIO_NET_F_CTRL_STEERING_MODE);

I think we need a property for virtio-net and compat this for old 
machine types.

> +
>       if (n->net_conf.duplex_str) {
>           if (strncmp(n->net_conf.duplex_str, "half", 5) == 0) {
>               n->net_conf.duplex = DUPLEX_HALF;
> diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h
> index a7b53edc96..809e85481c 100644
> --- a/include/hw/virtio/virtio-net.h
> +++ b/include/hw/virtio/virtio-net.h
> @@ -102,6 +102,9 @@ typedef struct VirtIONet {
>       int announce_counter;
>       bool needs_vnet_hdr_swap;
>       bool mtu_bypass_backend;
> +    struct virtio_net_steering_modes supported_modes;
> +    struct virtio_net_steering_modes current_mode;
> +    struct virtio_net_rss_conf *rss_conf;
>   } VirtIONet;
>   
>   void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
> diff --git a/include/standard-headers/linux/virtio_net.h b/include/standard-headers/linux/virtio_net.h
> index e9f255ea3f..fa399b97ab 100644
> --- a/include/standard-headers/linux/virtio_net.h
> +++ b/include/standard-headers/linux/virtio_net.h
> @@ -258,4 +258,59 @@ struct virtio_net_ctrl_mq {
>   #define VIRTIO_NET_CTRL_GUEST_OFFLOADS   5
>   #define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET        0
>   
> +
> +#define RSS_HASH_FUNCTION_TOEPLITZ       0x1
> +#define RSS_HASH_FUNCTION_SYMMETRIC      0x2
> +
> +// Hash function fields
> +#define RSS_HASH_FIELDS_IPV4             0x00000100
> +#define RSS_HASH_FIELDS_TCP_IPV4         0x00000200
> +#define RSS_HASH_FIELDS_IPV6             0x00000400
> +#define RSS_HASH_FIELDS_IPV6_EX          0x00000800
> +#define RSS_HASH_FIELDS_TCP_IPV6         0x00001000
> +#define RSS_HASH_FIELDS_TCP_IPV6_EX      0x00002000
> +
> +struct virtio_net_rss_supported_hash{
> +uint32_t hash_function;
> +};
> +
> +struct virtio_net_rss_conf_ptrs {
> +    uint8_t *hash_key;
> +    uint32_t  *indirection_table;
> +};
> +
> +struct virtio_net_rss_conf {
> +    uint32_t hash_function;
> +    uint32_t hash_function_flags;
> +    uint32_t hash_key_length;
> +    uint32_t indirection_table_length;
> +    struct virtio_net_rss_conf_ptrs ptrs;
> +};

I think the RSS stuffs should go with an independent patch?

> +
> +#define VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS   0
> +#define VIRTIO_NET_SM_CTRL_RSS_SET                       1
> +
> +
> +struct virtio_net_steering_modes {
> +    uint32_t steering_modes;
> +};
> +
> +union command_data {
> +    struct virtio_net_rss_conf rss;
> +};
> +
> +struct virtio_net_steering_mode {
> +    uint32_t steering_mode;
> +    uint32_t command;
> +};
> +
> +#define VIRTIO_NET_F_CTRL_STEERING_MODE  60
> +
> +#define VIRTIO_NET_CTRL_STEERING_MODE             7
> +#define VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES    0
> +#define VIRTIO_NET_CTRL_SM_CONTROL                1

SM_CONTROL sounds pretty generic, maybe just SET_SUPPORTED_MODES?

Thanks

> +
> +#define STEERING_MODE_AUTO          0x1
> +#define STEERING_MODE_RSS           0x2
> +
>   #endif /* _LINUX_VIRTIO_NET_H */

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 5/6] virtio-net: steering mode: Implement rss support
  2018-08-30 14:27 ` [Qemu-devel] [RFC 5/6] virtio-net: steering mode: Implement rss support Sameeh Jubran
@ 2018-09-03  3:48   ` Jason Wang
  2018-09-03 11:45     ` Sameeh Jubran
  0 siblings, 1 reply; 36+ messages in thread
From: Jason Wang @ 2018-09-03  3:48 UTC (permalink / raw)
  To: Sameeh Jubran, qemu-devel; +Cc: Yan Vugenfirer



On 2018年08月30日 22:27, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
>   hw/net/virtio-net.c | 122 ++++++++++++++++++++++++++++++++++++++++++++--------
>   1 file changed, 105 insertions(+), 17 deletions(-)
>
> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index e7c4ce6f66..4a52a6a1d0 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -972,41 +972,129 @@ static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd,
>       return VIRTIO_NET_OK;
>   }
>   
> -static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
> +
> +static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
>                                   struct iovec *iov, unsigned int iov_cnt,
>                                   struct iovec *iov_in, unsigned int iov_cnt_in,
> -        size_t *size_in)
> +                                size_t *size_in)
> +{
> +    size_t s;
> +    uint32_t supported_hash_function = 0;
> +
> +    switch (cmd) {
> +    case VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS:
> +        supported_hash_function |= RSS_HASH_FUNCTION_TOEPLITZ;
> +        if (!size_in) {
> +            return VIRTIO_NET_ERR;
> +        }
> +        s = iov_from_buf(iov_in, iov_cnt_in, 0,
> +        &supported_hash_function,
> +        supported_hash_function);

Indentation looks wrong.

> +        if (s != sizeof(n->supported_modes) ||
> +        !size_in) {
> +            return VIRTIO_NET_ERR;
> +        }
> +        *size_in = s;
> +        break;
> +    case VIRTIO_NET_SM_CTRL_RSS_SET:
> +        if (!n->rss_conf) {
> +            n->rss_conf = g_malloc0(
> +                    sizeof(struct virtio_net_rss_conf));
> +        } else if (iov == NULL || iov_cnt == 0) {
> +            g_free(n->rss_conf->ptrs.hash_key);
> +            g_free(n->rss_conf->ptrs.indirection_table);
> +            g_free(n->rss_conf);
> +            return VIRTIO_NET_OK;
> +        }
> +        s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf,
> +                sizeof(struct virtio_net_rss_conf) -
> +                sizeof(struct virtio_net_rss_conf_ptrs));
> +
> +        if (s != sizeof(struct virtio_net_rss_conf) -
> +                sizeof(struct virtio_net_rss_conf_ptrs)) {
> +            return VIRTIO_NET_ERR;
> +        }
> +        n->rss_conf->ptrs.hash_key = g_malloc0(sizeof(uint8_t) *
> +                n->rss_conf->hash_key_length);

What happens if n->rss_conf != 0 && iov != NULL? Looks like a guest 
trigger-able OOM?

Btw e.g "conf_ptrs" sounds misleading, why not just embed hash key and 
indirection table pointers directly in rss_conf structure itself?

> +        s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf->ptrs.hash_key,
> +                sizeof(uint8_t) * n->rss_conf->hash_key_length);
> +        if (s != sizeof(uint8_t) * n->rss_conf->hash_key_length) {
> +            g_free(n->rss_conf->ptrs.hash_key);
> +            return VIRTIO_NET_ERR;
> +        }
> +        n->rss_conf->ptrs.indirection_table
> +            = g_malloc0(sizeof(uint32_t) *
> +                    n->rss_conf->indirection_table_length);
> +        s = iov_to_buf(iov, iov_cnt, 0,
> +                n->rss_conf->ptrs.indirection_table, sizeof(uint32_t) *
> +                n->rss_conf->indirection_table_length);
> +        if (s != sizeof(uint32_t) *
> +                n->rss_conf->indirection_table_length) {
> +            g_free(n->rss_conf->ptrs.hash_key);
> +            g_free(n->rss_conf->ptrs.indirection_table);
> +            return VIRTIO_NET_ERR;
> +        }
> +        /* do bpf magic */
> +        break;
> +    default:
> +        return VIRTIO_NET_ERR;
> +    }
> +
> +    return VIRTIO_NET_OK;
> +}
> +
> +static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
> +                                struct iovec *iov, unsigned int iov_cnt,
> +                                struct iovec *iov_in, unsigned int iov_in_cnt,
> +                                size_t *size_in)
>   {
>       size_t s;
>       struct virtio_net_steering_mode sm;
> +    int status = 0;
> +    size_t size_in_cmd = 0;
>   
>       switch (cmd) {
>       case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
>           if (!size_in) {
>               return VIRTIO_NET_ERR;
>           }
> -                  s = iov_from_buf(iov_in, iov_cnt_in, 0,
> -          &n->supported_modes, sizeof(n->supported_modes));
> +        n->supported_modes.steering_modes |= STEERING_MODE_RSS |
> +            STEERING_MODE_AUTO;

We should have a property for RSS instead of hard coding it here.

Thanks

> +        s = iov_from_buf(iov_in, iov_in_cnt, 0,
> +        &n->supported_modes,
> +        sizeof(n->supported_modes));
>           if (s != sizeof(n->supported_modes) ||
> -          !size_in) {
> +        !size_in) {
>               return VIRTIO_NET_ERR;
>           }
> -                  *size_in = s;
> -      break;
> +        *size_in = s;
> +         break;
>       case VIRTIO_NET_CTRL_SM_CONTROL:
> -        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
> -                sizeof(union command_data));
> -        if (s != sizeof(sm) - sizeof(union command_data)) {
> +        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm));
> +        if (s != sizeof(sm)) {
> +            return VIRTIO_NET_ERR;
> +        }
> +        iov_discard_front(&iov, &iov_cnt, sizeof(sm));
> +        /* TODO handle the case where we change mode, call the old */
> +        /* mode function with null ptrs  should do the trick of */
> +        /* freeing any resources */
> +        switch (sm.steering_mode) {
> +        case STEERING_MODE_AUTO:
> +                    break;
> +        case STEERING_MODE_RSS:
> +            status = virtio_net_ctrl_sm_rss(n, sm.command,
> +                   iov, iov_cnt, iov_in, iov_in_cnt,
> +                   &size_in_cmd);
> +            if (status == VIRTIO_NET_OK && size_in_cmd > 0) {
> +                *size_in += size_in_cmd;
> +            }
> +            break;
> +        default:
>               return VIRTIO_NET_ERR;
>           }
> -        /* switch (cmd)
> -             {
> -                dafault:
> -                return VIRTIO_NET_ERR;
> -         } */
> -      break;
> +        break;
>       default:
> -                return VIRTIO_NET_ERR;
> +        return VIRTIO_NET_ERR;
>       }
>   
>       return VIRTIO_NET_OK;

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
  2018-08-30 14:27 ` [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter Sameeh Jubran
@ 2018-09-03  4:12   ` Jason Wang
  2018-09-03 13:16     ` Sameeh Jubran
  2018-09-03 11:54   ` Daniel P. Berrangé
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 36+ messages in thread
From: Jason Wang @ 2018-09-03  4:12 UTC (permalink / raw)
  To: Sameeh Jubran, qemu-devel; +Cc: Yan Vugenfirer



On 2018年08月30日 22:27, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
>   hw/net/rss_bpf_insns.h       | 3992 ++++++++++++++++++++++++++++++++++++++++++
>   hw/net/rss_tap_bpf.h         |   40 +
>   hw/net/rss_tap_bpf_program.c |  175 ++
>   hw/net/virtio-net.c          |   99 +-
>   4 files changed, 4305 insertions(+), 1 deletion(-)
>   create mode 100644 hw/net/rss_bpf_insns.h
>   create mode 100644 hw/net/rss_tap_bpf.h
>   create mode 100644 hw/net/rss_tap_bpf_program.c
>
> diff --git a/hw/net/rss_bpf_insns.h b/hw/net/rss_bpf_insns.h
> new file mode 100644
> index 0000000000..1a92110b8d
> --- /dev/null
> +++ b/hw/net/rss_bpf_insns.h
> @@ -0,0 +1,3992 @@
> +/*
> + * RSS ebpf instructions for virtio-net
> + *
> + * Copyright (c) 2018 RedHat.
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + */
> +
> +#include <linux/bpf.h>
> +
> +#ifndef BPF_RSS_INSNS
> +#define BPF_RSS_INSNS
> +
> +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
> +struct bpf_insn l3_l4_hash_insns[] = {
> +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> +{0x18 , 0x1 , 0x0 , 0x0000 , 0xdeadbeef},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
> +{0x63 , 0xa , 0x1 , 0xfffc , 0x00000000},
> +{0xbf , 0x2 , 0xa , 0x0000 , 0x00000000},
> +{0x07 , 0x2 , 0x0 , 0x0000 , 0xfffffffc},
> +{0x18 , 0x1 , 0x1 , 0x0000 , 0xdeadcafe},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
> +{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000001},
> +{0x55 , 0x0 , 0x0 , 0x0017 , 0x00000000},
> +{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x73 , 0xa , 0x1 , 0xfffa , 0x00000000},
> +{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000a64},
> +{0x6b , 0xa , 0x1 , 0xfff8 , 0x00000000},
> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x69666e6f},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x65727567},
> +{0x7b , 0xa , 0x1 , 0xfff0 , 0x00000000},
> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x6e207369},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x6320746f},
> +{0x7b , 0xa , 0x1 , 0xffe8 , 0x00000000},
> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x20737372},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x2079656b},
> +{0x7b , 0xa , 0x1 , 0xffe0 , 0x00000000},
> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x68736168},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x203a2928},
> +{0x7b , 0xa , 0x1 , 0xffd8 , 0x00000000},
> +{0xbf , 0x1 , 0xa , 0x0000 , 0x00000000},
> +{0x07 , 0x1 , 0x0 , 0x0000 , 0xffffffd8},
> +{0xb7 , 0x2 , 0x0 , 0x0000 , 0x00000023},
> +{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000006},
> +{0x18 , 0x0 , 0x0 , 0x0000 , 0xfffffffe},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
> +{0x05 , 0x0 , 0x0 , 0x0f60 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffc8 , 0x00000000},
> +{0xb7 , 0x7 , 0x0 , 0x0000 , 0x0000000e},
> +{0x55 , 0x8 , 0x0 , 0x0003 , 0x000088a8},
> +{0xb7 , 0x7 , 0x0 , 0x0000 , 0x00000012},
> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x00000010},
> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> +{0x55 , 0x8 , 0x0 , 0x0005 , 0x00008100},
> +{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000002},
> +{0x48 , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x8 , 0x0 , 0x0b48 , 0x00000800},
> +{0x18 , 0x0 , 0x0 , 0x0000 , 0xffffffff},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
> +{0x15 , 0x8 , 0x0 , 0x0001 , 0x0000dd86},
> +{0x05 , 0x0 , 0x0 , 0x0f4f , 0x00000000},
> +{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000029},
> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffa8 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000028},
> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xff90 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002b},
> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffb0 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002a},
> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffa0 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001b},
> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xff98 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001a},
> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xff88 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000019},
> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffd0 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000018},
> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffc0 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000b},
> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffb8 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000008},
> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000a},
> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0xbf , 0x7 , 0x0 , 0x0000 , 0x00000000},
> +{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000009},
> +{0x40 , 0x0 , 0x9 , 0x0000 , 0x00000000},
> +{0xb7 , 0x4 , 0x0 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0002 , 0xffffffff},
> +{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
> +{0x61 , 0x4 , 0x1 , 0x0008 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x79 , 0x3 , 0xa , 0xffc8 , 0x00000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x79 , 0x6 , 0xa , 0xffa0 , 0x00000000},
> +{0x79 , 0x9 , 0xa , 0xff88 , 0x00000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x000f , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x000e , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x57 , 0x8 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x8 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x79 , 0x8 , 0xa , 0xff90 , 0x00000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x0013 , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x0012 , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x57 , 0x0 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x79 , 0x5 , 0xa , 0xffb0 , 0x00000000},
> +{0x79 , 0x0 , 0xa , 0xffa8 , 0x00000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x0017 , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x0016 , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x57 , 0x7 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x7 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x79 , 0x7 , 0xa , 0xff98 , 0x00000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x001b , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x001a , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x001f , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x001e , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x0023 , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x0022 , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x0027 , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x0026 , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x57 , 0x9 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x9 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x002b , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x002a , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000008},
> +{0x57 , 0x0 , 0x0 , 0x0000 , 0x000000ff},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x4f , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x67 , 0x0 , 0x0 , 0x0000 , 0x00000030},
> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xc7 , 0x0 , 0x0 , 0x0000 , 0x00000020},
> +{0x57 , 0x7 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x7 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0024 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x65 , 0x0 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x3 , 0x002f , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x67 , 0x6 , 0x0 , 0x0000 , 0x00000008},
> +{0x57 , 0x5 , 0x0 , 0x0000 , 0x000000ff},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x4f , 0x5 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x0 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x3 , 0x002e , 0x00000000},
> +{0x61 , 0x2 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x57 , 0x5 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x5 , 0x0 , 0x0402 , 0x00000000},
> +{0x61 , 0x1 , 0x3 , 0x0028 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x3 , 0x002c , 0x00000000},
> +{0x05 , 0x0 , 0x0 , 0x03fa , 0x00000000},
> +{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x8 , 0x0 , 0x0000 , 0x0000000c},
> +{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> +{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x9 , 0x0 , 0x0000 , 0x0000000d},
> +{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffd0 , 0x00000000},
> +{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000010},
> +{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffa0 , 0x00000000},
> +{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000011},
> +{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffa8 , 0x00000000},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00ff0000},
> +{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000018},
> +{0x4f , 0x1 , 0x8 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x1 , 0xffd0 , 0x00000000},
> +{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x8 , 0x0 , 0x0000 , 0x0000000e},
> +{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0xbf , 0x9 , 0x0 , 0x0000 , 0x00000000},
> +{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000017},
> +{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffc0 , 0x00000000},
> +{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000016},
> +{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffb8 , 0x00000000},
> +{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000012},
> +{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xff98 , 0x00000000},
> +{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x8 , 0x0 , 0x0000 , 0x0000000f},
> +{0x50 , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> +{0x67 , 0x9 , 0x0 , 0x0000 , 0x00000008},
> +{0x57 , 0x9 , 0x0 , 0x0000 , 0x0000ff00},
> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
> +{0x4f , 0x1 , 0x9 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x1 , 0xffd0 , 0x00000000},
> +{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000015},
> +{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xffb0 , 0x00000000},
> +{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000014},
> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
> +{0x79 , 0x7 , 0xa , 0xffc8 , 0x00000000},
> +{0x7b , 0xa , 0x0 , 0xff90 , 0x00000000},
> +{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000013},
> +{0x50 , 0x0 , 0x9 , 0x0000 , 0x00000000},
> +{0x79 , 0x3 , 0xa , 0xffd0 , 0x00000000},
> +{0x57 , 0x8 , 0x0 , 0x0000 , 0x000000ff},
> +{0x4f , 0x3 , 0x8 , 0x0000 , 0x00000000},
> +{0xb7 , 0x4 , 0x0 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x65 , 0x1 , 0x0 , 0x0001 , 0xffffffff},
> +{0x61 , 0x4 , 0x7 , 0x0008 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x79 , 0x6 , 0xa , 0xffa8 , 0x00000000},
> +{0x79 , 0x5 , 0xa , 0xffa0 , 0x00000000},
> +{0x79 , 0x8 , 0xa , 0xff98 , 0x00000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x7 , 0x000f , 0x00000000},
> +{0x61 , 0x2 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x7 , 0x000e , 0x00000000},
> +{0x61 , 0x2 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x67 , 0x6 , 0x0 , 0x0000 , 0x00000010},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x57 , 0x6 , 0x0 , 0x0000 , 0x00ff0000},
> +{0x67 , 0x5 , 0x0 , 0x0000 , 0x00000018},
> +{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000008},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x4f , 0x6 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x8 , 0x0 , 0x0000 , 0x0000ff00},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x4f , 0x6 , 0x8 , 0x0000 , 0x00000000},
> +{0x57 , 0x0 , 0x0 , 0x0000 , 0x000000ff},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x4f , 0x6 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x3 , 0x0 , 0x0000 , 0x00000001},
> +{0x79 , 0x8 , 0xa , 0xff90 , 0x00000000},
> +{0x15 , 0x3 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0008 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x79 , 0x3 , 0xa , 0xffc0 , 0x00000000},
> +{0x79 , 0x5 , 0xa , 0xffb8 , 0x00000000},
> +{0x79 , 0x0 , 0xa , 0xffb0 , 0x00000000},
> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x7 , 0x0013 , 0x00000000},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x7 , 0x0012 , 0x00000000},
> +{0x61 , 0x2 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x67 , 0x8 , 0x0 , 0x0000 , 0x00000008},
> +{0x57 , 0x0 , 0x0 , 0x0000 , 0x000000ff},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x4f , 0x0 , 0x8 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x67 , 0x0 , 0x0 , 0x0000 , 0x00000030},
> +{0xbf , 0x1 , 0x6 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xc7 , 0x0 , 0x0 , 0x0000 , 0x00000020},
> +{0x57 , 0x6 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x6 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x000c , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x65 , 0x0 , 0x0 , 0x0003 , 0xffffffff},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x71 , 0x1 , 0x7 , 0x0017 , 0x00000000},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x67 , 0x5 , 0x0 , 0x0000 , 0x00000008},
> +{0x57 , 0x3 , 0x0 , 0x0000 , 0x000000ff},
> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x4f , 0x3 , 0x5 , 0x0000 , 0x00000000},
> +{0x57 , 0x0 , 0x0 , 0x0000 , 0x00010000},
> +{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
> +{0x69 , 0x1 , 0x7 , 0x0016 , 0x00000000},
> +{0x61 , 0x2 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0xbf , 0x1 , 0x3 , 0x0000 , 0x00000000},
> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x57 , 0x3 , 0x0 , 0x0000 , 0x00000001},
> +{0x15 , 0x3 , 0x0 , 0x0007 , 0x00000000},
> +{0x61 , 0x1 , 0x7 , 0x0010 , 0x00000000},
> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
> +{0x61 , 0x2 , 0x7 , 0x0014 , 0x00000000},
> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x7830203a},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x000a7825},
> +{0x7b , 0xa , 0x1 , 0xffe8 , 0x00000000},
> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x20782578},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x68736168},
> +{0x7b , 0xa , 0x1 , 0xffe0 , 0x00000000},
> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x75657571},
> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x30203a65},
> +{0x7b , 0xa , 0x1 , 0xffd8 , 0x00000000},
> +{0xbf , 0x1 , 0xa , 0x0000 , 0x00000000},
> +{0x07 , 0x1 , 0x0 , 0x0000 , 0xffffffd8},
> +{0xb7 , 0x2 , 0x0 , 0x0000 , 0x00000018},
> +{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000006},
> +{0x95 , 0x0 , 0x0 , 0x0000 , 0x00000000},
> +};
> +
> +#endif
> diff --git a/hw/net/rss_tap_bpf.h b/hw/net/rss_tap_bpf.h
> new file mode 100644
> index 0000000000..54b88cfb76
> --- /dev/null
> +++ b/hw/net/rss_tap_bpf.h
> @@ -0,0 +1,40 @@
> +/*
> + * RSS ebpf header for virtio-net
> + *
> + * Copyright (c) 2018 RedHat.
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + * This code is heavily based on the following bpf code from dpdk
> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/
> + *
> + */
> +
> +#ifndef RSS_TAP_BPF_H
> +#define RSS_TAP_BPF_H
> +
> +/* hashed fields for RSS */
> +enum hash_field {
> +  HASH_FIELD_IPV4_L3,  /* IPv4 src/dst addr */
> +  HASH_FIELD_IPV4_L3_L4,  /* IPv4 src/dst addr + L4 src/dst ports */
> +  HASH_FIELD_IPV6_L3,  /* IPv6 src/dst addr */
> +  HASH_FIELD_IPV6_L3_L4,  /* IPv6 src/dst addr + L4 src/dst ports */
> +  HASH_FIELD_L2_SRC,  /* Ethernet src addr */
> +  HASH_FIELD_L2_DST,  /* Ethernet dst addr */
> +  HASH_FIELD_L3_SRC,  /* L3 src addr */
> +  HASH_FIELD_L3_DST,  /* L3 dst addr */
> +  HASH_FIELD_L4_SRC,  /* TCP/UDP src ports */
> +  HASH_FIELD_L4_DST,  /* TCP/UDP dst ports */
> +};
> +
> +struct rss_key {
> +  __u32 hash_fields;
> +  __u32 nb_queues;
> +    __u32 *indirection_table;
> +    __u32 indirection_table_size;
> +  __u8 *key;
> +  __u32 key_size;
> +} __attribute__((packed));
> +
> +#endif
> diff --git a/hw/net/rss_tap_bpf_program.c b/hw/net/rss_tap_bpf_program.c
> new file mode 100644
> index 0000000000..2744436e86
> --- /dev/null
> +++ b/hw/net/rss_tap_bpf_program.c
> @@ -0,0 +1,175 @@
> +/*
> + * RSS ebpf code for virtio-net
> + *
> + * Copyright (c) 2018 RedHat.
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + * This code is heavily based on the following bpf code from dpdk
> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/tap_bpf_program.c
> + *
> + */
> +
> +#include <stdint.h>
> +#include <stddef.h>
> +#include <stdbool.h>
> +#include <sys/types.h>
> +#include <sys/socket.h>
> +#include <asm/types.h>
> +#include <linux/in.h>
> +#include <linux/if.h>
> +#include <linux/if_ether.h>
> +#include <linux/ip.h>
> +#include <linux/ipv6.h>
> +#include <linux/if_tunnel.h>
> +#include <linux/filter.h>
> +#include <linux/bpf.h>
> +
> +#include "bpf_api.h"
> +#include "rss_tap_bpf.h"
> +
> +/** Create IPv4 address */
> +#define IPv4(a, b, c, d) ((__u32)(((a) & 0xff) << 24) | \
> +    (((b) & 0xff) << 16) | \
> +    (((c) & 0xff) << 8)  | \
> +    ((d) & 0xff))
> +
> +#define PORT(a, b) ((__u16)(((a) & 0xff) << 8) | \
> +    ((b) & 0xff))
> +
> +#define KEY_IDX      0
> +
> +struct vlan_hdr {
> +  __be16 h_vlan_TCI;
> +  __be16 h_vlan_encapsulated_proto;
> +};
> +
> +struct bpf_elf_map __attribute__((section("maps"), used))
> +map_rss = {
> +  .type           =       BPF_MAP_TYPE_ARRAY,
> +  .size_key       =       sizeof(__u32),
> +  .size_value     =       sizeof(struct rss_key),
> +  .max_elem       =       1,
> +};
> +
> +struct ipv4_l3_l4_tuple {
> +  __u32    src_addr;
> +  __u32    dst_addr;
> +  __u16    dport;
> +  __u16    sport;
> +} __attribute__((packed));
> +
> +struct ipv6_l3_l4_tuple {
> +  __u8        src_addr[16];
> +  __u8        dst_addr[16];
> +  __u16       dport;
> +  __u16       sport;
> +} __attribute__((packed));
> +
> +static __u32  __attribute__((always_inline))
> +
> +rte_softrss_be(const __u32 *input_tuple, const uint8_t *key,
> +    __u8 input_len)

Should we drop "rte" prefix?

> +{
> +    __u32 i, j, hash = 0;
> +#pragma unroll
> +    for (j = 0; j < input_len; j++) {
> +#pragma unroll

This looks tricky, consider the total number of instructions is limited. 
Maybe we should introduce bpf helpers to do this in the future.

> +        for (i = 0; i < 32; i++) {
> +            if (input_tuple[j] & (1 << (31 - i))) {
> +                hash ^= ((const __u32 *) key)[j] << i |
> +                (__u32)((uint64_t)
> +                (((const __u32 *) key)[j + 1])
> +                >> (32 - i));
> +            }
> +        }
> +    }
> +    return hash;
> +}
> +
> +static int __attribute__((always_inline))
> +rss_l3_l4(struct __sk_buff *skb)
> +{
> +    __u64 proto = load_half(skb, 12);
> +    __u64 nhoff = ETH_HLEN;
> +    __u32 key_idx = 0xdeadbeef;
> +    __u32 hash = 0;
> +    int j = 0;
> +    __u8 *key = 0;
> +    __u32 queue = 0;
> +    struct rss_key *rss_key;
> +
> +    rss_key = (struct rss_key *) map_lookup_elem(&map_rss, &key_idx);
> +    if (!rss_key) {
> +        return -1;
> +    }
> +
> +    key = rss_key->key;
> +
> +    if (proto == ETH_P_8021AD) {
> +        proto = load_half(skb, nhoff + offsetof(struct vlan_hdr,
> +                  h_vlan_encapsulated_proto));
> +        nhoff += sizeof(struct vlan_hdr);
> +    }
> +    if (proto == ETH_P_8021Q) {
> +        proto = load_half(skb, nhoff + offsetof(struct vlan_hdr,
> +                  h_vlan_encapsulated_proto));
> +        nhoff += sizeof(struct vlan_hdr);
> +    }
> +    if (likely(proto == ETH_P_IP)) {
> +        struct ipv4_l3_l4_tuple v4_tuple = {
> +          .src_addr = IPv4(load_byte(skb, nhoff + offsetof(struct iphdr, saddr)),
> +               load_byte(skb, nhoff + offsetof(struct iphdr, saddr) + 1),
> +               load_byte(skb, nhoff + offsetof(struct iphdr, saddr) + 2),
> +               load_byte(skb, nhoff + offsetof(struct iphdr, saddr) + 3)),
> +          .dst_addr = IPv4(load_byte(skb, nhoff + offsetof(struct iphdr, daddr)),
> +               load_byte(skb, nhoff + offsetof(struct iphdr, daddr) + 1),
> +               load_byte(skb, nhoff + offsetof(struct iphdr, daddr) + 2),
> +               load_byte(skb, nhoff + offsetof(struct iphdr, daddr) + 3)),
> +          .sport = PORT(load_byte(skb, nhoff + sizeof(struct iphdr)),
> +                  load_byte(skb, nhoff + sizeof(struct iphdr) + 1)),
> +          .dport = PORT(load_byte(skb, nhoff + sizeof(struct iphdr) + 2),
> +                  load_byte(skb, nhoff + sizeof(struct iphdr) + 3))
> +        };
> +        __u8 input_len = sizeof(v4_tuple) / sizeof(__u32);
> +        if (rss_key->hash_fields & (1 << HASH_FIELD_IPV4_L3)) {
> +            input_len--;
> +        }
> +        hash = rte_softrss_be((__u32 *)&v4_tuple, key, input_len);
> +    } else if (proto == htons(ETH_P_IPV6)) {
> +        struct ipv6_l3_l4_tuple v6_tuple;
> +        for (j = 0; j < 4; j++) {
> +            *((uint32_t *)&v6_tuple.src_addr + j) =
> +              load_word(skb, nhoff + offsetof(struct ipv6hdr, saddr) + j);
> +            *((uint32_t *)&v6_tuple.dst_addr + j) =
> +              load_word(skb, nhoff + offsetof(struct ipv6hdr, daddr) + j);
> +        }
> +        v6_tuple.sport = PORT(load_byte(skb, nhoff + sizeof(struct ipv6hdr)),
> +                  load_byte(skb, nhoff + sizeof(struct ipv6hdr) + 1));
> +        v6_tuple.dport = PORT(load_byte(skb, nhoff + sizeof(struct ipv6hdr) + 2),
> +                  load_byte(skb, nhoff + sizeof(struct ipv6hdr) + 3));
> +
> +        __u8 input_len = sizeof(v6_tuple) / sizeof(__u32);
> +        if (rss_key->hash_fields & (1 << HASH_FIELD_IPV6_L3)) {
> +            input_len--;
> +        }
> +        hash = rte_softrss_be((__u32 *)&v6_tuple, key, input_len);
> +    } else {
> +        return -1;
> +    }
> +
> +    queue = rss_key->indirection_table[(hash % rss_key->nb_queues)];

I may miss something, but it looks to me the indirection table should be 
implemented through a map as well? Since it was accessible by guest and 
qemu need to trap the access and convert it to eBPF map updating?

> +    return queue;
> +}
> +
> +#define RSS(L)                                          \
> +        __section(#L) int                               \
> +                L ## _hash(struct __sk_buff *skb)       \
> +        {                                               \
> +            return rss_ ## L(skb);                     \
> +        }
> +
> +RSS(l3_l4)
> +
> +BPF_LICENSE("Dual BSD/GPL");
> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index 4a52a6a1d0..66b2140cc7 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -27,6 +27,10 @@
>   #include "hw/virtio/virtio-access.h"
>   #include "migration/misc.h"
>   #include "standard-headers/linux/ethtool.h"
> +#include <sys/syscall.h>
> +#include <linux/bpf.h>
> +#include "rss_bpf_insns.h"
> +#include "rss_tap_bpf.h"
>   
>   #define VIRTIO_NET_VM_VERSION    11
>   
> @@ -972,6 +976,99 @@ static int virtio_net_handle_mq(VirtIONet *n, uint8_t cmd,
>       return VIRTIO_NET_OK;
>   }
>   
> +static inline int sys_bpf(enum bpf_cmd cmd, union bpf_attr *attr,
> +                        unsigned int size)
> +{
> +        return syscall(__NR_bpf, cmd, attr, size);
> +}
> +
> +static int rss_load_bpf_program(int map_fd)
> +{
> +    int ret = 0;
> +    union bpf_attr attr = {};
> +
> +    /* Insert map fd to the bpf filter program */
> +    l3_l4_hash_insns[3].imm = 0;
> +    l3_l4_hash_insns[8].imm = map_fd;

This looks tricky as well, should we search the BPF_LD and replace the imm?

> +
> +    memset(&attr, 0, sizeof(attr));
> +    attr.prog_type = BPF_PROG_TYPE_SOCKET_FILTER;
> +    attr.insn_cnt = ARRAY_SIZE(l3_l4_hash_insns);
> +    attr.insns = (__u64) (unsigned long) (l3_l4_hash_insns);
> +    attr.license = (__u64) (unsigned long) ("Dual BSD/GPL");
> +
> +    ret = sys_bpf(BPF_PROG_LOAD, &attr, sizeof(attr));
> +
> +    return ret;
> +}

I believe those bpf helpers should be moved to tap-linux.c.

> +
> +static int rss_create_map(VirtIONet *n, size_t size)
> +{
> +    union bpf_attr attr = {};
> +
> +    memset(&attr, 0, sizeof(attr));
> +    attr.map_type    = BPF_MAP_TYPE_ARRAY;
> +    attr.key_size    = sizeof(__u32);
> +    attr.value_size  = size;
> +    attr.max_entries = 1;
> +
> +    return sys_bpf(BPF_MAP_CREATE, &attr, sizeof(attr));
> +}
> +
> +static int rss_update_map(int fd, void *key, void *value)
> +{
> +    union bpf_attr attr = {};
> +
> +    memset(&attr, 0, sizeof(attr));
> +
> +    attr.map_type = BPF_MAP_TYPE_HASH;
> +    attr.map_fd = fd;
> +    attr.key = (__u64) (unsigned long) (key);
> +    attr.value = (__u64) (unsigned long) (value);
> +    attr.flags = BPF_ANY;
> +
> +    return sys_bpf(BPF_MAP_UPDATE_ELEM, &attr, sizeof(attr));
> +}
> +
> +static int virtio_net_rss_assign_bpf_filter(VirtIONet *n)
> +{
> +    NetClientState *nc;
> +    struct rss_key rss_bpf_key_map;
> +    int i = 0;
> +    int map_fd = 0;
> +    int ret = 0;
> +
> +    if (n->rss_conf) {
> +        rss_bpf_key_map.hash_fields = n->rss_conf->hash_function_flags;
> +        rss_bpf_key_map.nb_queues = n->curr_queues;
> +        rss_bpf_key_map.indirection_table = n->rss_conf->ptrs.indirection_table;
> +        rss_bpf_key_map.indirection_table_size = n->rss_conf->indirection_table_length;
> +        rss_bpf_key_map.key = n->rss_conf->ptrs.hash_key;
> +        rss_bpf_key_map.key_size = n->rss_conf->hash_key_length;
> +        map_fd = rss_create_map(n, sizeof(rss_bpf_key_map));
> +    }
> +
> +    if (map_fd <= 0) {
> +        return -1;
> +    }
> +
> +    rss_update_map(map_fd, 0, &rss_bpf_key_map);
> +    int bpf_fd = rss_load_bpf_program(map_fd);
> +    for (i = 0; i < n->curr_queues ; i++) {
> +        nc = qemu_get_subqueue(n->nic, i);
> +
> +        if (!nc->peer) {
> +            return VIRTIO_NET_ERR;
> +        }
> +
> +        if (nc->peer->info->type != NET_CLIENT_DRIVER_TAP) {
> +            return VIRTIO_NET_ERR;
> +        }
> +            vhost_net_get_fd(nc->peer);

So vhost_net_get_fd() did nothing in fact?

> +            ret = nc->peer->info->set_bpf_filter(nc->peer, bpf_fd, BPF_TYPE_STEERING);

STEERING BPF is per device not per queue, so setting this for queue 0 
should be ok.

Thanks

> +    }
> +    return ret;
> +}
>   
>   static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
>                                   struct iovec *iov, unsigned int iov_cnt,
> @@ -1034,7 +1131,7 @@ static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
>               g_free(n->rss_conf->ptrs.indirection_table);
>               return VIRTIO_NET_ERR;
>           }
> -        /* do bpf magic */
> +        virtio_net_rss_assign_bpf_filter(n);
>           break;
>       default:
>           return VIRTIO_NET_ERR;

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS
  2018-08-30 14:27 [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Sameeh Jubran
                   ` (5 preceding siblings ...)
  2018-08-30 14:27 ` [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter Sameeh Jubran
@ 2018-09-03  4:15 ` Jason Wang
  2018-09-03  9:52   ` Sameeh Jubran
  6 siblings, 1 reply; 36+ messages in thread
From: Jason Wang @ 2018-09-03  4:15 UTC (permalink / raw)
  To: Sameeh Jubran, qemu-devel; +Cc: Yan Vugenfirer



On 2018年08月30日 22:27, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
>
> This series implements the Steering Mode feature which was introduced on the
> virtio-dev list a while ago, which can be found here:
> * https://lists.oasis-open.org/archives/virtio-dev/201805/msg00024.html
>
> The first three patches add some infrastructure support that is used in
> the following three patches.
>
> The ebpf filter doesn't fully work yet as I'm having an issue with the
> verifier which needs to be fixed.

What issues did you meet? You can attach a trace buffer and get verbose 
debug information from that. Btw, dpdk use cls bpf and we use socket filter.

>
> The patches still need some love as not all of the cases have been handled
> yet most of the functionality has been implemented.

One question is how indirection table is implemented, I thought it 
should be a map but looks not. Please see comment on patch 6.

Thanks

>
> Please share your thoughts and comments so I'll move forward with
> sending v1 along with a fully functioning ebpf code.
>
> Sameeh Jubran (6):
>    Add bpf support to qemu
>    tap: Add support for bpf ioctls
>    vhost-net: Expose vhost_net_get_fd
>    virtio-net: implement steering mode feature
>    virtio-net: steering mode: Implement rss support
>    virtio-net: rss: Add bpf filter
>
>   MAINTAINERS                                 |    5 +
>   configure                                   |   44 +
>   hw/net/rss_bpf_insns.h                      | 3992 +++++++++++++++++++++++++++
>   hw/net/rss_tap_bpf.h                        |   37 +
>   hw/net/rss_tap_bpf_program.c                |  172 ++
>   hw/net/vhost_net.c                          |    2 +-
>   hw/net/virtio-net.c                         |  250 +-
>   include/hw/virtio/virtio-net.h              |    5 +
>   include/net/net.h                           |    3 +-
>   include/standard-headers/linux/virtio_net.h |   55 +
>   net/tap-bsd.c                               |    5 +
>   net/tap-linux.c                             |   29 +-
>   net/tap-linux.h                             |    3 +-
>   net/tap-solaris.c                           |    5 +
>   net/tap-stub.c                              |    5 +
>   net/tap.c                                   |    8 +
>   net/tap_int.h                               |    1 +
>   qapi/net.json                               |   11 +
>   scripts/update-linux-headers.sh             |    8 +-
>   19 files changed, 4627 insertions(+), 13 deletions(-)
>   create mode 100644 hw/net/rss_bpf_insns.h
>   create mode 100644 hw/net/rss_tap_bpf.h
>   create mode 100644 hw/net/rss_tap_bpf_program.c
>

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS
  2018-09-03  4:15 ` [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Jason Wang
@ 2018-09-03  9:52   ` Sameeh Jubran
  0 siblings, 0 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03  9:52 UTC (permalink / raw)
  To: Jason Wang; +Cc: QEMU Developers, Yan Vugenfirer

On Mon, Sep 3, 2018 at 7:15 AM, Jason Wang <jasowang@redhat.com> wrote:
>
>
> On 2018年08月30日 22:27, Sameeh Jubran wrote:
>>
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> This series implements the Steering Mode feature which was introduced on
>> the
>> virtio-dev list a while ago, which can be found here:
>> * https://lists.oasis-open.org/archives/virtio-dev/201805/msg00024.html
>>
>> The first three patches add some infrastructure support that is used in
>> the following three patches.
>>
>> The ebpf filter doesn't fully work yet as I'm having an issue with the
>> verifier which needs to be fixed.
>
>
> What issues did you meet? You can attach a trace buffer and get verbose
> debug information from that. Btw, dpdk use cls bpf and we use socket filter.
I am using the buffer for debugging actually, I keep getting back edge
from two consecutive instructions
in the instruction array which I have no idea how to troubleshoot! The
instructions are generated from the
compiled code which compiles okay.
This didn't happen to me earlier and I have actually succeeded in
inserting the bpf instructions with no issues.
>
>>
>> The patches still need some love as not all of the cases have been handled
>> yet most of the functionality has been implemented.
>
>
> One question is how indirection table is implemented, I thought it should be
> a map but looks not. Please see comment on patch 6.
No it is a hash table.
>
> Thanks
>
>
>>
>> Please share your thoughts and comments so I'll move forward with
>> sending v1 along with a fully functioning ebpf code.
>>
>> Sameeh Jubran (6):
>>    Add bpf support to qemu
>>    tap: Add support for bpf ioctls
>>    vhost-net: Expose vhost_net_get_fd
>>    virtio-net: implement steering mode feature
>>    virtio-net: steering mode: Implement rss support
>>    virtio-net: rss: Add bpf filter
>>
>>   MAINTAINERS                                 |    5 +
>>   configure                                   |   44 +
>>   hw/net/rss_bpf_insns.h                      | 3992
>> +++++++++++++++++++++++++++
>>   hw/net/rss_tap_bpf.h                        |   37 +
>>   hw/net/rss_tap_bpf_program.c                |  172 ++
>>   hw/net/vhost_net.c                          |    2 +-
>>   hw/net/virtio-net.c                         |  250 +-
>>   include/hw/virtio/virtio-net.h              |    5 +
>>   include/net/net.h                           |    3 +-
>>   include/standard-headers/linux/virtio_net.h |   55 +
>>   net/tap-bsd.c                               |    5 +
>>   net/tap-linux.c                             |   29 +-
>>   net/tap-linux.h                             |    3 +-
>>   net/tap-solaris.c                           |    5 +
>>   net/tap-stub.c                              |    5 +
>>   net/tap.c                                   |    8 +
>>   net/tap_int.h                               |    1 +
>>   qapi/net.json                               |   11 +
>>   scripts/update-linux-headers.sh             |    8 +-
>>   19 files changed, 4627 insertions(+), 13 deletions(-)
>>   create mode 100644 hw/net/rss_bpf_insns.h
>>   create mode 100644 hw/net/rss_tap_bpf.h
>>   create mode 100644 hw/net/rss_tap_bpf_program.c
>>
>



-- 
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls
  2018-09-03  3:24   ` Jason Wang
@ 2018-09-03 11:33     ` Sameeh Jubran
  0 siblings, 0 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 11:33 UTC (permalink / raw)
  To: Jason Wang; +Cc: QEMU Developers, Yan Vugenfirer

On Mon, Sep 3, 2018 at 6:24 AM, Jason Wang <jasowang@redhat.com> wrote:
>
>
> On 2018年08月30日 22:27, Sameeh Jubran wrote:
>>
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> Starting from kernel v4.16 tun device supports TUNSETSTEERINGEBPF and
>> TUNSETFILTEREBPF.
>>
>> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
>> ---
>>   include/net/net.h |  3 ++-
>>   net/tap-bsd.c     |  5 +++++
>>   net/tap-linux.c   | 29 ++++++++++++++++++++++++++++-
>>   net/tap-linux.h   |  3 ++-
>>   net/tap-solaris.c |  5 +++++
>>   net/tap-stub.c    |  5 +++++
>>   net/tap.c         |  8 ++++++++
>>   net/tap_int.h     |  1 +
>>   qapi/net.json     | 11 +++++++++++
>>   9 files changed, 67 insertions(+), 3 deletions(-)
>>
>> diff --git a/include/net/net.h b/include/net/net.h
>> index 1425960f76..e7d1baac10 100644
>> --- a/include/net/net.h
>> +++ b/include/net/net.h
>> @@ -39,7 +39,6 @@ typedef struct NICConf {
>>       DEFINE_PROP_MACADDR("mac",   _state, _conf.macaddr),
>> \
>>       DEFINE_PROP_NETDEV("netdev", _state, _conf.peers)
>>   -
>
>
> Looks unnecessary.
yup
>
>>   /* Net clients */
>>     typedef void (NetPoll)(NetClientState *, bool enable);
>> @@ -60,6 +59,7 @@ typedef int (SetVnetLE)(NetClientState *, bool);
>>   typedef int (SetVnetBE)(NetClientState *, bool);
>>   typedef struct SocketReadState SocketReadState;
>>   typedef void (SocketReadStateFinalize)(SocketReadState *rs);
>> +typedef int (SetBPFFilter)(NetClientState *, int, BPFType);
>
>
> Looks like SetBPFProg is better? Anyway steering prog is not a filter.
True
>
>
>>     typedef struct NetClientInfo {
>>       NetClientDriver type;
>> @@ -80,6 +80,7 @@ typedef struct NetClientInfo {
>>       SetVnetHdrLen *set_vnet_hdr_len;
>>       SetVnetLE *set_vnet_le;
>>       SetVnetBE *set_vnet_be;
>> +    SetBPFFilter *set_bpf_filter;
>>   } NetClientInfo;
>>     struct NetClientState {
>> diff --git a/net/tap-bsd.c b/net/tap-bsd.c
>> index 6c9692263d..fccf17bad0 100644
>> --- a/net/tap-bsd.c
>> +++ b/net/tap-bsd.c
>> @@ -259,3 +259,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
>>   {
>>       return -1;
>>   }
>> +
>> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
>> +{
>> +    return -1;
>> +}
>> diff --git a/net/tap-linux.c b/net/tap-linux.c
>> index 535b1ddb61..e8ee54f3b3 100644
>> --- a/net/tap-linux.c
>> +++ b/net/tap-linux.c
>> @@ -305,7 +305,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
>>   {
>>       struct ifreq ifr;
>>   -    if (ioctl(fd, TUNGETIFF, &ifr) != 0) {
>> +    if (ioctl(fd, TUNGETIFF, &ifr) != 0)
>> +    {
>
>
> This looks unnecessary.
True
>
>
>>           error_report("TUNGETIFF ioctl() failed: %s",
>>                        strerror(errno));
>>           return -1;
>> @@ -314,3 +315,29 @@ int tap_fd_get_ifname(int fd, char *ifname)
>>       pstrcpy(ifname, sizeof(ifr.ifr_name), ifr.ifr_name);
>>       return 0;
>>   }
>> +
>> +
>> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
>> +{
>> +    int ioctl_num = 0;
>> +    switch (type)
>> +    {
>> +        case BPF_TYPE_FILTER:
>> +        ioctl_num = TUNSETFILTEREBPF;
>> +        break;
>> +
>> +        case BPF_TYPE_STEERING:
>> +        ioctl_num = TUNSETSTEERINGEBPF;
>> +        break;
>> +
>> +        default:
>> +        error_report("Unknown bpf_type");
>> +        return -1;
>> +    }
>
>
> Indentation looks odd.
Will fix
>
>
>> +
>> +    if (ioctl(fd, ioctl_num, &bpf_fd) != 0) {
>> +        error_report("#%d ioctl() failed: %s", ioctl_num,
>> strerror(errno));
>> +        return -1;
>> +    }
>> +    return 0;
>> +}
>> diff --git a/net/tap-linux.h b/net/tap-linux.h
>> index 2f36d100fc..7348169fc2 100644
>> --- a/net/tap-linux.h
>> +++ b/net/tap-linux.h
>> @@ -31,7 +31,8 @@
>>   #define TUNSETQUEUE  _IOW('T', 217, int)
>>   #define TUNSETVNETLE _IOW('T', 220, int)
>>   #define TUNSETVNETBE _IOW('T', 222, int)
>> -
>> +#define TUNSETSTEERINGEBPF _IOR('T', 224, int)
>> +#define TUNSETFILTEREBPF _IOR('T', 225, int)
>>   #endif
>>     /* TUNSETIFF ifr flags */
>> diff --git a/net/tap-solaris.c b/net/tap-solaris.c
>> index a2a92356c1..a5a6248c7d 100644
>> --- a/net/tap-solaris.c
>> +++ b/net/tap-solaris.c
>> @@ -254,3 +254,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
>>   {
>>       return -1;
>>   }
>> +
>> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
>> +{
>> +    return -1;
>> +}
>> diff --git a/net/tap-stub.c b/net/tap-stub.c
>> index a9ab8f8293..d059a32435 100644
>> --- a/net/tap-stub.c
>> +++ b/net/tap-stub.c
>> @@ -85,3 +85,8 @@ int tap_fd_get_ifname(int fd, char *ifname)
>>   {
>>       return -1;
>>   }
>> +
>> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type)
>> +{
>> +    return -1;
>> +}
>> diff --git a/net/tap.c b/net/tap.c
>> index 2126f4882d..ee98fecd40 100644
>> --- a/net/tap.c
>> +++ b/net/tap.c
>> @@ -342,6 +342,13 @@ int tap_get_fd(NetClientState *nc)
>>       return s->fd;
>>   }
>>   +static int tap_set_bpf_filter(NetClientState *nc, int bpf_fd, BPFType
>> type)
>> +{
>> +    TAPState *s = DO_UPCAST(TAPState, nc, nc);
>> +    assert(nc->info->type == NET_CLIENT_DRIVER_TAP);
>> +    return tap_fd_load_bpf(s->fd, bpf_fd, type);
>> +}
>> +
>>   /* fd support */
>>     static NetClientInfo net_tap_info = {
>> @@ -360,6 +367,7 @@ static NetClientInfo net_tap_info = {
>>       .set_vnet_hdr_len = tap_set_vnet_hdr_len,
>>       .set_vnet_le = tap_set_vnet_le,
>>       .set_vnet_be = tap_set_vnet_be,
>> +    .set_bpf_filter = tap_set_bpf_filter,
>>   };
>>     static TAPState *net_tap_fd_init(NetClientState *peer,
>> diff --git a/net/tap_int.h b/net/tap_int.h
>> index 9f931d52d6..3e1603a88e 100644
>> --- a/net/tap_int.h
>> +++ b/net/tap_int.h
>> @@ -45,5 +45,6 @@ int tap_fd_set_vnet_be(int fd, int vnet_is_be);
>>   int tap_fd_enable(int fd);
>>   int tap_fd_disable(int fd);
>>   int tap_fd_get_ifname(int fd, char *ifname);
>> +int tap_fd_load_bpf(int fd, int bpf_fd, BPFType type);
>>     #endif /* NET_TAP_INT_H */
>> diff --git a/qapi/net.json b/qapi/net.json
>> index 6b7d93cb59..ce0a688444 100644
>> --- a/qapi/net.json
>> +++ b/qapi/net.json
>> @@ -692,3 +692,14 @@
>>   ##
>>   { 'event': 'NIC_RX_FILTER_CHANGED',
>>     'data': { '*name': 'str', 'path': 'str' } }
>> +
>> +##
>> +# @BPFType:
>> +#
>> +# BPF programs types provided as an argument for tap bpf ioctls
>> +#
>> +# Since: 2.12
>> +#
>> +##
>> +{ 'enum': 'BPFType',
>> +  'data': [ 'filter', 'steering' ] }
>
>
> I don't get why it needs to be exported as part of qapi.
You are right, I have done this long time ago when I thought it is
needed. But it seems to be superfluous now.
>
> Thanks



-- 
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls
  2018-08-30 15:21   ` Eric Blake
@ 2018-09-03 11:34     ` Sameeh Jubran
  0 siblings, 0 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 11:34 UTC (permalink / raw)
  To: Eric Blake; +Cc: QEMU Developers, Jason Wang, Yan Vugenfirer

On Thu, Aug 30, 2018 at 6:21 PM, Eric Blake <eblake@redhat.com> wrote:
> On 08/30/2018 09:27 AM, Sameeh Jubran wrote:
>>
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> Starting from kernel v4.16 tun device supports TUNSETSTEERINGEBPF and
>> TUNSETFILTEREBPF.
>>
>> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
>> ---
>
>
>> +++ b/qapi/net.json
>> @@ -692,3 +692,14 @@
>>   ##
>>   { 'event': 'NIC_RX_FILTER_CHANGED',
>>     'data': { '*name': 'str', 'path': 'str' } }
>> +
>> +##
>> +# @BPFType:
>> +#
>> +# BPF programs types provided as an argument for tap bpf ioctls
>> +#
>> +# Since: 2.12
>
>
> You missed 2.12 by a long shot; this should be 3.1.
Yup, but it seems like I'm dropping this from QAPI,
Thanks
>
>> +#
>> +##
>> +{ 'enum': 'BPFType',
>> +  'data': [ 'filter', 'steering' ] }
>
>
> It might also be wise to document these two values in addition to the
> documentation of the enum as a whole.
>
> --
> Eric Blake, Principal Software Engineer
> Red Hat, Inc.           +1-919-301-3266
> Virtualization:  qemu.org | libvirt.org



-- 
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 5/6] virtio-net: steering mode: Implement rss support
  2018-09-03  3:48   ` Jason Wang
@ 2018-09-03 11:45     ` Sameeh Jubran
  0 siblings, 0 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 11:45 UTC (permalink / raw)
  To: Jason Wang; +Cc: QEMU Developers, Yan Vugenfirer

On Mon, Sep 3, 2018 at 6:48 AM, Jason Wang <jasowang@redhat.com> wrote:
>
>
> On 2018年08月30日 22:27, Sameeh Jubran wrote:
>>
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
>> ---
>>   hw/net/virtio-net.c | 122
>> ++++++++++++++++++++++++++++++++++++++++++++--------
>>   1 file changed, 105 insertions(+), 17 deletions(-)
>>
>> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
>> index e7c4ce6f66..4a52a6a1d0 100644
>> --- a/hw/net/virtio-net.c
>> +++ b/hw/net/virtio-net.c
>> @@ -972,41 +972,129 @@ static int virtio_net_handle_mq(VirtIONet *n,
>> uint8_t cmd,
>>       return VIRTIO_NET_OK;
>>   }
>>   -static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
>> +
>> +static int virtio_net_ctrl_sm_rss(VirtIONet *n, uint32_t cmd,
>>                                   struct iovec *iov, unsigned int iov_cnt,
>>                                   struct iovec *iov_in, unsigned int
>> iov_cnt_in,
>> -        size_t *size_in)
>> +                                size_t *size_in)
>> +{
>> +    size_t s;
>> +    uint32_t supported_hash_function = 0;
>> +
>> +    switch (cmd) {
>> +    case VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS:
>> +        supported_hash_function |= RSS_HASH_FUNCTION_TOEPLITZ;
>> +        if (!size_in) {
>> +            return VIRTIO_NET_ERR;
>> +        }
>> +        s = iov_from_buf(iov_in, iov_cnt_in, 0,
>> +        &supported_hash_function,
>> +        supported_hash_function);
>
>
> Indentation looks wrong.
>
>
>> +        if (s != sizeof(n->supported_modes) ||
>> +        !size_in) {
>> +            return VIRTIO_NET_ERR;
>> +        }
>> +        *size_in = s;
>> +        break;
>> +    case VIRTIO_NET_SM_CTRL_RSS_SET:
>> +        if (!n->rss_conf) {
>> +            n->rss_conf = g_malloc0(
>> +                    sizeof(struct virtio_net_rss_conf));
>> +        } else if (iov == NULL || iov_cnt == 0) {
>> +            g_free(n->rss_conf->ptrs.hash_key);
>> +            g_free(n->rss_conf->ptrs.indirection_table);
>> +            g_free(n->rss_conf);
>> +            return VIRTIO_NET_OK;
>> +        }
>> +        s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf,
>> +                sizeof(struct virtio_net_rss_conf) -
>> +                sizeof(struct virtio_net_rss_conf_ptrs));
>> +
>> +        if (s != sizeof(struct virtio_net_rss_conf) -
>> +                sizeof(struct virtio_net_rss_conf_ptrs)) {
>> +            return VIRTIO_NET_ERR;
>> +        }
>> +        n->rss_conf->ptrs.hash_key = g_malloc0(sizeof(uint8_t) *
>> +                n->rss_conf->hash_key_length);
>
>
> What happens if n->rss_conf != 0 && iov != NULL? Looks like a guest
> trigger-able OOM?
>
> Btw e.g "conf_ptrs" sounds misleading, why not just embed hash key and
> indirection table pointers directly in rss_conf structure itself?
It was neater to do it like this so I can use:
sizeof(struct virtio_net_rss_conf) - sizeof(struct virtio_net_rss_conf_ptrs)
when reading from the iov, but yeah it not a big deal and I can put
the pointers there as well
>
>
>> +        s = iov_to_buf(iov, iov_cnt, 0, n->rss_conf->ptrs.hash_key,
>> +                sizeof(uint8_t) * n->rss_conf->hash_key_length);
>> +        if (s != sizeof(uint8_t) * n->rss_conf->hash_key_length) {
>> +            g_free(n->rss_conf->ptrs.hash_key);
>> +            return VIRTIO_NET_ERR;
>> +        }
>> +        n->rss_conf->ptrs.indirection_table
>> +            = g_malloc0(sizeof(uint32_t) *
>> +                    n->rss_conf->indirection_table_length);
>> +        s = iov_to_buf(iov, iov_cnt, 0,
>> +                n->rss_conf->ptrs.indirection_table, sizeof(uint32_t) *
>> +                n->rss_conf->indirection_table_length);
>> +        if (s != sizeof(uint32_t) *
>> +                n->rss_conf->indirection_table_length) {
>> +            g_free(n->rss_conf->ptrs.hash_key);
>> +            g_free(n->rss_conf->ptrs.indirection_table);
>> +            return VIRTIO_NET_ERR;
>> +        }
>> +        /* do bpf magic */
>> +        break;
>> +    default:
>> +        return VIRTIO_NET_ERR;
>> +    }
>> +
>> +    return VIRTIO_NET_OK;
>> +}
>> +
>> +static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
>> +                                struct iovec *iov, unsigned int iov_cnt,
>> +                                struct iovec *iov_in, unsigned int
>> iov_in_cnt,
>> +                                size_t *size_in)
>>   {
>>       size_t s;
>>       struct virtio_net_steering_mode sm;
>> +    int status = 0;
>> +    size_t size_in_cmd = 0;
>>         switch (cmd) {
>>       case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
>>           if (!size_in) {
>>               return VIRTIO_NET_ERR;
>>           }
>> -                  s = iov_from_buf(iov_in, iov_cnt_in, 0,
>> -          &n->supported_modes, sizeof(n->supported_modes));
>> +        n->supported_modes.steering_modes |= STEERING_MODE_RSS |
>> +            STEERING_MODE_AUTO;
>
>
> We should have a property for RSS instead of hard coding it here.
Agree
>
> Thanks
>
>
>> +        s = iov_from_buf(iov_in, iov_in_cnt, 0,
>> +        &n->supported_modes,
>> +        sizeof(n->supported_modes));
>>           if (s != sizeof(n->supported_modes) ||
>> -          !size_in) {
>> +        !size_in) {
>>               return VIRTIO_NET_ERR;
>>           }
>> -                  *size_in = s;
>> -      break;
>> +        *size_in = s;
>> +         break;
>>       case VIRTIO_NET_CTRL_SM_CONTROL:
>> -        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
>> -                sizeof(union command_data));
>> -        if (s != sizeof(sm) - sizeof(union command_data)) {
>> +        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm));
>> +        if (s != sizeof(sm)) {
>> +            return VIRTIO_NET_ERR;
>> +        }
>> +        iov_discard_front(&iov, &iov_cnt, sizeof(sm));
>> +        /* TODO handle the case where we change mode, call the old */
>> +        /* mode function with null ptrs  should do the trick of */
>> +        /* freeing any resources */
>> +        switch (sm.steering_mode) {
>> +        case STEERING_MODE_AUTO:
>> +                    break;
>> +        case STEERING_MODE_RSS:
>> +            status = virtio_net_ctrl_sm_rss(n, sm.command,
>> +                   iov, iov_cnt, iov_in, iov_in_cnt,
>> +                   &size_in_cmd);
>> +            if (status == VIRTIO_NET_OK && size_in_cmd > 0) {
>> +                *size_in += size_in_cmd;
>> +            }
>> +            break;
>> +        default:
>>               return VIRTIO_NET_ERR;
>>           }
>> -        /* switch (cmd)
>> -             {
>> -                dafault:
>> -                return VIRTIO_NET_ERR;
>> -         } */
>> -      break;
>> +        break;
>>       default:
>> -                return VIRTIO_NET_ERR;
>> +        return VIRTIO_NET_ERR;
>>       }
>>         return VIRTIO_NET_OK;
>
>



-- 
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
  2018-08-30 14:27 ` [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter Sameeh Jubran
  2018-09-03  4:12   ` Jason Wang
@ 2018-09-03 11:54   ` Daniel P. Berrangé
  2018-09-03 12:35     ` Sameeh Jubran
  2018-09-04  3:07     ` Jason Wang
  2018-09-03 12:11   ` Daniel P. Berrangé
  2018-09-04 20:11   ` Eric Blake
  3 siblings, 2 replies; 36+ messages in thread
From: Daniel P. Berrangé @ 2018-09-03 11:54 UTC (permalink / raw)
  To: Sameeh Jubran; +Cc: qemu-devel, Jason Wang, Yan Vugenfirer

On Thu, Aug 30, 2018 at 05:27:08PM +0300, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
> 
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
>  hw/net/rss_bpf_insns.h       | 3992 ++++++++++++++++++++++++++++++++++++++++++
>  hw/net/rss_tap_bpf.h         |   40 +
>  hw/net/rss_tap_bpf_program.c |  175 ++
>  hw/net/virtio-net.c          |   99 +-
>  4 files changed, 4305 insertions(+), 1 deletion(-)
>  create mode 100644 hw/net/rss_bpf_insns.h
>  create mode 100644 hw/net/rss_tap_bpf.h
>  create mode 100644 hw/net/rss_tap_bpf_program.c
> 
> diff --git a/hw/net/rss_bpf_insns.h b/hw/net/rss_bpf_insns.h
> new file mode 100644
> index 0000000000..1a92110b8d
> --- /dev/null
> +++ b/hw/net/rss_bpf_insns.h
> @@ -0,0 +1,3992 @@
> +/*
> + * RSS ebpf instructions for virtio-net
> + *
> + * Copyright (c) 2018 RedHat.

Why copyright RedHat ?

> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + */
> +
> +#include <linux/bpf.h>
> +
> +#ifndef BPF_RSS_INSNS
> +#define BPF_RSS_INSNS
> +
> +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
> +struct bpf_insn l3_l4_hash_insns[] = {
> +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},

[snip]

> +};

This massive array is presumably an auto-generated content.

We shouldn't be storing this in GIT. We need to store the
original preferred source format, and providing makefile
rules to generate it.


> +
> +#endif
> diff --git a/hw/net/rss_tap_bpf.h b/hw/net/rss_tap_bpf.h
> new file mode 100644
> index 0000000000..54b88cfb76
> --- /dev/null
> +++ b/hw/net/rss_tap_bpf.h
> @@ -0,0 +1,40 @@
> +/*
> + * RSS ebpf header for virtio-net
> + *
> + * Copyright (c) 2018 RedHat.
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + * This code is heavily based on the following bpf code from dpdk
> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/

There are alot of files in this directory, with varying different
copyright claims on them, while you're claiming Red Hat copyright.
This looks dubious.

> + *
> + */
> +
> +#ifndef RSS_TAP_BPF_H
> +#define RSS_TAP_BPF_H
> +
> +/* hashed fields for RSS */
> +enum hash_field {
> +  HASH_FIELD_IPV4_L3,  /* IPv4 src/dst addr */
> +  HASH_FIELD_IPV4_L3_L4,  /* IPv4 src/dst addr + L4 src/dst ports */
> +  HASH_FIELD_IPV6_L3,  /* IPv6 src/dst addr */
> +  HASH_FIELD_IPV6_L3_L4,  /* IPv6 src/dst addr + L4 src/dst ports */
> +  HASH_FIELD_L2_SRC,  /* Ethernet src addr */
> +  HASH_FIELD_L2_DST,  /* Ethernet dst addr */
> +  HASH_FIELD_L3_SRC,  /* L3 src addr */
> +  HASH_FIELD_L3_DST,  /* L3 dst addr */
> +  HASH_FIELD_L4_SRC,  /* TCP/UDP src ports */
> +  HASH_FIELD_L4_DST,  /* TCP/UDP dst ports */
> +};
> +
> +struct rss_key {
> +  __u32 hash_fields;
> +  __u32 nb_queues;
> +    __u32 *indirection_table;
> +    __u32 indirection_table_size;
> +  __u8 *key;
> +  __u32 key_size;
> +} __attribute__((packed));
> +
> +#endif
> diff --git a/hw/net/rss_tap_bpf_program.c b/hw/net/rss_tap_bpf_program.c
> new file mode 100644
> index 0000000000..2744436e86
> --- /dev/null
> +++ b/hw/net/rss_tap_bpf_program.c
> @@ -0,0 +1,175 @@
> +/*
> + * RSS ebpf code for virtio-net
> + *
> + * Copyright (c) 2018 RedHat.
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + * This code is heavily based on the following bpf code from dpdk
> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/tap_bpf_program.c

That file says

   * Copyright 2017 Mellanox Technologies, Ltd

while you are claiming RedHat copyright. That can't be right attribution
if this is indeed a derived work.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 3/6] vhost-net: Expose vhost_net_get_fd
  2018-09-03  3:24   ` Jason Wang
@ 2018-09-03 11:56     ` Sameeh Jubran
  0 siblings, 0 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 11:56 UTC (permalink / raw)
  To: Jason Wang; +Cc: QEMU Developers, Yan Vugenfirer

On Mon, Sep 3, 2018 at 6:24 AM, Jason Wang <jasowang@redhat.com> wrote:
>
>
> On 2018年08月30日 22:27, Sameeh Jubran wrote:
>>
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
>
>
> Better explain the motivation in the commit log.
I used to use this function in my initial implementation, but this is
unneeded now and the patch can be dropped
>
> Thanks
>
>
>> ---
>>   hw/net/vhost_net.c             | 2 +-
>>   include/hw/virtio/virtio-net.h | 2 ++
>>   2 files changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c
>> index e037db63a3..c0bff725c9 100644
>> --- a/hw/net/vhost_net.c
>> +++ b/hw/net/vhost_net.c
>> @@ -129,7 +129,7 @@ uint64_t vhost_net_get_acked_features(VHostNetState
>> *net)
>>       return net->dev.acked_features;
>>   }
>>   -static int vhost_net_get_fd(NetClientState *backend)
>> +int vhost_net_get_fd(NetClientState *backend)
>>   {
>>       switch (backend->info->type) {
>>       case NET_CLIENT_DRIVER_TAP:
>> diff --git a/include/hw/virtio/virtio-net.h
>> b/include/hw/virtio/virtio-net.h
>> index 02484dc94c..a7b53edc96 100644
>> --- a/include/hw/virtio/virtio-net.h
>> +++ b/include/hw/virtio/virtio-net.h
>> @@ -107,4 +107,6 @@ typedef struct VirtIONet {
>>   void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
>>                                      const char *type);
>>   +int vhost_net_get_fd(NetClientState *backend);
>> +
>>   #endif
>
>



-- 
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 1/6] Add bpf support to qemu
  2018-08-30 14:27 ` [Qemu-devel] [RFC 1/6] Add bpf support to qemu Sameeh Jubran
@ 2018-09-03 11:59   ` Daniel P. Berrangé
  2018-09-03 12:18     ` Sameeh Jubran
  2018-09-03 12:24     ` Peter Maydell
  0 siblings, 2 replies; 36+ messages in thread
From: Daniel P. Berrangé @ 2018-09-03 11:59 UTC (permalink / raw)
  To: Sameeh Jubran; +Cc: qemu-devel, Jason Wang, Yan Vugenfirer

On Thu, Aug 30, 2018 at 05:27:03PM +0300, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
> 
> This commit adds the bpf header provided by Linux to Qemu.

s/Qemu/QEMU/

> 
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
>  MAINTAINERS                     |  5 +++++
>  configure                       | 44 +++++++++++++++++++++++++++++++++++++++++
>  scripts/update-linux-headers.sh |  8 ++++++--
>  3 files changed, 55 insertions(+), 2 deletions(-)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 0fb5f38f9f..bf2619239c 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2126,6 +2126,11 @@ F: hw/rdma/*
>  F: hw/rdma/vmw/*
>  F: docs/pvrdma.txt
>  
> +BPF
> +M: Sameeh Jubran <sameeh@daynix.com>
> +S: Maintained
> +F: linux-headers/linux/bpf.h
> +
>  Build and test automation
>  -------------------------
>  Build and test automation
> diff --git a/configure b/configure
> index a8c4094c87..21edaf59aa 100755
> --- a/configure
> +++ b/configure
> @@ -348,6 +348,7 @@ libattr=""
>  xfs=""
>  tcg="yes"
>  membarrier=""
> +bpf="no"

This should really default to "", with the check below
automatically doing the right thing to automatically
enable/disable it.

>  vhost_net="no"
>  vhost_crypto="no"
>  vhost_scsi="no"
> @@ -1173,6 +1174,10 @@ for opt do
>    ;;
>    --enable-membarrier) membarrier="yes"
>    ;;
> +  --disable-bpf) bpf="no"
> +  ;;
> +  --enable-bpf) bpf="yes"
> +  ;;
>    --disable-blobs) blobs="no"
>    ;;
>    --with-pkgversion=*) pkgversion="$optarg"
> @@ -1593,6 +1598,7 @@ disabled with --disable-FEATURE, default is enabled if available:
>    brlapi          BrlAPI (Braile)
>    curl            curl connectivity
>    membarrier      membarrier system call (for Linux 4.14+ or Windows)
> +  bpf             bpf system calls (for Linux 3.18+)
>    fdt             fdt device tree
>    bluez           bluez stack connectivity
>    kvm             KVM acceleration support
> @@ -5232,6 +5238,38 @@ else
>  fi
>  
>  ##########################################
> +# check for usable bpf system call
> +if test "$bpf" = "yes"; then

if test "x$bpf" != "xno"; then

> +    have_bpf=no
> +    if test "$linux" = "yes" ; then
> +        cat > $TMPC << EOF
> +    #include <sys/syscall.h>
> +    #include "linux/bpf.h"
> +    #include <unistd.h>
> +    #include <stdlib.h>
> +    #include <string.h>
> +    int main(void) {
> +        union bpf_attr * attr = NULL;
> +        syscall(__NR_bpf, BPF_PROG_LOAD, attr, sizeof(attr));
> +        exit(0);
> +    }
> +EOF
> +        bpf_include="-Iinclude/standard-headers/linux"
> +        bpf_cflags=""
> +        bpf_libs=""
> +        if compile_prog "$bpf_include" "$bpf_libs" ; then
> +            have_bpf=yes
> +        fi
> +    fi
> +    if test "$have_bpf" = "no"; then
> +      feature_not_found "bpf" "libelf libs are not available or else \
> +the bpf system call is not available"

if test "$have_bpf" = "no"; then
    if test "x$bpf" = "xyes" ;
    then
       feature_not_found ....
    else
       bpf=no
    fi
else
    bpf=yes
fi

> +    fi
> +else
> +    bpf=no
> +fi
> +

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
  2018-08-30 14:27 ` [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter Sameeh Jubran
  2018-09-03  4:12   ` Jason Wang
  2018-09-03 11:54   ` Daniel P. Berrangé
@ 2018-09-03 12:11   ` Daniel P. Berrangé
  2018-09-04 20:11   ` Eric Blake
  3 siblings, 0 replies; 36+ messages in thread
From: Daniel P. Berrangé @ 2018-09-03 12:11 UTC (permalink / raw)
  To: Sameeh Jubran; +Cc: qemu-devel, Jason Wang, Yan Vugenfirer

On Thu, Aug 30, 2018 at 05:27:08PM +0300, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
> 
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
>  hw/net/rss_bpf_insns.h       | 3992 ++++++++++++++++++++++++++++++++++++++++++
>  hw/net/rss_tap_bpf.h         |   40 +
>  hw/net/rss_tap_bpf_program.c |  175 ++
>  hw/net/virtio-net.c          |   99 +-
>  4 files changed, 4305 insertions(+), 1 deletion(-)
>  create mode 100644 hw/net/rss_bpf_insns.h
>  create mode 100644 hw/net/rss_tap_bpf.h
>  create mode 100644 hw/net/rss_tap_bpf_program.c
> 

> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index 4a52a6a1d0..66b2140cc7 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -27,6 +27,10 @@
>  #include "hw/virtio/virtio-access.h"
>  #include "migration/misc.h"
>  #include "standard-headers/linux/ethtool.h"
> +#include <sys/syscall.h>
> +#include <linux/bpf.h>

This breaks the build on platforms without bpf.h - you checked for
this in configure, but then never made use of the CONFIG_BPF conditional
in the code.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 1/6] Add bpf support to qemu
  2018-09-03 11:59   ` Daniel P. Berrangé
@ 2018-09-03 12:18     ` Sameeh Jubran
  2018-09-03 12:24     ` Peter Maydell
  1 sibling, 0 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 12:18 UTC (permalink / raw)
  To: Daniel P. Berrangé; +Cc: QEMU Developers, Jason Wang, Yan Vugenfirer

On Mon, Sep 3, 2018 at 2:59 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> On Thu, Aug 30, 2018 at 05:27:03PM +0300, Sameeh Jubran wrote:
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> This commit adds the bpf header provided by Linux to Qemu.
>
> s/Qemu/QEMU/
>
>>
>> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
>> ---
>>  MAINTAINERS                     |  5 +++++
>>  configure                       | 44 +++++++++++++++++++++++++++++++++++++++++
>>  scripts/update-linux-headers.sh |  8 ++++++--
>>  3 files changed, 55 insertions(+), 2 deletions(-)
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index 0fb5f38f9f..bf2619239c 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -2126,6 +2126,11 @@ F: hw/rdma/*
>>  F: hw/rdma/vmw/*
>>  F: docs/pvrdma.txt
>>
>> +BPF
>> +M: Sameeh Jubran <sameeh@daynix.com>
>> +S: Maintained
>> +F: linux-headers/linux/bpf.h
>> +
>>  Build and test automation
>>  -------------------------
>>  Build and test automation
>> diff --git a/configure b/configure
>> index a8c4094c87..21edaf59aa 100755
>> --- a/configure
>> +++ b/configure
>> @@ -348,6 +348,7 @@ libattr=""
>>  xfs=""
>>  tcg="yes"
>>  membarrier=""
>> +bpf="no"
>
> This should really default to "", with the check below
> automatically doing the right thing to automatically
> enable/disable it.
>
>>  vhost_net="no"
>>  vhost_crypto="no"
>>  vhost_scsi="no"
>> @@ -1173,6 +1174,10 @@ for opt do
>>    ;;
>>    --enable-membarrier) membarrier="yes"
>>    ;;
>> +  --disable-bpf) bpf="no"
>> +  ;;
>> +  --enable-bpf) bpf="yes"
>> +  ;;
>>    --disable-blobs) blobs="no"
>>    ;;
>>    --with-pkgversion=*) pkgversion="$optarg"
>> @@ -1593,6 +1598,7 @@ disabled with --disable-FEATURE, default is enabled if available:
>>    brlapi          BrlAPI (Braile)
>>    curl            curl connectivity
>>    membarrier      membarrier system call (for Linux 4.14+ or Windows)
>> +  bpf             bpf system calls (for Linux 3.18+)
>>    fdt             fdt device tree
>>    bluez           bluez stack connectivity
>>    kvm             KVM acceleration support
>> @@ -5232,6 +5238,38 @@ else
>>  fi
>>
>>  ##########################################
>> +# check for usable bpf system call
>> +if test "$bpf" = "yes"; then
>
> if test "x$bpf" != "xno"; then
>
>> +    have_bpf=no
>> +    if test "$linux" = "yes" ; then
>> +        cat > $TMPC << EOF
>> +    #include <sys/syscall.h>
>> +    #include "linux/bpf.h"
>> +    #include <unistd.h>
>> +    #include <stdlib.h>
>> +    #include <string.h>
>> +    int main(void) {
>> +        union bpf_attr * attr = NULL;
>> +        syscall(__NR_bpf, BPF_PROG_LOAD, attr, sizeof(attr));
>> +        exit(0);
>> +    }
>> +EOF
>> +        bpf_include="-Iinclude/standard-headers/linux"
>> +        bpf_cflags=""
>> +        bpf_libs=""
>> +        if compile_prog "$bpf_include" "$bpf_libs" ; then
>> +            have_bpf=yes
>> +        fi
>> +    fi
>> +    if test "$have_bpf" = "no"; then
>> +      feature_not_found "bpf" "libelf libs are not available or else \
>> +the bpf system call is not available"
>
> if test "$have_bpf" = "no"; then
>     if test "x$bpf" = "xyes" ;
>     then
>        feature_not_found ....
>     else
>        bpf=no
>     fi
> else
>     bpf=yes
> fi
I'll use the x prefix, for anyone wondering why this is necessary ( I
didn't realize this before), checkout the following explanation:
https://stackoverflow.com/questions/174119/why-do-shell-script-comparisons-often-use-xvar-xyes
>
>> +    fi
>> +else
>> +    bpf=no
>> +fi
>> +
>
> Regards,
> Daniel
> --
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



-- 
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 1/6] Add bpf support to qemu
  2018-09-03 11:59   ` Daniel P. Berrangé
  2018-09-03 12:18     ` Sameeh Jubran
@ 2018-09-03 12:24     ` Peter Maydell
  2018-09-03 12:28       ` Sameeh Jubran
  2018-09-03 12:29       ` Daniel P. Berrangé
  1 sibling, 2 replies; 36+ messages in thread
From: Peter Maydell @ 2018-09-03 12:24 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Sameeh Jubran, Yan Vugenfirer, Jason Wang, QEMU Developers

On 3 September 2018 at 12:59, Daniel P. Berrangé <berrange@redhat.com> wrote:

>>  ##########################################
>> +# check for usable bpf system call
>> +if test "$bpf" = "yes"; then
>
> if test "x$bpf" != "xno"; then

We don't use the leading-x thingy elsewhere in configure,
why is this condition special?
(We can assume we don't have a broken shell, and we
know that $bpf won't be a string starting with a hyphen.)

thanks
-- PMM

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 1/6] Add bpf support to qemu
  2018-09-03 12:24     ` Peter Maydell
@ 2018-09-03 12:28       ` Sameeh Jubran
  2018-09-03 12:29       ` Daniel P. Berrangé
  1 sibling, 0 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 12:28 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Daniel P. Berrangé, Yan Vugenfirer, Jason Wang, QEMU Developers

On Mon, Sep 3, 2018 at 3:24 PM, Peter Maydell <peter.maydell@linaro.org> wrote:
> On 3 September 2018 at 12:59, Daniel P. Berrangé <berrange@redhat.com> wrote:
>
>>>  ##########################################
>>> +# check for usable bpf system call
>>> +if test "$bpf" = "yes"; then
>>
>> if test "x$bpf" != "xno"; then
>
> We don't use the leading-x thingy elsewhere in configure,
> why is this condition special?
> (We can assume we don't have a broken shell, and we
> know that $bpf won't be a string starting with a hyphen.)
That's what Daniel suggested and I though it should be good for the
reasons above. You have good points as well. Both approaches are okay
with me :)
>
> thanks
> -- PMM



-- 
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 1/6] Add bpf support to qemu
  2018-09-03 12:24     ` Peter Maydell
  2018-09-03 12:28       ` Sameeh Jubran
@ 2018-09-03 12:29       ` Daniel P. Berrangé
  1 sibling, 0 replies; 36+ messages in thread
From: Daniel P. Berrangé @ 2018-09-03 12:29 UTC (permalink / raw)
  To: Peter Maydell; +Cc: Sameeh Jubran, Yan Vugenfirer, Jason Wang, QEMU Developers

On Mon, Sep 03, 2018 at 01:24:16PM +0100, Peter Maydell wrote:
> On 3 September 2018 at 12:59, Daniel P. Berrangé <berrange@redhat.com> wrote:
> 
> >>  ##########################################
> >> +# check for usable bpf system call
> >> +if test "$bpf" = "yes"; then
> >
> > if test "x$bpf" != "xno"; then
> 
> We don't use the leading-x thingy elsewhere in configure,
> why is this condition special?
> (We can assume we don't have a broken shell, and we
> know that $bpf won't be a string starting with a hyphen.)

It is just my habit. Drop the 'x' prefix if that's not used in QEMU's
configure script normally.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
  2018-09-03 11:54   ` Daniel P. Berrangé
@ 2018-09-03 12:35     ` Sameeh Jubran
  2018-09-03 12:49       ` Daniel P. Berrangé
  2018-09-04  3:07     ` Jason Wang
  1 sibling, 1 reply; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 12:35 UTC (permalink / raw)
  To: Daniel P. Berrangé; +Cc: QEMU Developers, Jason Wang, Yan Vugenfirer

On Mon, Sep 3, 2018 at 2:54 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> On Thu, Aug 30, 2018 at 05:27:08PM +0300, Sameeh Jubran wrote:
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
>> ---
>>  hw/net/rss_bpf_insns.h       | 3992 ++++++++++++++++++++++++++++++++++++++++++
>>  hw/net/rss_tap_bpf.h         |   40 +
>>  hw/net/rss_tap_bpf_program.c |  175 ++
>>  hw/net/virtio-net.c          |   99 +-
>>  4 files changed, 4305 insertions(+), 1 deletion(-)
>>  create mode 100644 hw/net/rss_bpf_insns.h
>>  create mode 100644 hw/net/rss_tap_bpf.h
>>  create mode 100644 hw/net/rss_tap_bpf_program.c
>>
>> diff --git a/hw/net/rss_bpf_insns.h b/hw/net/rss_bpf_insns.h
>> new file mode 100644
>> index 0000000000..1a92110b8d
>> --- /dev/null
>> +++ b/hw/net/rss_bpf_insns.h
>> @@ -0,0 +1,3992 @@
>> +/*
>> + * RSS ebpf instructions for virtio-net
>> + *
>> + * Copyright (c) 2018 RedHat.
>
> Why copyright RedHat ?
>
>> + *
>> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
>> + * See the COPYING file in the top-level directory.
>> + *
>> + */
>> +
>> +#include <linux/bpf.h>
>> +
>> +#ifndef BPF_RSS_INSNS
>> +#define BPF_RSS_INSNS
>> +
>> +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
>> +struct bpf_insn l3_l4_hash_insns[] = {
>> +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
>> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
>> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
>
> [snip]
>
>> +};
>
> This massive array is presumably an auto-generated content.
>
> We shouldn't be storing this in GIT. We need to store the
> original preferred source format, and providing makefile
> rules to generate it.
>
>
>> +
>> +#endif
>> diff --git a/hw/net/rss_tap_bpf.h b/hw/net/rss_tap_bpf.h
>> new file mode 100644
>> index 0000000000..54b88cfb76
>> --- /dev/null
>> +++ b/hw/net/rss_tap_bpf.h
>> @@ -0,0 +1,40 @@
>> +/*
>> + * RSS ebpf header for virtio-net
>> + *
>> + * Copyright (c) 2018 RedHat.
>> + *
>> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
>> + * See the COPYING file in the top-level directory.
>> + *
>> + * This code is heavily based on the following bpf code from dpdk
>> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/
>
> There are alot of files in this directory, with varying different
> copyright claims on them, while you're claiming Red Hat copyright.
> This looks dubious.
>
>> + *
>> + */
>> +
>> +#ifndef RSS_TAP_BPF_H
>> +#define RSS_TAP_BPF_H
>> +
>> +/* hashed fields for RSS */
>> +enum hash_field {
>> +  HASH_FIELD_IPV4_L3,  /* IPv4 src/dst addr */
>> +  HASH_FIELD_IPV4_L3_L4,  /* IPv4 src/dst addr + L4 src/dst ports */
>> +  HASH_FIELD_IPV6_L3,  /* IPv6 src/dst addr */
>> +  HASH_FIELD_IPV6_L3_L4,  /* IPv6 src/dst addr + L4 src/dst ports */
>> +  HASH_FIELD_L2_SRC,  /* Ethernet src addr */
>> +  HASH_FIELD_L2_DST,  /* Ethernet dst addr */
>> +  HASH_FIELD_L3_SRC,  /* L3 src addr */
>> +  HASH_FIELD_L3_DST,  /* L3 dst addr */
>> +  HASH_FIELD_L4_SRC,  /* TCP/UDP src ports */
>> +  HASH_FIELD_L4_DST,  /* TCP/UDP dst ports */
>> +};
>> +
>> +struct rss_key {
>> +  __u32 hash_fields;
>> +  __u32 nb_queues;
>> +    __u32 *indirection_table;
>> +    __u32 indirection_table_size;
>> +  __u8 *key;
>> +  __u32 key_size;
>> +} __attribute__((packed));
>> +
>> +#endif
>> diff --git a/hw/net/rss_tap_bpf_program.c b/hw/net/rss_tap_bpf_program.c
>> new file mode 100644
>> index 0000000000..2744436e86
>> --- /dev/null
>> +++ b/hw/net/rss_tap_bpf_program.c
>> @@ -0,0 +1,175 @@
>> +/*
>> + * RSS ebpf code for virtio-net
>> + *
>> + * Copyright (c) 2018 RedHat.
>> + *
>> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
>> + * See the COPYING file in the top-level directory.
>> + *
>> + * This code is heavily based on the following bpf code from dpdk
>> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/tap_bpf_program.c
>
> That file says
>
>    * Copyright 2017 Mellanox Technologies, Ltd
>
> while you are claiming RedHat copyright. That can't be right attribution
> if this is indeed a derived work.
I am not an expert when it comes to licensing, I gave credits Mellanox
for the work but I have introduced some new changes as well to suit my
usage.
Moreover the license for the original code is 3BSD or GPL, I have no
idea how this is possible and which license I should take into
account?
Anyways I'd love some guidance on this topic so I can give the
appropriate credit where it is needed.

Thanks!
>
> Regards,
> Daniel
> --
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



-- 
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
  2018-09-03 12:35     ` Sameeh Jubran
@ 2018-09-03 12:49       ` Daniel P. Berrangé
  0 siblings, 0 replies; 36+ messages in thread
From: Daniel P. Berrangé @ 2018-09-03 12:49 UTC (permalink / raw)
  To: Sameeh Jubran; +Cc: QEMU Developers, Jason Wang, Yan Vugenfirer

On Mon, Sep 03, 2018 at 03:35:02PM +0300, Sameeh Jubran wrote:
> On Mon, Sep 3, 2018 at 2:54 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> > On Thu, Aug 30, 2018 at 05:27:08PM +0300, Sameeh Jubran wrote:
> >> From: Sameeh Jubran <sjubran@redhat.com>
> >>
> >> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> >> ---
> >>  hw/net/rss_bpf_insns.h       | 3992 ++++++++++++++++++++++++++++++++++++++++++
> >>  hw/net/rss_tap_bpf.h         |   40 +
> >>  hw/net/rss_tap_bpf_program.c |  175 ++
> >>  hw/net/virtio-net.c          |   99 +-
> >>  4 files changed, 4305 insertions(+), 1 deletion(-)
> >>  create mode 100644 hw/net/rss_bpf_insns.h
> >>  create mode 100644 hw/net/rss_tap_bpf.h
> >>  create mode 100644 hw/net/rss_tap_bpf_program.c
> >>
> >> diff --git a/hw/net/rss_bpf_insns.h b/hw/net/rss_bpf_insns.h
> >> new file mode 100644
> >> index 0000000000..1a92110b8d
> >> --- /dev/null
> >> +++ b/hw/net/rss_bpf_insns.h
> >> @@ -0,0 +1,3992 @@
> >> +/*
> >> + * RSS ebpf instructions for virtio-net
> >> + *
> >> + * Copyright (c) 2018 RedHat.
> >
> > Why copyright RedHat ?
> >
> >> + *
> >> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> >> + * See the COPYING file in the top-level directory.
> >> + *
> >> + */
> >> +
> >> +#include <linux/bpf.h>
> >> +
> >> +#ifndef BPF_RSS_INSNS
> >> +#define BPF_RSS_INSNS
> >> +
> >> +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
> >> +struct bpf_insn l3_l4_hash_insns[] = {
> >> +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
> >> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
> >> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> >
> > [snip]
> >
> >> +};
> >
> > This massive array is presumably an auto-generated content.
> >
> > We shouldn't be storing this in GIT. We need to store the
> > original preferred source format, and providing makefile
> > rules to generate it.
> >
> >
> >> +
> >> +#endif
> >> diff --git a/hw/net/rss_tap_bpf.h b/hw/net/rss_tap_bpf.h
> >> new file mode 100644
> >> index 0000000000..54b88cfb76
> >> --- /dev/null
> >> +++ b/hw/net/rss_tap_bpf.h
> >> @@ -0,0 +1,40 @@
> >> +/*
> >> + * RSS ebpf header for virtio-net
> >> + *
> >> + * Copyright (c) 2018 RedHat.
> >> + *
> >> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> >> + * See the COPYING file in the top-level directory.
> >> + *
> >> + * This code is heavily based on the following bpf code from dpdk
> >> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/
> >
> > There are alot of files in this directory, with varying different
> > copyright claims on them, while you're claiming Red Hat copyright.
> > This looks dubious.
> >
> >> + *
> >> + */
> >> +
> >> +#ifndef RSS_TAP_BPF_H
> >> +#define RSS_TAP_BPF_H
> >> +
> >> +/* hashed fields for RSS */
> >> +enum hash_field {
> >> +  HASH_FIELD_IPV4_L3,  /* IPv4 src/dst addr */
> >> +  HASH_FIELD_IPV4_L3_L4,  /* IPv4 src/dst addr + L4 src/dst ports */
> >> +  HASH_FIELD_IPV6_L3,  /* IPv6 src/dst addr */
> >> +  HASH_FIELD_IPV6_L3_L4,  /* IPv6 src/dst addr + L4 src/dst ports */
> >> +  HASH_FIELD_L2_SRC,  /* Ethernet src addr */
> >> +  HASH_FIELD_L2_DST,  /* Ethernet dst addr */
> >> +  HASH_FIELD_L3_SRC,  /* L3 src addr */
> >> +  HASH_FIELD_L3_DST,  /* L3 dst addr */
> >> +  HASH_FIELD_L4_SRC,  /* TCP/UDP src ports */
> >> +  HASH_FIELD_L4_DST,  /* TCP/UDP dst ports */
> >> +};
> >> +
> >> +struct rss_key {
> >> +  __u32 hash_fields;
> >> +  __u32 nb_queues;
> >> +    __u32 *indirection_table;
> >> +    __u32 indirection_table_size;
> >> +  __u8 *key;
> >> +  __u32 key_size;
> >> +} __attribute__((packed));
> >> +
> >> +#endif
> >> diff --git a/hw/net/rss_tap_bpf_program.c b/hw/net/rss_tap_bpf_program.c
> >> new file mode 100644
> >> index 0000000000..2744436e86
> >> --- /dev/null
> >> +++ b/hw/net/rss_tap_bpf_program.c
> >> @@ -0,0 +1,175 @@
> >> +/*
> >> + * RSS ebpf code for virtio-net
> >> + *
> >> + * Copyright (c) 2018 RedHat.
> >> + *
> >> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> >> + * See the COPYING file in the top-level directory.
> >> + *
> >> + * This code is heavily based on the following bpf code from dpdk
> >> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/tap_bpf_program.c
> >
> > That file says
> >
> >    * Copyright 2017 Mellanox Technologies, Ltd
> >
> > while you are claiming RedHat copyright. That can't be right attribution
> > if this is indeed a derived work.
> I am not an expert when it comes to licensing, I gave credits Mellanox
> for the work but I have introduced some new changes as well to suit my
> usage.
> Moreover the license for the original code is 3BSD or GPL, I have no
> idea how this is possible and which license I should take into
> account?
> Anyways I'd love some guidance on this topic so I can give the
> appropriate credit where it is needed.

I can't give legal advice - it is best to ask your own company's experts
if you need such advice.

I will just say from a code review POV, I'd generally expect the original
source license and copyright lines to be preserved, and extra copyright
line added to reflect changes made.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 4/6] virtio-net: implement steering mode feature
  2018-09-03  3:34   ` Jason Wang
@ 2018-09-03 12:51     ` Sameeh Jubran
  0 siblings, 0 replies; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 12:51 UTC (permalink / raw)
  To: Jason Wang; +Cc: QEMU Developers, Yan Vugenfirer

On Mon, Sep 3, 2018 at 6:34 AM, Jason Wang <jasowang@redhat.com> wrote:
>
>
> On 2018年08月30日 22:27, Sameeh Jubran wrote:
>>
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
>> ---
>>   hw/net/virtio-net.c                         | 65
>> +++++++++++++++++++++++++----
>>   include/hw/virtio/virtio-net.h              |  3 ++
>>   include/standard-headers/linux/virtio_net.h | 55
>> ++++++++++++++++++++++++
>>   3 files changed, 116 insertions(+), 7 deletions(-)
>>
>> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
>> index 90502fca7c..e7c4ce6f66 100644
>> --- a/hw/net/virtio-net.c
>> +++ b/hw/net/virtio-net.c
>> @@ -972,13 +972,53 @@ static int virtio_net_handle_mq(VirtIONet *n,
>> uint8_t cmd,
>>       return VIRTIO_NET_OK;
>>   }
>>   +static int virtio_net_ctrl_steering_mode(VirtIONet *n, uint8_t cmd,
>> +                                struct iovec *iov, unsigned int iov_cnt,
>> +                                struct iovec *iov_in, unsigned int
>> iov_cnt_in,
>> +        size_t *size_in)
>> +{
>> +    size_t s;
>> +    struct virtio_net_steering_mode sm;
>> +
>> +    switch (cmd) {
>> +    case VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES:
>> +        if (!size_in) {
>> +            return VIRTIO_NET_ERR;
>> +        }
>> +                  s = iov_from_buf(iov_in, iov_cnt_in, 0,
>> +          &n->supported_modes, sizeof(n->supported_modes));
>> +        if (s != sizeof(n->supported_modes) ||
>> +          !size_in) {
>
>
> size_in has been checked in the above I think?
true
>
>
>> +            return VIRTIO_NET_ERR;
>> +        }
>> +                  *size_in = s;
>> +      break;
>> +    case VIRTIO_NET_CTRL_SM_CONTROL:
>> +        s = iov_to_buf(iov, iov_cnt, 0, &sm, sizeof(sm) -
>> +                sizeof(union command_data));
>> +        if (s != sizeof(sm) - sizeof(union command_data)) {
>> +            return VIRTIO_NET_ERR;
>> +        }
>> +        /* switch (cmd)
>> +             {
>> +                dafault:
>> +                return VIRTIO_NET_ERR;
>> +         } */
>> +      break;
>> +    default:
>> +                return VIRTIO_NET_ERR;
>> +    }
>> +
>> +    return VIRTIO_NET_OK;
>> +}
>> +
>>   static void virtio_net_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
>>   {
>>       VirtIONet *n = VIRTIO_NET(vdev);
>>       struct virtio_net_ctrl_hdr ctrl;
>>       virtio_net_ctrl_ack status = VIRTIO_NET_ERR;
>>       VirtQueueElement *elem;
>> -    size_t s;
>> +    size_t s, elem_in_size = 0;
>>       struct iovec *iov, *iov2;
>>       unsigned int iov_cnt;
>>   @@ -996,7 +1036,8 @@ static void virtio_net_handle_ctrl(VirtIODevice
>> *vdev, VirtQueue *vq)
>>           }
>>             iov_cnt = elem->out_num;
>> -        iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) *
>> elem->out_num);
>> +        iov2 = iov = g_memdup(elem->out_sg, sizeof(struct iovec) *
>> +                elem->out_num);
>
>
> Still looks unnecessary.
true
>
>
>>           s = iov_to_buf(iov, iov_cnt, 0, &ctrl, sizeof(ctrl));
>>           iov_discard_front(&iov, &iov_cnt, sizeof(ctrl));
>>           if (s != sizeof(ctrl)) {
>> @@ -1013,12 +1054,20 @@ static void virtio_net_handle_ctrl(VirtIODevice
>> *vdev, VirtQueue *vq)
>>               status = virtio_net_handle_mq(n, ctrl.cmd, iov, iov_cnt);
>>           } else if (ctrl.class == VIRTIO_NET_CTRL_GUEST_OFFLOADS) {
>>               status = virtio_net_handle_offloads(n, ctrl.cmd, iov,
>> iov_cnt);
>> +        } else if (ctrl.class == VIRTIO_NET_CTRL_STEERING_MODE) {
>> +            size_t size_in = 0;
>> +            status = virtio_net_ctrl_steering_mode(n, ctrl.cmd, iov,
>> iov_cnt,
>> +                   elem->in_sg, elem->in_num, &size_in);
>> +            if (status == VIRTIO_NET_OK  && size_in > 0) {
>> +                elem_in_size += size_in;
>> +        }
>>           }
>>   -        s = iov_from_buf(elem->in_sg, elem->in_num, 0, &status,
>> sizeof(status));
>> +        s = iov_from_buf(elem->in_sg, elem->in_num, elem_in_size,
>> &status,
>> +                sizeof(status));
>>           assert(s == sizeof(status));
>> -
>> -        virtqueue_push(vq, elem, sizeof(status));
>> +        elem_in_size += s;
>> +        virtqueue_push(vq, elem, elem_in_size);
>>           virtio_notify(vdev, vq);
>>           g_free(iov2);
>>           g_free(elem);
>> @@ -1375,10 +1424,10 @@ static int32_t virtio_net_flush_tx(VirtIONetQueue
>> *q)
>>                                      n->guest_hdr_len, -1);
>>                   if (out_num == VIRTQUEUE_MAX_SIZE) {
>>                       goto drop;
>> -               }
>> +    }
>>                   out_num += 1;
>>                   out_sg = sg2;
>> -           }
>> +      }
>
>
> Let's avoid mixing such possible style fixes.
no problem
>
>>           }
>>           /*
>>            * If host wants to see the guest header as is, we can
>> @@ -1957,6 +2006,8 @@ static void virtio_net_device_realize(DeviceState
>> *dev, Error **errp)
>>           n->host_features |= (1ULL << VIRTIO_NET_F_MTU);
>>       }
>>   +        n->host_features |= (1ULL << VIRTIO_NET_F_CTRL_STEERING_MODE);
>
>
> I think we need a property for virtio-net and compat this for old machine
> types.
yup
>
>
>> +
>>       if (n->net_conf.duplex_str) {
>>           if (strncmp(n->net_conf.duplex_str, "half", 5) == 0) {
>>               n->net_conf.duplex = DUPLEX_HALF;
>> diff --git a/include/hw/virtio/virtio-net.h
>> b/include/hw/virtio/virtio-net.h
>> index a7b53edc96..809e85481c 100644
>> --- a/include/hw/virtio/virtio-net.h
>> +++ b/include/hw/virtio/virtio-net.h
>> @@ -102,6 +102,9 @@ typedef struct VirtIONet {
>>       int announce_counter;
>>       bool needs_vnet_hdr_swap;
>>       bool mtu_bypass_backend;
>> +    struct virtio_net_steering_modes supported_modes;
>> +    struct virtio_net_steering_modes current_mode;
>> +    struct virtio_net_rss_conf *rss_conf;
>>   } VirtIONet;
>>     void virtio_net_set_netclient_name(VirtIONet *n, const char *name,
>> diff --git a/include/standard-headers/linux/virtio_net.h
>> b/include/standard-headers/linux/virtio_net.h
>> index e9f255ea3f..fa399b97ab 100644
>> --- a/include/standard-headers/linux/virtio_net.h
>> +++ b/include/standard-headers/linux/virtio_net.h
>> @@ -258,4 +258,59 @@ struct virtio_net_ctrl_mq {
>>   #define VIRTIO_NET_CTRL_GUEST_OFFLOADS   5
>>   #define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET        0
>>   +
>> +#define RSS_HASH_FUNCTION_TOEPLITZ       0x1
>> +#define RSS_HASH_FUNCTION_SYMMETRIC      0x2
>> +
>> +// Hash function fields
>> +#define RSS_HASH_FIELDS_IPV4             0x00000100
>> +#define RSS_HASH_FIELDS_TCP_IPV4         0x00000200
>> +#define RSS_HASH_FIELDS_IPV6             0x00000400
>> +#define RSS_HASH_FIELDS_IPV6_EX          0x00000800
>> +#define RSS_HASH_FIELDS_TCP_IPV6         0x00001000
>> +#define RSS_HASH_FIELDS_TCP_IPV6_EX      0x00002000
>> +
>> +struct virtio_net_rss_supported_hash{
>> +uint32_t hash_function;
>> +};
>> +
>> +struct virtio_net_rss_conf_ptrs {
>> +    uint8_t *hash_key;
>> +    uint32_t  *indirection_table;
>> +};
>> +
>> +struct virtio_net_rss_conf {
>> +    uint32_t hash_function;
>> +    uint32_t hash_function_flags;
>> +    uint32_t hash_key_length;
>> +    uint32_t indirection_table_length;
>> +    struct virtio_net_rss_conf_ptrs ptrs;
>> +};
>
>
> I think the RSS stuffs should go with an independent patch?
You are right
>
>> +
>> +#define VIRTIO_NET_SM_CTRL_RSS_GET_SUPPORTED_FUNCTIONS   0
>> +#define VIRTIO_NET_SM_CTRL_RSS_SET                       1
>> +
>> +
>> +struct virtio_net_steering_modes {
>> +    uint32_t steering_modes;
>> +};
>> +
>> +union command_data {
>> +    struct virtio_net_rss_conf rss;
>> +};
>> +
>> +struct virtio_net_steering_mode {
>> +    uint32_t steering_mode;
>> +    uint32_t command;
>> +};
>> +
>> +#define VIRTIO_NET_F_CTRL_STEERING_MODE  60
>> +
>> +#define VIRTIO_NET_CTRL_STEERING_MODE             7
>> +#define VIRTIO_NET_CTRL_SM_GET_SUPPORTED_MODES    0
>> +#define VIRTIO_NET_CTRL_SM_CONTROL                1
>
>
> SM_CONTROL sounds pretty generic, maybe just SET_SUPPORTED_MODES?
It is generic, it is used to send control commands for the sub modes
of the steering mode. such as setting the RSS parameters for the RSS
steering mode. (checkout the usage in patch 5)
>
> Thanks
>
>
>> +
>> +#define STEERING_MODE_AUTO          0x1
>> +#define STEERING_MODE_RSS           0x2
>> +
>>   #endif /* _LINUX_VIRTIO_NET_H */
>
>



-- 
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
  2018-09-03  4:12   ` Jason Wang
@ 2018-09-03 13:16     ` Sameeh Jubran
  2018-09-04  3:03       ` Jason Wang
  0 siblings, 1 reply; 36+ messages in thread
From: Sameeh Jubran @ 2018-09-03 13:16 UTC (permalink / raw)
  To: Jason Wang; +Cc: QEMU Developers, Yan Vugenfirer

> I may miss something, but it looks to me the indirection table should be implemented through a map as well? Since it was accessible by guest and qemu need to trap the access and convert it to eBPF map updating?
makes  sense, I'll convert it to map structure.


> This looks tricky as well, should we search the BPF_LD and replace the imm?
Hmm yes this approach is better I guess.

> I believe those bpf helpers should be moved to tap-linux.c.
All of them?  I actually thought about moving them to a standalone
file in the virtio-net.c dir.
Can you explain the motive for this?

> So vhost_net_get_fd() did nothing in fact?
You are correct, I'm dropping it

> STEERING BPF is per device not per queue, so setting this for queue 0 should be ok.
Oh, okay will do.


On Mon, Sep 3, 2018 at 7:12 AM, Jason Wang <jasowang@redhat.com> wrote:
>
>
> On 2018年08月30日 22:27, Sameeh Jubran wrote:
>>
>> From: Sameeh Jubran <sjubran@redhat.com>
>>
>> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
>> ---
>>   hw/net/rss_bpf_insns.h       | 3992
>> ++++++++++++++++++++++++++++++++++++++++++
>>   hw/net/rss_tap_bpf.h         |   40 +
>>   hw/net/rss_tap_bpf_program.c |  175 ++
>>   hw/net/virtio-net.c          |   99 +-
>>   4 files changed, 4305 insertions(+), 1 deletion(-)
>>   create mode 100644 hw/net/rss_bpf_insns.h
>>   create mode 100644 hw/net/rss_tap_bpf.h
>>   create mode 100644 hw/net/rss_tap_bpf_program.c
>>
>> diff --git a/hw/net/rss_bpf_insns.h b/hw/net/rss_bpf_insns.h
>> new file mode 100644
>> index 0000000000..1a92110b8d
>> --- /dev/null
>> +++ b/hw/net/rss_bpf_insns.h
>> @@ -0,0 +1,3992 @@
>> +/*
>> + * RSS ebpf instructions for virtio-net
>> + *
>> + * Copyright (c) 2018 RedHat.
>> + *
>> + * This work is licensed under the terms of the GNU GPL, version 2 or
>> later.
>> + * See the COPYING file in the top-level directory.
>> + *
>> + */
>> +
>> +#include <linux/bpf.h>
>> +
>> +#ifndef BPF_RSS_INSNS
>> +#define BPF_RSS_INSNS
>> +
>> +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
>> +struct bpf_insn l3_l4_hash_insns[] = {
>> +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
>> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
>> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
>> +{0x18 , 0x1 , 0x0 , 0x0000 , 0xdeadbeef},
>> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
>> +{0x63 , 0xa , 0x1 , 0xfffc , 0x00000000},
>> +{0xbf , 0x2 , 0xa , 0x0000 , 0x00000000},
>> +{0x07 , 0x2 , 0x0 , 0x0000 , 0xfffffffc},
>> +{0x18 , 0x1 , 0x1 , 0x0000 , 0xdeadcafe},
>> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
>> +{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000001},
>> +{0x55 , 0x0 , 0x0 , 0x0017 , 0x00000000},
>> +{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x73 , 0xa , 0x1 , 0xfffa , 0x00000000},
>> +{0xb7 , 0x1 , 0x0 , 0x0000 , 0x00000a64},
>> +{0x6b , 0xa , 0x1 , 0xfff8 , 0x00000000},
>> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x69666e6f},
>> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x65727567},
>> +{0x7b , 0xa , 0x1 , 0xfff0 , 0x00000000},
>> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x6e207369},
>> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x6320746f},
>> +{0x7b , 0xa , 0x1 , 0xffe8 , 0x00000000},
>> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x20737372},
>> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x2079656b},
>> +{0x7b , 0xa , 0x1 , 0xffe0 , 0x00000000},
>> +{0x18 , 0x1 , 0x0 , 0x0000 , 0x68736168},
>> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x203a2928},
>> +{0x7b , 0xa , 0x1 , 0xffd8 , 0x00000000},
>> +{0xbf , 0x1 , 0xa , 0x0000 , 0x00000000},
>> +{0x07 , 0x1 , 0x0 , 0x0000 , 0xffffffd8},
>> +{0xb7 , 0x2 , 0x0 , 0x0000 , 0x00000023},
>> +{0x85 , 0x0 , 0x0 , 0x0000 , 0x00000006},
>> +{0x18 , 0x0 , 0x0 , 0x0000 , 0xfffffffe},
>> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
>> +{0x05 , 0x0 , 0x0 , 0x0f60 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xffc8 , 0x00000000},
>> +{0xb7 , 0x7 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x55 , 0x8 , 0x0 , 0x0003 , 0x000088a8},
>> +{0xb7 , 0x7 , 0x0 , 0x0000 , 0x00000012},
>> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x00000010},
>> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
>> +{0x55 , 0x8 , 0x0 , 0x0005 , 0x00008100},
>> +{0xbf , 0x8 , 0x7 , 0x0000 , 0x00000000},
>> +{0x07 , 0x8 , 0x0 , 0x0000 , 0x00000002},
>> +{0x48 , 0x0 , 0x8 , 0x0000 , 0x00000000},
>> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000004},
>> +{0x15 , 0x8 , 0x0 , 0x0b48 , 0x00000800},
>> +{0x18 , 0x0 , 0x0 , 0x0000 , 0xffffffff},
>> +{0x00 , 0x0 , 0x0 , 0x0000 , 0x00000000},
>> +{0x15 , 0x8 , 0x0 , 0x0001 , 0x0000dd86},
>> +{0x05 , 0x0 , 0x0 , 0x0f4f , 0x00000000},
>> +{0xbf , 0x9 , 0x7 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000029},
>> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xffa8 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000028},
>> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xff90 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002b},
>> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xffb0 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000002a},
>> +{0x50 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xffa0 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xff98 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xff88 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000019},
>> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xffd0 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000018},
>> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xffc0 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0x7b , 0xa , 0x0 , 0xffb8 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x00000008},
>> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
>> +{0xbf , 0x7 , 0x9 , 0x0000 , 0x00000000},
>> +{0x07 , 0x7 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x40 , 0x0 , 0x7 , 0x0000 , 0x00000000},
>> +{0xbf , 0x7 , 0x0 , 0x0000 , 0x00000000},
>> +{0x07 , 0x9 , 0x0 , 0x0000 , 0x00000009},
>> +{0x40 , 0x0 , 0x9 , 0x0000 , 0x00000000},
>> +{0xb7 , 0x4 , 0x0 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x65 , 0x1 , 0x0 , 0x0002 , 0xffffffff},
>> +{0x79 , 0x1 , 0xa , 0xffc8 , 0x00000000},
>> +{0x61 , 0x4 , 0x1 , 0x0008 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
>> +{0x79 , 0x3 , 0xa , 0xffc8 , 0x00000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
>> +{0x79 , 0x6 , 0xa , 0xffa0 , 0x00000000},
>> +{0x79 , 0x9 , 0xa , 0xff88 , 0x00000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x71 , 0x1 , 0x3 , 0x000f , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x69 , 0x1 , 0x3 , 0x000e , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x8 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x57 , 0x8 , 0x0 , 0x0000 , 0x00000001},
>> +{0x15 , 0x8 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0008 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
>> +{0x79 , 0x8 , 0xa , 0xff90 , 0x00000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x71 , 0x1 , 0x3 , 0x0013 , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x69 , 0x1 , 0x3 , 0x0012 , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x0 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x57 , 0x0 , 0x0 , 0x0000 , 0x00000001},
>> +{0x15 , 0x0 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x000c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
>> +{0x79 , 0x5 , 0xa , 0xffb0 , 0x00000000},
>> +{0x79 , 0x0 , 0xa , 0xffa8 , 0x00000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x71 , 0x1 , 0x3 , 0x0017 , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x69 , 0x1 , 0x3 , 0x0016 , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x7 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x57 , 0x7 , 0x0 , 0x0000 , 0x00000001},
>> +{0x15 , 0x7 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0010 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
>> +{0x79 , 0x7 , 0xa , 0xff98 , 0x00000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x71 , 0x1 , 0x3 , 0x001b , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x69 , 0x1 , 0x3 , 0x001a , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffb8 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0014 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x71 , 0x1 , 0x3 , 0x001f , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x69 , 0x1 , 0x3 , 0x001e , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffc0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0018 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x71 , 0x1 , 0x3 , 0x0023 , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000013},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00020000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000012},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00010000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000011},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00008000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x69 , 0x1 , 0x3 , 0x0022 , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000010},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00004000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000011},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00002000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000012},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00001000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000013},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000800},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000014},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000400},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000015},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000200},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000016},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000100},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000017},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000009},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000080},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000018},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000040},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000019},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000007},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000006},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000010},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000005},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000008},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000004},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000003},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000002},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0x79 , 0x1 , 0xa , 0xffd0 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x001c , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000001},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0xc7 , 0x1 , 0x0 , 0x0000 , 0x00000020},
>> +{0x65 , 0x1 , 0x0 , 0x0003 , 0xffffffff},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x40000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000001},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001f},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x20000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000002},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001e},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x10000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000003},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001d},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x08000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000004},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001c},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x04000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000005},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001b},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x02000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000006},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x0000001a},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x01000000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000007},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000019},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00800000},
>> +{0x15 , 0x1 , 0x0 , 0x0006 , 0x00000000},
>> +{0x71 , 0x1 , 0x3 , 0x0027 , 0x00000000},
>> +{0x61 , 0x2 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x2 , 0x0 , 0x0000 , 0x00000008},
>> +{0x4f , 0x1 , 0x2 , 0x0000 , 0x00000000},
>> +{0xaf , 0x1 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x1 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00400000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x00000009},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000017},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00200000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000a},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000016},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00100000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000b},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000015},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00080000},
>> +{0x15 , 0x1 , 0x0 , 0x0007 , 0x00000000},
>> +{0x61 , 0x1 , 0x3 , 0x0020 , 0x00000000},
>> +{0x67 , 0x1 , 0x0 , 0x0000 , 0x0000000c},
>> +{0x61 , 0x2 , 0x3 , 0x0024 , 0x00000000},
>> +{0x77 , 0x2 , 0x0 , 0x0000 , 0x00000014},
>> +{0x4f , 0x2 , 0x1 , 0x0000 , 0x00000000},
>> +{0xaf , 0x2 , 0x4 , 0x0000 , 0x00000000},
>> +{0xbf , 0x4 , 0x2 , 0x0000 , 0x00000000},
>> +{0xbf , 0x1 , 0x9 , 0x0000 , 0x00000000},
>> +{0x57 , 0x1 , 0x0 , 0x0000 , 0x00040000},



-- 
Respectfully,
Sameeh Jubran
Linkedin
Software Engineer @ Daynix.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
  2018-09-03 13:16     ` Sameeh Jubran
@ 2018-09-04  3:03       ` Jason Wang
  0 siblings, 0 replies; 36+ messages in thread
From: Jason Wang @ 2018-09-04  3:03 UTC (permalink / raw)
  To: Sameeh Jubran; +Cc: QEMU Developers, Yan Vugenfirer



On 2018年09月03日 21:16, Sameeh Jubran wrote:
>> I may miss something, but it looks to me the indirection table should be implemented through a map as well? Since it was accessible by guest and qemu need to trap the access and convert it to eBPF map updating?
> makes  sense, I'll convert it to map structure.
>
>
>> This looks tricky as well, should we search the BPF_LD and replace the imm?
> Hmm yes this approach is better I guess.
>
>> I believe those bpf helpers should be moved to tap-linux.c.
> All of them?  I actually thought about moving them to a standalone
> file in the virtio-net.c dir.
> Can you explain the motive for this?
>

Because you're using Linux specific syscall, so it should be moved to 
Linux specific implementation.

Thakns

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
  2018-09-03 11:54   ` Daniel P. Berrangé
  2018-09-03 12:35     ` Sameeh Jubran
@ 2018-09-04  3:07     ` Jason Wang
  2018-09-04  8:14       ` Daniel P. Berrangé
  1 sibling, 1 reply; 36+ messages in thread
From: Jason Wang @ 2018-09-04  3:07 UTC (permalink / raw)
  To: Daniel P. Berrangé, Sameeh Jubran; +Cc: Yan Vugenfirer, qemu-devel



On 2018年09月03日 19:54, Daniel P. Berrangé wrote:
>> + *
>> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
>> + * See the COPYING file in the top-level directory.
>> + *
>> + */
>> +
>> +#include <linux/bpf.h>
>> +
>> +#ifndef BPF_RSS_INSNS
>> +#define BPF_RSS_INSNS
>> +
>> +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
>> +struct bpf_insn l3_l4_hash_insns[] = {
>> +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
>> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
>> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> [snip]
>
>> +};
> This massive array is presumably an auto-generated content.
>
> We shouldn't be storing this in GIT. We need to store the
> original preferred source format, and providing makefile
> rules to generate it.
>
>

This is possible. But it depends on eBPF toolchain (e.g recent version 
of LLVM) to work which is inflexible or impossible to make it work on 
some distributions. Providing compiled bytecode does not have such 
limitation.

Thanks

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
  2018-09-04  3:07     ` Jason Wang
@ 2018-09-04  8:14       ` Daniel P. Berrangé
  2018-09-06  5:26         ` Jason Wang
  0 siblings, 1 reply; 36+ messages in thread
From: Daniel P. Berrangé @ 2018-09-04  8:14 UTC (permalink / raw)
  To: Jason Wang; +Cc: Sameeh Jubran, Yan Vugenfirer, qemu-devel

On Tue, Sep 04, 2018 at 11:07:38AM +0800, Jason Wang wrote:
> 
> 
> On 2018年09月03日 19:54, Daniel P. Berrangé wrote:
> > > + *
> > > + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> > > + * See the COPYING file in the top-level directory.
> > > + *
> > > + */
> > > +
> > > +#include <linux/bpf.h>
> > > +
> > > +#ifndef BPF_RSS_INSNS
> > > +#define BPF_RSS_INSNS
> > > +
> > > +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
> > > +struct bpf_insn l3_l4_hash_insns[] = {
> > > +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
> > > +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
> > > +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> > [snip]
> > 
> > > +};
> > This massive array is presumably an auto-generated content.
> > 
> > We shouldn't be storing this in GIT. We need to store the
> > original preferred source format, and providing makefile
> > rules to generate it.
> > 
> > 
> 
> This is possible. But it depends on eBPF toolchain (e.g recent version of
> LLVM) to work which is inflexible or impossible to make it work on some
> distributions. Providing compiled bytecode does not have such limitation.

Those distros can fix their toolchain if they wish to have the BPF feature
enabled when building QEMU, just like they would for any other dependancy
that is needed by QEMU.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
  2018-08-30 14:27 ` [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter Sameeh Jubran
                     ` (2 preceding siblings ...)
  2018-09-03 12:11   ` Daniel P. Berrangé
@ 2018-09-04 20:11   ` Eric Blake
  3 siblings, 0 replies; 36+ messages in thread
From: Eric Blake @ 2018-09-04 20:11 UTC (permalink / raw)
  To: Sameeh Jubran, qemu-devel, Jason Wang; +Cc: Yan Vugenfirer

On 08/30/2018 09:27 AM, Sameeh Jubran wrote:
> From: Sameeh Jubran <sjubran@redhat.com>
> 
> Signed-off-by: Sameeh Jubran <sjubran@redhat.com>
> ---
>   hw/net/rss_bpf_insns.h       | 3992 ++++++++++++++++++++++++++++++++++++++++++
>   hw/net/rss_tap_bpf.h         |   40 +
>   hw/net/rss_tap_bpf_program.c |  175 ++
>   hw/net/virtio-net.c          |   99 +-
>   4 files changed, 4305 insertions(+), 1 deletion(-)
>   create mode 100644 hw/net/rss_bpf_insns.h
>   create mode 100644 hw/net/rss_tap_bpf.h
>   create mode 100644 hw/net/rss_tap_bpf_program.c
> 
> diff --git a/hw/net/rss_bpf_insns.h b/hw/net/rss_bpf_insns.h
> new file mode 100644
> index 0000000000..1a92110b8d
> --- /dev/null
> +++ b/hw/net/rss_bpf_insns.h
> @@ -0,0 +1,3992 @@
> +/*
> + * RSS ebpf instructions for virtio-net
> + *
> + * Copyright (c) 2018 RedHat.

Please spell it "Red Hat", as that is the proper name in use in all 
other places in the repository.

> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + */
> +
> +#include <linux/bpf.h>
> +
> +#ifndef BPF_RSS_INSNS
> +#define BPF_RSS_INSNS
> +
> +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
> +struct bpf_insn l3_l4_hash_insns[] = {
> +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},

Is this file generated?  If not, this long array of magic numbers can't 
be the preferred form for source editing (which would be in violation of 
GPL requirements); if so, why are we checking in a generated file into 
qemu.git?  It can indeed be valid to check in a generated file if the 
program for generating it is not commonly available to developers, but 
the comments should make it clear that such is the case; and you would 
be wise to point to more than just 'tap_bpf_program.c', but also include 
comments stating how to reproduce this generated file.

Your commit then adds a file by a similar name, but not matching the one 
you called out here:

> --- /dev/null
> +++ b/hw/net/rss_tap_bpf_program.c
> @@ -0,0 +1,175 @@
> +/*
> + * RSS ebpf code for virtio-net
> + *
> + * Copyright (c) 2018 RedHat.

Again, wrong spelling.

> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + * This code is heavily based on the following bpf code from dpdk
> + * https://git.dpdk.org/dpdk/tree/drivers/net/tap/tap_bpf_program.c

Your choice of license might be incompatible.  That file states:

/* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0

but GPLv2-only is not the same as your choice of GPLv2+.

Perhaps you can get away with GPLv2+ being compatible with BSD-3-Clause, 
but it might be safer to state that this file is GPLv2-only (as an 
explicit choice of one of your two options from the source you were 
copying).

> +
> +RSS(l3_l4)
> +
> +BPF_LICENSE("Dual BSD/GPL");

And this is different from what you wrote above. So which license is 
this file?

> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index 4a52a6a1d0..66b2140cc7 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -27,6 +27,10 @@
>   #include "hw/virtio/virtio-access.h"
>   #include "migration/misc.h"
>   #include "standard-headers/linux/ethtool.h"
> +#include <sys/syscall.h>
> +#include <linux/bpf.h>

Is this going to cause compilation failure on non-Linux machines?

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
  2018-09-04  8:14       ` Daniel P. Berrangé
@ 2018-09-06  5:26         ` Jason Wang
  2018-10-04 13:30           ` Daniel P. Berrangé
  0 siblings, 1 reply; 36+ messages in thread
From: Jason Wang @ 2018-09-06  5:26 UTC (permalink / raw)
  To: Daniel P. Berrangé; +Cc: Yan Vugenfirer, Sameeh Jubran, qemu-devel



On 2018年09月04日 16:14, Daniel P. Berrangé wrote:
> On Tue, Sep 04, 2018 at 11:07:38AM +0800, Jason Wang wrote:
>> On 2018年09月03日 19:54, Daniel P. Berrangé wrote:
>>>> + *
>>>> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
>>>> + * See the COPYING file in the top-level directory.
>>>> + *
>>>> + */
>>>> +
>>>> +#include <linux/bpf.h>
>>>> +
>>>> +#ifndef BPF_RSS_INSNS
>>>> +#define BPF_RSS_INSNS
>>>> +
>>>> +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
>>>> +struct bpf_insn l3_l4_hash_insns[] = {
>>>> +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
>>>> +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
>>>> +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
>>> [snip]
>>>
>>>> +};
>>> This massive array is presumably an auto-generated content.
>>>
>>> We shouldn't be storing this in GIT. We need to store the
>>> original preferred source format, and providing makefile
>>> rules to generate it.
>>>
>>>
>> This is possible. But it depends on eBPF toolchain (e.g recent version of
>> LLVM) to work which is inflexible or impossible to make it work on some
>> distributions. Providing compiled bytecode does not have such limitation.
> Those distros can fix their toolchain if they wish to have the BPF feature
> enabled when building QEMU, just like they would for any other dependancy
> that is needed by QEMU.
>
> Regards,

Well, since bytecode is architecture independent, it needs either 
emulator or JIT to work. So having eBPF toolchain looks unnecessary 
since we're sure it will generate exactly the same bytecodes everywhere. 
I think we can just treat it like some kind of virtio-net firmware and 
ship with bytecodes.

Thanks

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter
  2018-09-06  5:26         ` Jason Wang
@ 2018-10-04 13:30           ` Daniel P. Berrangé
  0 siblings, 0 replies; 36+ messages in thread
From: Daniel P. Berrangé @ 2018-10-04 13:30 UTC (permalink / raw)
  To: Jason Wang; +Cc: Yan Vugenfirer, Sameeh Jubran, qemu-devel

On Thu, Sep 06, 2018 at 01:26:01PM +0800, Jason Wang wrote:
> 
> 
> On 2018年09月04日 16:14, Daniel P. Berrangé wrote:
> > On Tue, Sep 04, 2018 at 11:07:38AM +0800, Jason Wang wrote:
> > > On 2018年09月03日 19:54, Daniel P. Berrangé wrote:
> > > > > + *
> > > > > + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> > > > > + * See the COPYING file in the top-level directory.
> > > > > + *
> > > > > + */
> > > > > +
> > > > > +#include <linux/bpf.h>
> > > > > +
> > > > > +#ifndef BPF_RSS_INSNS
> > > > > +#define BPF_RSS_INSNS
> > > > > +
> > > > > +/* bpf_insn array matching l3_l4 section. see tap_bpf_program.c file */
> > > > > +struct bpf_insn l3_l4_hash_insns[] = {
> > > > > +{0xbf , 0x6 , 0x1 , 0x0000 , 0x00000000},
> > > > > +{0x28 , 0x0 , 0x0 , 0x0000 , 0x0000000c},
> > > > > +{0xbf , 0x8 , 0x0 , 0x0000 , 0x00000000},
> > > > [snip]
> > > > 
> > > > > +};
> > > > This massive array is presumably an auto-generated content.
> > > > 
> > > > We shouldn't be storing this in GIT. We need to store the
> > > > original preferred source format, and providing makefile
> > > > rules to generate it.
> > > > 
> > > > 
> > > This is possible. But it depends on eBPF toolchain (e.g recent version of
> > > LLVM) to work which is inflexible or impossible to make it work on some
> > > distributions. Providing compiled bytecode does not have such limitation.
> > Those distros can fix their toolchain if they wish to have the BPF feature
> > enabled when building QEMU, just like they would for any other dependancy
> > that is needed by QEMU.
> > 
> > Regards,
> 
> Well, since bytecode is architecture independent, it needs either emulator
> or JIT to work. So having eBPF toolchain looks unnecessary since we're sure
> it will generate exactly the same bytecodes everywhere. I think we can just
> treat it like some kind of virtio-net firmware and ship with bytecodes.

I don't find this rational very compelling. Lots of our generated files
are architecture independant and so would have the same output everywhere.
We still aim to generate them all at build from the master source using
the relevant toolchain(s).

The main exception where we bundle pre-generated stuff is the various
architecture dependant ROMs, since those need many cross-compilers.
Most of the distro vendors will drop these pre-built ROMs and build
them from source again for license compliance purposes. 

So I still believe we should be building BPF code from the master
source, not bundling any pre-generated content.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

^ permalink raw reply	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2018-10-04 13:30 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-30 14:27 [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Sameeh Jubran
2018-08-30 14:27 ` [Qemu-devel] [RFC 1/6] Add bpf support to qemu Sameeh Jubran
2018-09-03 11:59   ` Daniel P. Berrangé
2018-09-03 12:18     ` Sameeh Jubran
2018-09-03 12:24     ` Peter Maydell
2018-09-03 12:28       ` Sameeh Jubran
2018-09-03 12:29       ` Daniel P. Berrangé
2018-08-30 14:27 ` [Qemu-devel] [RFC 2/6] tap: Add support for bpf ioctls Sameeh Jubran
2018-08-30 15:21   ` Eric Blake
2018-09-03 11:34     ` Sameeh Jubran
2018-09-03  3:24   ` Jason Wang
2018-09-03 11:33     ` Sameeh Jubran
2018-08-30 14:27 ` [Qemu-devel] [RFC 3/6] vhost-net: Expose vhost_net_get_fd Sameeh Jubran
2018-09-03  3:24   ` Jason Wang
2018-09-03 11:56     ` Sameeh Jubran
2018-08-30 14:27 ` [Qemu-devel] [RFC 4/6] virtio-net: implement steering mode feature Sameeh Jubran
2018-09-03  3:34   ` Jason Wang
2018-09-03 12:51     ` Sameeh Jubran
2018-08-30 14:27 ` [Qemu-devel] [RFC 5/6] virtio-net: steering mode: Implement rss support Sameeh Jubran
2018-09-03  3:48   ` Jason Wang
2018-09-03 11:45     ` Sameeh Jubran
2018-08-30 14:27 ` [Qemu-devel] [RFC 6/6] virtio-net: rss: Add bpf filter Sameeh Jubran
2018-09-03  4:12   ` Jason Wang
2018-09-03 13:16     ` Sameeh Jubran
2018-09-04  3:03       ` Jason Wang
2018-09-03 11:54   ` Daniel P. Berrangé
2018-09-03 12:35     ` Sameeh Jubran
2018-09-03 12:49       ` Daniel P. Berrangé
2018-09-04  3:07     ` Jason Wang
2018-09-04  8:14       ` Daniel P. Berrangé
2018-09-06  5:26         ` Jason Wang
2018-10-04 13:30           ` Daniel P. Berrangé
2018-09-03 12:11   ` Daniel P. Berrangé
2018-09-04 20:11   ` Eric Blake
2018-09-03  4:15 ` [Qemu-devel] [RFC 0/6] Virtio-net: Support RSS Jason Wang
2018-09-03  9:52   ` Sameeh Jubran

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.