From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 63CFF4389A; Fri, 12 Jan 2024 18:54:03 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 42F0F402AD; Fri, 12 Jan 2024 18:54:03 +0100 (CET) Received: from mail-oi1-f179.google.com (mail-oi1-f179.google.com [209.85.167.179]) by mails.dpdk.org (Postfix) with ESMTP id 79747402A9 for ; Fri, 12 Jan 2024 18:54:01 +0100 (CET) Received: by mail-oi1-f179.google.com with SMTP id 5614622812f47-3bbd6e377ceso5372659b6e.1 for ; Fri, 12 Jan 2024 09:54:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1705082040; x=1705686840; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wt+yv+qJkcHTpZncashMZAslMpgKYbwrKaZUayvZePw=; b=bTXt4iu7C2v9v1aYHxKBKwWnzeklXrobjQVbUdR38Fl8fdJhEUjGgWaSq8zjVNkxMT 2BuQ68CRY+lO30t3wCSUE2kswQMD4sLNo75HwyhuXJdxGdb5uhxcjkD/hqp4gpUKZx/+ j8CRtAtV9g1KeLqZq81twQ0SuFyXZiuJdXExb/ndBnBJlmSeY6+x2AwPdp//ayWxT1Ux e8G9Q89Dh7E2U9R8jA6mef2o63JTUw0DGy3MaYngGsgvweUg/y5akOWgQxn/BjOnzdDN +K0A/R0v7UlUNaMl2rz7TzYl0PyiAzZnCzTdHYUe/PcAIsf3XpaczG5qFs9pXrBg7Xwe tYmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705082040; x=1705686840; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wt+yv+qJkcHTpZncashMZAslMpgKYbwrKaZUayvZePw=; b=rIC+GrXM3MzIM/xArrvMDbtPH0zfYtHjsEcvfaAQm4C96wgGUyk7O4XAC67kpvi3Dw uV6RJ3TiqhDx98/LM6nGe/1p/ENBtrzVtECPSDqs2lV2gURDKI6uoITQ/+Kaz6t7aHIe Yw9ZUHKRE9ChmVRq2DapPKiSBiS/ry4v5HPDyJVul5H58hHJWdOQkNAz7xTEawF4OYxw 0xdGOcyUb4kniqZuHHBA9Dgk1iJy1UTSTr2/jPzCoyD9HtOqyjx5OkUiAimSttYvPXcq MkSisKYnBCahuk0MmxZCnshz8qT32JKzLBWz/A3yfyZXHV5ejd8i8NG/Damc8XuEVa+L CcIw== X-Gm-Message-State: AOJu0Yx76GjE9p0NfECCsARiw2mH3yvcqWEnjwMygrmA1ZE90XFB47Z5 l3H9V0Si+l/xS4AdK3AUMHNY4nnqNuNmWY8jt0j8E05bNVpgGnKi X-Google-Smtp-Source: AGHT+IFqnfQkzAfGYJcpDTWJmQOqmuhbN0a2XnPs6cZwmeLZdro2lJibaDRRu2RNyNi0Z77TprVtvg== X-Received: by 2002:a05:6358:b09d:b0:175:917e:6d34 with SMTP id b29-20020a056358b09d00b00175917e6d34mr2778693rwo.40.1705082038879; Fri, 12 Jan 2024 09:53:58 -0800 (PST) Received: from hermes.local (204-195-123-141.wavecable.com. [204.195.123.141]) by smtp.gmail.com with ESMTPSA id m5-20020a654385000000b0059d6f5196fasm2999200pgp.78.2024.01.12.09.53.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Jan 2024 09:53:57 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger Subject: [RFC v3] tap: rework the BPF header parsing Date: Fri, 12 Jan 2024 09:53:10 -0800 Message-ID: <20240112175347.126080-1-stephen@networkplumber.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240112134821.2067-1-madhuker.mythri@oracle.com> References: <20240112134821.2067-1-madhuker.mythri@oracle.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Cleanup the header parsing. - bpf load helpers - split IPv4 and IPv6 into seperate functions - drop incorrect VLAN header parsing - simplify the check for Ipv4 fragments - support IPv4 options - support IPv6 extension headers - fix the handling of L3 only hash - allow using non-default key - use standard network header structs - use temporary variables to avoid so many casts - stick to kernel data types (ie __u32) - fix support for non-default key - use new BPF map format based off of BTF - use system BPF headers and helpers This is based of the BPF map work in earlier patch from Madhuker Mythri Signed-off-by: Stephen Hemminger --- This is still work in progress. Needs more testing. Not sure it is worth splitting into smaller patches. drivers/net/tap/bpf/Makefile | 14 +- drivers/net/tap/bpf/bpf_api.h | 276 --- drivers/net/tap/bpf/bpf_elf.h | 53 - drivers/net/tap/bpf/tap_bpf_program.c | 346 ++- drivers/net/tap/tap_bpf_api.c | 5 +- drivers/net/tap/tap_bpf_insns.h | 3288 +++++++++++++------------ drivers/net/tap/tap_flow.c | 43 + 7 files changed, 1920 insertions(+), 2105 deletions(-) delete mode 100644 drivers/net/tap/bpf/bpf_api.h delete mode 100644 drivers/net/tap/bpf/bpf_elf.h diff --git a/drivers/net/tap/bpf/Makefile b/drivers/net/tap/bpf/Makefile index 9efeeb1bc704..20a51f1ef4e1 100644 --- a/drivers/net/tap/bpf/Makefile +++ b/drivers/net/tap/bpf/Makefile @@ -2,9 +2,14 @@ # This file is not built as part of normal DPDK build. # It is used to generate the eBPF code for TAP RSS. -CLANG=clang -CLANG_OPTS=-O2 -TARGET=../tap_bpf_insns.h +CLANG = clang +CLANG_OPTS = -g -O2 -Wall -Wextra -target bpf + +TARGET = ../tap_bpf_insns.h + +# Get Clang's default includes on this system. +CLANG_BPF_SYS_INCLUDES ?= $(shell $(CLANG) -v -E - &1 \ + | sed -n '/<...> search starts here:/,/End of search list./{ s| \(/.*\)|-idirafter \1|p }') all: $(TARGET) @@ -12,8 +17,7 @@ clean: rm tap_bpf_program.o $(TARGET) tap_bpf_program.o: tap_bpf_program.c - $(CLANG) $(CLANG_OPTS) -emit-llvm -c $< -o - | \ - llc -march=bpf -filetype=obj -o $@ + $(CLANG) $(CLANG_OPTS) $(CLANG_BPF_SYS_INCLUDES) -c $< -o $@ $(TARGET): tap_bpf_program.o python3 bpf_extract.py -stap_bpf_program.c -o $@ $< diff --git a/drivers/net/tap/bpf/bpf_api.h b/drivers/net/tap/bpf/bpf_api.h deleted file mode 100644 index 2638a8a4ac9a..000000000000 --- a/drivers/net/tap/bpf/bpf_api.h +++ /dev/null @@ -1,276 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 or BSD-3-Clause */ - -#ifndef __BPF_API__ -#define __BPF_API__ - -/* Note: - * - * This file can be included into eBPF kernel programs. It contains - * a couple of useful helper functions, map/section ABI (bpf_elf.h), - * misc macros and some eBPF specific LLVM built-ins. - */ - -#include - -#include -#include -#include - -#include - -#include "bpf_elf.h" - -/** libbpf pin type. */ -enum libbpf_pin_type { - LIBBPF_PIN_NONE, - /* PIN_BY_NAME: pin maps by name (in /sys/fs/bpf by default) */ - LIBBPF_PIN_BY_NAME, -}; - -/** Type helper macros. */ - -#define __uint(name, val) int (*name)[val] -#define __type(name, val) typeof(val) *name -#define __array(name, val) typeof(val) *name[] - -/** Misc macros. */ - -#ifndef __stringify -# define __stringify(X) #X -#endif - -#ifndef __maybe_unused -# define __maybe_unused __attribute__((__unused__)) -#endif - -#ifndef offsetof -# define offsetof(TYPE, MEMBER) __builtin_offsetof(TYPE, MEMBER) -#endif - -#ifndef likely -# define likely(X) __builtin_expect(!!(X), 1) -#endif - -#ifndef unlikely -# define unlikely(X) __builtin_expect(!!(X), 0) -#endif - -#ifndef htons -# define htons(X) __constant_htons((X)) -#endif - -#ifndef ntohs -# define ntohs(X) __constant_ntohs((X)) -#endif - -#ifndef htonl -# define htonl(X) __constant_htonl((X)) -#endif - -#ifndef ntohl -# define ntohl(X) __constant_ntohl((X)) -#endif - -#ifndef __inline__ -# define __inline__ __attribute__((always_inline)) -#endif - -/** Section helper macros. */ - -#ifndef __section -# define __section(NAME) \ - __attribute__((section(NAME), used)) -#endif - -#ifndef __section_tail -# define __section_tail(ID, KEY) \ - __section(__stringify(ID) "/" __stringify(KEY)) -#endif - -#ifndef __section_xdp_entry -# define __section_xdp_entry \ - __section(ELF_SECTION_PROG) -#endif - -#ifndef __section_cls_entry -# define __section_cls_entry \ - __section(ELF_SECTION_CLASSIFIER) -#endif - -#ifndef __section_act_entry -# define __section_act_entry \ - __section(ELF_SECTION_ACTION) -#endif - -#ifndef __section_lwt_entry -# define __section_lwt_entry \ - __section(ELF_SECTION_PROG) -#endif - -#ifndef __section_license -# define __section_license \ - __section(ELF_SECTION_LICENSE) -#endif - -#ifndef __section_maps -# define __section_maps \ - __section(ELF_SECTION_MAPS) -#endif - -/** Declaration helper macros. */ - -#ifndef BPF_LICENSE -# define BPF_LICENSE(NAME) \ - char ____license[] __section_license = NAME -#endif - -/** Classifier helper */ - -#ifndef BPF_H_DEFAULT -# define BPF_H_DEFAULT -1 -#endif - -/** BPF helper functions for tc. Individual flags are in linux/bpf.h */ - -#ifndef __BPF_FUNC -# define __BPF_FUNC(NAME, ...) \ - (* NAME)(__VA_ARGS__) __maybe_unused -#endif - -#ifndef BPF_FUNC -# define BPF_FUNC(NAME, ...) \ - __BPF_FUNC(NAME, __VA_ARGS__) = (void *) BPF_FUNC_##NAME -#endif - -/* Map access/manipulation */ -static void *BPF_FUNC(map_lookup_elem, void *map, const void *key); -static int BPF_FUNC(map_update_elem, void *map, const void *key, - const void *value, uint32_t flags); -static int BPF_FUNC(map_delete_elem, void *map, const void *key); - -/* Time access */ -static uint64_t BPF_FUNC(ktime_get_ns); - -/* Debugging */ - -/* FIXME: __attribute__ ((format(printf, 1, 3))) not possible unless - * llvm bug https://llvm.org/bugs/show_bug.cgi?id=26243 gets resolved. - * It would require ____fmt to be made const, which generates a reloc - * entry (non-map). - */ -static void BPF_FUNC(trace_printk, const char *fmt, int fmt_size, ...); - -#ifndef printt -# define printt(fmt, ...) \ - ({ \ - char ____fmt[] = fmt; \ - trace_printk(____fmt, sizeof(____fmt), ##__VA_ARGS__); \ - }) -#endif - -/* Random numbers */ -static uint32_t BPF_FUNC(get_prandom_u32); - -/* Tail calls */ -static void BPF_FUNC(tail_call, struct __sk_buff *skb, void *map, - uint32_t index); - -/* System helpers */ -static uint32_t BPF_FUNC(get_smp_processor_id); -static uint32_t BPF_FUNC(get_numa_node_id); - -/* Packet misc meta data */ -static uint32_t BPF_FUNC(get_cgroup_classid, struct __sk_buff *skb); -static int BPF_FUNC(skb_under_cgroup, void *map, uint32_t index); - -static uint32_t BPF_FUNC(get_route_realm, struct __sk_buff *skb); -static uint32_t BPF_FUNC(get_hash_recalc, struct __sk_buff *skb); -static uint32_t BPF_FUNC(set_hash_invalid, struct __sk_buff *skb); - -/* Packet redirection */ -static int BPF_FUNC(redirect, int ifindex, uint32_t flags); -static int BPF_FUNC(clone_redirect, struct __sk_buff *skb, int ifindex, - uint32_t flags); - -/* Packet manipulation */ -static int BPF_FUNC(skb_load_bytes, struct __sk_buff *skb, uint32_t off, - void *to, uint32_t len); -static int BPF_FUNC(skb_store_bytes, struct __sk_buff *skb, uint32_t off, - const void *from, uint32_t len, uint32_t flags); - -static int BPF_FUNC(l3_csum_replace, struct __sk_buff *skb, uint32_t off, - uint32_t from, uint32_t to, uint32_t flags); -static int BPF_FUNC(l4_csum_replace, struct __sk_buff *skb, uint32_t off, - uint32_t from, uint32_t to, uint32_t flags); -static int BPF_FUNC(csum_diff, const void *from, uint32_t from_size, - const void *to, uint32_t to_size, uint32_t seed); -static int BPF_FUNC(csum_update, struct __sk_buff *skb, uint32_t wsum); - -static int BPF_FUNC(skb_change_type, struct __sk_buff *skb, uint32_t type); -static int BPF_FUNC(skb_change_proto, struct __sk_buff *skb, uint32_t proto, - uint32_t flags); -static int BPF_FUNC(skb_change_tail, struct __sk_buff *skb, uint32_t nlen, - uint32_t flags); - -static int BPF_FUNC(skb_pull_data, struct __sk_buff *skb, uint32_t len); - -/* Event notification */ -static int __BPF_FUNC(skb_event_output, struct __sk_buff *skb, void *map, - uint64_t index, const void *data, uint32_t size) = - (void *) BPF_FUNC_perf_event_output; - -/* Packet vlan encap/decap */ -static int BPF_FUNC(skb_vlan_push, struct __sk_buff *skb, uint16_t proto, - uint16_t vlan_tci); -static int BPF_FUNC(skb_vlan_pop, struct __sk_buff *skb); - -/* Packet tunnel encap/decap */ -static int BPF_FUNC(skb_get_tunnel_key, struct __sk_buff *skb, - struct bpf_tunnel_key *to, uint32_t size, uint32_t flags); -static int BPF_FUNC(skb_set_tunnel_key, struct __sk_buff *skb, - const struct bpf_tunnel_key *from, uint32_t size, - uint32_t flags); - -static int BPF_FUNC(skb_get_tunnel_opt, struct __sk_buff *skb, - void *to, uint32_t size); -static int BPF_FUNC(skb_set_tunnel_opt, struct __sk_buff *skb, - const void *from, uint32_t size); - -/** LLVM built-ins, mem*() routines work for constant size */ - -#ifndef lock_xadd -# define lock_xadd(ptr, val) ((void) __sync_fetch_and_add(ptr, val)) -#endif - -#ifndef memset -# define memset(s, c, n) __builtin_memset((s), (c), (n)) -#endif - -#ifndef memcpy -# define memcpy(d, s, n) __builtin_memcpy((d), (s), (n)) -#endif - -#ifndef memmove -# define memmove(d, s, n) __builtin_memmove((d), (s), (n)) -#endif - -/* FIXME: __builtin_memcmp() is not yet fully usable unless llvm bug - * https://llvm.org/bugs/show_bug.cgi?id=26218 gets resolved. Also - * this one would generate a reloc entry (non-map), otherwise. - */ -#if 0 -#ifndef memcmp -# define memcmp(a, b, n) __builtin_memcmp((a), (b), (n)) -#endif -#endif - -unsigned long long load_byte(void *skb, unsigned long long off) - asm ("llvm.bpf.load.byte"); - -unsigned long long load_half(void *skb, unsigned long long off) - asm ("llvm.bpf.load.half"); - -unsigned long long load_word(void *skb, unsigned long long off) - asm ("llvm.bpf.load.word"); - -#endif /* __BPF_API__ */ diff --git a/drivers/net/tap/bpf/bpf_elf.h b/drivers/net/tap/bpf/bpf_elf.h deleted file mode 100644 index ea8a11c95c0f..000000000000 --- a/drivers/net/tap/bpf/bpf_elf.h +++ /dev/null @@ -1,53 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 or BSD-3-Clause */ -#ifndef __BPF_ELF__ -#define __BPF_ELF__ - -#include - -/* Note: - * - * Below ELF section names and bpf_elf_map structure definition - * are not (!) kernel ABI. It's rather a "contract" between the - * application and the BPF loader in tc. For compatibility, the - * section names should stay as-is. Introduction of aliases, if - * needed, are a possibility, though. - */ - -/* ELF section names, etc */ -#define ELF_SECTION_LICENSE "license" -#define ELF_SECTION_MAPS "maps" -#define ELF_SECTION_PROG "prog" -#define ELF_SECTION_CLASSIFIER "classifier" -#define ELF_SECTION_ACTION "action" - -#define ELF_MAX_MAPS 64 -#define ELF_MAX_LICENSE_LEN 128 - -/* Object pinning settings */ -#define PIN_NONE 0 -#define PIN_OBJECT_NS 1 -#define PIN_GLOBAL_NS 2 - -/* ELF map definition */ -struct bpf_elf_map { - __u32 type; - __u32 size_key; - __u32 size_value; - __u32 max_elem; - __u32 flags; - __u32 id; - __u32 pinning; - __u32 inner_id; - __u32 inner_idx; -}; - -#define BPF_ANNOTATE_KV_PAIR(name, type_key, type_val) \ - struct ____btf_map_##name { \ - type_key key; \ - type_val value; \ - }; \ - struct ____btf_map_##name \ - __attribute__ ((section(".maps." #name), used)) \ - ____btf_map_##name = { } - -#endif /* __BPF_ELF__ */ diff --git a/drivers/net/tap/bpf/tap_bpf_program.c b/drivers/net/tap/bpf/tap_bpf_program.c index f05aed021c30..0842fb437c4e 100644 --- a/drivers/net/tap/bpf/tap_bpf_program.c +++ b/drivers/net/tap/bpf/tap_bpf_program.c @@ -2,58 +2,36 @@ * Copyright 2017 Mellanox Technologies, Ltd */ -#include -#include -#include -#include -#include + #include -#include #include #include #include -#include -#include - -#include "bpf_api.h" -#include "bpf_elf.h" -#include "../tap_rss.h" +#include +#include -/** Create IPv4 address */ -#define IPv4(a, b, c, d) ((__u32)(((a) & 0xff) << 24) | \ - (((b) & 0xff) << 16) | \ - (((c) & 0xff) << 8) | \ - ((d) & 0xff)) +#include +#include -#define PORT(a, b) ((__u16)(((a) & 0xff) << 8) | \ - ((b) & 0xff)) +#include "../tap_rss.h" /* * The queue number is offset by a unique QUEUE_OFFSET, to distinguish * packets that have gone through this rule (skb->cb[1] != 0) from others. */ #define QUEUE_OFFSET 0x7cafe800 -#define PIN_GLOBAL_NS 2 - -#define KEY_IDX 0 -#define BPF_MAP_ID_KEY 1 - -struct vlan_hdr { - __be16 proto; - __be16 tci; -}; - -struct bpf_elf_map __attribute__((section("maps"), used)) -map_keys = { - .type = BPF_MAP_TYPE_HASH, - .id = BPF_MAP_ID_KEY, - .size_key = sizeof(__u32), - .size_value = sizeof(struct rss_key), - .max_elem = 256, - .pinning = PIN_GLOBAL_NS, -}; - -__section("cls_q") int + +#define IP_MF 0x2000 /** IP header Flags **/ +#define IP_OFFSET 0x1FFF /** IP header fragment offset **/ + +struct { + __uint(type, BPF_MAP_TYPE_HASH); + __type(key, __u32); + __type(value, struct rss_key); + __uint(max_entries, 256); +} map_keys SEC(".maps"); + +SEC("cls_q") int match_q(struct __sk_buff *skb) { __u32 queue = skb->cb[1]; @@ -71,7 +49,6 @@ match_q(struct __sk_buff *skb) return TC_ACT_UNSPEC; } - struct ipv4_l3_l4_tuple { __u32 src_addr; __u32 dst_addr; @@ -80,176 +57,187 @@ struct ipv4_l3_l4_tuple { } __attribute__((packed)); struct ipv6_l3_l4_tuple { - __u8 src_addr[16]; - __u8 dst_addr[16]; + __u32 src_addr[4]; + __u32 dst_addr[4]; __u16 dport; __u16 sport; } __attribute__((packed)); -static const __u8 def_rss_key[TAP_RSS_HASH_KEY_SIZE] = { - 0xd1, 0x81, 0xc6, 0x2c, - 0xf7, 0xf4, 0xdb, 0x5b, - 0x19, 0x83, 0xa2, 0xfc, - 0x94, 0x3e, 0x1a, 0xdb, - 0xd9, 0x38, 0x9e, 0x6b, - 0xd1, 0x03, 0x9c, 0x2c, - 0xa7, 0x44, 0x99, 0xad, - 0x59, 0x3d, 0x56, 0xd9, - 0xf3, 0x25, 0x3c, 0x06, - 0x2a, 0xdc, 0x1f, 0xfc, -}; - static __u32 __attribute__((always_inline)) -rte_softrss_be(const __u32 *input_tuple, const uint8_t *rss_key, - __u8 input_len) +softrss_be(const __u32 *input_tuple, __u32 input_len, const void *rss_key) { __u32 i, j, hash = 0; + const __u32 *key32 = rss_key; + #pragma unroll for (j = 0; j < input_len; j++) { #pragma unroll for (i = 0; i < 32; i++) { - if (input_tuple[j] & (1U << (31 - i))) { - hash ^= ((const __u32 *)def_rss_key)[j] << i | - (__u32)((uint64_t) - (((const __u32 *)def_rss_key)[j + 1]) - >> (32 - i)); - } + if (input_tuple[j] & (1U << (31 - i))) + hash ^= key32[j] << i | key32[j + 1] >> (32 - i); } } return hash; } -static int __attribute__((always_inline)) -rss_l3_l4(struct __sk_buff *skb) +static int +parse_ipv4(struct __sk_buff *skb, const struct rss_key *rsskey, __u32 *hash) { - void *data_end = (void *)(long)skb->data_end; - void *data = (void *)(long)skb->data; - __u16 proto = (__u16)skb->protocol; - __u32 key_idx = 0xdeadbeef; - __u32 hash; - struct rss_key *rsskey; - __u64 off = ETH_HLEN; - int j; - __u8 *key = 0; - __u32 len; - __u32 queue = 0; - bool mf = 0; - __u16 frag_off = 0; - - rsskey = map_lookup_elem(&map_keys, &key_idx); - if (!rsskey) { - printt("hash(): rss key is not configured\n"); + struct iphdr iph; + __u32 off = 0; + + if (bpf_skb_load_bytes_relative(skb, off, &iph, sizeof(iph), BPF_HDR_START_NET)) return TC_ACT_OK; + off += iph.ihl * 4; + + struct ipv4_l3_l4_tuple v4_tuple = { + .src_addr = bpf_ntohl(iph.saddr), + .dst_addr = bpf_ntohl(iph.daddr), + }; + + if (rsskey->hash_fields & (1 << HASH_FIELD_IPV4_L3)) { + *hash = softrss_be((__u32 *)&v4_tuple, 2, rsskey->key); + return TC_ACT_RECLASSIFY; } - key = (__u8 *)rsskey->key; - /* Get correct proto for 802.1ad */ - if (skb->vlan_present && skb->vlan_proto == htons(ETH_P_8021AD)) { - if (data + ETH_ALEN * 2 + sizeof(struct vlan_hdr) + - sizeof(proto) > data_end) + /* Get ports for non-fragmented TCP/UDP */ + if ( (iph.frag_off & bpf_htons(IP_MF | IP_OFFSET)) != 0 && + (iph.protocol == IPPROTO_UDP || iph.protocol == IPPROTO_TCP)) { + __u16 src_dst_port[2]; + + if (bpf_skb_load_bytes_relative(skb, off, &src_dst_port, sizeof(src_dst_port), + BPF_HDR_START_NET)) return TC_ACT_OK; - proto = *(__u16 *)(data + ETH_ALEN * 2 + - sizeof(struct vlan_hdr)); - off += sizeof(struct vlan_hdr); + + v4_tuple.sport = bpf_ntohs(src_dst_port[0]); + v4_tuple.dport = bpf_ntohs(src_dst_port[1]); } - if (proto == htons(ETH_P_IP)) { - if (data + off + sizeof(struct iphdr) + sizeof(__u32) - > data_end) - return TC_ACT_OK; + *hash = softrss_be((__u32 *)&v4_tuple, 3, rsskey->key); - __u8 *src_dst_addr = data + off + offsetof(struct iphdr, saddr); - __u8 *frag_off_addr = data + off + offsetof(struct iphdr, frag_off); - __u8 *prot_addr = data + off + offsetof(struct iphdr, protocol); - __u8 *src_dst_port = data + off + sizeof(struct iphdr); - struct ipv4_l3_l4_tuple v4_tuple = { - .src_addr = IPv4(*(src_dst_addr + 0), - *(src_dst_addr + 1), - *(src_dst_addr + 2), - *(src_dst_addr + 3)), - .dst_addr = IPv4(*(src_dst_addr + 4), - *(src_dst_addr + 5), - *(src_dst_addr + 6), - *(src_dst_addr + 7)), - .sport = 0, - .dport = 0, - }; - /** Fetch the L4-payer port numbers only in-case of TCP/UDP - ** and also if the packet is not fragmented. Since fragmented - ** chunks do not have L4 TCP/UDP header. - **/ - if (*prot_addr == IPPROTO_UDP || *prot_addr == IPPROTO_TCP) { - frag_off = PORT(*(frag_off_addr + 0), - *(frag_off_addr + 1)); - mf = frag_off & 0x2000; - frag_off = frag_off & 0x1fff; - if (mf == 0 && frag_off == 0) { - v4_tuple.sport = PORT(*(src_dst_port + 0), - *(src_dst_port + 1)); - v4_tuple.dport = PORT(*(src_dst_port + 2), - *(src_dst_port + 3)); - } - } - __u8 input_len = sizeof(v4_tuple) / sizeof(__u32); - if (rsskey->hash_fields & (1 << HASH_FIELD_IPV4_L3)) - input_len--; - hash = rte_softrss_be((__u32 *)&v4_tuple, key, 3); - } else if (proto == htons(ETH_P_IPV6)) { - if (data + off + sizeof(struct ipv6hdr) + - sizeof(__u32) > data_end) - return TC_ACT_OK; - __u8 *src_dst_addr = data + off + - offsetof(struct ipv6hdr, saddr); - __u8 *src_dst_port = data + off + - sizeof(struct ipv6hdr); - __u8 *next_hdr = data + off + - offsetof(struct ipv6hdr, nexthdr); - - struct ipv6_l3_l4_tuple v6_tuple; - for (j = 0; j < 4; j++) - *((uint32_t *)&v6_tuple.src_addr + j) = - __builtin_bswap32(*((uint32_t *) - src_dst_addr + j)); - for (j = 0; j < 4; j++) - *((uint32_t *)&v6_tuple.dst_addr + j) = - __builtin_bswap32(*((uint32_t *) - src_dst_addr + 4 + j)); - - /** Fetch the L4 header port-numbers only if next-header - * is TCP/UDP **/ - if (*next_hdr == IPPROTO_UDP || *next_hdr == IPPROTO_TCP) { - v6_tuple.sport = PORT(*(src_dst_port + 0), - *(src_dst_port + 1)); - v6_tuple.dport = PORT(*(src_dst_port + 2), - *(src_dst_port + 3)); - } else { - v6_tuple.sport = 0; - v6_tuple.dport = 0; + return TC_ACT_RECLASSIFY; +} + +/* parse ipv6 extended headers, update offset and return next proto */ +static int +skip_ip6_ext(__u16 proto, struct __sk_buff *skb, __u32 *off, int *frag) +{ + struct ext_hdr { + __u8 next_hdr; + __u8 len; + } xh; + unsigned int i; + + *frag = 0; + +#define MAX_EXT_HDRS 5 +#pragma unroll + for (i = 0; i < MAX_EXT_HDRS; i++) { + switch (proto) { + case IPPROTO_HOPOPTS: + case IPPROTO_ROUTING: + case IPPROTO_DSTOPTS: + if (bpf_skb_load_bytes_relative(skb, *off, &xh, sizeof(xh), BPF_HDR_START_NET)) + return -1; + + *off += (xh.len + 1) * 8; + proto = xh.next_hdr; + break; + case IPPROTO_FRAGMENT: + if (bpf_skb_load_bytes_relative(skb, *off, &xh, sizeof(xh), BPF_HDR_START_NET)) + return -1; + + *off += 8; + proto = xh.next_hdr; + *frag = 1; + return proto; /* this is always the last ext hdr */ + case IPPROTO_NONE: + return 0; + default: + return proto; } + } - __u8 input_len = sizeof(v6_tuple) / sizeof(__u32); - if (rsskey->hash_fields & (1 << HASH_FIELD_IPV6_L3)) - input_len--; - hash = rte_softrss_be((__u32 *)&v6_tuple, key, 9); - } else { - return TC_ACT_PIPE; + /* too many extension headers give up */ + return -1; +} + +static int +parse_ipv6(struct __sk_buff *skb, const struct rss_key *rsskey, __u32 *hash) +{ + struct ipv6_l3_l4_tuple v6_tuple = { }; + struct ipv6hdr ip6h; + __u32 off = 0, j; + int proto, frag; + + if (bpf_skb_load_bytes_relative(skb, off, &ip6h, sizeof(ip6h), BPF_HDR_START_NET)) + return TC_ACT_OK; + off += sizeof(ip6h); + +#pragma unroll + for (j = 0; j < 4; j++) { + v6_tuple.src_addr[j] = bpf_ntohl(ip6h.saddr.in6_u.u6_addr32[j]); + v6_tuple.dst_addr[j] = bpf_ntohl(ip6h.daddr.in6_u.u6_addr32[j]); } - queue = rsskey->queues[(hash % rsskey->nb_queues) & - (TAP_MAX_QUEUES - 1)]; - skb->cb[1] = QUEUE_OFFSET + queue; - /* printt(">>>>> rss_l3_l4 hash=0x%x queue=%u\n", hash, queue); */ + if (rsskey->hash_fields & (1 << HASH_FIELD_IPV6_L3)) { + *hash = softrss_be((__u32 *)&v6_tuple, 8, rsskey->key); + return TC_ACT_RECLASSIFY; + } + + proto = skip_ip6_ext(ip6h.nexthdr, skb, &off, &frag); + if (proto < 0) + return TC_ACT_OK; + + /* Fetch the L4 header port-numbers only if next-header is TCP/UDP */ + if (!frag && (proto == IPPROTO_UDP || proto == IPPROTO_TCP)) { + __u16 src_dst_port[2]; + + if (bpf_skb_load_bytes_relative(skb, off, &src_dst_port, sizeof(src_dst_port), + BPF_HDR_START_NET)) + return TC_ACT_OK; + + v6_tuple.sport = bpf_ntohs(src_dst_port[0]); + v6_tuple.dport = bpf_ntohs(src_dst_port[1]); + } + *hash = softrss_be((__u32 *)&v6_tuple, 9, rsskey->key); return TC_ACT_RECLASSIFY; } -#define RSS(L) \ - __section(#L) int \ - L ## _hash(struct __sk_buff *skb) \ - { \ - return rss_ ## L (skb); \ +SEC("l3_l4") int +rss_l3_l4(struct __sk_buff *skb) +{ + const struct rss_key *rsskey; + __be16 proto = skb->protocol; + __u32 key_idx = 0xdeadbeef; + __u32 hash; + int ret; + + rsskey = bpf_map_lookup_elem(&map_keys, &key_idx); + if (!rsskey) { + bpf_printk("hash(): rss key is not configured\n"); + return TC_ACT_OK; } -RSS(l3_l4) + if (proto == bpf_htons(ETH_P_IP)) + ret = parse_ipv4(skb, rsskey, &hash); + else if (proto == bpf_htons(ETH_P_IPV6)) + ret = parse_ipv6(skb, rsskey, &hash); + else + ret = TC_ACT_PIPE; + + if (ret == TC_ACT_RECLASSIFY) { + if (rsskey->nb_queues == 0) { + bpf_printk("hash(): num queues is zero?\n"); + return TC_ACT_OK; + } + + __u32 queue = rsskey->queues[(hash % rsskey->nb_queues) & (TAP_MAX_QUEUES - 1)]; + skb->cb[1] = QUEUE_OFFSET + queue; + } + + return ret; +} -BPF_LICENSE("Dual BSD/GPL"); +char _license[] SEC("license") = "Dual BSD/GPL"; diff --git a/drivers/net/tap/tap_bpf_api.c b/drivers/net/tap/tap_bpf_api.c index 15283f8917ed..7e13d4b8b6ba 100644 --- a/drivers/net/tap/tap_bpf_api.c +++ b/drivers/net/tap/tap_bpf_api.c @@ -48,8 +48,9 @@ int tap_flow_bpf_cls_q(__u32 queue_idx) */ int tap_flow_bpf_calc_l3_l4_hash(__u32 key_idx, int map_fd) { - l3_l4_hash_insns[4].imm = key_idx; - l3_l4_hash_insns[9].imm = map_fd; + l3_l4_hash_insns[1].imm = key_idx; + l3_l4_hash_insns[6].imm = map_fd; + l3_l4_hash_insns[6].src_reg = 1; return bpf_load(BPF_PROG_TYPE_SCHED_ACT, (struct bpf_insn *)l3_l4_hash_insns, diff --git a/drivers/net/tap/tap_bpf_insns.h b/drivers/net/tap/tap_bpf_insns.h index 53fa76c4e6b0..4999195b1486 100644 --- a/drivers/net/tap/tap_bpf_insns.h +++ b/drivers/net/tap/tap_bpf_insns.h @@ -24,1720 +24,1828 @@ static struct bpf_insn cls_q_insns[] = { }; static struct bpf_insn l3_l4_hash_insns[] = { - {0xbf, 7, 1, 0, 0x00000000}, - {0x61, 6, 7, 16, 0x00000000}, - {0x61, 8, 7, 76, 0x00000000}, - {0x61, 9, 7, 80, 0x00000000}, + {0xbf, 9, 1, 0, 0x00000000}, + {0x61, 6, 9, 16, 0x00000000}, {0x18, 1, 0, 0, 0xdeadbeef}, {0x00, 0, 0, 0, 0x00000000}, - {0x63, 10, 1, -4, 0x00000000}, + {0x63, 10, 1, -32, 0x00000000}, {0xbf, 2, 10, 0, 0x00000000}, - {0x07, 2, 0, 0, 0xfffffffc}, + {0x07, 2, 0, 0, 0xffffffe0}, {0x18, 1, 0, 0, 0x00000000}, {0x00, 0, 0, 0, 0x00000000}, {0x85, 0, 0, 0, 0x00000001}, - {0x55, 0, 0, 21, 0x00000000}, - {0xb7, 1, 0, 0, 0x00000a64}, - {0x6b, 10, 1, -16, 0x00000000}, - {0x18, 1, 0, 0, 0x69666e6f}, - {0x00, 0, 0, 0, 0x65727567}, - {0x7b, 10, 1, -24, 0x00000000}, - {0x18, 1, 0, 0, 0x6e207369}, - {0x00, 0, 0, 0, 0x6320746f}, - {0x7b, 10, 1, -32, 0x00000000}, - {0x18, 1, 0, 0, 0x20737372}, - {0x00, 0, 0, 0, 0x2079656b}, - {0x7b, 10, 1, -40, 0x00000000}, - {0x18, 1, 0, 0, 0x68736168}, - {0x00, 0, 0, 0, 0x203a2928}, - {0x7b, 10, 1, -48, 0x00000000}, - {0xb7, 7, 0, 0, 0x00000000}, - {0x73, 10, 7, -14, 0x00000000}, - {0xbf, 1, 10, 0, 0x00000000}, - {0x07, 1, 0, 0, 0xffffffd0}, + {0xbf, 7, 0, 0, 0x00000000}, + {0x55, 7, 0, 6, 0x00000000}, + {0x18, 1, 0, 0, 0x00000000}, + {0x00, 0, 0, 0, 0x00000000}, {0xb7, 2, 0, 0, 0x00000023}, {0x85, 0, 0, 0, 0x00000006}, - {0x05, 0, 0, 1680, 0x00000000}, - {0xb7, 1, 0, 0, 0x0000000e}, - {0x61, 2, 7, 20, 0x00000000}, - {0x15, 2, 0, 10, 0x00000000}, - {0x61, 2, 7, 28, 0x00000000}, - {0x55, 2, 0, 8, 0x0000a888}, - {0xbf, 2, 7, 0, 0x00000000}, - {0xb7, 7, 0, 0, 0x00000000}, - {0xbf, 1, 8, 0, 0x00000000}, - {0x07, 1, 0, 0, 0x00000012}, - {0x2d, 1, 9, 1670, 0x00000000}, - {0xb7, 1, 0, 0, 0x00000012}, - {0x69, 6, 8, 16, 0x00000000}, - {0xbf, 7, 2, 0, 0x00000000}, + {0xb7, 8, 0, 0, 0x00000000}, + {0x05, 0, 0, 749, 0x00000000}, {0x57, 6, 0, 0, 0x0000ffff}, - {0x7b, 10, 7, -56, 0x00000000}, - {0x15, 6, 0, 443, 0x0000dd86}, - {0xb7, 7, 0, 0, 0x00000003}, - {0x55, 6, 0, 1662, 0x00000008}, - {0x0f, 8, 1, 0, 0x00000000}, - {0xb7, 7, 0, 0, 0x00000000}, - {0xbf, 1, 8, 0, 0x00000000}, - {0x07, 1, 0, 0, 0x00000018}, - {0x2d, 1, 9, 1657, 0x00000000}, - {0xb7, 1, 0, 0, 0x00000000}, - {0x71, 3, 8, 12, 0x00000000}, - {0x71, 2, 8, 9, 0x00000000}, - {0x15, 2, 0, 1, 0x00000011}, - {0x55, 2, 0, 21, 0x00000006}, - {0x71, 2, 8, 7, 0x00000000}, - {0x71, 4, 8, 6, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000008}, - {0x57, 5, 0, 0, 0x00001f00}, - {0x4f, 5, 2, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000020}, - {0x4f, 4, 5, 0, 0x00000000}, - {0x55, 4, 0, 12, 0x00000000}, - {0xbf, 2, 8, 0, 0x00000000}, - {0x07, 2, 0, 0, 0x00000014}, - {0x71, 4, 2, 0, 0x00000000}, - {0x67, 4, 0, 0, 0x00000018}, - {0x71, 1, 2, 1, 0x00000000}, - {0x67, 1, 0, 0, 0x00000010}, - {0x4f, 1, 4, 0, 0x00000000}, - {0x71, 4, 2, 3, 0x00000000}, - {0x4f, 1, 4, 0, 0x00000000}, - {0x71, 2, 2, 2, 0x00000000}, - {0x67, 2, 0, 0, 0x00000008}, - {0x4f, 1, 2, 0, 0x00000000}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x67, 4, 0, 0, 0x00000038}, - {0xc7, 4, 0, 0, 0x00000038}, + {0x15, 6, 0, 704, 0x0000dd86}, + {0xb7, 8, 0, 0, 0x00000003}, + {0x55, 6, 0, 745, 0x00000008}, + {0xb7, 8, 0, 0, 0x00000000}, + {0xbf, 3, 10, 0, 0x00000000}, + {0x07, 3, 0, 0, 0xffffffe8}, + {0xbf, 1, 9, 0, 0x00000000}, {0xb7, 2, 0, 0, 0x00000000}, - {0x65, 4, 0, 1, 0xffffffff}, - {0xb7, 7, 0, 0, 0x2cc681d1}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000040}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x598d03a2}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000020}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xb31a0745}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000010}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x66340e8a}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000008}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xcc681d15}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000004}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x98d03a2b}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000002}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x31a07456}, - {0x71, 4, 8, 13, 0x00000000}, - {0x57, 3, 0, 0, 0x00000001}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x6340e8ad}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x67, 3, 0, 0, 0x00000038}, - {0xc7, 3, 0, 0, 0x00000038}, - {0xbf, 5, 7, 0, 0x00000000}, - {0xa7, 5, 0, 0, 0xc681d15b}, - {0x6d, 2, 3, 1, 0x00000000}, - {0xbf, 5, 7, 0, 0x00000000}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000040}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x8d03a2b7}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000020}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x1a07456f}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000010}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x340e8ade}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000008}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x681d15bd}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000004}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xd03a2b7b}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000002}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xa07456f6}, - {0x71, 3, 8, 14, 0x00000000}, - {0x57, 4, 0, 0, 0x00000001}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x40e8aded}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x67, 4, 0, 0, 0x00000038}, - {0xc7, 4, 0, 0, 0x00000038}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xa7, 7, 0, 0, 0x81d15bdb}, - {0x6d, 2, 4, 1, 0x00000000}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000040}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x03a2b7b7}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000020}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x07456f6f}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000010}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x0e8adedf}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000008}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x1d15bdbf}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000004}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x3a2b7b7e}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000002}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x7456f6fd}, - {0x71, 4, 8, 15, 0x00000000}, - {0x57, 3, 0, 0, 0x00000001}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xe8adedfa}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x67, 3, 0, 0, 0x00000038}, - {0xc7, 3, 0, 0, 0x00000038}, - {0xbf, 5, 7, 0, 0x00000000}, - {0xa7, 5, 0, 0, 0xd15bdbf4}, - {0x6d, 2, 3, 1, 0x00000000}, - {0xbf, 5, 7, 0, 0x00000000}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000040}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xa2b7b7e9}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000020}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x456f6fd3}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000010}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x8adedfa7}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000008}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x15bdbf4f}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000004}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x2b7b7e9e}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000002}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x56f6fd3d}, - {0x71, 3, 8, 16, 0x00000000}, - {0x57, 4, 0, 0, 0x00000001}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xadedfa7b}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x67, 4, 0, 0, 0x00000038}, - {0xc7, 4, 0, 0, 0x00000038}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xa7, 7, 0, 0, 0x5bdbf4f7}, - {0x6d, 2, 4, 1, 0x00000000}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000040}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xb7b7e9ef}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000020}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x6f6fd3df}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000010}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xdedfa7bf}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000008}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xbdbf4f7f}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000004}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x7b7e9eff}, - {0xbf, 4, 3, 0, 0x00000000}, - {0x57, 4, 0, 0, 0x00000002}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xf6fd3dff}, - {0x71, 4, 8, 17, 0x00000000}, - {0x57, 3, 0, 0, 0x00000001}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xedfa7bfe}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x67, 3, 0, 0, 0x00000038}, - {0xc7, 3, 0, 0, 0x00000038}, - {0xbf, 5, 7, 0, 0x00000000}, - {0xa7, 5, 0, 0, 0xdbf4f7fc}, - {0x6d, 2, 3, 1, 0x00000000}, - {0xbf, 5, 7, 0, 0x00000000}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000040}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xb7e9eff9}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000020}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x6fd3dff2}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000010}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xdfa7bfe5}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000008}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xbf4f7fca}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000004}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x7e9eff94}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000002}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xfd3dff28}, - {0x71, 3, 8, 18, 0x00000000}, - {0x57, 4, 0, 0, 0x00000001}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xfa7bfe51}, - {0xbf, 6, 3, 0, 0x00000000}, - {0x67, 6, 0, 0, 0x00000038}, - {0xc7, 6, 0, 0, 0x00000038}, - {0xbf, 4, 5, 0, 0x00000000}, - {0xa7, 4, 0, 0, 0xf4f7fca2}, - {0x6d, 2, 6, 1, 0x00000000}, - {0xbf, 4, 5, 0, 0x00000000}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xe9eff945}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xd3dff28a}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xa7bfe514}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x4f7fca28}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x9eff9450}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x3dff28a0}, - {0x71, 5, 8, 19, 0x00000000}, - {0x57, 3, 0, 0, 0x00000001}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x7bfe5141}, - {0xbf, 3, 5, 0, 0x00000000}, - {0x67, 3, 0, 0, 0x00000038}, - {0xc7, 3, 0, 0, 0x00000038}, - {0xbf, 7, 4, 0, 0x00000000}, - {0xa7, 7, 0, 0, 0xf7fca283}, - {0x6d, 2, 3, 1, 0x00000000}, - {0xbf, 7, 4, 0, 0x00000000}, - {0xbf, 3, 5, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000040}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xeff94506}, - {0xbf, 3, 5, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000020}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xdff28a0c}, - {0xbf, 3, 5, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000010}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xbfe51418}, - {0xbf, 3, 5, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000008}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x7fca2831}, - {0xbf, 3, 5, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000004}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xff945063}, - {0xbf, 3, 5, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000002}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xff28a0c6}, - {0x57, 5, 0, 0, 0x00000001}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xfe51418c}, - {0xbf, 4, 1, 0, 0x00000000}, - {0x67, 4, 0, 0, 0x00000020}, - {0xc7, 4, 0, 0, 0x00000020}, - {0xbf, 3, 7, 0, 0x00000000}, - {0xa7, 3, 0, 0, 0xfca28319}, - {0x6d, 2, 4, 1, 0x00000000}, - {0xbf, 3, 7, 0, 0x00000000}, - {0xbf, 2, 1, 0, 0x00000000}, + {0xb7, 4, 0, 0, 0x00000014}, + {0xb7, 5, 0, 0, 0x00000001}, + {0x85, 0, 0, 0, 0x00000044}, + {0x55, 0, 0, 699, 0x00000000}, + {0x61, 8, 10, -8, 0x00000000}, + {0xdc, 8, 0, 0, 0x00000020}, + {0x61, 6, 10, -12, 0x00000000}, + {0xdc, 6, 0, 0, 0x00000020}, + {0x71, 1, 7, 128, 0x00000000}, + {0x57, 1, 0, 0, 0x00000001}, + {0x15, 1, 0, 731, 0x00000000}, + {0xb7, 1, 0, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x40000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xf9450633}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 6, 0x00000000}, + {0x61, 1, 7, 0, 0x00000000}, + {0x67, 1, 0, 0, 0x00000001}, + {0x61, 2, 7, 4, 0x00000000}, + {0x77, 2, 0, 0, 0x0000001f}, + {0x57, 2, 0, 0, 0x00000001}, + {0x4f, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x20000000}, - {0x79, 6, 10, -56, 0x00000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xf28a0c67}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000002}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000001e}, + {0x57, 3, 0, 0, 0x00000003}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x10000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xe51418ce}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000003}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000001d}, + {0x57, 3, 0, 0, 0x00000007}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x08000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xca28319d}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000004}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000001c}, + {0x57, 3, 0, 0, 0x0000000f}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x04000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x9450633b}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000005}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000001b}, + {0x57, 3, 0, 0, 0x0000001f}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x02000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x28a0c676}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000006}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000001a}, + {0x57, 3, 0, 0, 0x0000003f}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x01000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x51418ced}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000007}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000019}, + {0x57, 3, 0, 0, 0x0000007f}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00800000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xa28319db}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000008}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000018}, + {0x57, 3, 0, 0, 0x000000ff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00400000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x450633b6}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000009}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000017}, + {0x57, 3, 0, 0, 0x000001ff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00200000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x8a0c676c}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000000a}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000016}, + {0x57, 3, 0, 0, 0x000003ff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00100000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x1418ced8}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000000b}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000015}, + {0x57, 3, 0, 0, 0x000007ff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00080000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x28319db1}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000000c}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000014}, + {0x57, 3, 0, 0, 0x00000fff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00040000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x50633b63}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000000d}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000013}, + {0x57, 3, 0, 0, 0x00001fff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00020000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xa0c676c6}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000000e}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000012}, + {0x57, 3, 0, 0, 0x00003fff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00010000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x418ced8d}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000000f}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000011}, + {0x57, 3, 0, 0, 0x00007fff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00008000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x8319db1a}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000010}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000010}, + {0x57, 3, 0, 0, 0x0000ffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00004000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x0633b634}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000011}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000000f}, + {0x57, 3, 0, 0, 0x0001ffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00002000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x0c676c68}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000012}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000000e}, + {0x57, 3, 0, 0, 0x0003ffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00001000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x18ced8d1}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000013}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000000d}, + {0x57, 3, 0, 0, 0x0007ffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000800}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x319db1a3}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000014}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000000c}, + {0x57, 3, 0, 0, 0x000fffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000400}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x633b6347}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000015}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000000b}, + {0x57, 3, 0, 0, 0x001fffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000200}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xc676c68f}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000016}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000000a}, + {0x57, 3, 0, 0, 0x003fffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000100}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x8ced8d1f}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000017}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000009}, + {0x57, 3, 0, 0, 0x007fffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000080}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x19db1a3e}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000018}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000008}, + {0x57, 3, 0, 0, 0x00ffffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000040}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x33b6347d}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000019}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000007}, + {0x57, 3, 0, 0, 0x01ffffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000020}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x676c68fa}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000001a}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000006}, + {0x57, 3, 0, 0, 0x03ffffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000010}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xced8d1f4}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000001b}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000005}, + {0x57, 3, 0, 0, 0x07ffffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000008}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x9db1a3e9}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000001c}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000004}, + {0x57, 3, 0, 0, 0x0fffffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000004}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x3b6347d2}, - {0xbf, 2, 1, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000001d}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000003}, + {0x57, 3, 0, 0, 0x1fffffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, {0x57, 2, 0, 0, 0x00000002}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x76c68fa5}, - {0x57, 1, 0, 0, 0x00000001}, - {0x15, 1, 0, 1194, 0x00000000}, - {0xa7, 3, 0, 0, 0xed8d1f4a}, - {0x05, 0, 0, 1192, 0x00000000}, - {0x0f, 8, 1, 0, 0x00000000}, - {0xb7, 7, 0, 0, 0x00000000}, - {0xbf, 1, 8, 0, 0x00000000}, - {0x07, 1, 0, 0, 0x0000002c}, - {0x2d, 1, 9, 1216, 0x00000000}, - {0x61, 2, 8, 8, 0x00000000}, - {0xdc, 2, 0, 0, 0x00000040}, - {0xc7, 2, 0, 0, 0x00000020}, - {0x71, 3, 8, 6, 0x00000000}, - {0x15, 3, 0, 2, 0x00000011}, - {0xb7, 1, 0, 0, 0x00000000}, - {0x55, 3, 0, 12, 0x00000006}, - {0xbf, 3, 8, 0, 0x00000000}, - {0x07, 3, 0, 0, 0x00000028}, - {0x71, 4, 3, 0, 0x00000000}, - {0x67, 4, 0, 0, 0x00000018}, - {0x71, 1, 3, 1, 0x00000000}, - {0x67, 1, 0, 0, 0x00000010}, - {0x4f, 1, 4, 0, 0x00000000}, - {0x71, 4, 3, 3, 0x00000000}, - {0x4f, 1, 4, 0, 0x00000000}, - {0x71, 3, 3, 2, 0x00000000}, - {0x67, 3, 0, 0, 0x00000008}, - {0x4f, 1, 3, 0, 0x00000000}, - {0xbf, 4, 2, 0, 0x00000000}, - {0x77, 4, 0, 0, 0x0000001f}, - {0x57, 4, 0, 0, 0x2cc681d1}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x40000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x598d03a2}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x20000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xb31a0745}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x10000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x66340e8a}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x08000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xcc681d15}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x04000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x98d03a2b}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x02000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x31a07456}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x01000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x6340e8ad}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00800000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xc681d15b}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00400000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x8d03a2b7}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00200000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x1a07456f}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00100000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x340e8ade}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00080000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x681d15bd}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00040000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xd03a2b7b}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00020000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xa07456f6}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00010000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x40e8aded}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00008000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x81d15bdb}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00004000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x03a2b7b7}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00002000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x07456f6f}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00001000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x0e8adedf}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000800}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x1d15bdbf}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000400}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x3a2b7b7e}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000200}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x7456f6fd}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000100}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xe8adedfa}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000080}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xd15bdbf4}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000040}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xa2b7b7e9}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000020}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x456f6fd3}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000010}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x8adedfa7}, - {0xbf, 3, 2, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000008}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x15bdbf4f}, - {0x61, 3, 8, 12, 0x00000000}, - {0xbf, 5, 2, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x2b7b7e9e}, - {0xdc, 3, 0, 0, 0x00000040}, - {0xbf, 5, 2, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x56f6fd3d}, - {0xc7, 3, 0, 0, 0x00000020}, - {0x57, 2, 0, 0, 0x00000001}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xadedfa7b}, - {0xb7, 2, 0, 0, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0xa7, 5, 0, 0, 0x5bdbf4f7}, - {0x6d, 2, 3, 1, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000001e}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000002}, + {0x57, 3, 0, 0, 0x3fffffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0x57, 6, 0, 0, 0x00000001}, + {0x15, 6, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000001f}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000001}, + {0x57, 3, 0, 0, 0x7fffffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 1, 0, 0x00000000}, + {0xbf, 1, 2, 0, 0x00000000}, + {0xbf, 3, 7, 0, 0x00000000}, + {0x07, 3, 0, 0, 0x00000004}, + {0xbf, 2, 7, 0, 0x00000000}, + {0x07, 2, 0, 0, 0x00000008}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x40000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xb7b7e9ef}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000001}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001f}, + {0x57, 5, 0, 0, 0x00000001}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x20000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x6f6fd3df}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000002}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001e}, + {0x57, 5, 0, 0, 0x00000003}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x10000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xdedfa7bf}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000003}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001d}, + {0x57, 5, 0, 0, 0x00000007}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x08000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xbdbf4f7f}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000004}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001c}, + {0x57, 5, 0, 0, 0x0000000f}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x04000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x7b7e9eff}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000005}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001b}, + {0x57, 5, 0, 0, 0x0000001f}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x02000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xf6fd3dff}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000006}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001a}, + {0x57, 5, 0, 0, 0x0000003f}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x01000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xedfa7bfe}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000007}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000019}, + {0x57, 5, 0, 0, 0x0000007f}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00800000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xdbf4f7fc}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000008}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000018}, + {0x57, 5, 0, 0, 0x000000ff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00400000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xb7e9eff9}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000009}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000017}, + {0x57, 5, 0, 0, 0x000001ff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00200000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x6fd3dff2}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000a}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000016}, + {0x57, 5, 0, 0, 0x000003ff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00100000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xdfa7bfe5}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000b}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000015}, + {0x57, 5, 0, 0, 0x000007ff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00080000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xbf4f7fca}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000c}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000014}, + {0x57, 5, 0, 0, 0x00000fff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00040000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x7e9eff94}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000d}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000013}, + {0x57, 5, 0, 0, 0x00001fff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00020000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xfd3dff28}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000e}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000012}, + {0x57, 5, 0, 0, 0x00003fff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00010000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xfa7bfe51}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000f}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000011}, + {0x57, 5, 0, 0, 0x00007fff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00008000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xf4f7fca2}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000010}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000010}, + {0x57, 5, 0, 0, 0x0000ffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00004000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xe9eff945}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000011}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000f}, + {0x57, 5, 0, 0, 0x0001ffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00002000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xd3dff28a}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000012}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000e}, + {0x57, 5, 0, 0, 0x0003ffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00001000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xa7bfe514}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000013}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000d}, + {0x57, 5, 0, 0, 0x0007ffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000800}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x4f7fca28}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000014}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000c}, + {0x57, 5, 0, 0, 0x000fffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000400}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x9eff9450}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000015}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000b}, + {0x57, 5, 0, 0, 0x001fffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000200}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x3dff28a0}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000016}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000a}, + {0x57, 5, 0, 0, 0x003fffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000100}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x7bfe5141}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000017}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000009}, + {0x57, 5, 0, 0, 0x007fffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000080}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xf7fca283}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000018}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000008}, + {0x57, 5, 0, 0, 0x00ffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000040}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xeff94506}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000019}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000007}, + {0x57, 5, 0, 0, 0x01ffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000020}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xdff28a0c}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000001a}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000006}, + {0x57, 5, 0, 0, 0x03ffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000010}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xbfe51418}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000001b}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000005}, + {0x57, 5, 0, 0, 0x07ffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000008}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x7fca2831}, - {0x61, 4, 8, 16, 0x00000000}, - {0xbf, 6, 3, 0, 0x00000000}, - {0x57, 6, 0, 0, 0x00000004}, - {0x15, 6, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xff945063}, - {0xdc, 4, 0, 0, 0x00000040}, - {0xbf, 6, 3, 0, 0x00000000}, - {0x57, 6, 0, 0, 0x00000002}, - {0x15, 6, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xff28a0c6}, - {0xc7, 4, 0, 0, 0x00000020}, - {0x57, 3, 0, 0, 0x00000001}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xfe51418c}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xa7, 7, 0, 0, 0xfca28319}, - {0x6d, 2, 4, 1, 0x00000000}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x40000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xf9450633}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x20000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xf28a0c67}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x10000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xe51418ce}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x08000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xca28319d}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x04000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x9450633b}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x02000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x28a0c676}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x01000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x51418ced}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00800000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xa28319db}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00400000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x450633b6}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00200000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x8a0c676c}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00100000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x1418ced8}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00080000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x28319db1}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00040000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x50633b63}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00020000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xa0c676c6}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00010000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x418ced8d}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00008000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x8319db1a}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00004000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x0633b634}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00002000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x0c676c68}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00001000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x18ced8d1}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000800}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x319db1a3}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000400}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x633b6347}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000200}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xc676c68f}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000100}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x8ced8d1f}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000080}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x19db1a3e}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000040}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x33b6347d}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000020}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x676c68fa}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000010}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xced8d1f4}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000008}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x9db1a3e9}, - {0x61, 3, 8, 20, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x3b6347d2}, - {0xdc, 3, 0, 0, 0x00000040}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x76c68fa5}, - {0xc7, 3, 0, 0, 0x00000020}, - {0x57, 4, 0, 0, 0x00000001}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xed8d1f4a}, - {0xbf, 5, 7, 0, 0x00000000}, - {0xa7, 5, 0, 0, 0xdb1a3e94}, - {0x6d, 2, 3, 1, 0x00000000}, - {0xbf, 5, 7, 0, 0x00000000}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000001c}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000004}, + {0x57, 5, 0, 0, 0x0fffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000004}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000001d}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000003}, + {0x57, 5, 0, 0, 0x1fffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000002}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000001e}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000002}, + {0x57, 5, 0, 0, 0x3fffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 1, 0, 0x00000000}, + {0xbf, 1, 4, 0, 0x00000000}, + {0x57, 8, 0, 0, 0x00000001}, + {0x15, 8, 0, 8, 0x00000000}, + {0x61, 3, 3, 0, 0x00000000}, + {0x67, 3, 0, 0, 0x0000001f}, + {0x61, 2, 2, 0, 0x00000000}, + {0x77, 2, 0, 0, 0x00000001}, + {0x57, 2, 0, 0, 0x7fffffff}, + {0x4f, 3, 2, 0, 0x00000000}, + {0xaf, 3, 1, 0, 0x00000000}, + {0xbf, 1, 3, 0, 0x00000000}, + {0x63, 10, 1, -28, 0x00000000}, + {0xb7, 8, 0, 0, 0x00000001}, + {0x05, 0, 0, 6, 0x00000000}, + {0xbf, 3, 10, 0, 0x00000000}, + {0x07, 3, 0, 0, 0xffffffe4}, + {0xbf, 1, 9, 0, 0x00000000}, + {0xbf, 2, 7, 0, 0x00000000}, + {0x85, 0, 1, 0, 0xffffffff}, + {0xbf, 8, 0, 0, 0x00000000}, + {0xbf, 1, 8, 0, 0x00000000}, + {0x67, 1, 0, 0, 0x00000020}, + {0x77, 1, 0, 0, 0x00000020}, + {0x55, 1, 0, 33, 0x00000001}, + {0x71, 2, 7, 201, 0x00000000}, + {0x67, 2, 0, 0, 0x00000008}, + {0x71, 1, 7, 200, 0x00000000}, + {0x4f, 2, 1, 0, 0x00000000}, + {0x71, 3, 7, 202, 0x00000000}, + {0x67, 3, 0, 0, 0x00000010}, + {0x71, 1, 7, 203, 0x00000000}, + {0x67, 1, 0, 0, 0x00000018}, + {0x4f, 1, 3, 0, 0x00000000}, + {0x4f, 1, 2, 0, 0x00000000}, + {0x55, 1, 0, 4, 0x00000000}, + {0x18, 1, 0, 0, 0x00000023}, + {0x00, 0, 0, 0, 0x00000000}, + {0xb7, 2, 0, 0, 0x0000001d}, + {0x05, 0, 0, -734, 0x00000000}, + {0x61, 2, 10, -28, 0x00000000}, + {0x9f, 2, 1, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x0000000f}, + {0x67, 2, 0, 0, 0x00000002}, + {0x0f, 7, 2, 0, 0x00000000}, + {0x71, 1, 7, 137, 0x00000000}, + {0x67, 1, 0, 0, 0x00000008}, + {0x71, 2, 7, 136, 0x00000000}, + {0x4f, 1, 2, 0, 0x00000000}, + {0x71, 2, 7, 138, 0x00000000}, + {0x67, 2, 0, 0, 0x00000010}, + {0x71, 3, 7, 139, 0x00000000}, + {0x67, 3, 0, 0, 0x00000018}, + {0x4f, 3, 2, 0, 0x00000000}, + {0x4f, 3, 1, 0, 0x00000000}, + {0x07, 3, 0, 0, 0x7cafe800}, + {0x63, 9, 3, 52, 0x00000000}, + {0xb7, 8, 0, 0, 0x00000001}, + {0xbf, 0, 8, 0, 0x00000000}, + {0x95, 0, 0, 0, 0x00000000}, + {0x7b, 10, 9, -40, 0x00000000}, + {0xb7, 9, 0, 0, 0x00000000}, + {0x69, 2, 10, -18, 0x00000000}, + {0x57, 2, 0, 0, 0x0000ff3f}, + {0xb7, 1, 0, 0, 0x00000000}, + {0x15, 2, 0, 18, 0x00000000}, + {0x71, 2, 10, -24, 0x00000000}, + {0x71, 3, 10, -15, 0x00000000}, + {0x15, 3, 0, 1, 0x00000011}, + {0x55, 3, 0, 14, 0x00000006}, + {0x67, 2, 0, 0, 0x00000002}, + {0x57, 2, 0, 0, 0x0000003c}, + {0xbf, 3, 10, 0, 0x00000000}, + {0x07, 3, 0, 0, 0xffffffe4}, + {0x79, 1, 10, -40, 0x00000000}, + {0xb7, 4, 0, 0, 0x00000004}, + {0xb7, 5, 0, 0, 0x00000001}, + {0x85, 0, 0, 0, 0x00000044}, + {0x55, 0, 0, 1033, 0x00000000}, + {0x69, 1, 10, -26, 0x00000000}, + {0x67, 1, 0, 0, 0x00000010}, + {0x69, 2, 10, -28, 0x00000000}, + {0x4f, 1, 2, 0, 0x00000000}, + {0xdc, 1, 0, 0, 0x00000020}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x40000000}, + {0x15, 2, 0, 6, 0x00000000}, + {0x61, 9, 7, 0, 0x00000000}, + {0x67, 9, 0, 0, 0x00000001}, + {0x61, 2, 7, 4, 0x00000000}, + {0x77, 2, 0, 0, 0x0000001f}, + {0x57, 2, 0, 0, 0x00000001}, + {0x4f, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x20000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000002}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000001e}, + {0x57, 3, 0, 0, 0x00000003}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x10000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000003}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000001d}, + {0x57, 3, 0, 0, 0x00000007}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x08000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000004}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000001c}, + {0x57, 3, 0, 0, 0x0000000f}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x04000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000005}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000001b}, + {0x57, 3, 0, 0, 0x0000001f}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x02000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000006}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000001a}, + {0x57, 3, 0, 0, 0x0000003f}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x01000000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000007}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000019}, + {0x57, 3, 0, 0, 0x0000007f}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00800000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000008}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000018}, + {0x57, 3, 0, 0, 0x000000ff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00400000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000009}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000017}, + {0x57, 3, 0, 0, 0x000001ff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00200000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000000a}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000016}, + {0x57, 3, 0, 0, 0x000003ff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00100000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000000b}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000015}, + {0x57, 3, 0, 0, 0x000007ff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00080000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000000c}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000014}, + {0x57, 3, 0, 0, 0x00000fff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00040000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000000d}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000013}, + {0x57, 3, 0, 0, 0x00001fff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00020000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000000e}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000012}, + {0x57, 3, 0, 0, 0x00003fff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00010000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000000f}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000011}, + {0x57, 3, 0, 0, 0x00007fff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00008000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000010}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000010}, + {0x57, 3, 0, 0, 0x0000ffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00004000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000011}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000000f}, + {0x57, 3, 0, 0, 0x0001ffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00002000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000012}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000000e}, + {0x57, 3, 0, 0, 0x0003ffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00001000}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000013}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000000d}, + {0x57, 3, 0, 0, 0x0007ffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000800}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000014}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000000c}, + {0x57, 3, 0, 0, 0x000fffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000400}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000015}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000000b}, + {0x57, 3, 0, 0, 0x001fffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000200}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000016}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x0000000a}, + {0x57, 3, 0, 0, 0x003fffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000100}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000017}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000009}, + {0x57, 3, 0, 0, 0x007fffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000080}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000018}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000008}, + {0x57, 3, 0, 0, 0x00ffffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000040}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x00000019}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000007}, + {0x57, 3, 0, 0, 0x01ffffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000020}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000001a}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000006}, + {0x57, 3, 0, 0, 0x03ffffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000010}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000001b}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000005}, + {0x57, 3, 0, 0, 0x07ffffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000008}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000001c}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000004}, + {0x57, 3, 0, 0, 0x0fffffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000004}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000001d}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000003}, + {0x57, 3, 0, 0, 0x1fffffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 2, 6, 0, 0x00000000}, + {0x57, 2, 0, 0, 0x00000002}, + {0x15, 2, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000001e}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000002}, + {0x57, 3, 0, 0, 0x3fffffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0x57, 6, 0, 0, 0x00000001}, + {0x15, 6, 0, 8, 0x00000000}, + {0x61, 2, 7, 0, 0x00000000}, + {0x67, 2, 0, 0, 0x0000001f}, + {0x61, 3, 7, 4, 0x00000000}, + {0x77, 3, 0, 0, 0x00000001}, + {0x57, 3, 0, 0, 0x7fffffff}, + {0x4f, 2, 3, 0, 0x00000000}, + {0xaf, 2, 9, 0, 0x00000000}, + {0xbf, 9, 2, 0, 0x00000000}, + {0xbf, 3, 7, 0, 0x00000000}, + {0x07, 3, 0, 0, 0x00000004}, + {0xbf, 2, 7, 0, 0x00000000}, + {0x07, 2, 0, 0, 0x00000008}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x40000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xb6347d28}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000001}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001f}, + {0x57, 5, 0, 0, 0x00000001}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x20000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x6c68fa51}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000002}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001e}, + {0x57, 5, 0, 0, 0x00000003}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x10000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xd8d1f4a3}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000003}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001d}, + {0x57, 5, 0, 0, 0x00000007}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x08000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xb1a3e946}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000004}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001c}, + {0x57, 5, 0, 0, 0x0000000f}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x04000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x6347d28d}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000005}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001b}, + {0x57, 5, 0, 0, 0x0000001f}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x02000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xc68fa51a}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000006}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001a}, + {0x57, 5, 0, 0, 0x0000003f}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x01000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x8d1f4a35}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000007}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000019}, + {0x57, 5, 0, 0, 0x0000007f}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00800000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x1a3e946b}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000008}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000018}, + {0x57, 5, 0, 0, 0x000000ff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00400000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x347d28d7}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000009}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000017}, + {0x57, 5, 0, 0, 0x000001ff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00200000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x68fa51ae}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000a}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000016}, + {0x57, 5, 0, 0, 0x000003ff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00100000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xd1f4a35c}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000b}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000015}, + {0x57, 5, 0, 0, 0x000007ff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00080000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xa3e946b9}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000c}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000014}, + {0x57, 5, 0, 0, 0x00000fff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00040000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x47d28d73}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000d}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000013}, + {0x57, 5, 0, 0, 0x00001fff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00020000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x8fa51ae7}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000e}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000012}, + {0x57, 5, 0, 0, 0x00003fff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00010000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x1f4a35cf}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000f}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000011}, + {0x57, 5, 0, 0, 0x00007fff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00008000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x3e946b9e}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000010}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000010}, + {0x57, 5, 0, 0, 0x0000ffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00004000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x7d28d73c}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000011}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000f}, + {0x57, 5, 0, 0, 0x0001ffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00002000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xfa51ae78}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000012}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000e}, + {0x57, 5, 0, 0, 0x0003ffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00001000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xf4a35cf1}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000013}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000d}, + {0x57, 5, 0, 0, 0x0007ffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000800}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xe946b9e3}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000014}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000c}, + {0x57, 5, 0, 0, 0x000fffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000400}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xd28d73c7}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000015}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000b}, + {0x57, 5, 0, 0, 0x001fffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000200}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xa51ae78e}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000016}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000a}, + {0x57, 5, 0, 0, 0x003fffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000100}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x4a35cf1c}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000017}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000009}, + {0x57, 5, 0, 0, 0x007fffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000080}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x946b9e38}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000018}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000008}, + {0x57, 5, 0, 0, 0x00ffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000040}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x28d73c71}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000019}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000007}, + {0x57, 5, 0, 0, 0x01ffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000020}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x51ae78e3}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000001a}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000006}, + {0x57, 5, 0, 0, 0x03ffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000010}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xa35cf1c6}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000001b}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000005}, + {0x57, 5, 0, 0, 0x07ffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000008}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x46b9e38d}, - {0x61, 4, 8, 24, 0x00000000}, - {0xbf, 6, 3, 0, 0x00000000}, - {0x57, 6, 0, 0, 0x00000004}, - {0x15, 6, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x8d73c71b}, - {0xdc, 4, 0, 0, 0x00000040}, - {0xbf, 6, 3, 0, 0x00000000}, - {0x57, 6, 0, 0, 0x00000002}, - {0x15, 6, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x1ae78e36}, - {0xc7, 4, 0, 0, 0x00000020}, - {0x57, 3, 0, 0, 0x00000001}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x35cf1c6c}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xa7, 7, 0, 0, 0x6b9e38d9}, - {0x6d, 2, 4, 1, 0x00000000}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x40000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xd73c71b2}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x20000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xae78e364}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x10000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x5cf1c6c9}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x08000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xb9e38d92}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x04000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x73c71b25}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x02000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xe78e364b}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x01000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xcf1c6c96}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00800000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x9e38d92c}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00400000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x3c71b259}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00200000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x78e364b2}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00100000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xf1c6c964}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00080000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xe38d92c9}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00040000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xc71b2593}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00020000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x8e364b27}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00010000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x1c6c964e}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00008000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x38d92c9c}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00004000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x71b25938}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00002000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xe364b270}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00001000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xc6c964e0}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000800}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x8d92c9c0}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000400}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x1b259380}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000200}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x364b2700}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000100}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x6c964e01}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000080}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xd92c9c03}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000040}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xb2593807}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000020}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x64b2700f}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000010}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xc964e01e}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000008}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x92c9c03d}, - {0x61, 3, 8, 28, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x2593807a}, - {0xdc, 3, 0, 0, 0x00000040}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x4b2700f4}, - {0xc7, 3, 0, 0, 0x00000020}, - {0x57, 4, 0, 0, 0x00000001}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x964e01e8}, - {0xbf, 5, 7, 0, 0x00000000}, - {0xa7, 5, 0, 0, 0x2c9c03d1}, - {0x6d, 2, 3, 1, 0x00000000}, - {0xbf, 5, 7, 0, 0x00000000}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000001c}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000004}, + {0x57, 5, 0, 0, 0x0fffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000004}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000001d}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000003}, + {0x57, 5, 0, 0, 0x1fffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 8, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000002}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 3, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000001e}, + {0x61, 5, 2, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000002}, + {0x57, 5, 0, 0, 0x3fffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0x57, 8, 0, 0, 0x00000001}, + {0x15, 8, 0, 8, 0x00000000}, + {0x61, 3, 3, 0, 0x00000000}, + {0x67, 3, 0, 0, 0x0000001f}, + {0x61, 4, 2, 0, 0x00000000}, + {0x77, 4, 0, 0, 0x00000001}, + {0x57, 4, 0, 0, 0x7fffffff}, + {0x4f, 3, 4, 0, 0x00000000}, + {0xaf, 3, 9, 0, 0x00000000}, + {0xbf, 9, 3, 0, 0x00000000}, + {0xbf, 3, 7, 0, 0x00000000}, + {0x07, 3, 0, 0, 0x0000000c}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x40000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x593807a3}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000001}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001f}, + {0x57, 5, 0, 0, 0x00000001}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x20000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xb2700f46}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000002}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001e}, + {0x57, 5, 0, 0, 0x00000003}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x10000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x64e01e8d}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000003}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001d}, + {0x57, 5, 0, 0, 0x00000007}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x08000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xc9c03d1a}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000004}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001c}, + {0x57, 5, 0, 0, 0x0000000f}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x04000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x93807a35}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000005}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001b}, + {0x57, 5, 0, 0, 0x0000001f}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x02000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x2700f46b}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000006}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000001a}, + {0x57, 5, 0, 0, 0x0000003f}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x01000000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x4e01e8d6}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000007}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000019}, + {0x57, 5, 0, 0, 0x0000007f}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00800000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x9c03d1ad}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000008}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000018}, + {0x57, 5, 0, 0, 0x000000ff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00400000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x3807a35b}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000009}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000017}, + {0x57, 5, 0, 0, 0x000001ff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00200000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x700f46b6}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000a}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000016}, + {0x57, 5, 0, 0, 0x000003ff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00100000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xe01e8d6c}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000b}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000015}, + {0x57, 5, 0, 0, 0x000007ff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00080000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xc03d1ad9}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000c}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000014}, + {0x57, 5, 0, 0, 0x00000fff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00040000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x807a35b3}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000d}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000013}, + {0x57, 5, 0, 0, 0x00001fff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00020000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x00f46b66}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000e}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000012}, + {0x57, 5, 0, 0, 0x00003fff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00010000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x01e8d6cc}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000000f}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000011}, + {0x57, 5, 0, 0, 0x00007fff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00008000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x03d1ad99}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000010}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000010}, + {0x57, 5, 0, 0, 0x0000ffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00004000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x07a35b32}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000011}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000f}, + {0x57, 5, 0, 0, 0x0001ffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00002000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x0f46b665}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000012}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000e}, + {0x57, 5, 0, 0, 0x0003ffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00001000}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x1e8d6cca}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000013}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000d}, + {0x57, 5, 0, 0, 0x0007ffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000800}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x3d1ad994}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000014}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000c}, + {0x57, 5, 0, 0, 0x000fffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000400}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x7a35b328}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000015}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000b}, + {0x57, 5, 0, 0, 0x001fffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000200}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xf46b6651}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000016}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x0000000a}, + {0x57, 5, 0, 0, 0x003fffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000100}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xe8d6cca2}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000017}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000009}, + {0x57, 5, 0, 0, 0x007fffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000080}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xd1ad9944}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000018}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000008}, + {0x57, 5, 0, 0, 0x00ffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000040}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xa35b3289}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x00000019}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000007}, + {0x57, 5, 0, 0, 0x01ffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000020}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x46b66512}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000001a}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000006}, + {0x57, 5, 0, 0, 0x03ffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000010}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x8d6cca25}, - {0xbf, 4, 3, 0, 0x00000000}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000001b}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000005}, + {0x57, 5, 0, 0, 0x07ffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, {0x57, 4, 0, 0, 0x00000008}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x1ad9944a}, - {0x61, 4, 8, 32, 0x00000000}, - {0xbf, 6, 3, 0, 0x00000000}, - {0x57, 6, 0, 0, 0x00000004}, - {0x15, 6, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x35b32894}, - {0xdc, 4, 0, 0, 0x00000040}, - {0xbf, 6, 3, 0, 0x00000000}, - {0x57, 6, 0, 0, 0x00000002}, - {0x15, 6, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0x6b665129}, - {0xc7, 4, 0, 0, 0x00000020}, - {0x57, 3, 0, 0, 0x00000001}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 5, 0, 0, 0xd6cca253}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xa7, 7, 0, 0, 0xad9944a7}, - {0x6d, 2, 4, 1, 0x00000000}, - {0xbf, 7, 5, 0, 0x00000000}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x40000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x5b32894f}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x20000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xb665129f}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x10000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x6cca253e}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x08000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xd9944a7d}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x04000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xb32894fb}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x02000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x665129f6}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x01000000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xcca253ec}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00800000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x9944a7d9}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00400000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x32894fb2}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00200000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x65129f65}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00100000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xca253eca}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00080000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x944a7d95}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00040000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x2894fb2a}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00020000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x5129f655}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00010000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xa253ecab}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00008000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x44a7d956}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00004000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x894fb2ac}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00002000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x129f6558}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00001000}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x253ecab1}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000800}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x4a7d9563}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000400}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x94fb2ac7}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000200}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x29f6558f}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000100}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x53ecab1e}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000080}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xa7d9563d}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000040}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x4fb2ac7a}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000020}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x9f6558f5}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000010}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x3ecab1ea}, - {0xbf, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x00000008}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0x7d9563d5}, - {0x61, 3, 8, 36, 0x00000000}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xfb2ac7ab}, - {0xdc, 3, 0, 0, 0x00000040}, - {0xbf, 5, 4, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xf6558f56}, - {0xc7, 3, 0, 0, 0x00000020}, - {0x57, 4, 0, 0, 0x00000001}, - {0x15, 4, 0, 1, 0x00000000}, - {0xa7, 7, 0, 0, 0xecab1eac}, - {0xbf, 4, 7, 0, 0x00000000}, - {0xa7, 4, 0, 0, 0xd9563d59}, - {0x6d, 2, 3, 1, 0x00000000}, - {0xbf, 4, 7, 0, 0x00000000}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x40000000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xb2ac7ab2}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x20000000}, - {0x79, 6, 10, -56, 0x00000000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x6558f564}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x10000000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xcab1eac8}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x08000000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x9563d590}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x04000000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x2ac7ab20}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x02000000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x558f5641}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x01000000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xab1eac83}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00800000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x563d5906}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00400000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xac7ab20c}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00200000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x58f56418}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00100000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xb1eac831}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00080000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x63d59063}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00040000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xc7ab20c7}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00020000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x8f56418f}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00010000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x1eac831e}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00008000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x3d59063c}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00004000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x7ab20c78}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00002000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xf56418f0}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00001000}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xeac831e1}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000800}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xd59063c2}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000400}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xab20c784}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000200}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x56418f09}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000100}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xac831e12}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000080}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x59063c25}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000040}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xb20c784b}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000020}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x6418f097}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000010}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0xc831e12f}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000008}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x9063c25f}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000004}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x20c784be}, - {0xbf, 5, 3, 0, 0x00000000}, - {0x57, 5, 0, 0, 0x00000002}, - {0x15, 5, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x418f097c}, - {0x57, 3, 0, 0, 0x00000001}, - {0x15, 3, 0, 1, 0x00000000}, - {0xa7, 4, 0, 0, 0x831e12f9}, - {0xbf, 5, 1, 0, 0x00000000}, - {0x67, 5, 0, 0, 0x00000020}, - {0xc7, 5, 0, 0, 0x00000020}, - {0xbf, 3, 4, 0, 0x00000000}, - {0xa7, 3, 0, 0, 0x063c25f3}, - {0x6d, 2, 5, 1, 0x00000000}, - {0xbf, 3, 4, 0, 0x00000000}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x40000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x0c784be7}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x20000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x18f097cf}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x10000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x31e12f9f}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x08000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x63c25f3f}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x04000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xc784be7f}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x02000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x8f097cff}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x01000000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x1e12f9fe}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00800000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x3c25f3fc}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00400000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x784be7f8}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00200000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xf097cff0}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00100000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xe12f9fe0}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00080000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xc25f3fc1}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00040000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x84be7f83}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00020000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x097cff07}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00010000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x12f9fe0f}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00008000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x25f3fc1f}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00004000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x4be7f83f}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00002000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x97cff07f}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00001000}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x2f9fe0fe}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00000800}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x5f3fc1fd}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00000400}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xbe7f83fb}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00000200}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x7cff07f7}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00000100}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xf9fe0fee}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00000080}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xf3fc1fdc}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00000040}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xe7f83fb8}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00000020}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xcff07f70}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00000010}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x9fe0fee1}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00000008}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x3fc1fdc2}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00000004}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0x7f83fb85}, - {0xbf, 2, 1, 0, 0x00000000}, - {0x57, 2, 0, 0, 0x00000002}, - {0x15, 2, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xff07f70a}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000001c}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000004}, + {0x57, 5, 0, 0, 0x0fffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000004}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000001d}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000003}, + {0x57, 5, 0, 0, 0x1fffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, + {0xbf, 4, 1, 0, 0x00000000}, + {0x57, 4, 0, 0, 0x00000002}, + {0x15, 4, 0, 8, 0x00000000}, + {0x61, 4, 2, 0, 0x00000000}, + {0x67, 4, 0, 0, 0x0000001e}, + {0x61, 5, 3, 0, 0x00000000}, + {0x77, 5, 0, 0, 0x00000002}, + {0x57, 5, 0, 0, 0x3fffffff}, + {0x4f, 4, 5, 0, 0x00000000}, + {0xaf, 4, 9, 0, 0x00000000}, + {0xbf, 9, 4, 0, 0x00000000}, {0x57, 1, 0, 0, 0x00000001}, - {0x15, 1, 0, 1, 0x00000000}, - {0xa7, 3, 0, 0, 0xfe0fee15}, - {0x71, 1, 0, 201, 0x00000000}, - {0x67, 1, 0, 0, 0x00000008}, - {0x71, 2, 0, 200, 0x00000000}, + {0x15, 1, 0, 8, 0x00000000}, + {0x61, 1, 2, 0, 0x00000000}, + {0x67, 1, 0, 0, 0x0000001f}, + {0x61, 2, 3, 0, 0x00000000}, + {0x77, 2, 0, 0, 0x00000001}, + {0x57, 2, 0, 0, 0x7fffffff}, {0x4f, 1, 2, 0, 0x00000000}, - {0x71, 2, 0, 202, 0x00000000}, - {0x67, 2, 0, 0, 0x00000010}, - {0x71, 4, 0, 203, 0x00000000}, - {0x67, 4, 0, 0, 0x00000018}, - {0x4f, 4, 2, 0, 0x00000000}, - {0x4f, 4, 1, 0, 0x00000000}, - {0x67, 3, 0, 0, 0x00000020}, - {0x77, 3, 0, 0, 0x00000020}, - {0x9f, 3, 4, 0, 0x00000000}, - {0x57, 3, 0, 0, 0x0000000f}, - {0x67, 3, 0, 0, 0x00000002}, - {0x0f, 0, 3, 0, 0x00000000}, - {0x71, 1, 0, 137, 0x00000000}, - {0x67, 1, 0, 0, 0x00000008}, - {0x71, 2, 0, 136, 0x00000000}, - {0x4f, 1, 2, 0, 0x00000000}, - {0x71, 2, 0, 138, 0x00000000}, - {0x67, 2, 0, 0, 0x00000010}, - {0x71, 3, 0, 139, 0x00000000}, - {0x67, 3, 0, 0, 0x00000018}, - {0x4f, 3, 2, 0, 0x00000000}, - {0x4f, 3, 1, 0, 0x00000000}, - {0x07, 3, 0, 0, 0x7cafe800}, - {0x63, 6, 3, 52, 0x00000000}, - {0xb7, 7, 0, 0, 0x00000001}, - {0xbf, 0, 7, 0, 0x00000000}, - {0x95, 0, 0, 0, 0x00000000}, + {0xaf, 1, 9, 0, 0x00000000}, + {0xbf, 9, 1, 0, 0x00000000}, + {0x63, 10, 9, -28, 0x00000000}, + {0xb7, 8, 0, 0, 0x00000001}, + {0x79, 9, 10, -40, 0x00000000}, + {0x05, 0, 0, -1091, 0x00000000}, + {0xb7, 8, 0, 0, 0x00000000}, + {0x79, 9, 10, -40, 0x00000000}, + {0x05, 0, 0, -1094, 0x00000000}, }; diff --git a/drivers/net/tap/tap_flow.c b/drivers/net/tap/tap_flow.c index ed4d42f92f9f..5fe0bea88b0a 100644 --- a/drivers/net/tap/tap_flow.c +++ b/drivers/net/tap/tap_flow.c @@ -11,6 +11,7 @@ #include #include +#include #include #include #include @@ -2053,6 +2054,20 @@ static int bpf_rss_key(enum bpf_rss_key_e cmd, __u32 *key_idx) return err; } +/* Default RSS hash key also used for ConnectX-3. */ +static const uint8_t rss_hash_default_key[] = { + 0x2c, 0xc6, 0x81, 0xd1, + 0x5b, 0xdb, 0xf4, 0xf7, + 0xfc, 0xa2, 0x83, 0x19, + 0xdb, 0x1a, 0x3e, 0x94, + 0x6b, 0x9e, 0x38, 0xd9, + 0x2c, 0x9c, 0x03, 0xd1, + 0xad, 0x99, 0x44, 0xa7, + 0xd9, 0x56, 0x3d, 0x59, + 0x06, 0x3c, 0x25, 0xf3, + 0xfc, 0x1f, 0xdc, 0x2a, +}; + /** * Add RSS hash calculations and queue selection * @@ -2073,6 +2088,7 @@ static int rss_add_actions(struct rte_flow *flow, struct pmd_internals *pmd, { /* 4096 is the maximum number of instructions for a BPF program */ unsigned int i; + const uint8_t *key_in; int err; struct rss_key rss_entry = { .hash_fields = 0, .key_size = 0 }; @@ -2087,6 +2103,29 @@ static int rss_add_actions(struct rte_flow *flow, struct pmd_internals *pmd, (error, ENOTSUP, RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL, "a nonzero RSS encapsulation level is not supported"); + if (rss->queue_num == 0 || rss->queue_num >= TAP_MAX_QUEUES) + return rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL, + "invalid number of queues"); + + /* allow RSS key_len 0 in case of NULL (default) RSS key. */ + if (rss->key_len == 0) { + if (rss->key != NULL) + return rte_flow_error_set(error, ENOTSUP, + RTE_FLOW_ERROR_TYPE_ACTION_CONF, + &rss->key_len, "RSS hash key length 0"); + key_in = rss_hash_default_key; + } else { + if (rss->key_len != TAP_RSS_HASH_KEY_SIZE) + return rte_flow_error_set + (error, EINVAL, RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL, + "RSS hash invalid key length"); + if (rss->key == NULL) + return rte_flow_error_set + (error, EINVAL, RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL, + "RSS hash key is NULL"); + key_in = rss->key; + } + /* Get a new map key for a new RSS rule */ err = bpf_rss_key(KEY_CMD_GET, &flow->key_idx); if (err < 0) { @@ -2104,6 +2143,10 @@ static int rss_add_actions(struct rte_flow *flow, struct pmd_internals *pmd, rss_entry.hash_fields = (1 << HASH_FIELD_IPV4_L3_L4) | (1 << HASH_FIELD_IPV6_L3_L4); + /* Copy and convert RSS key to bigendian for software toeplitz */ + rte_convert_rss_key((const uint32_t *)key_in, (uint32_t *)rss_entry.key, + TAP_RSS_HASH_KEY_SIZE); + /* Add this RSS entry to map */ err = tap_flow_bpf_update_rss_elem(pmd->map_fd, &flow->key_idx, &rss_entry); -- 2.43.0